1. Claude Code 接入 deepseek、glm 时 settings 到底改哪里
Claude Code 是 Anthropic 推出的命令行编码助手,它默认走 Anthropic 官方通道,但通过环境变量或 settings 文件,可以把请求转发到任何兼容 Anthropic Messages 协议的模型服务上。deepseek、glm 这类模型本身不直接提供 Anthropic 原生接口,所以需要一个统一 Key/API 通道来做协议适配,TaoToken 就是干这个的:你只填一个 Base URL 和一个 Key,就能在 Claude Code 里切换 deepseek、glm 等模型来源。
适合谁看:已经装好 Node.js 和 Git、能跑claude --version,但每次换模型都要改一堆环境变量、重启终端、还经常被 401 或 local proxy failed 卡住的开发者。我自己在 macOS 和 Windows 上都配过,最烦的就是环境变量散落在 shell 配置里,换项目就乱。把配置收进 settings 文件后,切换模型只需要改一个字段。
先说清楚一个概念,Claude Code 读配置有三个层次:进程环境变量优先级最高,其次是项目目录下的.claude/settings.json,最后是用户目录下的~/.claude/settings.json。很多人只改了环境变量,结果新开终端就失效,或者被 settings 文件里的旧值覆盖。这篇教程统一用 settings 文件来管,路径固定、可复制、可版本控制。
核心检索词先记住:Claude Code 接入 deepseek、glm 的完整 settings 配置,关键就是三件套——Base URL、API Key、Model ID。Base URL 指向 TaoToken 的 Anthropic 兼容入口,Key 用 TaoToken 控制台生成的统一 Key,Model ID 填你要用的模型名。下面从拿 Key 开始,一步步给可复制的片段。
2. TaoToken 前置准备:拿统一 Key 与确认 Base URL
在改 settings 之前,先把通道侧的东西准备好。打开 TaoToken 官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,注册登录后进控制台。控制台里能看到 API Keys 管理页,点新建 Key,复制出来先存到安全的地方——很多平台只在创建时显示一次,TaoToken 也一样,丢了只能重建。
Base URL 这块要特别注意,Claude Code 走的是 Anthropic 协议,所以填的是 TaoToken 的 Anthropic 兼容地址,不是 OpenAI 兼容地址。文档里写得很清楚,接入文档在 https://taotoken.net/doc ,API 根地址是 https://taotoken.net/api 。你在 settings 里填的ANTHROPIC_BASE_URL应该是https://taotoken.net/api这个根,后面 Claude Code 会自己拼/v1/messages。如果你填成带/v1的完整路径,反而会拼出双斜杠导致 404。
模型 ID 怎么确认?进模型对话页 https://taotoken.net/model-chat 手动发一条消息,页面上会显示当前可选的模型列表和对应的 ID 字符串。deepseek 系列常见的是deepseek-chat、deepseek-reasoner,glm 系列常见的是glm-4.6、glm-4-plus这类。注意模型 ID 是大小写敏感的,复制的时候别手打。我试过把glm-4.6写成GLM-4.6,直接返回 model not found。
还有一个容易忽略的点:Claude Code 会发一些非必要的遥测请求,如果通道侧不支持,启动时会卡住或报错。所以 settings 里要加CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC这个开关,设成1。这不是可选项,是必填项,后面排障章节会讲不加会出什么错。
Key 的权限建议只给需要的模型范围,别用全权限 Key 跑本地脚本。TaoToken 控制台里可以给 Key 加备注和限额,团队协作时每人一个 Key,出问题好定位。准备好这三样:Base URL =https://taotoken.net/api,Key = 你复制的那串,Model ID = 从模型对话页确认的字符串。接下来写 settings。
3. 可复制的 settings 配置片段(JSON 与 TOML 对照)
Claude Code 的 settings 文件是 JSON 格式,放在~/.claude/settings.json(用户级)或项目根目录.claude/settings.json(项目级)。项目级会覆盖用户级,适合一个仓库固定用一个模型。下面这段是用户级的最小可用配置,直接复制,把sk-你的TaoTokenKey和模型 ID 换成你自己的:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "sk-你的TaoTokenKey", "ANTHROPIC_MODEL": "deepseek-chat", "ANTHROPIC_SMALL_FAST_MODEL": "deepseek-chat", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1" } }ANTHROPIC_MODEL是主模型,负责写代码和推理;ANTHROPIC_SMALL_FAST_MODEL是后台小任务用的快模型,比如生成标题、补全命令。两个可以填同一个,也可以主模型用deepseek-reasoner、快模型用deepseek-chat省钱。glm 用户把这两个值换成glm-4.6即可。
如果你更习惯 TOML 或者用 Codex 那套配置,TaoToken 的接入文档里也给了对应写法,但 Claude Code 本身只认 JSON,别把 TOML 塞进.claude/settings.json。下面这张表把三件套和常见模型 ID 对照清楚,方便你替换:
| 配置项 | 填什么 | 说明 |
|---|---|---|
| ANTHROPIC_BASE_URL | https://taotoken.net/api | 固定,不要加 /v1 |
| ANTHROPIC_AUTH_TOKEN | sk-开头的一串 | TaoToken 控制台生成 |
| ANTHROPIC_MODEL | deepseek-chat / glm-4.6 | 主模型 |
| ANTHROPIC_SMALL_FAST_MODEL | 同上或更便宜的 | 后台快模型 |
| CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | 1 | 必填,关遥测 |
Windows 用户注意路径:用户级 settings 在C:\Users\你的用户名\.claude\settings.json,如果.claude目录不存在就手动建一个。别用setx写环境变量了,那套方式在新版 Claude Code 里会被 settings 覆盖,而且改完要重开终端,调试很痛苦。项目级配置放在仓库的.claude/settings.json,记得加进.gitignore,别把 Key 提交上去。
改完保存,不用重启系统,但要把当前终端关掉重开,让 Claude Code 重新读配置。如果你在 VS Code 集成终端里跑,也要关掉那个终端窗口再开。这一步很多人漏掉,然后说配置没生效,其实只是旧进程还在用老环境变量。
4. 验证请求:curl 打通再启动 Claude Code
配置写完别急着claude,先用 curl 打一条最小请求,确认通道和 Key 是通的。这一步能把 90% 的问题挡在启动之前。命令如下,把 Key 和模型 ID 换成你的:
curl -sS https://taotoken.net/api/v1/messages \ -H "x-api-key: sk-你的TaoTokenKey" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "deepseek-chat", "max_tokens": 64, "messages": [ {"role": "user", "content": "只回复两个字:通了"} ] }'正常返回是一个 JSON,content数组里有一段text,内容是「通了」或类似。如果返回401,说明 Key 错了或没带对 header;如果返回404,多半是 Base URL 拼错,检查是不是多写了/v1;如果返回model not found,就是模型 ID 不对,回模型对话页重新复制。
curl 通了之后,进你的代码目录启动:
cd your-project claude首次启动会提示登录或选择配置,选跳过登录、使用现有环境变量。启动后输入/model查看当前模型,如果显示的是你配置的 deepseek 或 glm,就说明 settings 生效了。再随便让它读一个文件,比如「读一下 package.json 告诉我项目名」,能正常返回就彻底通了。
实测下来,deepseek 的响应速度比 glm 快一些,但 glm 在中文注释和长上下文上更稳。你可以两个模型都配一遍,用项目级 settings 切换:A 项目放 deepseek 的.claude/settings.json,B 项目放 glm 的,互不干扰。这比每次改环境变量优雅得多。
5. 常见报错排查:401、local proxy failed、reading choices、OAuth
排障这块我踩过的坑最多,按报错对照着查最快。
401 Unauthorized:curl 和 Claude Code 都报这个,先确认 header 名。Claude Code 用的是ANTHROPIC_AUTH_TOKEN,它内部会转成x-api-key或Authorization,取决于版本。如果你在 settings 里把 Key 写成了ANTHROPIC_API_KEY,新版可能不认,统一用ANTHROPIC_AUTH_TOKEN。另外检查 Key 有没有多余空格,复制时经常带上换行。
local proxy failed / connection refused:这个报错通常不是 TaoToken 的问题,是你本地有旧的代理环境变量残留,比如HTTP_PROXY、HTTPS_PROXY指向了一个已经关掉的本地端口。在终端里unset HTTP_PROXY HTTPS_PROXY ALL_PROXY再启动。Windows 上用set HTTP_PROXY=清掉。清完还不行,检查 settings 里 Base URL 是不是写成了http://而不是https://。
reading choices / unexpected response:这个多半是 Base URL 填成了 OpenAI 兼容地址,Claude Code 按 Anthropic 协议解析,拿到 OpenAI 格式的响应就解析失败。确认ANTHROPIC_BASE_URL是https://taotoken.net/api,不是带/v1/chat/completions的那种。协议不对,模型再对也没用。
OAuth / 登录循环:首次启动 Claude Code 会引导 OAuth 登录 Anthropic 账号,如果你已经配了第三方通道,要跳过这一步。在~/.claude.json里加"hasCompletedOnboarding": true,或者启动时选「使用现有配置」。如果它反复弹登录,检查 settings 里的ANTHROPIC_AUTH_TOKEN是否被系统环境变量里的空值覆盖了。
PowerShell 禁止运行脚本:Windows 上跑安装脚本报因为在此系统上禁止运行脚本,用管理员或当前用户执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,然后重开终端。这不是 Claude Code 的错,是 PowerShell 默认策略。
排查顺序建议:先 curl 通,再查 settings 路径对不对,再查环境变量有没有冲突,最后看 Claude Code 版本。版本太老可能不认某些字段,claude --version看一下,必要时升级。
6. 长期编码与 Agent 场景:把配置固化下来
配置跑通只是开始,真正省心的是把它固化。如果你经常用 Claude Code 跑长任务、做 Agent 编排,建议把模型通道和额度管理放到 Coding Plan 里统一管,地址是 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。Coding Plan 适合按周期用量的场景,比每次临时建 Key 更可控,团队里也能看到谁用了多少。
日常切换模型,我的做法是用户级 settings 放一个默认的 deepseek-chat,项目级 settings 按仓库覆盖。比如前端项目用 glm-4.6 处理中文注释,后端项目用 deepseek-reasoner 做复杂逻辑。切换时只改项目里的.claude/settings.json,不动全局,避免影响其他仓库。
Key 轮换也要有习惯。TaoToken 控制台里可以禁用旧 Key、建新 Key,settings 里换一下字符串就行。别把 Key 写进 shell 的.zshrc或.bashrc,那等于明文躺在磁盘上,还容易被同步到云端。settings 文件至少可以加.gitignore,比 shell 配置安全一点。
最后给一个实用技巧:把 curl 验证命令存成一个check-llm.sh,每次换 Key 或换模型先跑一遍,通了再启动 Claude Code。这比在 Claude Code 里试错快得多,报错信息也更直接。模型对话页 https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 可以拿来快速确认某个模型 ID 当前是否可用,不用改配置就能试。API Keys 管理在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,遇到字段不确定就翻文档,比搜二手教程靠谱。