1. 为什么要在 Claude Code 里接 DeepSeek 写业务模块Claude Code 的强项是「读整个项目 直接改文件 跑命令」它天生适合干一件事你说清楚业务需求它把实体、DAO、Service、Controller、页面、配置文件一次性铺出来。但默认情况下它走的是 Anthropic 官方通道对国内开发者来说账号、计费、网络这几件事凑在一起就够折腾半天。DeepSeek 的模型在代码生成上表现稳定尤其是 Java、Python 这类结构化语言写 CRUD 模块、补全配置文件的准确率不错而且按 token 计费一个中等规模的业务模块跑下来成本通常在一两块钱这个量级。问题在于Claude Code 这个客户端默认不认识 DeepSeek 的接口格式你得让它「以为」自己在跟 Anthropic 说话实际请求转发到 DeepSeek。TaoToken 在这里扮演的角色就是统一 Key 和统一通道你只拿一个 Key配一次settings.jsonClaude Code 就能把请求发到 DeepSeek 的模型上。本文聚焦的就是这套配置怎么落地——settings.json骨架怎么写、CC Switch 怎么切、切完之后怎么用一次真实的业务模块生成请求验证通道确实通了。适合谁看已经在用 Claude Code、想换成 DeepSeek 省钱或换模型的开发者或者刚装好 Claude Code、还没搞明白settings.json和ANTHROPIC_BASE_URL关系的新手。下面所有配置都可以直接复制改两个值就能用。2. 前置准备TaoToken Key 与 Claude Code 环境在动settings.json之前先把两样东西准备好一个可用的 TaoToken Key以及一个能跑起来的 Claude Code。Key 的获取路径是登录 TaoToken 控制台在 API Keys 页面创建一个新 Key。创建时注意两点一是 Key 只在创建时完整显示一次复制下来存好二是如果只是本地开发调试权限给到默认的对话/补全范围就够不用开太宽。控制台地址是 https://taotoken.net/console API Keys 页面在 https://taotoken.net/api-keys 。Claude Code 这边确认你已经装好并且能启动。终端里敲claude能进到那个带边框的欢迎界面就算 OK。如果你还没装官方文档在 https://taotoken.net/doc 里面有各平台的安装说明。这里有个概念要先理清不然后面配置容易懵Claude Code 读的是环境变量ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN或ANTHROPIC_API_KEY。它默认指向 Anthropic 官方地址。我们要做的就是把这两个值改成 TaoToken 的地址和你的 Key让 Claude Code 把请求发到 TaoToken再由 TaoToken 路由到 DeepSeek。settings.json就是把这些环境变量固化下来的地方省得你每次开终端都 export 一遍。注意不要把 Key 硬编码进会提交到 Git 的文件里。settings.json建议放在用户级配置目录或者加进.gitignore。3. 可复制的 settings.json 配置骨架Claude Code 的配置文件分用户级和项目级。用户级在~/.claude/settings.json对所有项目生效项目级在项目根目录的.claude/settings.json只对当前项目生效。写业务模块时我一般用项目级这样不同项目可以挂不同模型。下面是一份可以直接复制的骨架关键字段我都标了注释{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: sk-你的TaoTokenKey, ANTHROPIC_MODEL: deepseek-chat, ANTHROPIC_SMALL_FAST_MODEL: deepseek-chat }, permissions: { allow: [ Bash(mkdir:*), Bash(ls:*), Read, Write, Edit ], deny: [] } }逐字段说明一下这几个是最容易配错的ANTHROPIC_BASE_URL填https://taotoken.net/api注意结尾不要多加斜杠也不要写成带/v1的形式Claude Code 会自己拼路径。填错了最典型的表现是启动后一直转圈或者报 404。ANTHROPIC_AUTH_TOKEN填你刚才创建的 Key。有些版本读的是ANTHROPIC_API_KEY如果前者不生效就换成后者试试两个都写上也不冲突。ANTHROPIC_MODEL是主模型写deepseek-chat。这个值决定 Claude Code 在正常对话和写代码时调哪个模型。ANTHROPIC_SMALL_FAST_MODEL是处理轻量任务比如生成 commit message、判断文件相关性时用的模型。也填deepseek-chat就行想省成本可以换成更小的型号。permissions.allow这块是给 Claude Code 放行常用操作不然它每写一个文件都要弹一次确认写业务模块时会被打断几十次。上面这几条覆盖了建目录、读文件、写文件、改文件够用了。deny留空需要收紧再往里加。配好之后settings.json的优先级是项目级 用户级。如果你两个地方都配了项目级会覆盖用户级。排查问题时先确认当前生效的是哪一份。4. 用 CC Switch 切换配置与验证通道如果你同时维护多套配置比如一套走 DeepSeek、一套走别的模型手动改settings.json太麻烦。CC Switch 这类配置切换工具就是干这个的把多份配置存成 profile一条命令切过去。它的工作方式很简单——本质上是帮你把选中的 profile 内容写进~/.claude/settings.json或者通过环境变量注入。所以用之前先把你的 DeepSeek profile 按上一节的骨架填好存成一个命名配置比如叫deepseek。切换动作大致是这样运行 CC Switch选中deepseek这个 profile确认应用。它会提示你当前生效的配置来源和模型名。切完之后必须重开一个终端再启动claude因为环境变量是在进程启动时读取的老终端里还是旧值。验证切换是否生效有两个动作第一个启动claude后看欢迎界面底部那行。如果配置正确它会显示当前模型类似deepseek-chat · API Usage Billing。如果还显示 Anthropic 的默认模型名说明配置没被读到回去检查settings.json路径和 JSON 格式JSON 不允许尾逗号这是最常见的低级错误。第二个在 Claude Code 里直接问一句「你现在用的是哪个模型」。它会基于当前通道回答。这一步能确认请求确实发出去了、也确实回来了。提示切换配置后如果报鉴权失败九成是 Key 复制时带了空格或者换行。重新复制一次确保是完整的一整串。5. 一次业务模块生成请求的完整验证配置通了不代表能干活得用一次真实的业务模块生成来验证。我拿一个典型的销售用户管理模块来跑需求描述直接给 Claude Code用 Spring Boot 3 写一个销售用户管理模块要求 1. 实体 SalesUser字段userName唯一、password、email、phone、personType枚举 Employee/Contractor/Partner、businessUnit 2. 分层Controller - Service - RepositoryJPA 3. 提供列表、新增、修改、删除四个接口 4. 密码用 BCrypt 哈希存储新增和修改时都要处理 5. 只写代码不要打包和部署把这段贴进 Claude Code 回车。接下来观察它的行为这就是验证通道是否正常的关键它会先mkdir建目录结构然后逐个Write文件。你会看到类似Wrote 125 lines to .../SalesUser.java的输出每个文件写完会显示行数。中间它可能自己发现 bug 再Update修正比如 setter 里写错了字段名它会读回来改掉。整个过程是连续的、有文件落地的不是只给你一段文字。判断通道真正连通的标准有三个一是文件确实被创建到了磁盘上你可以ls看到二是生成的内容符合你给的技术栈Spring Boot 3、JPA、BCrypt没有跑偏成别的框架三是整个过程没有卡在鉴权或超时上。跑完之后让它列一下创建了哪些文件list all the files you created它会输出一份文件清单。你对照需求检查实体、Repository、Service、Controller 是不是都齐了密码哈希逻辑有没有落在 Service 层。如果这些都符合说明 TaoToken 通道 DeepSeek 模型这条链路是通的可以正式用来写业务了。实测下来一个这样的模块生成耗时在几分钟量级token 消耗对应到费用通常就是一两块钱比想象中便宜。6. 本篇常见错误排查配置和验证过程中下面这几个错误出现频率最高按现象对号入座。启动后一直转圈或报 404。先查ANTHROPIC_BASE_URL。最常见的是多写了/v1或者结尾多了斜杠。正确值是https://taotoken.net/api一个字符都别多。改完记得重开终端。报 401 / 鉴权失败。Key 的问题。检查ANTHROPIC_AUTH_TOKEN是不是完整、有没有多余空格。如果确认 Key 没问题试试把字段名换成ANTHROPIC_API_KEY不同 Claude Code 版本读的字段名有差异。模型名不生效还是走默认模型。检查ANTHROPIC_MODEL拼写必须是deepseek-chat这种准确的值。另外确认你改的settings.json是当前生效的那一份——项目级会覆盖用户级别改错了文件。JSON 解析报错Claude Code 起不来。九成是 JSON 格式问题尾逗号、中文引号、注释。settings.json是严格 JSON不能有注释引号必须是英文半角。拿个 JSON 校验工具过一遍最快。切换 profile 后没变化。CC Switch 改的是配置文件但当前终端的环境变量已经加载了旧值。关掉终端重开再启动claude。写文件时频繁弹确认。permissions.allow没配全。把Read、Write、Edit和常用的Bash前缀加进去能省掉大量打断。生成到一半停了。可能是单次请求 token 超限或者网络抖动。让它继续或者把需求拆小一点分两次给。写大模块时拆成「先建实体和 Repository再写 Service 和 Controller」两轮稳定性更好。排障过程中如果怀疑是接入配置本身的问题接入文档在 https://taotoken.net/doc API Keys 管理在 https://taotoken.net/api-keys 对照着核对字段。想先单独验证模型能不能正常对话可以用模型对话页面 https://taotoken.net/models 发一条测试消息把「通道问题」和「客户端配置问题」分开定位。如果你打算长期用这套组合写代码、跑 Agent 任务Coding Plan 页面 https://taotoken.net/coding-plan 里有针对编码场景的说明可以先看一眼再决定怎么配额度。
