📌 项目地址:musistudio/claude-code-router | ⭐ 34,502 颗星 | 🔧 TypeScript | 📜 MIT
为什么需要 CCR
claude 是 Anthropic 官方的终端编程助手。你在项目目录下敲 claude,它能读代码、写文件、操作 git。但 Claude Code 默认只连 Anthropic 自家的模型——你想用 DeepSeek 做快速推理,或者在公司内网跑 Ollama 省成本,直接换不了。
musistudio/claude-code-router(以下简称 CCR)在中间搭了一个本地 HTTP 代理。Claude Code 发出的请求先被 CCR 拦截,按你配置的规则转发到其他模型提供商,再把响应翻译成 Claude Code 能识别的格式。你用的还是同一个 claude 终端,背后跑的模型已经换了。
项目目前在 GitHub 上有 34502 个 star,MIT 协议。Z.ai 赞助了它,推出了 GLM CODING PLAN(月费 10 美元起),可以在 Claude Code、Cline、Roo Code 等工具里使用 GLM-4.7 和 GLM-5(Pro 用户)。但 CCR 本身不绑定任何付费计划,你用自己的 API Key 就行。
安装和配置
先装 Claude Code:
npm install -g @anthropic-ai/claude-code
再装 CCR:
npm install -g @musistudio/claude-code-router
配置文件默认路径是 ~/.claude-code-router/config.json。项目附带了 config.example.json 作为参考,你复制一份改改就能用。下面是 README 里明确提到的几个关键字段:
PROXY_URL(可选):如果你的网络需要代理才能访问某些 API(比如 OpenRouter 被墙),设一个 HTTP 地址,例如"http://127.0.0.1:7890"。LOG(可选):默认true,开启后日志写两套。服务器层日志(HTTP 请求、API 调用)用 pino 格式存到~/.claude-code-router/logs/ccr-*.log;应用层日志(路由决策、业务逻辑)写在~/.claude-code-router/claude-code-router.log。如果不想写日志,设成false即可。LOG_LEVEL(可选):日志详细度,可选"fatal"、"error"、"warn"、"info"、"debug"、"trace",默认"debug"。APIKEY(可选):设一个密钥,Claude Code 向代理发请求时需要带上,防止别人乱用你搭的代理服务。
路由规则的具体配置结构,README 提到可以根据需求(比如 background tasks、thinking、long context)把请求分给不同模型提供商。完整的 JSON 结构请参考 config.example.json,这里我只说两个要点:第一,你需要在配置中声明你想用的模型提供商及其 API Key;第二,每条路由规则可以按照 model 名称或 prompt 类型做匹配,然后转发到指定的提供商的某个模型。
四个核心功能
动态切换模型
不用重启进程,不用改配置文件。在 Claude Code 对话里直接敲 /model,就能把当前会话的模型换成另一个。我写代码时用 Claude 分析具体函数,需要读长文档时切到上下文窗口更大的模型。切换后所有后续请求都走新模型。
CLI 管理模型
用 ccr model 命令在终端里管理模型和提供商。适合不想手写 JSON 的人。具体的子命令 README 没展开,但大概率包含 list、add、remove 之类的操作。你可以直接在 shell 里增删模型,不用打开文件编辑。
集成 GitHub Actions
CCR 可以放到 CI/CD 流程里。比如每次 PR 合并后自动用 DeepSeek 跑一次代码审查,审查用的模型由你指定。GitHub Actions 里调用 claude,CCR 在中间做路由,不需要改 Action 脚本里的模型名称,修改本地配置即可。
自定义请求/响应转换
不同模型提供商的 API 格式差异很大。CCR 提供了 Transformer 插件机制,你可以写自己的函数来适配非标准格式。比如某个厂商把 system prompt 放在特殊字段里,写一个 transformer 把它塞回 messages 数组。官方已经支持 OpenRouter、DeepSeek、Ollama、Gemini、Volcengine、SiliconFlow。
我实际用下来的感受
我主要把推理任务丢给 DeepSeek,便宜而且速度快。配置大概花了 10 分钟:先确认网络代理(我用 Clash),启动 CCR,然后正常启动 claude。第一次对话,Claude 发出的请求先经过 CCR,CCR 根据我的路由规则转发,再把响应翻译回来。全程 Claude 那边没报错。
两个小提醒:
- 日志是调试的关键。路由没生效时,直接去
~/.claude-code-router/logs/翻ccr-*.log,看 CCR 到底收到了什么请求、转发给了谁。默认 LOG_LEVEL 是 debug,信息很细。 APIKEY。如果团队里共享一台服务器,设一个密钥防止别人乱用。
项目状态和局限性
34502 个 star,社区活跃。Z.ai 赞助了项目,他们的 GLM CODING PLAN(月费 10 美元起)能在 Claude Code、Cline、Roo Code 等 10 多个工具里使用 GLM-4.7 和 GLM-5(Pro 用户)。CCR 本身不绑定任何付费计划,你可以自己带 API Key。
局限性也很明显:CCR 只按固定规则转发,不能做智能负载均衡。文档比较简略,很多细节得去 Discord(https://discord.gg/rdftVMaUcS)或者读源码查。另外,如果你用的一些高端模型特性(比如 Claude 的 Artifacts 或 MCP 工具调用),CCR 能不能兼容,得看对应供应商是否支持。
但如果你想保留 Claude Code 的终端交互体验,又不想被单一模型绑死,CCR 是个低成本方案。花十几分钟配好路由规则,剩下的交给它。