1. 为什么你的 Claude Code 越用越不顺手
很多人把 Claude Code 装好、API 通道配通之后,就停在“能用”这一步了。用一阵子你会发现三个特别典型的问题:它怎么把我文件改坏了、它怎么用着用着变笨了、它对每个人都一样怎么让它懂我。这三个问题其实都指向同一件事——你还没把settings和记忆体系改到位。
这篇是零基础实战教程的第三部分,专门讲 Claude Code 的深度使用与进阶技巧。核心检索词就是 Claude Code 进阶配置,我会围绕settings.json文件与 API 通道的对接展开,给你可复制的配置片段和逐步验证动作,帮你确认 Claude Code 能正常发起请求,并排查常见报错。目标很明确:从零跑通一条稳定的 AI Coding 工作流。
先说清楚适合谁看。如果你已经完成了前两部分——装好了 Node.js、Git、VS Code,也把 Claude Code 装上并配好了基础 API——那这篇就是给你准备的。如果你还没配通 API,也没关系,第二节我会把前置动作再走一遍,确保你手里有一个能用的 Key 和 Base URL。
我自己的习惯是:模型能力是地板,配置质量才是天花板。花时间把配置做好,比追最新模型版本更有实际收益。这句话你会在后面反复体会到。Claude Code 的能力可以按 7 层扩展来理解:CLAUDE.md 是项目说明书,每次会话自动加载;Hooks 是事件触发器;Skills 是专业知识包;Plugins 把前几者打包分发;LSP 给 AI 装上 IDE 级代码导航;MCP 连接外部工具和数据源;子 Agent 独立上下文并行干活。前 3 层是基础配置,后 4 层是高级扩展。本篇重点落在前 3 层,尤其是settings.json和记忆体系。
2. TaoToken 前置:把 API 通道和 Key 准备好
在动settings.json之前,你得先有一个能用的 API 通道。Claude Code 默认走 Anthropic 官方接口,但很多零基础读者会遇到网络、计费、模型选择的问题。这里我用 TaoToken 作为统一入口来演示,因为它把模型对话、Coding Plan、控制台、API Keys 都放在一个地方,配置起来路径清晰。
第一步,打开官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,注册并登录。登录后进入控制台 https://taotoken.net/console ,在左侧找到 API Keys 页面 https://taotoken.net/api-keys ,点“创建新的 API Key”。创建完一定要立刻复制,因为很多平台只显示一次。这个 Key 就是你后面要写进环境变量或settings.json的凭证。
第二步,确认你的 Base URL。TaoToken 的 API 地址是 https://taotoken.net/api ,注意这个地址不带任何查询参数。Claude Code 通过ANTHROPIC_BASE_URL环境变量来识别接口地址,所以你要把它设成这个值。如果你用的是 Claude Code 的 Anthropic 兼容模式,Base URL 就填这个;如果你走的是 OpenAI 兼容的客户端,路径可能略有不同,以接入文档 https://taotoken.net/doc 为准。
第三步,选模型。TaoToken 的模型对话页面 https://taotoken.net/models 可以让你先在线试一下模型是否可用。对于 Claude Code 日常编码,我建议先用 Sonnet 级别的模型,速度快、质量稳、成本适中。遇到复杂架构或疑难 Bug 再切 Opus。Haiku 适合大批量简单任务,比如格式化、小修改。你可以在模型对话里发一句“用 Python 写一个快速排序”,看返回是否正常,确认通道通了再往下走。
这里有个关键点:Claude Code 读取的是环境变量,不是你在网页上选的模型。所以网页测试只是确认 Key 和通道没问题,真正生效的是你本地的配置。第四步,把 Key 和 Base URL 记在一个安全的地方,别直接提交到 Git。后面我会教你怎么用.gitignore和settings.local.json把它隔离好。
如果你打算长期用 Claude Code 做编码和 Agent 任务,可以看一下 Coding Plan https://taotoken.net/coding-plan ,它更适合高频调用场景。但零基础阶段,先用按量计费的 API Key 跑通流程就够了,别一上来就买套餐。
3. 可复制配置:settings.json 与三层记忆体系
这一节是全文的核心,我会给你可以直接复制的配置片段。Claude Code 的配置分好几层,从全局到项目级层层覆盖。先记住三个位置:全局配置在~/.claude/settings.json,影响所有项目;项目级配置在项目根目录的.claude/settings.json,只影响当前项目,可以提交 Git 给团队共享;个人私有配置在.claude/settings.local.json,不提交 Git,优先级最高。
先看最基础的settings.json。这个文件控制权限、默认模型、自动压缩阈值等。下面这段可以直接复制,路径是~/.claude/settings.json:
{ "permissions": { "allow": [ "Read", "Glob", "Grep", "Edit", "MultiEdit", "Write(src/**)", "Write(tests/**)", "Bash(npm *)", "Bash(pnpm *)", "Bash(git status)", "Bash(git diff *)", "Bash(git log *)", "Bash(git add *)", "Bash(git commit *)" ], "deny": [ "Read(**/.env*)", "Read(**/*.pem)", "Read(**/*.key)", "Write(**/.env*)", "Bash(rm -rf *)", "Bash(sudo *)", "Bash(git push *)", "Bash(git rebase *)" ], "defaultMode": "acceptEdits" }, "model": "sonnet", "autoCompactThreshold": 80 }allow是白名单,日常安全操作不该每次都问你;deny是黑名单,安全红线自动封堵。defaultMode设成acceptEdits表示文件编辑自动接受,但危险命令仍然会拦。如果你更谨慎,可以把它改成default,让每次操作都确认。model字段设默认模型,autoCompactThreshold设成 80 表示上下文用到 80% 时自动压缩。
注意:allow要按你的工具链改。用 yarn 就加Bash(yarn *),用 bun 就加Bash(bun *)。deny那几行建议原样留着,它们是安全底线。权限设置要谨慎,过于宽松的权限可能导致 AI 执行你不期望的操作。初学者建议先保持默认,让自己有机会审查每一步。
接下来是 API 通道的对接。Claude Code 通过环境变量读取 Base URL 和 Key。你可以在 shell 配置文件里写,比如 macOS 的~/.zshrc或 Linux 的~/.bashrc:
export ANTHROPIC_BASE_URL="https://taotoken.net/api" export ANTHROPIC_API_KEY="你的_TaoToken_API_Key" export ANTHROPIC_MODEL="sonnet"Windows PowerShell 用户可以在系统环境变量里设置,或者用$env:ANTHROPIC_BASE_URL="https://taotoken.net/api"临时设置。设完记得重启终端,让环境变量生效。验证方式是echo $ANTHROPIC_BASE_URL(macOS/Linux)或echo $env:ANTHROPIC_BASE_URL(PowerShell),看输出是不是你设的值。
如果你不想用环境变量,也可以在settings.json里配。但 Key 写在settings.json里有泄露风险,所以更推荐放在settings.local.json,并且确保它被.gitignore忽略。下面是一个settings.local.json的示例,路径是项目根目录的.claude/settings.local.json:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "你的_TaoToken_API_Key", "ANTHROPIC_MODEL": "sonnet" } }然后是三层记忆体系。第一层是 CLAUDE.md,你主动写,会话启动时全量加载。它分三级:全局级~/.claude/CLAUDE.md写个人习惯,比如“永远用中文回答”;项目级在项目根目录CLAUDE.md,写技术栈、架构、规范、进度,可以提交 Git;文件夹级在子目录CLAUDE.md,写模块专属约定。三层叠加生效,优先级是文件夹级 > 项目级 > 全局级。
一个项目级 CLAUDE.md 模板,可以直接复制修改:
# 项目名称 ## 项目概述 一句话描述这个项目做什么。 ## 技术栈 - 前端:Next.js 14 + TypeScript + Tailwind CSS - 后端:Next.js API Routes - 数据库:Prisma + SQLite ## 编码规范 - 使用函数式组件 + React Hooks - 组件文件使用 PascalCase 命名 - API 路由返回统一格式:{ success: boolean, data?: any, error?: string } ## 当前开发状态 - 项目初始化完成 - 书签 CRUD API 开发中 - 前端页面待开发 ## 注意事项 - 不要修改 prisma/migrations/ 目录 - 环境变量在 .env 文件中,不要提交到 Git第二层是 Auto Memory,cc 自己记的笔记。在会话里输入/memory,选“启用 Auto Memory”。它会记录你的偏好、反馈、项目决策,只在当前项目生效,按需读取,占 token 很少。第三层是自建参考文档,仿照 Skill 的渐进式披露机制。比如品牌视觉规范放docs/brand-visual.md,然后在 CLAUDE.md 里加指引:“修改前端视觉时必读 docs/brand-visual.md”。这样 cc 只在需要时才读完整文档,不占多余上下文。
最后是.claudeignore,类似.gitignore,告诉 Claude Code 哪些文件不用关注:
node_modules/ .next/ dist/ *.log .env配完这些,你的 Claude Code 就有了一个稳定的配置底座。下一节我们来验证它到底能不能正常发起请求。
4. 验证请求:从启动到成功返回的完整动作
配置写完不代表生效,必须验证。这一节我给你一套逐步验证动作,从启动 Claude Code 到确认请求成功返回,每一步都有预期结果。
第一步,确认环境变量生效。打开终端,运行:
echo $ANTHROPIC_BASE_URL echo $ANTHROPIC_API_KEY预期输出是你的 TaoToken Base URL 和 Key。如果输出为空,说明环境变量没生效,检查你是不是写在了正确的 shell 配置文件里,或者有没有重启终端。Windows PowerShell 用echo $env:ANTHROPIC_BASE_URL。
第二步,直接用 curl 测试 API 通道。这一步能排除 Claude Code 本身的干扰,确认 Key 和 Base URL 是通的:
curl https://taotoken.net/api/v1/messages \ -H "x-api-key: 你的_TaoToken_API_Key" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-sonnet-4-6", "max_tokens": 100, "messages": [{"role": "user", "content": "说一句你好"}] }'预期返回是一段 JSON,里面有content字段,内容是模型回复的“你好”之类。如果返回 401,说明 Key 错了;如果返回连接超时,说明 Base URL 或网络有问题。这一步过了,说明通道没问题。
第三步,启动 Claude Code。在项目目录下运行:
claude预期进入交互式界面,底部显示当前模型和上下文余量。如果启动时报Invalid API Key,回到第二步检查 Key。如果报local proxy failed,说明 Base URL 配错了,或者本地有代理干扰,检查ANTHROPIC_BASE_URL是不是https://taotoken.net/api。
第四步,发一个最小请求。在 Claude Code 里输入:
请用一句话介绍你自己,不要调用任何工具。预期它返回一句自我介绍,并且不触发文件读写。如果它开始读文件或执行命令,说明你的权限配置太宽松,或者提示词触发了工具调用。这一步成功,说明 Claude Code 能正常发起请求并拿到回复。
第五步,测试文件操作。输入:
请创建一个 hello.txt,内容是一行 "Hello AI Coding"。预期它请求确认创建文件,你按 Enter 确认后,文件出现在当前目录。用cat hello.txt验证内容。这一步成功,说明权限配置和文件操作都正常。
第六步,测试上下文压缩。输入/context,看上下文占比。如果超过 60%,输入/compact,预期它把历史压缩成摘要,腾出空间。这一步是解决“用久了变笨”的核心武器。
第七步,测试模型切换。输入/model,看当前模型,然后输入/model opus切换。预期状态栏模型名变化。再切回/model sonnet。这一步确认模型切换生效。
走完这七步,你的 Claude Code 就算真正跑通了。如果哪一步失败,下一节我列了常见报错和排查方法。
5. 常见报错排查:401、local proxy failed、reading choices、OAuth
配置过程中最容易卡在几个报错上。这一节我按真实报错来对照,给你排查路径。每个报错都对应一个具体原因,别慌,按顺序查。
第一个,401 Unauthorized。这个最常见,意思是 Key 无效或没带上。排查顺序:先确认ANTHROPIC_API_KEY环境变量有没有值,用echo验证;再确认 Key 有没有复制完整,有没有多余空格;然后确认 Key 有没有过期或被删除,去控制台 https://taotoken.net/api-keys 看一眼;最后确认请求头字段对不对,Anthropic 兼容接口用x-api-key,不是Authorization: Bearer。如果 curl 测试也 401,那一定是 Key 问题,重新创建一个。
第二个,local proxy failed。这个报错通常出现在 Claude Code 启动或请求时,意思是本地代理连接失败。排查顺序:先确认ANTHROPIC_BASE_URL是不是https://taotoken.net/api,有没有多写路径或参数;再确认本地有没有残留的代理环境变量,比如HTTP_PROXY、HTTPS_PROXY,如果有就临时 unset 掉;然后确认网络能访问 TaoToken,用curl -I https://taotoken.net/api看返回;最后确认 Claude Code 版本是不是太旧,升级到最新版。这个报错九成是 Base URL 写错或本地代理干扰。
第三个,reading choices 相关报错。这个通常出现在 OpenAI 兼容客户端里,报错信息类似reading 'choices'或Cannot read properties of undefined (reading 'choices')。原因是客户端期望 OpenAI 格式的响应,但接口返回的是 Anthropic 格式,或者反过来。排查顺序:确认你用的客户端是 Anthropic 兼容还是 OpenAI 兼容;如果是 Claude Code,它走 Anthropic 格式,Base URL 用https://taotoken.net/api;如果是其他客户端走 OpenAI 格式,路径可能是https://taotoken.net/api/v1,具体以接入文档 https://taotoken.net/doc 为准;确认模型名写对了,别用了一个不存在的模型 ID。这个报错本质是格式不匹配,不是 Key 问题。
第四个,OAuth 相关报错。如果你用的是 Claude 官方订阅登录,可能会遇到 OAuth 流程失败。排查顺序:确认你是用/login走官方订阅,还是用 API Key;如果用 API Key,就不该走 OAuth,检查有没有残留的登录态;如果确实要用官方订阅,确认账号有 Pro/Max 会员;OAuth 失败时,清掉~/.claude下的登录缓存再试。零基础阶段我建议直接用 API Key,别碰 OAuth,少一层复杂度。
除了这四个,还有几个高频问题。Rate limit exceeded是请求太频繁,等一分钟再试,或者升级套餐。ENOENT: no such file or directory是 npm 缓存损坏,运行npm cache clean --force重装。claude 命令找不到是全局安装路径没进 PATH,运行npm config get prefix把输出路径加进系统 PATH。Windows 报“禁止运行脚本”是 PowerShell 执行策略限制,管理员身份运行Set-ExecutionPolicy RemoteSigned。
排查的核心心法:先隔离变量。用 curl 测通道,排除 Claude Code 干扰;用环境变量测 Key,排除配置文件干扰;用最小请求测模型,排除提示词干扰。一层层剥,问题一定定位得到。
6. 把配置变成习惯:长期稳定的 AI Coding 工作流
配置跑通只是开始,真正让 Claude Code 顺手的,是把几个动作变成肌肉记忆。这一节我分享几个实测下来最有用的习惯,帮你把 AI Coding 工作流稳定下来。
第一个习惯,改之前先存档。Git 就是你的游戏存档系统。让 AI 做大修改之前,先git add . && git commit -m "存档"。改坏了就git checkout .回退。我踩过的坑就是没 commit 就让 AI 大改,结果改坏了无法回退。记住这句话:改之前先存档。Claude Code 有不确定性,同一个需求问两次可能得到不同实现,这不是 bug 是特性,有 Git 兜底你才能安心让它尝试。
第二个习惯,上下文高于 60% 就/compact。别等到接近满载、cc 自动压缩才动手,那时候它已经开始遗忘了。先用/context看占比,看到哪个 MCP 或 Skill 吃 token 多,再决定压缩还是清理。宁可多/clear几次重新介绍背景,也不要一直聊一直聊。每个/clear都是给 AI 一次重新聚焦的机会。
第三个习惯,复杂任务从 Plan Mode 起手。按两次Shift+Tab进入 Plan Mode,或者输入/plan。在 Plan Mode 下 AI 只能读、搜、分析,不能改文件、不能跑命令。先让它探索和出方案,你审核满意后再切出来执行。一句话准则:如果你能用一句话说清期望的 diff,就不用规划;如果你说不清,就先规划。Windows 某些终端Shift+Tab跳不到 Plan Mode,用Alt+M。
第四个习惯,每被坑一次就更新 CLAUDE.md。最有生产力的一句话是:“更新 CLAUDE.md,让这件事不再发生”。三个月下来,这个文件就是你这个项目 Claude 犯过的所有错误的预防清单。同时每 3-6 个月审查一次配置,问三个问题:这条还需要吗?现在有更好的写法吗?这条是在弥补哪代模型的缺陷?
第五个习惯,用 Skills 把检查清单变成命令。把上线前的心理检查清单写成.claude/skills/review/SKILL.md,以后敲个/review就按你的规矩跑完。写一次,以后每次都是它替你查。常用的还有/commit、/deploy-check、/test、/security。
第六个习惯,大型代码库从子目录启动。在 monorepo 里别从仓库根目录启动 Claude,进入你要改的子目录再启动,工作范围被精准限定。每个子目录放一份小 CLAUDE.md,写明该目录专用的测试和 lint 命令。
最后,如果你要长期做编码和 Agent 任务,可以了解 Coding Plan https://taotoken.net/coding-plan ,它更适合高频场景。日常验证模型是否可用,用模型对话 https://taotoken.net/models 快速试。需要管理 Key 就去 API Keys https://taotoken.net/api-keys ,遇到配置问题查接入文档 https://taotoken.net/doc 。把这些入口存进书签,下次配置就不用到处找了。
配置这件事,做一次受益很久。你现在花半小时把settings.json和 CLAUDE.md 改到位,后面每个项目都能直接复用。模型会更新,但一套好的配置习惯不会过时。