如何用 claude-code-router 让 Claude Code 通过 claude-relay-service 调用 Gemini 3 模型
【免费下载链接】claude-relay-serviceCRS-自建Claude Code镜像,一站式开源中转服务,让 Claude、OpenAI、Gemini、Droid 订阅统一接入,支持拼车共享,更高效分摊成本,原生工具无缝使用。项目地址: https://gitcode.com/GitHub_Trending/cl/claude-relay-service
如果你的 Claude Code 客户端希望使用 Gemini 3 系列模型(例如gemini-3-pro-preview),但手头没有直接可用的 Gemini 渠道管理,可以用 claude-code-router(CCR)做请求格式转换,再经由 claude-relay-service(CRS)完成账户调度:Claude Code → CCR (模型路由) → CRS (账户调度) → Gemini API。本文按这条链路给出完整配置步骤,最终效果是:Claude Code 发出的 Anthropic 格式请求经 CCR 转换后进入 CRS,由 CRS 调度已添加的 Gemini 账号调用 Gemini 3 模型,其他模型也可以参照此流程尝试。
前提条件:
- CRS 服务已部署并正常运行;
- 已安装 Node.js 环境(用于全局安装 CCR);
- 已在 CRS 中配置好 Gemini 账号,并按第五节要求在 CRS 中创建
cr_开头的 API Key。
第一步:安装 claude-code-router
全局安装 CCR:
npm install -g @musistudio/claude-code-router验证安装是否成功,应输出版本号:
ccr -v关于安装位置,官方文档给出两点建议:
- 如果只是本地使用,可以只安装到运行 Claude Code 的那台电脑上;
- 如果需要 CRS 项目接入 CCR(即通过 CRS 统一管理用户访问),建议安装在与 CRS 同一台服务器上。
第二步:配置 CCR
创建或编辑 CCR 配置文件(通常位于~/.claude-code-router/config.json),按下面的示例填写:
{ "APIKEY": "sk-c0e7fed7b-这里随便你自定义", "LOG": true, "HOST": "127.0.0.1", "API_TIMEOUT_MS": 600000, "NON_INTERACTIVE_MODE": false, "Providers": [ { "name": "gemini", "api_base_url": "http://127.0.0.1:3000/gemini/v1beta/models/", "api_key": "cr_xxxxxxxxxxxxxxxxxxxxx", "models": ["gemini-2.5-flash", "gemini-2.5-pro", "gemini-3-pro-preview"], "transformer": { "use": ["gemini"] } } ], "Router": { "default": "gemini", "background": "gemini,gemini-3-pro-preview", "think": "gemini,gemini-3-pro-preview", "longContext": "gemini,gemini-3-pro-preview", "longContextThreshold": 60000, "webSearch": "gemini,gemini-2.5-flash" } }示例中有两处需要替换成你自己的值:
| 字段 | 替换说明 |
|---|---|
APIKEY | 替换为你自定义的 CCR API Key(示例值sk-c0e7fed7b-...可随意自定义),Claude Code 将使用这个 Key 访问 CCR |
api_key | 替换为 CRS 后台创建的 API Key(cr_开头),用于调度 OAuth、Gemini-API 账号 |
其中api_base_url指向 CRS 服务的 Gemini API 地址,HOST保持127.0.0.1表示 CCR 只监听本机;如果 CCR 需要被其他服务器访问,后面第五节会说明需要把HOST改为0.0.0.0。
第三步:在 CRS 中配置 Gemini 账号
CCR 只负责格式转换和路由,实际调用 Gemini 的能力来自 CRS 中配置的账号:
- 登录 CRS 管理界面;
- 进入「Gemini 账户」页面;
- 添加 Gemini OAuth 账号或 API Key 账号;
- 确保账号状态为「活跃」。
CRS 支持的 Gemini 模型列表可在 模型配置 中核对,其中包含gemini-3-pro-preview、gemini-3-flash-preview等 Gemini 3 系列模型。
第四步:启动 CCR 服务
保存配置后启动 CCR:
ccr start查看服务状态:
ccr status文档示例的输出(示例结果):
API Endpoint: http://127.0.0.1:3456重要:每次修改config.json后,必须重启 CCR 服务才能生效:
ccr restart第五步:让 Claude Code 接入
这一步有两种方式,按你的使用规模选择其一。
方式一:本地直接连接 CCR(单台机器使用)
在运行 Claude Code 的终端中设置环境变量,让 Claude Code 直接指向 CCR:
export ANTHROPIC_BASE_URL="http://127.0.0.1:3456/" export ANTHROPIC_AUTH_TOKEN="sk-c0e7fed7b-你的自定义Key"其中ANTHROPIC_AUTH_TOKEN必须与 CCR 配置中的APIKEY一致。然后启动:
claude方式二:通过 CRS 统一管理(多人共享时推荐)
如果希望通过 CRS 统一管理所有用户的访问,可以在 CRS 中添加 Claude Console 类型账号来代理 CCR。
1. 在 CRS 添加 Claude Console 账号
登录 CRS 管理界面,添加一个Claude Console类型的账号:
| 字段 | 值 |
|---|---|
| 账户名称 | CCR-Gemini3(或自定义名称) |
| 账户类型 | Claude Console |
| API 地址 | http://127.0.0.1:3456(CCR 服务地址) |
| API Key | sk-c0e7fed7b-你的自定义Key(即 CCR 配置中的APIKEY) |
如果 CCR 运行在其他服务器上,将127.0.0.1替换为实际的服务器地址,并且 CCR 配置文件中需要把HOST参数改为0.0.0.0,否则 CCR 不会接受外部访问。
2. 配置模型映射
在 CRS 中配置模型映射,将 Claude 模型名映射到 Gemini 模型:
| Claude 模型 | 映射到 Gemini 模型 |
|---|---|
claude-opus-4-1-20250805 | gemini-3-pro-preview |
claude-sonnet-4-5-20250929 | gemini-3-pro-preview |
claude-haiku-4-5-20251001 | gemini-2.5-flash |
官方说明:Opus 和 Sonnet 映射到gemini-3-pro-preview,Haiku 映射到响应更快的gemini-2.5-flash。
3. 用户使用方式
配置完成后,用户通过 CRS 统一入口使用 Claude Code:
export ANTHROPIC_BASE_URL="http://你的CRS服务器:3000/api/" export ANTHROPIC_AUTH_TOKEN="cr_用户的APIKey"上面两条中的你的CRS服务器替换为实际部署 CRS 的服务器地址,cr_用户的APIKey替换为该用户在 CRS 中创建的 API Key。之后 Claude Code 会自动将请求路由到 CCR,再由 CCR 转发到 Gemini API。
验证连接
配置完成后,可以用 curl 直接测试 CCR 链路是否通畅(x-api-key换成你在 CCR 配置中的APIKEY):
curl -X POST http://127.0.0.1:3456/api/v1/messages \ -H "Content-Type: application/json" \ -H "x-api-key: sk-c0e7fed7b-你的自定义Key" \ -d '{ "model": "claude-sonnet-4-5-20250929", "max_tokens": 100, "messages": [{"role": "user", "content": "Hello"}] }'请求中的claude-sonnet-4-5-20250929按第五节的映射规则会被转到gemini-3-pro-preview,收到正常的消息响应即说明 Claude Code → CCR → CRS → Gemini 的链路已打通。
常见问题排查
CCR 配置修改后没有生效?
配置修改后必须重启 CCR 服务:
ccr restart连接超时怎么办?
官方文档给出的检查项依次为:
- CRS 服务是否正常运行;
- CCR 配置中的
api_base_url是否正确; - 防火墙是否允许相应端口;
- 尝试增加
API_TIMEOUT_MS的值(长任务尤其需要)。
模型映射不生效?
官方文档给出的确认项:
- CRS 中已正确配置 Claude Console 账号;
- 模型映射配置已保存;
- 重启 CRS 服务使配置生效。
部署建议
源文档给出的最佳实践:
- 生产环境将 CCR 部署在与 CRS 相同的服务器上,减少网络延迟;
- 为每个用户创建独立的 CRS API Key,便于使用统计;
- 对于长时间运行的任务,适当增加
API_TIMEOUT_MS。
更多 CCR 的用法可以参考其官方仓库(@musistudio/claude-code-router)。
【免费下载链接】claude-relay-serviceCRS-自建Claude Code镜像,一站式开源中转服务,让 Claude、OpenAI、Gemini、Droid 订阅统一接入,支持拼车共享,更高效分摊成本,原生工具无缝使用。项目地址: https://gitcode.com/GitHub_Trending/cl/claude-relay-service
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考