Codex CLI
Codex CLI 是 OpenAI 的开源本地编程 Agent。把 ApiGo 注册为自定义 model provider,再用 profile 启动,即可在终端里用 ApiGo 上的模型做 agentic 编码。
前置条件
- 已安装 Node.js 与 npm
- 在 工作空间 → API Keys 创建的 ApiGo API 密钥
- 从 模型目录 完整复制要用的模型 slug
安装
npm i -g @openai/codex
配置前先清除可能冲突的 OpenAI 环境变量,避免请求仍打到官方 OpenAI:
unset OPENAI_BASE_URL OPENAI_API_KEY
配置 ~/.codex/config.toml
编辑(或新建)~/.codex/config.toml:
model_provider = "apigo"
model = "gpt-5.6-sol"
[model_providers.apigo]
name = "ApiGo"
base_url = "https://api.apigo.ai/v1"
env_key = "APIGO_API_KEY"
wire_api = "chat"
requires_openai_auth = false
request_max_retries = 4
stream_max_retries = 10
stream_idle_timeout_ms = 300000
[profiles.apigo]
model = "gpt-5.6-sol"
model_provider = "apigo"
把两处模型 ID 都换成你目录中实际可用的 slug。
说明:
- OpenAI 兼容路径必须带
/v1:https://api.apigo.ai/v1 wire_api = "chat"对应 Chat Completionsenv_key指向下面要导出的环境变量名
设置 API Key
export APIGO_API_KEY="sk-apigo-..."
写入 ~/.zshrc / ~/.bashrc 以便持久化,然后 source 一次。
Windows 请设置用户级环境变量,并重启终端;若还使用 Codex 桌面应用,也需要重启应用,否则读不到新变量。
可选:命令式鉴权
部分 Codex 版本用命令式 auth 时,更容易正确刷新模型元数据:
[model_providers.apigo.auth]
command = "sh"
args = ["-c", "echo $APIGO_API_KEY"]
Windows PowerShell:
[model_providers.apigo.auth]
command = "powershell"
args = ["-NoProfile", "-Command", "Write-Output $env:APIGO_API_KEY"]
启动 Codex
cd /path/to/your/project
codex --profile apigo
若已在文件顶层设置 model_provider = "apigo",也可直接:
codex
启动后发一句短提示,再到 Call Logs 确认流量。
配置参考
| 字段 | 作用 |
|---|---|
model_provider |
需与 [model_providers.*] 块名一致(这里是 apigo) |
model |
ApiGo 模型目录展示的完整 slug |
base_url |
固定为 https://api.apigo.ai/v1 |
wire_api |
Chat Completions 使用 chat |
stream_idle_timeout_ms |
长任务流式超时;可按网络环境调大 |
故障排除
| 现象 | 处理 |
|---|---|
| Unknown model 警告 | 到 Models 核对 slug;尝试命令式 auth |
| 鉴权失败 | 确保启动 codex 的同一个 shell 已导出 APIGO_API_KEY |
| 请求未走 ApiGo | unset OPENAI_BASE_URL OPENAI_API_KEY 后重试 |
| 流式中断 | 适当增大 stream_idle_timeout_ms / stream_max_retries |
