· 8 分钟 · 开源

Claude Code Router:让 Claude Code 使用其他模型(以及何时使用网关更简单)

Claude Code Router:让 Claude Code 使用其他模型(以及何时使用网关更简单)

Claude Code Router 通过本地网关,让你将 Claude Code 连接到其他模型;该网关负责提供商选择、协议适配和路由。本指南涵盖安装、智能体配置档案、回退机制,以及截至 2026 年 17 月在 v3.1.1 中可用的 OpenCode Go 集成。你还将了解在什么情况下,托管网关可以减少本地设置步骤。

Claude Code Router 的作用

musistudio 的 Claude Code Router 通常简称为 CCR,自称是“面向编程智能体的本地模型网关和控制平面”。它为 Claude Code 和其他客户端提供稳定的本地端点,并提供提供商凭据、路由规则、重试、有序回退和请求日志功能。

该 v3.1.1 README 列出了对 OpenAI Chat 和 Responses、Anthropic Messages,以及 Gemini Generate Content 和 Interactions 格式的支持。协议适配使得通过 CCR 将 Claude Code 与其他模型配合使用成为可能。

CCR 采用 MIT 许可证,版权归 musistudio 所有,年份为 2025,并按“原样”提供。获准使用该软件并不意味着上游推理免费。提供商收费与额度仍单独计算;截至本文发布日期,尚未核实提供商的历史价格以及 OpenCode Go 以美元计的额度。

相关的 Claude Code Router 3.1 版本

版本 3.1.1 于 2026 年 16 月发布。该版本为 OpenCode Go 本地导入提供一等支持,展示每次失败的网关尝试,并修正了路由模型的用量计费。

该版本还接受 --daemon 在 start 和 serve上,修复了 Docker UI 的日志正文工作线程,并提供 macOS Apple Silicon 和 Intel 构建版本、Windows 安装程序以及 Linux AppImage。下文的设置使用 npm 发行包,以及固定为 v3.1.1 的文档。

安装 CCR 并连接 Claude Code

npm 发行包要求 Node.js 22 或更新版本。 固定版本的 CLI 指南 记录了以下命令:

npm install -g @musistudio/claude-code-router
ccr --help
ccr ui

要在不打开浏览器的情况下启动:

ccr ui --no-open

管理界面和模型网关各有独立的默认地址:

组件 默认地址 用途
管理界面 http://127.0.0.1:3458 配置提供商、配置档案和路由
模型网关 http://127.0.0.1:3456 接收来自客户端的模型请求

明确区分这些角色,有助于排查连接在何处失败。管理页面正常工作,本身并不能证明模型网关已接受其配置。

添加提供商和客户端密钥

打开 提供商 → 添加提供商,选择预设或 其他 / 自定义 API 端点,然后输入端点和 API 密钥。CCR 会检测协议和模型; 高级设置 允许你手动选择协议。

使用 检查连接 以测试提供商。这会发送真实请求,因此可能消耗 token 或提供商的部分请求额度。

创建一个 CCR 客户端密钥 在 API 密钥 用于模型请求。该密钥与管理界面/RPC 令牌相互独立:请将客户端访问和管理访问视为不同的配置项。

创建 Claude Code 配置档案

在 智能体配置中,为以下对象创建并启用配置档案: Claude Code,选择一个模型,例如 Provider/model,然后保存。对于名为“Claude Code - Work”的配置档案,使用以下命令启动:

ccr "Claude Code - Work"

桌面端生成的启动命令使用 ccr-app。 Claude Code 配置档案指南 区分了两种作用范围:

  • 仅从 CCR 打开 会将配置应用于从 CCR 启动的实例。
  • 系统默认 也会影响直接启动的 Claude Code。

配置档案支持覆盖 Fable、Opus、Sonnet 和 Haiku 的设置。使用以下命令验证当前选择: /model,然后查看 CCR 的 请求日志 ,以查看经过网关的请求。规划这些选择时,请将 Claude Code 模型指南 放在手边以供参考。

配置路由、重试和回退

CCR 路由规则可以检查 request.header 和 request.body,并可以重写 request.body.model。这让你能够根据传入请求控制模型选择,而不局限于智能体配置档案中选择的模型。

