Codex 配置教程
OpenAI Codex CLI 是 OpenAI 官方的 agentic 命令行工具。本页帮你把它指向 PrimeRouter。
更省事的方式:一键安装页
打开 primerouter.ai/install/codex,登录后下载已内置你 API Key 的安装包,双击即可完成本页全部步骤。
安装路径
脚本会写 ~/.codex/config.toml(Windows 上是 %USERPROFILE%\.codex\config.toml)指向 PrimeRouter,并把 key 存进 Codex 自己的凭证文件 ~/.codex/auth.json。两个文件都会先备份成 <原名>.bak.<时间戳>。
已经在用 Codex?两件事先知道
- 已登录 ChatGPT 账号:Codex 只保存一份凭证,装完会被 PrimeRouter 的 key 顶掉(原文件已备份,随时
codex login换回去)。 - 之前接的是别的服务商:脚本会自动沿用这台机器原有的
model_providerid,codex resume里的历史会话不会消失。详见下方历史会话。
按系统选择一键脚本
irm https://primerouter.ai/install/codex.ps1 | iexcurl -fsSL https://primerouter.ai/install/codex.sh | bash💡 脚本会做五件事:① 检查 Node v22+ ② 缺
@openai/codex时引导 npm 全局安装 ③ 用read -rs/Read-Host让你交互输入 API Key ④ 备份并写入config.toml(沿用已有的model_providerid)⑤ 备份并写入auth.json,同时清掉旧版脚本留下的PRIMEROUTER_API_KEY环境变量与 LaunchAgent。
跑完后启动 Codex:
codex遇到问题先看 Codex 常见问题排查。
备用方式:手动安装
详细手动步骤(沿用 coding-tools 详尽版)
完整的手动配置流程见 编程工具 → OpenAI Codex CLI。关键点:
装 Node.js v22+
npm install -g @openai/codex编辑
~/.codex/config.toml(注意:顶层配置必须放在[model_providers.*]段之前,否则会被 TOML 吞进该段、Codex 会静默回落到默认 OpenAI provider):tomlmodel_provider = "primerouter" model = "gpt-5.6-sol" model_reasoning_effort = "high" disable_response_storage = true [model_providers] [model_providers.primerouter] name = "PrimeRouter" wire_api = "responses" requires_openai_auth = true base_url = "https://primerouter.ai/v1"然后把 key 存进 Codex 的凭证文件:
printf '%s' "sk-你的key" | codex login --with-api-key⚠️ 与 ChatGPT 账号登录互斥:
codex login只保存一份凭证,之后登录 ChatGPT 账号会顶掉这里的 key(反之亦然)。需要两者并存的,改用
env_key环境变量方式,见 编程工具 → Codex CLI 的「备选方式」——但要清楚:环境变量缺失时 Codex 会直接报错而不是回落,GUI App / IDE 扩展 / 旧终端都读不到。跑
codex启动
历史会话看不到了
codex resume 只列出 model_provider id 和当前配置一致的会话(--last 同样过滤,--all 只放开目录过滤)。从别的服务商切过来、id 变了,旧会话就不在列表里了。
文件一个都没丢,仍在 ~/.codex/sessions/ 下。重跑一键脚本即可——它会沿用原有的 id 并指向 PrimeRouter;只想临时看一眼就用:
codex resume -c model_provider=原来的id忘了原来的 id:
grep -ho '"model_provider":"[^"]*"' ~/.codex/sessions/*/*/*/*.jsonl | sort | uniq -c | sort -rn想要干净的 id、接受旧会话不再出现在列表里(文件依然保留):
curl -fsSL https://primerouter.ai/install/codex.sh | PRIMEROUTER_CODEX_PROVIDER_ID=primerouter bash