跳到正文
北京时间
原文
OpenRouter:Announcements(RSS)· OpenRouter·· 2026-06-17精选AI 评分57

如何在 OpenRouter 上使用 OpenAI Codex CLI

How to Use OpenAI Codex CLI with OpenRouter

AI 导读

Codex CLI 支持自定义 OpenAI 兼容提供商,只需在 config.toml 中配置即可将请求路由到 OpenRouter。用户无需修改 Codex 本身,就能获得提供商故障转移、使用跟踪以及跨所有模型的统一密钥。

推荐理由

这篇教程教开发者如何将 OpenAI Codex CLI 路由到 OpenRouter,配置不复杂,对想用 Codex 又希望多模型切换的朋友是个顺手的小贴士。

正文 · AI 翻译

How to Use OpenAI Codex CLI with OpenRouter

Codex CLI 在你的终端中运行一个智能体编码循环,而且它已经支持自定义的 OpenAI 兼容提供商。有了这个钩子,你就能把它接入 OpenRouter。

回报是:一个 API key 就能对接 300+ 个模型、自动的提供商故障转移,以及统一的用量追踪,而且无需对 Codex 本身做任何改动。配置只是一小段 config.toml,但 Codex 有两个要求,如果你忽略了它们就会踩坑。本文将带你走完整个配置流程,以及你最可能遇到的两个错误。

五步将 Codex 指向 OpenRouter

从 openai/codex 仓库安装 Codex CLI,然后在你的 API Keys 页面创建一个 key。它以 sk-or- 开头。

打开 ~/.codex/config.toml,如果它不存在就创建它,然后添加以下内容:

# ~/.codex/config.toml
model = "openai/gpt-5.3-codex"
model_provider = "openrouter"
model_reasoning_effort = "high"

[model_providers.openrouter]
name = "OpenRouter"
base_url = "https://openrouter.ai/api/v1"
env_key = "OPENROUTER_API_KEY"
wire_api = "responses"

有两个字段需要留意。model 必须是完整的 OpenRouter slug,包含提供商前缀,从 models 页面复制。而 wire_api 必须是 "responses",我们下面会讲到。

还有一条放置规则:model_provider 和 model_providers 只在你用户级别的 ~/.codex/config.toml 中生效。Codex 会忽略项目本地的 .codex/config.toml 中的它们,并打印一条启动警告。

然后在你 Codex 加载的 shell 配置文件中导出你的 key,在一个项目中运行 codex,并发送一条测试提示词:

export OPENROUTER_API_KEY="sk-or-..."
cd /path/to/your/project
codex

打开 活动仪表盘,确认该请求以正确的模型名称和 token 数量显示出来。如果显示了,说明你已经成功路由。

将 wire_api 设置为 responses

Codex 过去使用较旧的 chat/completions 协议,但 OpenAI 已弃用该路径,并在 2026 年 2 月将其移除。使用 wire_api = "chat" 的自定义 provider,或者完全没有 wire_api 的 provider,现在会在启动时失败。

设置 wire_api = "responses" 会让 Codex 使用 Responses API,这正是 OpenRouter 所期望的。上面的配置块已经包含了它。一个相关的坑:provider ID openai、ollama 和 lmstudio 是保留的,所以你无法通过覆盖内置 openai provider 的 base URL 来访问 OpenRouter。请改为定义一个新的 provider,例如 openrouter。

固定一个 Codex 模型并关注花费

OpenRouter 上的 Codex 模型共享 400K 上下文窗口,因此选择取决于价格与任务难度的权衡。以下是来自 模型目录的当前费率,不含平台费用:

OpenRouter slug输入 $/M输出 $/M
openai/gpt-5.3-codex$1.75$14
openai/gpt-5.1-codex$1.25$10
openai/gpt-5.1-codex-mini$0.25$2

在迭代性或探索性工作上选用 gpt-5.1-codex-mini,在最困难的任务上选用 gpt-5.3-codex。你也可以把 model 指向任何非 Codex 的 slug,比如 anthropic/claude-sonnet-4.6,而无需改动其他任何东西。

