用 cc-switch 让 Claude Code 接入 DeepSeek/GLM 等非 Anthropic 后端的完整配置教程,来自公众号"AI智管局·小王"的实操总结。
核心思路
- Claude Code 只认 Anthropic 协议;后端模型如果是 OpenAI 格式(GLM/OpenCode),需要一个"翻译"中间层。
- cc-switch 自带本地代理,自动做协议转换,这是它的核心价值。
- DeepSeek 例外:它有原生 Anthropic 端点(
api.deepseek.com/anthropic),可直连不经过代理。
配置步骤
- 安装:
brew install --cask cc-switch,首次启动自动初始化数据库~/.cc-switch/cc-switch.db。 - 添加供应商:
- 方式一(新手):UI 点橙色"+" → 选预设(DeepSeek/智谱GLM)→ 填 API Key → 保存。
- 方式二(批量):Deep Link 导入,格式:
用ccswitch://v1/import?resource=provider&app=claude&name=DeepSeek&endpoint=https://api.deepseek.com&apiKey=你的KEYopen "ccswitch://..."触发,弹确认框点"导入"。
- 配置模型映射:Claude Code 启动时会发 haiku 预检请求(模型名
claude-haiku-4-5),DeepSeek/GLM 不认识这个名字会直接 401,必须在编辑面板里做映射:- Sonnet(主力编码)→
glm-5.2或deepseek-chat - Opus(复杂推理)→ 同上
- Haiku(快速任务)→
deepseek-v4-flash或glm-4.5-air - 默认兜底必须填,不填会透传原始 Claude 模型名报错。
- Sonnet(主力编码)→
- 开启路由代理(仅 OpenAI 格式供应商需要,DeepSeek 不需要):设置 → 路由 tab → 打开"路由总开关" → 勾选"Claude"接管 → 确认启用。
三个坑
- 别直接写 SQLite 数据库:数据进去了但代理不注入 API Key,所有请求 401。cc-switch 的代理认证同步机制不走数据库读取,必须通过 UI 或 Deep Link 的原生流程初始化。
- API 格式选错:DeepSeek 选 “Anthropic Messages” 直连;GLM/OpenCode 必须选 “OpenAI Chat Completions” 并开启路由代理做协议转换。
- 改完配置必须重启:通过数据库改了配置(如 apiFormat),UI 不实时同步,代理也不重新加载。必须 kill 掉 cc-switch 进程重开。
验证
- 终端执行
echo "Say hello" | claude --print,有正常回复即全链路跑通。 - 配置成功标志:
~/.claude/settings.json里的ANTHROPIC_BASE_URL应变成http://127.0.0.1:15721(代理地址)。 - 报错时查
~/.cc-switch/logs/cc-switch.log,搜 “forwarder” 看请求转发情况。
日常使用
- 三步上手:cd 到项目目录 → 输入
claude启动 → 直接用中文描述要干什么。 - 切换供应商:在 cc-switch App 点对应卡片"启用",不需要改命令。
- 切换路由总开关:设置 → 路由,一键开关。DeepSeek 直连模式不需要代理,最快最稳。
配套开源技能(含 Deep Link 批量导入脚本、模型映射清单、代理日志排查方法、常见报错对应表):cc-switch-guide
来源:AI智管局(小王),原文 cc-switch配置全教程:Claude Code接入DeepSeek和GLM