回退配置使用 mode, models,以及 retryCount。三种模式分别是 off, retry,以及 model-chain.

行为 相关响应 运行效果
重试 408、409、429 和 5xx 在符合条件的失败后重试请求
回退目标 任何 4xx 或 5xx 可将请求转移到另一个已配置的模型
延迟处理 正值 Retry-After(如有) 使用提供的重试延迟
默认退避 没有正值 Retry-After 适用时 从一秒开始,每次尝试的上限为 30 秒

区分重试条件和回退条件十分重要。不符合重试条件的响应,仍可能符合转向回退目标的条件。

检查实际处理请求的模型

模型链可能改变最终处理请求的模型。CCR 日志会显示最终的提供商和模型,因此在排查意外行为或用量时,请使用这些日志。

先使用一个你能明确识别其提供商和模型的配置档案。有规划地添加路由规则和回退目标,然后在实际触发这些规则和目标后检查最终请求去向。这样更容易将响应或成本模式的变化与路由配置联系起来。

版本 3.1.1 还会展示每次失败的网关尝试。这些记录有助于区分最终的成功响应及其之前的各次尝试。

在 v3.1.1 中使用 OpenCode Go 导入

musistudio Claude Code Router v3.1.1 版本为 OpenCode Go 本地导入提供一等支持。该集成将 Zen(标识为 opencode)与 Go(标识为 opencode-go)区分开来,包括各自的凭据以及重叠的模型 ID。

导入工具会读取 OpenCode 配置、 auth.json,以及缓存的模型元数据。 OPENCODE_API_KEY 适用于这两项服务; OPENCODE_GO_API_KEY 提供针对 Go 的覆盖配置。模型发现会按协议筛选模型,并将缓存的元数据与实时 /models 结果进行核对。

为什么会话请求头很重要

该 OpenCode Go 集成 PR 记录了发送到 https://opencode.ai/zen/go/v1 的请求需要 x-opencode-session。如果缺少该请求头,端点会返回 400 MissingSessionID.

CCR 按以下顺序选择会话值:显式配置、显式客户端请求头、Claude 会话请求头、 metadata.user_id,最后是稳定的进程级回退值。请求头注入仅限于官方 Go 端点。

这解释了为什么仅输入端点和凭据可能不足以连接 Go。它的会话要求是提供商集成的一部分。

刷新模型发现并查看用量限额

如果无法导入 Go,请在 OpenCode 中连接 OpenCode Go ,刷新其本地模型缓存,然后在 CCR 中重新扫描。

CCR 从以下位置获取用量: GET https://opencode.ai/zen/go/v1/usage 并显示五小时、每周和每月时间窗口的剩余百分比。固定版本的文档未说明以美元计的额度。请将这些值理解为相应时间窗口的剩余百分比;它们并不代表货币余额。

分阶段排查连接问题

CCR 的故障排查资料涵盖路由被绕过、身份验证失败、模型缺失、模型选择不符合预期、费用激增、超时和智能体跟踪记录缺失等问题。一种有效的诊断顺序是沿着请求路径,从启动配置一直检查到最终提供商。

Claude Code 绕过 CCR

检查是否已启用预期的 Agent Config 配置档案,以及是否通过该档案启动。将配置档案设置为 仅从 CCR 打开 会使其配置仅适用于通过 CCR 启动的情况;选择 系统默认 时,直接启动也会受到影响。

使用 /model 并结合 CCR 请求日志来验证设置。 Claude Code CLI 参考文档 提供了使用该客户端的更全面参考。

身份验证错误或模型缺失

对于 401/403 错误,请检查各个相关层级的凭据:提供商 API 密钥、用于模型请求的 CCR 客户端密钥,以及单独的管理令牌。这些凭据各有不同用途。

对于 model not found,请检查检测到的模型、所选协议,以及配置档案中选择的提供商和模型。使用 OpenCode Go 时,如果无法导入,请刷新本地缓存并重新扫描。

启动失败和超时

版本 3.1.1 将网关接受配置的等待时间从五秒延长至 30 秒。这解决了主机负载较高时管理 UI 已启动但网关启动失败的情况,尤其是在 Windows 上。

