Agent 接入Codex 接入

Codex CLI

在 macOS、Linux 和 Windows 上通过 APIPool 的 Responses API 接入 Codex CLI。

本文说明如何在 macOS、Linux、Windows 原生环境或 Windows WSL2 中把 Codex 接入 APIPool。第 3 步的 provider 配置写在用户级 ~/.codex/config.toml,Codex CLI、 IDE 扩展和桌面端共用这一份配置;本文的安装与验证命令以 CLI 为准。

Codex 的自定义模型供应商走 Responses API。本文提供 APIPool 当前已开放的 GPT 系列接入方案;请从模型列表中选择 API Key 所属分组可用、且支持 Responses 的 GPT 文本模型。其他模型系列将在正式开放后补充接入说明。

一键导入 CC Switch

已安装 Codex 时,可以用下面的按钮导入真实 API Key、APIPool 地址和模型。登录后点击 “选择我的 API Key”,选中密钥,再点击“导入到 CC Switch”;也可以直接粘贴完整 Key。 请确认所选密钥分组支持填写的 Responses 模型。

点击导入会把此密钥交给本机 CC Switch。密钥仅保留在当前页面内存中;请在 CC Switch 中确认导入并启用。

三个系统使用同一个导入按钮,先安装并至少启动一次 CC Switch:

系统安装与导入
macOS安装 macOS 版本并放入“应用程序”;浏览器询问时允许打开 CC Switch。
Windows优先使用安装包安装;浏览器询问时允许打开 CC Switch。便携版若无法唤起,改用安装包注册协议。
Linux安装对应发行版的软件包并启动;确保桌面环境已关联 ccswitch:// 协议。AppImage 无法唤起时先完成桌面集成,或改用安装包。

在 CC Switch 中核对地址为 https://app.apipool.dev/v1,确认导入,再启用该供应商。 这会让 CC Switch 管理本机 Codex 的配置与凭据;已有配置请先备份。已完成导入并启用的 用户可以跳到“启动与验证”,无需再手动覆盖它生成的配置。供应商 ID 由 CC Switch 生成, 因此输出可能是 custom,而不是下面手动配置的 apipool。

没有弹窗并不一定代表未安装:检查浏览器的外部应用提示,再参考 CC Switch 协议排查说明。 浏览器无法可靠判断导入是否成功,请以 CC Switch 中的供应商条目为准。

WSL2 注意: Windows 版 CC Switch 默认管理 Windows 用户目录。WSL 内的 Codex 使用另一份 Linux 用户目录,不会自动收到这次配置;在 WSL 中使用时请按下方 Linux 步骤配置,或明确核对 CC Switch 所管理的目标目录。远程 SSH 主机同样需要在远端配置。

如果切换后看不到旧任务,请先阅读对话记录不互通怎么办。 普通一键导入不会合并已有的不同 provider 历史。

1. 安装 Codex CLI

以下命令取自 Codex CLI 官方安装说明。如果 codex --version 已经可用,跳过本节。

macOS

brew install --cask codex

也可以用官方安装脚本:

curl -fsSL https://chatgpt.com/codex/install.sh | sh

Linux

curl -fsSL https://chatgpt.com/codex/install.sh | sh

已安装 Node.js 时,macOS、Linux 和 Windows 都可以改用:

npm install -g @openai/codex

Windows 原生环境

在 PowerShell 中执行:

powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

Codex 官方推荐 Windows 11。原生环境优先用 elevated 沙箱;设备策略不允许完成 管理员配置时,改用 unelevated:

[windows]
sandbox = "elevated" # 无法使用时改为 "unelevated"

Windows WSL2

先在管理员 PowerShell 中安装并进入 WSL:

wsl --install
wsl

再在 WSL shell 中按 Linux 方式安装:

curl -fsSL https://chatgpt.com/codex/install.sh | sh

项目建议放在 WSL 的 ~/code 等 Linux 路径下,不要放在 /mnt/c,否则会遇到文件 权限、符号链接和 I/O 性能问题。

安装完成后验证:

codex --version

2. 准备 API Key

  1. 在余额页充值。
  2. 在 API Key 页面创建 Key,分组选择包含目标模型的那个。
  3. 趁完整 Key 展示时保存好。不要把真实 Key 写进 config.toml、项目文件、截图或 客服消息。

macOS、Linux 和 WSL2

在准备启动 Codex 的 shell 中设置:

export APIPOOL_API_KEY="YOUR_APIPOOL_API_KEY"

Windows PowerShell

在准备启动 Codex 的同一个 PowerShell 会话中设置:

$env:APIPOOL_API_KEY = "YOUR_APIPOOL_API_KEY"

以上设置只对当前终端会话生效。长期使用请交给操作系统密钥管理器或其他受保护的 环境变量机制,不要提交带真实 Key 的 shell 或 PowerShell 文件。

3. 配置 Codex

