在 Codex CLI 中使用
OpenAI Codex CLI 是 OpenAI 官方的开源命令行编码助手。本网关提供 OpenAI 兼容的 /v1 端点,配置一个自定义 provider 就能用。
前置要求
- Node.js 18+ 或 macOS 14+
- 已经在网关后台拿到 API Token(参考 快速开始)
1. 安装 Codex
npm 安装:
bash
npm install -g @openai/codex或 Homebrew:
bash
brew install codex验证:
bash
codex --version2. 配置自定义 provider
编辑 ~/.codex/config.toml(不存在就新建):
toml
model = "gpt-5-codex"
model_provider = "zc-api"
[model_providers.zc-api]
name = "ZC API Gateway"
base_url = "https://api.geoq.help/v1"
wire_api = "responses"
env_key = "ZC_API_KEY"字段说明:
| 字段 | 含义 |
|---|---|
model | 默认使用的模型,例如 gpt-5-codex、gpt-4o、o3-mini |
base_url | 网关 OpenAI 兼容入口,注意末尾的 /v1 |
wire_api | responses 或 chat。优先 responses,老模型只能 chat |
env_key | 从哪个环境变量读取 API Key |
3. 设置 API Key
bash
export ZC_API_KEY="sk-你的Token"写进 ~/.zshrc / ~/.bashrc 让它持久化:
bash
echo 'export ZC_API_KEY="sk-你的Token"' >> ~/.zshrc
source ~/.zshrc4. 启动
bash
codex进入交互界面后直接对话。要临时换模型:
bash
codex --model claude-sonnet-4-5
codex --model gemini-2.0-flash因为网关同时支持 OpenAI / Claude / Gemini 三种协议格式,
model可以填非 OpenAI 模型名,网关会根据模型自动路由到对应上游。但这种跨协议调用建议用wire_api = "chat",responses只对 OpenAI 系列稳定。
5. 验证
> 用 Python 写一个快速排序正常返回代码块 + 后台 日志 页面有调用记录,就接通了。
6. 常见问题
报错:401 Unauthorized 环境变量没被 codex 读到。echo $ZC_API_KEY 自查;或者 config.toml 里 env_key 名字和 shell 里实际导出的不一致。
报错:The model does not existmodel 名网关侧没绑。后台 模型 页面确认实际可用模型名。
Streaming 响应卡住 切换 wire_api = "chat" 试试。部分非 OpenAI 上游对 responses API 支持不完整。
想多账号切换 config.toml 里加多个 [model_providers.xxx],跑命令时 --config model_provider=xxx 切换。
进阶
- 限制 sandbox:
~/.codex/config.toml里加approval_policy = "on-request" - 走代理:
HTTPS_PROXY=http://127.0.0.1:7890 codex - 项目级配置:在项目根目录放
.codex/config.toml,会覆盖全局