智能体会话消耗的 token 比提示词长度所暗示的要多,因为模型在每一轮都会重新处理仓库文件、工具输出和推理轨迹。有三项控制手段可以让开销保持可预测。在密钥上设置支出护栏,这样一旦达到每日或每月上限,请求就会被拒绝。让模型与任务相匹配,因为 gpt-5.3-codex 每输出 token 的成本是 gpt-5.1-codex-mini 的 7 倍。并且在日常编辑中将 model_reasoning_effort 降级为 "low" 或 "medium"。

费用计算很轻。OpenRouter 不会在提供商定价上加价,因此你支付上述费率,外加信用额度购买时 5.5% 的手续费。一次专注的会话在 gpt-5.3-codex 上读取 200K 输入 token 并写入 50K 输出 token,token 成本约为 $1.05,信用额度手续费再增加约 6 美分。失败的请求不计费。

修复 model_not_found

model_not_found 是另一个常见错误。按顺序逐一排查:

  • slug 不精确。 它必须与 OpenRouter 的 slug 逐字符完全匹配。直接从 openrouter.ai/models 复制。
  • 缺少前缀。 Codex 的 slug 形如 openai/gpt-5.3-codex。openai/ 前缀是必需的;仅用 gpt-5.3-codex 无法匹配。
  • 简写指向了别处。 ~openai/gpt-latest 别名跟踪的是 OpenAI 最新的通用模型,它可能并不是你想要的 Codex 变体,因此请显式固定一个 Codex slug。
  • 配置写在了错误的文件里。 把 model_provider 和 model_providers 移到你的用户级 ~/.codex/config.toml。

通过 OpenRouter 路由何时能带来回报

当你想在众多模型之间快速切换、在 OpenAI 默认模型之外尝试开源模型、获得跨故障转移能力时,OpenRouter 在 Codex 工作流中便有了它的一席之地。70+ 家提供商,查看实时用量可见性,或在一个仪表盘中设置团队成本控制。切换模型只需改动一行model在config.toml中,无需新密钥,也无需重新安装。你还可以运行BYOK,通过你自己的提供商密钥进行路由,费用仅为该提供商原本计费的 5%,且每月前 1M 次请求免收此费用。

常见问题

Codex CLI 可以与 OpenRouter 一起使用吗?

可以。添加一个[model_providers.openrouter]块到你的用户级~/.codex/config.toml,将base_url指向https://openrouter.ai/api/v1,设置model_provider = "openrouter"和wire_api = "responses",然后固定一个模型 slug。从那一刻起,Codex 就会通过 OpenRouter 路由。

为什么我在使用 Codex 和 OpenRouter 时会遇到 model_not_found?

model 的值必须是精确的 OpenRouter slug,包含提供商前缀,例如 openai/gpt-5.3-codex。只写 gpt-5.3-codex 是最常见的原因。provider 块还必须放在用户级别的 ~/.codex/config.toml 中,而不是项目本地的配置里。

通过 OpenRouter 使用 Codex CLI 需要 OpenAI 订阅吗?

不需要。一旦你配置好自定义提供商并导出 OPENROUTER_API_KEY,请求就会通过 OpenRouter 路由并计费。无需单独的 OpenAI 套餐。

通过 OpenRouter 使用 Codex 的费用是多少?

你需支付提供商的每 token 费率,外加购买额度时 5.5% 的手续费,提供商不额外加价。例如,gpt-5.3-codex 在收取该手续费前为每百万输入 token $1.75、每百万输出 token $14。失败的请求不计费。

什么是 wire_api,为什么需要设置它?

wire_api 控制 Codex 使用哪种 API 协议与提供商通信。截至 2026 年 2 月,Codex 已移除对旧版 chat 取值的支持,因此自定义提供商必须设置 wire_api = "responses",否则 Codex 会在启动时报错。

来源:OpenRouter:Announcements(RSS) · openrouter.ai