CCR_GATEWAY_CONFIG_TIMEOUT_MS 可覆盖超时时间。无效值或低于 1,000 毫秒的值会回退为默认值。

配置存储位置为: ~/.claude-code-router (macOS/Linux)和 %APPDATA%\claude-code-router (Windows)。相关文件包括 config.sqlite、生成的 gateway.config.json,以及 service.json。服务命令包括 ccr start, ccr stop,以及前台运行的 ccr serve.

何时托管网关更简单

CCR 适合需要本地提供商管理、按请求路由、凭据池或显式回退链的工作流。如果您当前的目标是将 Claude Code 连接到上游服务,托管网关可以减少本地设置步骤。

OpenRouter 的 2026 年八月 4 日公告 记录了以下连接设置:

ANTHROPIC_BASE_URL=https://openrouter.ai/api
ANTHROPIC_AUTH_TOKEN=<openrouter-api-key>
ANTHROPIC_API_KEY=

该公告还说明了其他模型和功能设置。这三个变量是连接设置,并非适用于每个模型的完整配置。OpenRouter 提醒,大多数开放模型不支持工具搜索,因此设置因模型而异。

其 Ori CLI 可通过以下方式自动完成设置:

ori login
ori claude

同样的工作流也可以通过 AI Prime Tech 等 API 网关运行。AI Prime Tech 是一家独立服务,与 Anthropic 或 OpenAI 无关联;请参阅以下指南: 使用 API 密钥运行 Claude Code.

请根据所需的控制能力进行选择。CCR 提供一个本地管理环境,可用于管理路由、检查尝试记录和配置回退;文档所述的托管方案则无需在本地运行 CCR。

要点

  • Claude Code Router 通过一个稳定的本地端点将 Claude Code 和其他客户端连接到提供商,并提供协议适配。
  • npm 分发包要求 Node.js 22+,管理 UI 和模型网关使用不同的默认端口。
  • Agent Config 的作用范围决定了配置档案仅适用于通过 CCR 启动的情况,还是也适用于直接启动。
  • 回退可能改变实际提供服务的模型;请查看请求日志,确认最终使用的提供商和模型。
  • v3.1.1 新增 OpenCode Go 导入功能,使用独立凭据,并处理必需的会话请求头。
  • 如果您不需要 CCR 的本地路由控制,托管网关可以减少本地设置工作。

常见问题

Claude Code Router 是免费的吗?

Claude Code Router 采用 MIT 许可证,允许使用该软件。这并不意味着上游推理免费,且此处未核实提供商的历史价格或 OpenCode Go 的美元额度。

我可以通过 CCR 在 Claude Code 中使用其他模型吗?

可以。CCR 提供协议适配以及提供商和模型选择功能,其 Claude Code 配置档案允许您选择模型,例如 Provider/model。支持的上游格式包括 OpenAI Chat/Responses、Anthropic Messages 和 Gemini Generate Content/Interactions。

Claude Code Router 3.1.1 有哪些变化?

v3.1.1 于 2026 年九月 16 日发布,新增对 OpenCode Go 本地导入的原生支持,可查看每次失败尝试,并修正了路由模型的用量计费价格。它还将网关接受配置的等待时间延长至 30 秒,并支持 --daemon 在 start 和 serve.

为什么 OpenCode Go 会返回 MissingSessionID?

官方 OpenCode Go 端点要求提供 x-opencode-session 请求头,并会返回 400 MissingSessionID (当该请求头缺失时)。CCR 的 Go 集成按明确定义的优先顺序选择会话值,且仅为官方 Go 端点注入该请求头。

A

本博客由 AI Prime Tech 发布。文章借助 AI 辅助起草;在据此采取行动前,请对照官方文档核实模型 ID、价格和限额等特定版本的细节。

以更低价格接入 Claude API

一个 API 密钥即可使用 Claude Opus 5.5、Sonnet 5、Haiku 4.5 和 Fable 5.1,以及 GPT-6 个模型。按量付费,无需订阅。

获取 API 密钥 →
AI Prime Tech 是独立的第三方 API 网关。Claude™ 和 Anthropic® 是 Anthropic, PBC 的商标。此处不暗示任何关联或背书。