如何在 Claude Code 中使用 OpenRouter:配置与费用核对
详解如何在 Claude Code 中使用 OpenRouter:通过单次终端会话配置网关变量、核对 /status 与实际扣费,并提供可选的 UniRoute 切换与退回方式。
UniRoute ·
要在 Claude Code 中使用 OpenRouter,您需要准备一把 OpenRouter API Key、正确的网关地址以及兼容的 Claude 模型。建议先验证连接是否走通,再到实际付款的账户后台核对该笔请求。整个试用过程可以保留您现有的配置不变。
本指南适用于 macOS、Linux 或 Windows WSL(已安装 Bash)下的终端客户端,并介绍可选的 UniRoute 切换方式。OpenRouter 与 UniRoute 拥有各自独立的密钥、模型目录、账户余额与账单记录;Anthropic 官方订阅计划也与这两项服务相互独立。
如何在 Claude Code 中使用 OpenRouter
- 获取 OpenRouter API Key 与完整模型 ID: 前往 OpenRouter 密钥页创建密钥并确认账户余额,复制您在 OpenRouter 目录中所选 Claude 模型的完整模型 ID(OpenRouter 建议在 Claude Code 中优先使用 Anthropic 第一方 1P 供应商)。
- 在单次子 Shell 中注入 Anthropic Messages 环境变量启动: 设置
ANTHROPIC_BASE_URL="https://openrouter.ai/api",将 OpenRouter Key 填入ANTHROPIC_AUTH_TOKEN,将ANTHROPIC_API_KEY=""显式置空,同时统一映射各辅助模型变量(如ANTHROPIC_DEFAULT_HAIKU_MODEL、ANTHROPIC_DEFAULT_SONNET_MODEL、ANTHROPIC_DEFAULT_OPUS_MODEL、CLAUDE_CODE_SUBAGENT_MODEL)并执行claude --model "$route_model";可直接复制下方1. 在单个终端会话中连接中的隐藏输入启动命令。 - 发送任务前先用
/status核对目标地址: 在 Claude Code 内运行/status,确认网关地址为https://openrouter.ai/api、认证方式为 Token 且模型无误后再发起计费提问,详见2. 发送任务前先确认目标地址。 - 在后台核对扣费或无损退回 / 切换网关: 发送一条不含敏感内容的简短请求,在 OpenRouter Activity 中核对 Token 用量与扣费(见3. 按相同的计费类别对比费用);退出子 Shell 即可恢复原有环境,或按4. 可选:在不改动 OpenRouter 配置的情况下试用 UniRoute 切换测试。
连接前的准备
请按照 Anthropic 当前安装说明安装 Claude Code,或继续使用现有安装。先运行 claude --version 记录版本号,以便排查问题时对应到实际使用的客户端版本。
前往创建 OpenRouter API Key,检查账户余额与消费限额,并从其目录中选择一个可用的 Claude 模型。OpenRouter 说明其 Claude Code 兼容性保障适用于 Anthropic 第一方供应商,并建议优先使用 Anthropic 1P。模型出现在目录中,并不证明每一条供应商路由都支持该客户端。详见 OpenRouter 接入指南。
请在受信任的项目目录中操作。更换供应商前,先检查现有的用户级、项目级或组织级设置。如果您的组织统一管理网关,请先确认是否允许个人试用其他供应商。Anthropic 文档说明了设置作用域与优先级以及网关兼容性要求;一次简短回复成功,并不代表所有工具、超长上下文或新发布功能均已通过验证。
1. 在单个终端会话中连接
下方启动命令会在读取密钥时不回显字符,也不会把密钥值写入 Shell 历史记录或命令行参数。请在受信任的项目目录中运行。网关变量仅存在于该子进程内;这条命令不会修改您的 Shell 配置文件、Claude 设置或已保存的登录。
处理凭证时请保持 Shell 追踪关闭(set +x)。终端录屏、高权限进程或诊断转储仍可能暴露环境变量中的机密信息。请勿将密钥粘贴到聊天窗口或截图中。
bash -c '
set +x
read -r -s -p "OpenRouter API key: " ANTHROPIC_AUTH_TOKEN
printf "\n"
[ -n "$ANTHROPIC_AUTH_TOKEN" ] || exit 1
read -r -p "Full OpenRouter Claude model ID: " route_model
[ -n "$route_model" ] || exit 1
export ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_BASE_URL="https://openrouter.ai/api"
export ANTHROPIC_API_KEY=""
export ANTHROPIC_DEFAULT_HAIKU_MODEL="$route_model"
export ANTHROPIC_DEFAULT_SONNET_MODEL="$route_model"
export ANTHROPIC_DEFAULT_OPUS_MODEL="$route_model"
export ANTHROPIC_DEFAULT_FABLE_MODEL="$route_model"
export CLAUDE_CODE_SUBAGENT_MODEL="$route_model"
claude --model "$route_model"
'
按提示输入从 OpenRouter 复制的完整模型 ID。该启动器会刻意为主会话与各辅助模型角色选择同一个模型,避免试用时混入旧的角色模型映射。在日常工作流中,您之后可以为各个角色分配不同的兼容模型并分别核算各自的费用。
OpenRouter 使用 ANTHROPIC_AUTH_TOKEN 与根地址 https://openrouter.ai/api,且必须将 ANTHROPIC_API_KEY 显式置空。请勿将根地址替换为 OpenAI 兼容的 /api/v1 端点;Claude Code 使用其原生 Messages 协议建立连接。这些字段遵循 OpenRouter 配置说明与 Anthropic 的网关认证文档。
2. 发送任务前先确认目标地址
在 Claude Code 内运行 /status。发送提示词前,请先确认网关地址、基于 Token 的认证状态以及所选模型。如果显示的模型与您的选择不同,请检查模型选择器。
如果您看到认证冲突、订阅登录或不同的服务地址,请停止本次试用。现有的项目设置、凭证辅助程序(apiKeyHelper)、云厂商标志或组织受管策略都可能影响实际生效的配置。请在本地检查已加载的设置,不要直接打印包含密钥的文件内容。上方的启动器不会绕过这些控制策略。请参照官方文档或联系管理员先解决冲突,不要为了强行连通而删除已保存的可用凭证。
确认目标地址正确后,发送一条不含敏感项目内容的简短回复请求。这会发出一笔计费请求。请在 OpenRouter Activity 中核对该请求的时间与模型,并检查其用量和扣费金额。状态界面用于确认本地配置,而收到回复并查到匹配记录才能确认该笔请求的实际路径。
配置对比
| 服务 | Claude Code 使用的 Base URL | 凭证配置 | 模型 ID | 用量核对与资金账户 |
|---|---|---|---|---|
| OpenRouter | https://openrouter.ai/api | 在 ANTHROPIC_AUTH_TOKEN 填入 OpenRouter Key;显式置空 ANTHROPIC_API_KEY | 来自 OpenRouter 的完整 Claude ID(通常带 anthropic/ 前缀) | OpenRouter Activity 及其自有账户余额 |
| UniRoute | https://api.uniroute.app | 在 ANTHROPIC_AUTH_TOKEN 填入 UniRoute Key;检查是否存在冲突凭证 | 您的 UniRoute Key 可用的准确 Claude 模型 ID | UniRoute 控制台及其自有钱包余额 |
请从目标服务当前的模型目录中复制模型 ID。直接去掉某家服务 ID 中的供应商前缀,并不能可靠地得出另一家服务的模型 ID。两把密钥互不能访问对方服务,向其中一方充值也不会把资金转移到另一方。
3. 按相同的计费类别对比费用
一次编程任务可能会发起多次请求。在决定哪套方案更适合您的预算之前,请按相同的模型版本、上下文档位、Token 计费类别、处理选项与币种进行比较,并同时检查模型名称背后的实际供应商路由。
下表说明从何处获取费率及如何理解各项字段,不提供固定价格承诺。文内文档链接于 2026 年 10 月 16 日核对。做支出决策时,请记录您运行任务时的实际费率及获取时间。
| 服务与模型范围 | 需对比的计费类别 | 计价单位 | 当前费率来源与扣费核对 |
|---|---|---|---|
| OpenRouter:所选的具体 Claude 模型与供应商 | 普通输入、输出、缓存读取与缓存写入;以及适用的上下文或优先级档位 | 按费率标明的单位计算;将 Token 费率统一折算为 USD / 每百万 tokens | 查看 OpenRouter 所选模型/供应商定价,并在 Activity 中核对账单。用量核算说明解释了返回的用量与费用字段。 |
| UniRoute:可用的具体 Claude 模型与路由 | 普通输入、输出、缓存读取与缓存写入;以及适用档位 | 公开 Claude 价格表中的 USD / 每百万 tokens | 当前 UniRoute Claude 价格与计费指南(含页面展示的快照时间);在您的控制台记录中核对实际扣款 |
计算单次任务总额时,请保留请求次数并将匹配的已记录扣款相加,同时将费率快照与记录一并留存。如果某项输入字段的口径包含了缓存 Token,请先将缓存部分拆出后再估算普通输入费用,不要在表格中对同一批 Token 重复计费。
Claude Code 的本地会话估算可能使用与您的网关不同的价格基准。请使用网关记录的实际扣款来核对对应账户。Anthropic 的成本指南说明了客户端费用显示规则。某次历史 UniRoute 请求的扣款不能证明今日 OpenRouter 的费用,本文也不宣称两者之间存在已测得的价格或可靠性优势。
同任务成本与核对工作表
由于供应商路由、缓存状态和账户费率会随密钥与时间变化,本指南将并排对比表留白,而不引用预先填好的基准数字。运行相同任务时,您可以复制下方工作表,并根据自己的 OpenRouter Activity 与 UniRoute 控制台记录逐格填写:
| 需记录字段 | OpenRouter 会话 (https://openrouter.ai/api) | UniRoute 会话 (https://api.uniroute.app) |
|---|---|---|
| 日期、时间窗口与时区 | [填写您的实测记录] | [填写您的实测记录] |
claude --version 与 /status 核对结果 | [填写您的实测记录] | [填写您的实测记录] |
| 准确模型 ID 与实际命中的供应商/渠道 | [从 OpenRouter Activity 记录] | [从 UniRoute 控制台记录] |
| 费率快照(每百万 tokens 的输入 / 输出 / 缓存读取 / 缓存写入单价) | [记录费率与时间戳] | [记录费率与时间戳] |
| 该任务完成的请求轮数 | [记录请求次数] | [记录请求次数] |
| 普通未缓存输入 Token(不含缓存 Token) | [记录 Token 数] | [记录 Token 数] |
| 缓存写入 Token 与缓存读取 Token | [记录写入 / 读取 Token 数] | [记录写入 / 读取 Token 数] |
| 输出 Token | [记录 Token 数] | [记录 Token 数] |
| 该任务全部请求的网关实扣总额(USD) | [从 OpenRouter Activity 记录] | [从 UniRoute 控制台记录] |
| 流式完成情况 / 重试 / 观测到的错误 | [无 / 记录详情] | [无 / 记录详情] |
分步测量流程:
- 固定起始仓库状态: 使用干净的 Git 提交或独立的 worktree,使两次会话读取完全相同的文件与系统指令。
- 先运行 OpenRouter 试用: 使用上方的单次会话 OpenRouter 命令启动 Claude Code,核对
/status,运行一次固定提示词,并在 OpenRouter Activity 中记录该任务产生的每一笔请求。 - 还原到相同的仓库状态并退出: 恢复被修改的文件,使第二次试用从完全相同的代码库状态开始。
- 在全新会话中运行 UniRoute 试用: 使用下方的单次会话 UniRoute 命令启动 Claude Code,核对
/status,运行同一句提示词,并在 UniRoute 控制台中记录匹配的请求。
有效对比的验收条件:
- 两次会话使用相同的
claude --version、相同的起始仓库状态和同一句提示词,且均在发送任务前核对了/status。 - 两次会话针对同一底层 Claude 模型版本与上下文档位,并明确记录提示词缓存处于冷启动还是热命中状态。
- 任务触发的每一轮请求(包括子代理或工具调用轮次)均已计入 Token 与费用总额。
- 最终费用均取自各服务认证后台的真实账单记录,而非客户端本地会话估算值。
4. 可选:在不改动 OpenRouter 配置的情况下试用 UniRoute
如果您想评估 UniRoute——或先通过 OpenRouter 替代方案对比指南权衡继续留在 OpenRouter、厂商直连、自建 LiteLLM 与接入第二网关——请先阅读 UniRoute Claude Code 接入教程。该文档说明了原生 Messages 接口地址、模型查询、带备份的持久化配置方式,以及一条带日期的验收记录。该记录仅涵盖一次简短的 Claude Haiku 请求,并不代表已验证所有模型或工作负载。
请先创建 UniRoute API Key,确认该 Key 可使用目标 Claude 模型,并查看当前模型价格。随后检查钱包余额并在需要时充值。仅创建 API Key 本身不会为付费请求提供可用资金。
运行下方独立启动器前,请先退出 OpenRouter 会话。按提示输入您的 UniRoute Key 与 UniRoute 模型 ID:
bash -c '
set +x
read -r -s -p "UniRoute API key: " ANTHROPIC_AUTH_TOKEN
printf "\n"
[ -n "$ANTHROPIC_AUTH_TOKEN" ] || exit 1
read -r -p "Full UniRoute Claude model ID: " route_model
[ -n "$route_model" ] || exit 1
export ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_BASE_URL="https://api.uniroute.app"
export ANTHROPIC_API_KEY=""
export ANTHROPIC_DEFAULT_HAIKU_MODEL="$route_model"
export ANTHROPIC_DEFAULT_SONNET_MODEL="$route_model"
export ANTHROPIC_DEFAULT_OPUS_MODEL="$route_model"
export ANTHROPIC_DEFAULT_FABLE_MODEL="$route_model"
export CLAUDE_CODE_SUBAGENT_MODEL="$route_model"
claude --model "$route_model"
'
再次检查 /status,仅在确认目标地址与账户资金无误后发起一次简短的付费请求。在 UniRoute 控制台中核对该请求的时间、模型、用量与实际扣款。请勿在公开报告中包含您的 API Key、原始提示词或私有请求标识。
切换与恢复核对表
| 阶段 | 操作步骤 | 需保留的核对依据 |
|---|---|---|
| 保留原有设置 | 在不复制敏感密钥的前提下记录当前供应商与模型。进行任何持久化修改前先私下备份设置文件。上方的启动器不会修改任何设置文件。 | 客户端版本及原供应商/模型 |
| 选择目标服务 | 使用目标服务自身的 Key、Base URL、完整模型 ID 与账户余额。切换前先退出另一方的试用会话。 | 所选模型及适用的费率快照 |
| 发送前验证 | 检查 /status;若凭证或地址存在冲突则停止。仅在核对目标地址无误后发送一次简短付费请求。 | 正确的目标地址,以及匹配的回复与用量记录 |
| 对账核算 | 对比各计费类别用量与记录在案的扣款金额;将其他并发活动区分开。 | 去除敏感信息后的任务总额与请求次数 |
| 退回原环境 | 退出 Claude Code 以结束当前启动器。重新运行您常用的启动命令,或重新执行 OpenRouter 启动器。如果您曾单独做过持久化文件修改,请从私密备份中仅还原改动过的字段。 | /status 确认已恢复为预期的原供应商与模型 |
由于导出的变量值仅属于子 Shell,退出客户端即可恢复父终端原有的环境变量。Claude Code 仍可能按常规行为写入会话历史或目录信任决定,本方法不会回滚这些本地记录。排查配置冲突期间,请保留原有的可用登录状态不变。
常见连接问题
- 认证失败: 检查目标服务的密钥及其权限、显式置空的旧 API Key 字段,以及当前实际生效的凭证来源。切勿将完整密钥发送给技术支持。
- 找不到模型: 确认目标服务的准确模型 ID 与受支持的路由,然后重启会话。仅凭目录中存在该模型,不能证明其兼容 Claude Code。
- 账单金额不符或查不到记录: 重试前先确认所查账户与请求时间。客户端本地费用估算不代表账户实际扣款。
- 超时、流式中断或上游报错: 先保存脱敏错误信息并核查已产生用量。中断的回复可能已经产生 Token 消耗,重复重试会增加费用。若在流式输出前遇到报错,可使用 API Error 500 错误排查指南定位故障层级并限制重试次数;若回复在中途停止并提示
stream idle timeout - partial response received,请参考 Claude 流式空闲超时排查指南。
建议始终从配置清晰可辨、单次小请求可对账、且随时能退回现有设置的方式开始。日常预算规划可参考 Claude Code API 费用指南,多网关充值费率、原生协议与选型对比可参考 OpenRouter 替代方案指南;如果您选择接入 UniRoute,可对照 UniRoute 连接教程完成配置。

