sub2api // 接入文档
// OPENAI RESPONSES · /v1/responses

Codex CLI 接入 sub2api

OpenAI Codex 命令行通过 ~/.codex/config.toml 自定义 provider,把请求指向网关的 Responses API。Key 走环境变量注入。

0前置条件

已安装 Codex CLI 一个 sk- 开头的 Key
bash — 安装 Codex(如未安装) 复制
$ npm install -g @openai/codex
# 或 Homebrew:
$ brew install codex
$ codex --version

1核心:地址与协议

字段填什么说明
base_urlhttps://your-domain.com/v1要带 /v1。Codex 会拼成 /v1/responses
wire_api"responses"用 Responses 协议(Codex 原生)。也可用 "chat" 走 chat/completions
env_key"SUB2API_KEY"Codex 从这个环境变量读取 Key
modelgpt-5-codex用网关放开的模型名
和 Claude Code 相反 Claude Code 的地址不带 /v1,而 Codex 的 base_url 要带 /v1。别搞混。

2写配置文件

编辑 ~/.codex/config.toml(不存在就新建),加入一个自定义 provider 并设为默认:

~/.codex/config.toml 复制
# ===== 默认走 sub2api =====
model_provider = "sub2api"
model          = "gpt-5-codex"

# ===== 自定义供应商:sub2api 网关 =====
[model_providers.sub2api]
name     = "sub2api"
base_url = "https://your-domain.com/v1"   # 带 /v1
wire_api = "responses"                       # Responses 协议
env_key  = "SUB2API_KEY"                     # 从此环境变量读 Key

再把 Key 放进环境变量

bash / zsh 复制
$ echo 'export SUB2API_KEY="sk-xxxxxxxxxxxxxxxx"' >> ~/.zshrc
$ source ~/.zshrc
PowerShell 复制
PS> setx SUB2API_KEY "sk-xxxxxxxxxxxxxxxx"
# 重开终端后生效

3启动

bash 复制
$ codex
▌ Codex CLI — provider: sub2api — model: gpt-5-codex
 写个快速排序
... 正常生成即代表已走 sub2api 网关 ✓

# 也可临时覆盖模型/供应商,不改配置文件:
$ codex -m gpt-5-codex -c model_provider=sub2api

4可选:走 Chat Completions 协议

如果你的模型/客户端更适合 Chat 协议,把 wire_api 改成 "chat" 即可,网关会命中 /v1/chat/completions

~/.codex/config.toml(片段) 复制
[model_providers.sub2api]
name     = "sub2api"
base_url = "https://your-domain.com/v1"
wire_api = "chat"            # ← 改这里
env_key  = "SUB2API_KEY"

5排错

现象原因 / 处理
404 on responsesbase_url 没带 /v1,或写成了 /v1/responses(只到 /v1 即可)。
401 unauthorizedSUB2API_KEY 没设或值不对;echo $SUB2API_KEY 确认。
provider 不生效model_provider 名要和 [model_providers.xxx] 里的 xxx 完全一致。
模型 not allowed后台把该模型加入 Key 所在分组白名单。
提示 Codex 也支持直连路径 /backend-api/codex/responses,一般无需手动配置 —— 用上面的 /v1 + wire_api="responses" 就够了。
← 上一篇Claude Code 接入