OpenRouter · 2026/10/28

目录:Tl;dr · 为什么 Claude Code 会触达使用上限?· 最快的方法:通过 Ori Harness 运行 Claude Code · 第 1 步:获取 OpenRouter API 密钥并设置额度 · 第 2 步:添加一个切换到你的密钥的命令 · 第 3 步:确认 Claude Code 正在使用你的密钥 · 第 4 步:控制成本 · 第 5 步:套餐恢复后切回 · 如果 API 密钥额度用完会怎样?· 常见问题 · 后续步骤
当你的 Claude Code 触达使用上限时,可以通过在 OpenRouter API 密钥上运行 Claude Code 来继续编码。借助 OpenRouter,Claude Code 使用按 token 计费的 API 密钥运行,模型仍是同样的 Claude 模型,而且没有五小时窗口限制。你只需设置三个环境变量,等套餐恢复后再切回即可。
我们用 Claude Code 测试了这套配置。下面的输出和成本均来自这些实际运行。
Tl;dr
- 你的 Claude 套餐有五小时限制和每周限制,而 OpenRouter API 密钥两者都没有。你改为按使用的 token 付费。
- 最快捷的配置是 Ori Harness:
ori claude 会在当前会话中以 OpenRouter 运行 Claude Code,通过浏览器登录,无需粘贴密钥。
- 想手动配置的话,三个环境变量就能让 Claude Code 指向 OpenRouter。我们把它们放进一个名为
claude-or 的 shell 函数,这样 claude 仍然使用你的套餐。
- 从 Claude Sonnet 5.5 开始。一次典型的 Claude Code 短会话在 Sonnet 5.5 上花费 0.16 美元,在 Opus 5.5 上花费 0.31 美元,在 Haiku 5.5 上不到一美分。
- 不要相信 Claude Code 显示的成本。在我们的测试中,它显示某次运行花费 0.375 美元,而实际账单只有 0.008 美元。请改为查看你的密钥或「活动」页面。
- 套餐恢复后,再次输入
claude 即可。无需撤销任何设置。
为什么 Claude Code 会触达使用上限?
Claude 套餐有两个同时生效的限制。第一个从你发出第一条提示起五小时后重置,第二个每七天重置一次。Anthropic 并未公布两者的确切提示数量。Claude Code 消耗的 token 远多于普通对话,因此你可能在任务进行到一半时就用完。届时 Claude Code 会停止运行,并告诉你限制何时重置。Anthropic 关于使用限制的帮助文章对这两个限制都有说明。
OpenRouter API 密钥不是这样运作的。你按使用的每个 token 付费,只要还有余额就可以一直用下去。
最快的方法:通过 Ori Harness 运行 Claude Code
Ori Harness 会在你机器上已安装的 Claude Code 中预先配置好 OpenRouter 设置并启动它。安装并启动:
curl -fsSL https://openrouter.ai/labs/ori/install.sh | bash
ori claude --model anthropic/claude-sonnet-5.5
Ori 会打开浏览器,让你用 OpenRouter 账户登录。它使用 OAuth,因此无需创建或粘贴密钥。只有用 ori claude 启动的会话才走 OpenRouter,所以直接输入 claude 仍然使用你的套餐;套餐恢复后输入 claude 即可切回。用量会计入你的 OpenRouter 账单。如果你在某个组织中,为你的账户设置了预算限制的护栏会限制其可花费金额,OpenRouter 也会将其应用于 Ori 会话。
下面的步骤是用 API 密钥和 shell 函数手动实现同样的效果。如果你想要一个有独立额度限制、且适用于任何账户的密钥,可以使用这些步骤。第 4 步的成本建议对两种方式都适用。
第 1 步:获取 OpenRouter API 密钥并设置额度
在API 密钥页面创建一个密钥,并为其设置额度限制。我们把额度设为 4 美元。这样即使会话很长,也不会花费超过 4 美元。额度限制是 OpenRouter 上控制支出的多种方式之一。我们关于团队 AI 支出治理的指南介绍了其他方式。
要检查额度,向我们的 API 查询你的密钥:
curl https://openrouter.ai/api/v1/key \
-H "Authorization: Bearer $OPENROUTER_API_KEY"
以下是响应中关键的部分:
{
"data": {
"limit": 4,
"limit_remaining": 4,
"usage": 0
}
}
limit_remaining 数值告诉你密钥还剩多少钱。你可以随时运行这项检查。请求发出后,新的总额可能需要几秒钟才会显示。
第 2 步:添加一个切换到你的密钥的命令
你可以把这些变量加到 shell 配置文件中,但那样每个 Claude Code 会话都会从你的密钥扣费。我们希望正常的 claude 命令继续使用你的套餐,因此改为把变量放进一个小型 shell 函数。将以下内容添加到 ~/.zshrc 或 ~/.bashrc:
claude-or() {
ANTHROPIC_BASE_URL="https://openrouter.ai/api" \
ANTHROPIC_AUTH_TOKEN="$OPENROUTER_API_KEY" \
ANTHROPIC_API_KEY="" \
ANTHROPIC_DEFAULT_SONNET_MODEL="anthropic/claude-sonnet-5.5" \
ANTHROPIC_DEFAULT_OPUS_MODEL="anthropic/claude-opus-5.5" \
ANTHROPIC_DEFAULT_HAIKU_MODEL="anthropic/claude-haiku-5.5" \
CLAUDE_CODE_SUBAGENT_MODEL="anthropic/claude-haiku-5.5" \
claude "$@"
}
前三行是关键:
ANTHROPIC_BASE_URL 告诉 Claude Code 将请求发送到我们这里。
ANTHROPIC_AUTH_TOKEN 存放你的 OpenRouter 密钥。
ANTHROPIC_API_KEY 必须为空。如果不是,Claude Code 可能会尝试登录 Anthropic。
其余四行是可选的。它们告诉 Claude Code 为 Sonnet、Opus 和 Haiku 使用哪个 Claude 模型。它们还会把子代理(Claude Code 自行启动的较小辅助任务)发送到 Haiku 5.5。
这些变量仅在你输入 claude-or 时生效。保存文件并打开一个新终端,函数即可使用。

