十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Claude Code + CCR 双修指南:同会话热切原厂 Claude 与 DeepSeek 的 config.toml 骨架

Claude Code + CCR 双修指南:同会话热切原厂 Claude 与 DeepSeek 的 config.toml 骨架 1. 为什么要在 Claude Code 里同时挂原厂 Claude 和 DeepSeekClaude Code 是 Anthropic 官方出的终端编码代理能读文件、跑命令、改代码很多人已经把它当成主力开发工具。但实际用下来有个绕不开的问题原厂 Claude 的 Opus 系列推理强、上下文稳适合啃硬骨头可价格也摆在那而日常大量重复劳动——读日志、补测试、改注释、批量重命名——用 Opus 跑纯属浪费。DeepSeek 这类模型在 Anthropic 兼容协议下接入后干这些脏活成本能压到原厂的几十分之一。麻烦在于Claude Code 原生只认 Anthropic 官方模型名/model菜单里就 Opus、Sonnet、Haiku 几个选项你想在同一个会话里从 Opus 切到 DeepSeek不重启、不改 alias、不换终端窗口靠原生功能做不到。这时候就需要 Claude Code RouterCCR出场。CCR 是社区开源的本地反向代理默认监听127.0.0.1:3456。它拦下 Claude Code 发出的 Anthropic/v1/messages请求按你配的路由规则转发给任意上游——DeepSeek、原厂 Claude、本地 Ollama 都行——再把响应翻译回 Anthropic 格式。Claude Code 的 UI、slash 命令、hooks、权限系统全部保留底层模型却可以随时换。这篇就交付一套可复制的config.toml骨架和 CCR 路由配置让你在同一个会话里用/model provider,model热切换原厂 Claude 与 DeepSeek并给出切换后验证模型真正生效的具体命令。适合谁需要多模型并行调试的开发者尤其是既想用 Opus 攻坚、又想用 DeepSeek 跑量的团队。环境以 MacApple Silicon/ Node 22 / zsh 为准Windows 把export换成$env:即可。2. 前置准备Node 环境、Claude Code 与 CCR 安装先把 Node 环境弄干净。我试过用系统自带 Node 加sudo npm i -g后面 EACCES 权限报错能把人逼疯所以强烈建议走 nvm把 npm prefix 锁在~/.nvm下。# 1. 用 nvm 装 Node 22避免 sudo 污染全局目录 nvm install 22 nvm alias default 22 node -v # 应输出 v22.x # 2. 装 Claude Code 本体 npm install -g anthropic-ai/claude-code claude --version # 3. 装 CCR npm install -g musistudio/claude-code-router ccr --versionccr --version如果显示不准用npm ls -g看实际安装版本更靠谱。CCR 3.x 已经把配置收进 SQLite老教程里手写config.json的做法基本失效正确姿势是用ccr ui在浏览器里配。启动网关和 UIccr stop ccr start sleep 2 ccr ui # 浏览器会打开 http://127.0.0.1:3458/?ccr_web_token...UI 端口 3458 只监听本机别映射到公网。CCR 版本建议 ≥ 1.0.34早期版本有 CORS 泄露 Key 的 CVE3.0.19 已修复。3. 可复制的 config.toml 骨架与 CCR 路由配置虽然 3.x 主推 UI但很多人还是想要一份能版本管理的配置文件。CCR 支持从~/.claude-code-router/config.toml读取 provider 与 router 定义下面这份骨架可以直接抄把 Key 换成你自己的。# ~/.claude-code-router/config.toml # CCR 3.x 配置骨架同会话热切原厂 Claude 与 DeepSeek [gateway] host 127.0.0.1 port 3456 # UI 端口单独走 3458只监听本机 ui_port 3458 # ---------- Provider 定义 ---------- [[providers]] name deepseek api_base_url https://api.deepseek.com/anthropic/v1/messages api_key sk-你的DeepSeekKey # 生产环境建议改用 api_key_file models [deepseek-v4-pro, deepseek-v4-flash] context_window 1050000 # DeepSeek V4 走 Anthropic 兼容层不收图务必关掉 supports_images false supports_web_search true usage_probe true [[providers]] name anthropic api_base_url https://api.anthropic.com/v1/messages api_key sk-ant-你的原厂Key # 没有原厂 Key 就删掉整个 provider models [claude-opus-4-8, claude-sonnet-4-6] context_window 200000 supports_images true # ---------- Router 路由规则 ---------- [router] default deepseek,deepseek-v4-pro think deepseek,deepseek-v4-pro background deepseek,deepseek-v4-flash longContext deepseek,deepseek-v4-pro longContextThreshold 60000 # 想默认走原厂就把上面几行换成 anthropic,claude-opus-4-8几个关键点必须说清楚。第一DeepSeek 的api_base_url走的是 Anthropic 兼容协议/anthropic/v1/messages不是/chat/completions填错会直接 404。第二supports_images一定要设falseDeepSeek V4 系列走兼容层不收图勾了之后你在会话里贴截图会报image_url相关错误。第三Key 别写死在配置里用环境变量或api_key_file注入避免提交到 Git。改完配置重启网关ccr stop ccr start如果你更习惯 UI就在ccr ui里按同样的字段填Providers → Add → 选 DeepSeek 预设Base URL 填兼容端点Models 填deepseek-v4-pro, deepseek-v4-flash推理档位全勾图片取消勾选网页搜索勾上用量探测开标准端点。Router 页签里把 default / think / background / longContext 按上面骨架填好保存后重启。4. 启动 Claude Code 并验证模型真正生效配置好了不代表生效得让 Claude Code 走本地网关。在终端里导出环境变量再启动export ANTHROPIC_BASE_URLhttp://127.0.0.1:3456 export ANTHROPIC_AUTH_TOKENdummy # CCR 自己鉴权这里填 dummy 即可 claude进会话第一件事是敲/status看到Base URL: http://127.0.0.1:3456就说明请求已经打到 CCR 了。接下来是核心玩法——同会话热切模型。Claude Code 原生/model菜单只列 Anthropic 官方名不包含 deepseek所以直接敲命令而不是点菜单/model deepseek,deepseek-v4-pro # DeepSeek 满血 /model deepseek,deepseek-v4-flash # DeepSeek 闪电 /model anthropic,claude-opus-4-8 # 原厂 Opus需原厂 Key /model anthropic,claude-sonnet-4-6 # 原厂 Sonnet切完怎么确认后端真的换了问一句“只回一个词你后端是谁”DeepSeek 会顺着 Claude Code 注入的 system prompt 演“我是 Claude”所以光看回答不可靠。铁证是去 DeepSeek 控制台看 Usage 有没有消耗有消耗就是 DeepSeek 在答。掐表也行同问题 DeepSeek V4 Pro 首响通常比 Opus 快 3 倍左右。注意菜单里选 Opus 5 不代表直连 Anthropic实际后端仍由 CCR Router 按 model 字符串分流。每次敲 env 太烦在~/.zshrc末尾加个函数固化启动claude-ccr() { curl -sf http://127.0.0.1:3456/health /dev/null || { ccr start; sleep 2; } export ANTHROPIC_BASE_URLhttp://127.0.0.1:3456 export ANTHROPIC_AUTH_TOKENdummy claude $ }以后终端敲claude-ccr一条命令进会话。5. 本篇常见报错排查对照配置和切换过程中最容易踩的坑集中在这几类对照着查能省不少时间。现象原因解决Profile code was not foundCCR 3.x 把ccr code当 profile 名解析用ccr start 手动claude400 All target providers failedconfig 里api_key没展开发的是字面量UI 里明文填 key或改用api_key_file/model deepseek,xxx后还自称 Opus正常system prompt 剧本去 DeepSeek 控制台看 Usage 确认贴截图后报错image_urlDeepSeek Anthropic 端点不收图切回anthropic,claude-sonnet-4-6或别贴图command not found: ccrnpm 全局 bin 没进 PATHsource ~/.zshrc或检查 nvm 前缀切模型后响应变慢Prompt Cache 作废减少来回切默认 DeepSeek非 Opus 不可才切关于成本边界再补一句DeepSeek V4 Pro 走 CCR 干 Claude Code 的脏活成本约 Opus 的 1/30~1/50但切模型等于 Prompt Cache 作废从 DeepSeek 切回 Opus 再切回缓存不沿用来回切多次可能比一直用 Opus 还贵。规范做法是默认 DeepSeek只有非 Opus 不可的任务才切原厂。安全上代码经 DeepSeek 云端含生产密钥、PII、未公开商业逻辑的仓库别用路由到本地 Ollama 则数据不出机器最安全。6. 接入与 Key 管理把网关和凭证管起来上面这套跑通后真正要长期维护的是两件事网关的稳定启动以及 API Key 的集中管理。CCR 网关本身不复杂但如果你同时接原厂 Claude、DeepSeek 甚至本地 OllamaKey 散落在各处很容易乱。建议把上游凭证统一收口用环境变量或独立的 key 文件注入配置里只留引用。如果你希望进一步简化多模型接入和 Key 管理可以了解下 TaoToken 的做法它提供统一的模型对话入口和 API Key 管理接入文档里对 Anthropic 兼容协议、Base URL 配置、Key 轮换都有说明。对于需要长期跑编码 Agent 的场景Coding Plan 能把多模型调用和额度管理打包起来省去自己维护网关的麻烦。具体入口模型对话与调试https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentmodel_chat长期编码 / Agent 方案https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding_plan控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentconsoleAPI Key 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi_keys接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdocClaude Code 接入说明https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaude_codeAPI 端点https://taotoken.net/api回到 CCR 本身最后给个实用技巧把config.toml纳入 dotfiles 版本管理但 Key 用api_key_file指向~/.secrets/下的文件.gitignore掉。这样换机器时配置能直接复用凭证不会泄露。网关健康检查用curl -sf http://127.0.0.1:3456/health启动脚本里已经带了掉线自动拉起。整套跑顺之后你在一个 Claude Code 会话里就能左手 Opus 攻坚、右手 DeepSeek 跑量/model provider,model就是那把切换的钥匙。
返回列表