快速教程: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/模型。
- 安装(全平台通用)
npm install -g @anthropic-ai/claude-code
npm install -g @musistudio/claude-code-router
- 写入配置(将 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"
- 一条命令启动并进入 Claude Code(CCR 会自动把
ANTHROPIC_BASE_URL指到本地路由)
ccr code
- 验证
claude /status
claude /model # 如需在会话中切换到其他 Provider,Model
参考:项目 README 中的安装、config.json 与 ccr code 用法示例,以及 OpenRouter 作为 Provider 的 api_base_url 和 models 配置说明。
方案二: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 LLM Gateway(解释为何需要代理/网关)
- Claude Code 高级用法(自定义请求头、
ANTHROPIC_AUTH_TOKEN等) - Claude Code 设置与内置命令(
/status、/doctor等) - OpenRouter Chat Completions(唯一支持端点)与请求格式
- OpenRouter 上的 Claude Sonnet 4.5(模型 ID 与创建日期)
- musistudio/claude-code-router(安装、
config.json、ccr code) - y-router(环境变量、公共实例与自托管)
注:本教程仅改变“接入路径”,不改变 Claude Code 的交互方式。生产环境请优先自建路由、限制来源并妥善保管密钥。