Skip to content

Codex 接入

Codex 通过自定义 model provider 使用 Air Router 的 OpenAI Responses 兼容接口:

text
https://www.air-router.com/v1

1. 安装 Codex CLI

bash
npm install -g @openai/codex

验证安装:

bash
codex --version

建议使用当前 Node.js LTS。升级已安装的 Codex 时,可以重新运行同一条 npm 安装命令。

2. 保存 API Key

先把 Key 放入环境变量:

bash
export AIR_ROUTER_API_KEY="sk-your-key"
powershell
$env:AIR_ROUTER_API_KEY="sk-your-key"

3. 配置自定义 Provider

编辑用户级配置文件:

系统路径
macOS / Linux / WSL~/.codex/config.toml
WindowsC:\Users\<用户名>\.codex\config.toml

写入以下配置,并将 your-codex-model-id 替换为控制台或 /v1/models 返回的 Codex 模型 ID:

toml
model = "your-codex-model-id"
model_provider = "air_router"

[model_providers.air_router]
name = "Air Router"
base_url = "https://www.air-router.com/v1"
env_key = "AIR_ROUTER_API_KEY"
wire_api = "responses"

env_key 填变量名

env_key = "AIR_ROUTER_API_KEY" 表示 Codex 从这个环境变量读取密钥。不要把 sk-... 真实密钥直接填到 env_key

配置字段说明:

字段说明
model当前 Key 实际可用的 Codex 模型 ID
model_provider选择下方定义的 air_router provider
base_urlOpenAI 兼容入口,必须包含 /v1
env_key保存 API Key 的环境变量名称
wire_api使用 responses 协议

Provider 和认证重定向应写入用户级 ~/.codex/config.toml。不要只把这些字段放进项目内的 .codex/config.toml,项目配置会忽略敏感的 provider 与认证重定向字段。

4. 启动并验证

确保当前终端存在 AIR_ROUTER_API_KEY,然后进入一个测试项目:

bash
codex

可先发送一个最小任务:

text
检查当前目录,只回复项目使用的主要语言。

如果希望先确认 API 层连通性:

bash
curl https://www.air-router.com/v1/responses \
  -H "Authorization: Bearer $AIR_ROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"your-codex-model-id","input":"只回复 ok"}'

推理强度

模型支持时,可在顶层设置推理强度:

toml
model_reasoning_effort = "medium"

建议先使用 medium。较高强度通常会增加响应时间和 Token 消耗,且并非所有模型都支持相同的可选值。

常见问题

启动后要求登录 OpenAI

确认 model_provider = "air_router" 位于配置顶层,[model_providers.air_router] 拼写一致,并且配置文件在用户主目录而非项目目录。

提示缺少环境变量

运行以下命令确认变量存在,但不要在共享截图中展示输出值:

bash
test -n "$AIR_ROUTER_API_KEY" && echo "AIR_ROUTER_API_KEY 已设置"
powershell
if ($env:AIR_ROUTER_API_KEY) { "AIR_ROUTER_API_KEY 已设置" }

返回 404 或协议错误

确认 base_url/v1 结尾,且 wire_api = "responses"。不要把 Claude Code 的无 /v1 配置复制到 Codex。

经过 Nginx 后认证异常

如你的接入链路还经过自建 Nginx,并需要转发带下划线的客户端 Header,请在对应 httpserver 配置中保留:

nginx
underscores_in_headers on;

修改后先执行 nginx -t,确认无误再重载。

更多状态码说明见常见问题与排错