用 cc-switch 让 Claude Code 接入 DeepSeek/GLM 等非 Anthropic 后端的完整配置教程,来自公众号"AI智管局·小王"的实操总结。

核心思路

  • Claude Code 只认 Anthropic 协议;后端模型如果是 OpenAI 格式(GLM/OpenCode),需要一个"翻译"中间层。
  • cc-switch 自带本地代理,自动做协议转换,这是它的核心价值。
  • DeepSeek 例外:它有原生 Anthropic 端点(api.deepseek.com/anthropic),可直连不经过代理。

配置步骤

  1. 安装:brew install --cask cc-switch,首次启动自动初始化数据库 ~/.cc-switch/cc-switch.db
  2. 添加供应商:
    • 方式一(新手):UI 点橙色"+" → 选预设(DeepSeek/智谱GLM)→ 填 API Key → 保存。
    • 方式二(批量):Deep Link 导入,格式:
      ccswitch://v1/import?resource=provider&app=claude&name=DeepSeek&endpoint=https://api.deepseek.com&apiKey=你的KEY
      
      open "ccswitch://..." 触发,弹确认框点"导入"。
  3. 配置模型映射:Claude Code 启动时会发 haiku 预检请求(模型名 claude-haiku-4-5),DeepSeek/GLM 不认识这个名字会直接 401,必须在编辑面板里做映射:
    • Sonnet(主力编码)→ glm-5.2deepseek-chat
    • Opus(复杂推理)→ 同上
    • Haiku(快速任务)→ deepseek-v4-flashglm-4.5-air
    • 默认兜底必须填,不填会透传原始 Claude 模型名报错。
  4. 开启路由代理(仅 OpenAI 格式供应商需要,DeepSeek 不需要):设置 → 路由 tab → 打开"路由总开关" → 勾选"Claude"接管 → 确认启用。

三个坑

  1. 别直接写 SQLite 数据库:数据进去了但代理不注入 API Key,所有请求 401。cc-switch 的代理认证同步机制不走数据库读取,必须通过 UI 或 Deep Link 的原生流程初始化。
  2. API 格式选错:DeepSeek 选 “Anthropic Messages” 直连;GLM/OpenCode 必须选 “OpenAI Chat Completions” 并开启路由代理做协议转换。
  3. 改完配置必须重启:通过数据库改了配置(如 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