下载 Codex
在浏览器中打开codex app 的下载界面
根据系统情况下载对应的安装包

Install Codex App
Open the downloaded installer and follow the prompts.
On macOS, this may be a .dmg or .pkg installer.
On Windows, this may be a .exe or .msi installer.

Log In
Open Codex app.
When it asks you to sign in, 点击 Sign in another way。

输入你的 api-key:

进入设置,点击 Configuration -> Open config.toml:

打开的文件开头,按你的登录方式选择下面两种 config 之一填进去。
说明:
my-provider是自定义的 provider 名字,可随意取(两处要保持一致);base_url填你自己的 API 地址。
配置 A:只用 API key 登录
只用 API key 聊天(走自定义 provider),不登录 ChatGPT 账号。
# config.tomlmodel_provider = "my-provider"model = "gpt-5.4-mini"model_reasoning_effort = "low"plan_mode_reasoning_effort = "xhigh"model_context_window = 1_000_000model_auto_compact_token_limit = 900_000disable_response_storage = true[model_providers][model_providers.my-provider]name = "my-provider"base_url = "http://<你的 API 地址>:<端口>"wire_api = "responses"requires_openai_auth = true
配置 B:ChatGPT 账号 + API key 共存(推荐)
既登录 ChatGPT 账号(用于装插件 / 远程控制 / Fast mode),又用 API key 聊天。 相比配置 A,只多了一行 preferred_auth_method = "apikey"(详见下一节)。
# config.tomlmodel_provider = "my-provider"model = "gpt-5.4-mini"model_reasoning_effort = "low"plan_mode_reasoning_effort = "xhigh"model_context_window = 1_000_000model_auto_compact_token_limit = 900_000disable_response_storage = true# 已登录 ChatGPT 账号时,强制让“聊天/模型请求”走 API keypreferred_auth_method = "apikey"[model_providers][model_providers.my-provider]name = "my-provider"base_url = "http://<你的 API 地址>:<端口>"wire_api = "responses"requires_openai_auth = true
修改好之后大概长这样(其余部分不用管):

切换一个便宜点的模型测试一下就可以了:


同时使用 ChatGPT 账号登录 + API key(推荐)
很多人会有这个需求:一边想用 ChatGPT 账号(这样才能装插件 plugin、用远程控制 / 云端任务、Fast mode),一边又想用 API key 来聊天(走上面配置 B 的自定义 provider,省钱/走内部模型)。
本节对应上面的 配置 B。
这两种登录方式在 Codex 里分工不同,可以共存:
| ChatGPT 账号登录 | |
| API key |
配置步骤
打开 Codex app,在登录界面先点最上面的
Sign in with ChatGPT(不是Sign in another way),用 ChatGPT 账号完成浏览器登录。 这一步会让插件 / 远程控制 / Fast mode 可用。登录界面就是下面这张图,最上方的按钮即 ChatGPT 登录;点
Sign in another way才是走 API key。

登录成功后,再提高 API key 优先级:
确认
config.toml用的是 配置 B,里面有这一行:preferred_auth_method = "apikey"它的作用:即使你已经用 ChatGPT 账号登录,模型 / 聊天请求也强制走 API key(也就是走自定义 provider)。而 ChatGPT 的登录会话依然保留,给插件安装、远程控制使用。
这样配置后,两边各司其职:聊天用 API key 走自定义 provider,插件 / 远程控制用 ChatGPT 账号。
⚠️ 已知问题 / 兜底方案:官方在直连 OpenAI 时存在「ChatGPT 登录还活着、切到 API key 偶尔不生效」的 bug(参见 GitHub Issue #2733、#3286)。 如果你发现设了
preferred_auth_method = "apikey"后聊天仍然不走自定义 provider / 报错,就用最稳的切换法(见 FAQ 第 1 条):临时 logout → 用 ChatGPT 账号登录装好插件 → 再用 api-key 登录回来聊天。
FAQ
1. 如何安装 plugin
Plugin 需要安装的时候,可以 logout,切换成 ChatGPT 账号登录,安装完之后使用 apikey 登录回来。
如果你想一直保留 ChatGPT 账号登录(装插件 / 远程控制)同时用 API key 聊天,不必每次都切换,参见上面「同时使用 ChatGPT 账号登录 + API key」。
2. 为啥说个 hi 就会用掉大量 tokens
Codex 会有很长的系统提示词,很大一部分是 skills 占用的。也就是你的 hi 之前,其实已经有了几十到上百 k 的 tokens 占用了。

夜雨聆风