Claude Code 额度用尽后如何继续编码:OpenRouter 给出按 token 计费方案
Hit Your Claude Code Usage Limit? How to Keep Coding
OpenRouter 发布教程,说明 Claude Code 触及 Claude 套餐的五小时与每周额度后,可改用 OpenRouter API key 按 token 计费继续编码,模型仍是 Anthropic 的 Claude。
原文给出把 Claude Code 接到 OpenRouter 按 token 计费的具体配置和实测成本,可迁移到自己的额度管理。
当你的 Claude Code 用量达到上限时,你可以通过使用 OpenRouter API 密钥运行 Claude Code 来继续编码。通过 OpenRouter,Claude Code 使用按 token 计费的 API 密钥运行,使用相同的 Claude 模型,且没有五小时窗口限制。你只需设置三个环境变量,等你的套餐重置后再切换回来即可。
我们用 Claude Code 测试了这套配置。下面的输出和费用来自这些运行。
简而言之
- 你的 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。请改为检查你的密钥或 Activity 页面。
- 当你的套餐重置后,再次输入
claude。无需撤销任何操作。
为什么 Claude Code 会达到用量上限?
Claude 套餐有两个同时生效的限制。第一个在你首次提示后五小时重置。第二个每七天重置一次。Anthropic 没有公布两者的确切提示次数。Claude Code 使用的 token 比普通聊天多得多,因此你可能会在任务进行到一半时用完。此时,Claude Code 会停止并告诉你限制何时重置。Anthropic 关于用量限制的帮助文章解释了这两个限制。
OpenRouter API 密钥不是这样运作的。你按使用的每个 token 付费,只要还有余额就可以继续。
最快的方式:通过 Ori Harness 运行 Claude Code
Ori Harness 会用 OpenRouter 设置启动你机器上已有的 Claude Code。安装它并通过它启动 Claude Code:
curl -fsSL https://openrouter.ai/labs/ori/install.sh | bash
ori claude --model anthropic/claude-sonnet-5.5Ori 会打开浏览器,让你用 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 上真实 Claude Code 会话(2 到 9 条消息)的费用中位数。
| 模型 | 每 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 密钥的用量没有变化。
如果 API 密钥用完了会怎样?
当你的密钥达到信用额度上限,或你的账户余额耗尽时,我们会在请求到达模型之前将其拦截并返回错误。错误中包含一个 limit_source 字段,说明原因:
openrouter_key_limit表示该密钥已用完其限额。openrouter_credits表示你的账户余额不足。
要继续使用,请在 API 密钥页面提高该密钥的限额,或为你的账户充值。我们的限额页面解释了各种限额,包括团队管理员可以设置的限额。
常见问题
OpenRouter 对 Claude Code 有使用限制吗?
没有五小时或每周的限制。唯一的限制在于花费:你有多少余额、你为密钥设置的限额,以及团队管理员设置的任何预算。
这些模型和我 Claude 套餐上的模型一样吗?
是的。它们是 Anthropic 的 Claude 模型。我们从 Anthropic 以及 Amazon Bedrock 和 Google Vertex 等云服务商处获取这些模型,如果某个服务商出现问题,我们会将你的请求发送到另一个服务商。对于 Claude Code,我们建议将 Anthropic 设为首选服务商,因为 Claude Code 仅保证与 Anthropic 兼容。
达到限额时我可以使用更便宜的模型吗?
可以。Sonnet 5.5 每会话的成本约为 Opus 5.5 的一半,而 Haiku 5.5 每会话的成本不到一美分。你也可以在函数的某个变量中放入不同的模型。许多人通过 OpenRouter 在 Claude Code 中使用其他模型。本月,GLM 5.3 Flash 是我们应用页面上的 Claude Code 中第二常用的模型,仅次于 Claude Opus 5.5。不过,Claude Code 是为 Claude 模型构建的,因此请先在小任务上试用任何其他模型。如果你从自己的代码中调用我们的 API,你还可以列出备用模型,以便在第一个模型失败时将请求转移到第二个模型。有关降低每次请求费用的更多方法,请参阅我们的 OpenRouter 最低成本 LLM 推理指南。
Claude Code 的使用限额何时重置?
五小时限额在该窗口内第一个提示词之后五小时重置。每周限额在开始后七天重置。Claude Code 在阻止你时会显示重置时间,这样你就知道何时再次输入 claude。
如何查看我还剩多少用量?
在你的 Claude 套餐上,Claude Code 在阻止你时会告诉你限额何时重置。在 OpenRouter 上,使用 GET /api/v1/key 检查 limit_remaining,或打开你的活动页面。
后续步骤
我们的Claude Code 设置指南提供了完整的设置说明,包括一个在你工作时显示费用的状态栏。如果你想每天都将 OpenRouter 与 Claude Code 一起使用,而不仅仅是在达到限额时,我们的 Claude Code 教程会带你逐步操作。要在 OpenRouter 上运行它而无需管理密钥,Ori Harness 可以通过一条命令启动 Claude Code 或其他代理 CLI。如果你是为团队进行设置,工作区预算可以让你限制每个团队的花费。
来源:OpenRouter Blog · openrouter.ai