第 3 步:确认 Claude Code 正在使用你的密钥
在开始实际工作之前,确认 Claude Code 将请求发送到了 OpenRouter,而不是你的套餐。最快的方法是发送一条短提示,然后查看哪个模型作了回答。在终端中运行:
claude-or --model sonnet -p "Reply with exactly: ok" --output-format json
以下是我们的响应中关键的部分:
{
"is_error": false,
"result": "ok"
}
回复返回且没有错误。完整输出中的 modelUsage 字段会指明作答的模型,在我们的运行中是 anthropic/claude-sonnet-5.5。我们用 --model haiku 运行了同样的提示,modelUsage 指明的是 anthropic/claude-haiku-5.5。
然后再次运行第 1 步的密钥检查。如果 usage 增加了,说明请求计费到了你的密钥,而不是套餐。如果没有增加,说明 Claude Code 没有读取到这些变量。打开一个新终端再试一次。
第 4 步:控制成本
使用密钥时,每条消息都要付费。下表显示了我们三个 Claude 5.5 模型的价格,以及在 OpenRouter 上一次由 2 到 9 条消息组成的真实 Claude Code 会话的成本中位数。
| 模型 |
每 100 万输入 token 价格 |
每 100 万输出 token 价格 |
会话成本中位数(2 到 9 条消息) |
| Claude Opus 5.5 |
$4.00 |
$20.00 |
$0.305 |
| Claude Sonnet 5.5 |
$2.00 |
$10.00 |
$0.155 |
| Claude Haiku 5.5 |
$0.10 |
$0.50 |
$0.007 |
价格截至 2026 年 10 月 21 日。会话成本来自我们的会话成本数据集,覆盖截至 2026 年 10 月 18 日的 30 天。
从 Sonnet 5.5 开始。它每次会话的成本约为 Opus 5.5 的一半,能处理大多数日常编码。遇到难题时,输入 /model opus 切换,完成后切回。如果你在我们的 API 上构建自己的应用,还可以在较便宜的模型对答案没有把握时自动将请求转交给更强的模型。
每个新会话都从约 28,000 个 token 的 Claude Code 自身指令和工具列表开始(在我们运行 Claude Code 2.1.307 时是 28,156 个,这个数字会随版本变化)。它们在第一次请求时写入提示缓存,因此第 3 步中一个单词的提示在 Sonnet 5.5 上花费约 0.07 美元,在 Haiku 5.5 上不到半美分。
子代理在 Haiku 上很便宜。当我们让 Sonnet 5.5 启动一个子代理时,主代理在 Sonnet 5.5 上运行,子代理则在 Haiku 5.5 上运行,正如函数所设置的那样。
Haiku 也能独自处理小修复。我们给 Haiku 5.5 一个带有两个 bug 和三个失败测试的购物车文件。它修复了这两个 bug,三个测试全部通过,该次运行计费 0.008 美元。
不要依赖 Claude Code 打印的成本。在那次 Haiku 运行中,Claude Code 报告 0.375 美元,而我们实际计费 0.008 美元。Claude Code 使用 Anthropic 自己的价格表为会话计价,当它不认识 OpenRouter 模型名称时就会猜测。要了解你实际的支出,请用第 1 步的命令检查 limit_remaining,或打开你的活动页面。
第 5 步:套餐恢复后切回
当你的套餐限制重置后,输入 claude 而不是 claude-or。你无需更改任何东西,因为 OpenRouter 设置只存在于该函数内部。在我们的测试中,直接输入 claude 由套餐的模型作答,而我们 OpenRouter 密钥的用量没有变化。