把下面的内容合并进用户级配置文件,保留文件中其他已有配置。不要写进项目级 .codex/config.toml——Codex 会忽略项目级配置里的 provider 和鉴权设置。

环境用户级配置文件
macOS、Linux、WSL2~/.codex/config.toml
Windows 原生环境$HOME\.codex\config.toml,通常即 $env:USERPROFILE\.codex\config.toml

GPT 配置:

model_provider = "apipool"
model = "gpt-5.6-sol"
review_model = "gpt-5.6-sol"
model_reasoning_effort = "xhigh"
model_supports_reasoning_summaries = true
disable_response_storage = true
network_access = "enabled"
web_search = "cached"
windows_wsl_setup_acknowledged = true

[model_providers.apipool]
name = "APIPool"
base_url = "https://app.apipool.dev/v1"
wire_api = "responses"
env_key = "APIPOOL_API_KEY"
requires_openai_auth = false

[features]
goals = true

这里的 base_url 是 Codex 自定义 provider 的客户端配置,不是平台通用 Base URL。平台通用 Base URL 仍是 https://app.apipool.dev;Codex 会在 provider base_url 后追加 /responses,所以这里必须多保留一级 /v1,最终请求才是 https://app.apipool.dev/v1/responses。不同工具的配置不能互相照抄:Claude Code 会自行追加 /v1/messages,请按 Claude Code 接入文档使用裸域名。

几个不能改错的键:

  • Codex 专用 base_url 结尾的 /v1 必须保留;不要改成平台通用的裸域名,也不要 再追加 /responses。
  • env_key 与 requires_openai_auth = false 让 Codex 用环境变量里的 APIPool Key 鉴权。显式 env_key 也可与 requires_openai_auth = true 配合,但该开关还影响 登录状态和部分特性,不要把它当作订阅/API 的路由切换按钮。
  • 特惠分组的 GPT 模型接受 Codex 网页搜索工具声明,且不会额外收取网页搜索费用。 web_search = "cached" 用来明确这一行为,也是 Codex 当前的默认值;已有用户即使 没写这一项,也不需要修改配置。

从旧站配置迁移

旧站的兼容模式使用 auth.json 保存 OPENAI_API_KEY,并配置 requires_openai_auth = true。已有配置可以暂时继续沿用,但它会复用 Codex 的全局 OpenAI 认证凭据,可能与现有 ChatGPT/OpenAI 登录共用或冲突;新配置建议改用上面的 env_key 方案,不要为了接入 APIPool 覆盖已有 auth.json。

迁移时仍须把 base_url 写成 https://app.apipool.dev/v1。旧站的 API Key Mode 不是新站支持的接入方式:x-openai-actor-authorization 只是静态附加请求头,不会提供 API Key,也不能替代 Authorization: Bearer ...。

其余键是使用偏好,可按需调整:model_reasoning_effort 控制推理强度, review_model 指定 /review 使用的模型,network_access 控制沙箱网络访问, [features] goals 开启目标特性。自定义 provider 建议保留 disable_response_storage = true,让 Codex 不依赖服务端响应留存。

4. 选择 GPT 模型

默认的 gpt-5.6-sol 是 GPT-5.6 里能力最强的一档。要换模型就改顶层 model (以及 review_model)的值,然后重启 Codex。只填模型列表中存在、 API Key 所属分组可用、且支持 Responses 的 GPT 文本模型。填写模型名本身不会让 Key 拿到其他分组的权限。

5. 启动与验证

在项目目录启动交互会话:

codex

macOS、Linux 和 WSL2 可以跑一次只读工具调用来验证:

codex --ask-for-approval never --sandbox read-only exec \
  --skip-git-repo-check \
  "请调用 shell 工具执行 pwd,然后回复命令输出路径。"

Windows PowerShell 用同一条命令,续行符换成反引号:

codex --ask-for-approval never --sandbox read-only exec `
  --skip-git-repo-check `
  "请调用 shell 工具执行 Get-Location,然后回复命令输出路径。"

接通时,Codex 会先打印 provider: apipool 和所选模型,再返回模型回复或工具结果。 --ask-for-approval、--sandbox 这类全局参数必须写在 exec 前面。

常见问题

现象检查项
codex 命令不存在重开终端后执行 codex --version;仍失败则检查安装目录是否已加入 PATH。
401确认启动 Codex 的那个 shell 或 PowerShell 会话设置了 APIPOOL_API_KEY,且 Key 仍是启用状态。
403 或 404 model_not_found确认模型在模型列表中,且 Key 所属分组已开放该模型。
Model metadata ... not found 警告APIPool 的模型 ID 可能不在 Codex 内置目录里。这条警告不代表请求失败,继续看后面有没有返回结果。
请求 URL 或路由错误base_url 必须是 https://app.apipool.dev/v1,不要自行追加 /responses。

自定义 provider 各字段的当前定义见 Codex 配置参考。