快速教程:Claude Code 使用 OpenRouter 中转 API 稳定使用最新 Claude Sonnet 4.5模型

更新时间:2025-10-06。


为什么不能“直接”让 Claude Code 调 OpenRouter?

  • Claude Code 发送的是 Anthropic Messages API(/v1/messages)格式;OpenRouter 提供的是 OpenAI 风格的 Chat Completions(/api/v1/chat/completions)。协议不兼容,直连会失败,因此必须通过“路由/代理”完成协议翻译。参见 Anthropic 的 LLM Gateway 指南与 OpenRouter 的 Chat Completions 文档。

目标模型(固定到最新 Claude 4.5)

  • OpenRouter 已上架 Claude Sonnet 4.5,模型 ID:anthropic/claude-sonnet-4.5(页面标注创建于 2025‑09‑29)。如果你的账户暂不可用,可先退回 anthropic/claude-3.7-sonnet 以验证链路。

方案一:musistudio/claude-code-router(CCR,本地简易路由)

将 Claude Code 的 Anthropic 请求翻译为 OpenRouter Chat Completions,再翻译回返回值;支持在 /model 内动态切换 Provider/模型。

  1. 安装(全平台通用)
npm install -g @anthropic-ai/claude-code
npm install -g @musistudio/claude-code-router
  1. 写入配置(将 OpenRouter 作为 Provider,并把默认模型指向 Claude 4.5)
    Windows PowerShell:
New-Item -ItemType Directory -Force "$HOME/.claude-code-router" | Out-Null
@'
{
  "Providers": [
    {
      "name": "openrouter",
      "api_base_url": "https://openrouter.ai/api/v1/chat/completions",
      "api_key": "<YOUR_OPENROUTER_API_KEY>",
      "models": [
        "anthropic/claude-sonnet-4.5"
      ],
      "transformer": { "use": ["openrouter"] }
    }
  ],
  "Router": {
    "default": "openrouter,anthropic/claude-sonnet-4.5"
  }
}
'@ | Set-Content -Encoding UTF8 "$HOME/.claude-code-router/config.json"
  1. 一条命令启动并进入 Claude Code(CCR 会自动把 ANTHROPIC_BASE_URL 指到本地路由)
ccr code
  1. 验证
claude /status
claude /model          # 如需在会话中切换到其他 Provider,Model

参考:项目 README 中的安装、config.jsonccr code 用法示例,以及 OpenRouter 作为 Provider 的 api_base_urlmodels 配置说明。


方案二:y-router(Cloudflare Worker / Docker;最少三行环境变量)

适合快速验证。公共实例仅用于测试,生产建议自托管。

PowerShell(公共实例快速通道):

$env:ANTHROPIC_BASE_URL = "https://cc.yovy.app"
$env:ANTHROPIC_API_KEY = "<YOUR_OPENROUTER_API_KEY>"
$env:ANTHROPIC_CUSTOM_HEADERS = "x-api-key: $($env:ANTHROPIC_API_KEY)"
# 固定 Claude 4.5(可选)
$env:ANTHROPIC_MODEL = "anthropic/claude-sonnet-4.5"
claude /status

自托管(示例:本地 Docker 映射到 http://localhost:8787

git clone https://github.com/luohy15/y-router
cd y-router && docker compose up -d

然后在使用 Claude Code 的终端里:

$env:ANTHROPIC_BASE_URL = "http://localhost:8787"
$env:ANTHROPIC_API_KEY = "<YOUR_OPENROUTER_API_KEY>"
$env:ANTHROPIC_CUSTOM_HEADERS = "x-api-key: $($env:ANTHROPIC_API_KEY)"
$env:ANTHROPIC_MODEL = "anthropic/claude-sonnet-4.5"
claude

参考:y-router README 的快速使用与环境变量示例(ANTHROPIC_BASE_URL/ANTHROPIC_CUSTOM_HEADERS)及 Docker/Workers 部署章节。


故障快速排查

  • 401/403:检查是否使用了 Authorization: Bearer <OPENROUTER_API_KEY>(直连)或在 y-router 侧注入了 x-api-key(经代理)。
  • 404/模型不可用:到 OpenRouter 对应模型页核对 ID(例如 anthropic/claude-sonnet-4.5)和地区可用性。
  • 429/限流:降低并发或在 OpenRouter 请求体里配置 Provider/Fallback 路由策略。
  • 命令自检:在 Claude Code 内运行 /doctor/status 查看终端点、鉴权方式与模型名称。

参考资料

注:本教程仅改变“接入路径”,不改变 Claude Code 的交互方式。生产环境请优先自建路由、限制来源并妥善保管密钥。