Codex 是 OpenAI 的 AI 编程代理(coding agent)。最基本的用法,是安装在终端中运行的 Codex CLI(npm install -g @openai/codex),在要处理的项目文件夹中执行 codex,然后用中文告诉它要做什么。开始使用有两种方式:使用 ChatGPT 方案(Plus、Pro、Business 等)登录,在方案额度内使用;或者使用 API 密钥运行,按使用的 token 付费。中文教程几乎都只介绍前者,本文补充后者——不订阅也能运行 Codex CLI 的设置、按任务选择模型,以及一项任务实际需要花多少钱。
Codex 不是把代码粘贴到聊天窗口中的工具,而是在项目中读取文件、修改文件、运行测试和命令的代理。启动后使用 /permissions 设置哪些操作可以不经确认直接执行。
使用 Codex 的两种方式
| 使用 ChatGPT 方案登录 | API 密钥(按量计费) | |
|---|---|---|
| 付费方式 | 月费(包含在方案中) | 按使用的 token 付费,没有月费 |
| 上限 | 方案用量额度 | 余额,以及每把密钥自定义的每月上限 |
| 模型 | OpenAI 放入方案中的模型 | 从端点提供的模型中按任务选择 |
| 开始方式 | codex login 在浏览器中登录 | config.toml 一个区块 + 环境变量 |
使用 API 密钥运行时,费用与 ChatGPT 方案额度分开计算。也可以直接使用 OpenAI API 密钥,但本文介绍的是连接到兼容 Responses API 的端点:同一把密钥可以在 GPT-6 Astra 到 GPT-5.6 Terra 之间切换。例如,GPT-5.6 Sol 的 OpenAI 官方定价是 $5.00 / $30.00(OpenAI 目前以促销价 $4.00 / $20.00 提供,官方价格页写明至少到 2026年11月21日),这里每 1M token 的价格是 $2.00 / $12.00(费率由本站目录直接读取,而不是手动输入)。
安装 Codex CLI——npm 或 Homebrew
# npm(有 Node.js 就能用,macOS / Linux / Windows 通用)
npm install -g @openai/codex
# Homebrew(macOS)
brew install --cask codex两种方式都是 OpenAI 官方 README 中的安装方式,Windows 也可以使用同一行 npm 命令安装。安装后,在项目文件夹中输入 codex 即可启动。如果计划使用 ChatGPT 登录,到这里就完成了,下面的设置可以跳过。
使用 API 密钥运行——在 config.toml 中添加一个区块
先注册账号,充值 $10 起,然后前往API 密钥页面创建密钥。密钥只会显示一次,请立即保存。接着在 Codex 的配置文件中添加一个供应商区块:
# ~/.codex/config.toml(沒有的話就新建一個)
model = "gpt-5-6-sol"
model_provider = "kunavo"
[model_providers.kunavo]
name = "Kunavo"
base_url = "https://api.kunavo.com/v1"
env_key = "KUNAVO_API_KEY" # 填「環境變數的名稱」,不是金鑰本身
wire_api = "responses" # 唯一有效的值,省略也一樣最容易写错的是 env_key:这里填写的不是密钥本身,而是存放密钥的环境变量名称。密钥不会出现在配置文件中,因此 config.toml 可以放心提交到 git,或粘贴到论坛中提问。
# 把金鑰放進 env_key 指定名稱的變數(金鑰以 sk-kn- 開頭)
export KUNAVO_API_KEY="sk-kn-..."
# 寫進 shell 的設定檔,就不必每次都 export
echo 'export KUNAVO_API_KEY="sk-kn-..."' >> ~/.zshrcWindows 的 PowerShell 可以执行 setx KUNAVO_API_KEY sk-kn-...,然后重新打开一个终端;配置文件位置是 %USERPROFILE%\.codex\config.toml。启动 Codex 前,先通过一个请求确认密钥和端点没有问题,之后出错时更容易判断问题所在。
# 懷疑 Codex 之前,先用一個請求確認金鑰和端點
curl https://api.kunavo.com/v1/responses \
-H "Authorization: Bearer $KUNAVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-5-6-sol", "input": "只回 OK"}'返回 JSON 就表示密钥和端点都正常,剩余问题出在 config.toml。各个配置字段的说明见Codex CLI 集成文档(英文);在 Codex 中调用 Claude 模型的方法也写在Codex CLI API 密钥指南(英文)中。
第一个任务
# 1. 進到要處理的專案資料夾,啟動 Codex
cd ~/work/my-app
codex
# 2. 讓它產生 AGENTS.md 草稿(寫測試怎麼跑、專案規則的檔案)
> /init
# 3. 之後直接用中文交代。附上檔名,做得更快也更省
> src/utils/date.test.ts 一直失敗,找出原因修好,並確認測試通過/init 生成的 AGENTS.md 用于记录“仅看代码无法看出的规则”的文件——如何运行测试、使用哪些库、哪些路径不能修改——之后每个工作会话都会自动读取。生成的内容只是草稿,记得自己修改一遍。
下达指令的诀窍和 Claude Code 一样:附上文件名和路径,不要一次性提交过大的任务。探索所消耗的 token 会减少,结果更快、更准确,账单也会下降。
按任务选择模型——一项任务的实际金额
使用 API 密钥运行的最大好处,是可以根据工作的轻重选择模型。model 只是端点上的模型名称,切换模型不需要新密钥或额外设置。
# config.toml 的預設(gpt-5-6-sol)不動,只有這次啟動換模型
codex -m gpt-6-astra # 找不到原因的 bug、跨模組的修改
codex -m gpt-5-6-terra # 例行修改、大量取代、整理日誌這類輕量工作| 工作类型 | 模型 | 输入 / 输出(每 1M token) | 一项任务约 |
|---|---|---|---|
| 找不到原因的 bug、跨模块修改 | gpt-6-astra | $4.00 / $20.00 | $2.48 |
| 默认——日常实现与修改 | gpt-5-6-sol | $2.00 / $12.00 | $1.29 |
| 补充测试、例行修改、大量替换以及整理日志 | gpt-5-6-terra | $0.70 / $4.20 | $0.451 |
“一项任务”的计算方式,是把修复一个失败测试视为 20 步。每一步输入 25,000 token(系统提示 + 对话记录 + 读取的文件)、输出 1,200 token(一次修改或说明),因此一项任务包含输入 500,000、输出 24,000 token。使用 GPT-5.6 Sol 约为 $1.29;相同 token 数直接支付给 OpenAI,按当前促销价为 $2.48(按定价为 $3.22)。模型越便宜,越可能需要多轮往返才能改对,因此实际操作中一次未解决就上调一级模型。
这个计算没有计入缓存。Codex 每一步都会重新发送对话记录,命中缓存的输入按输入单价的 0.10 倍计费(GPT-5.6 Sol 每 1M token 为 $0.20),新写入缓存的部分则按输入单价的 1.25 倍计费。此外,GPT-5.6 系列和 GPT-6 Astra 在单个请求的提示超过 272K token 时,整个请求都按输入 2 倍、输出 1.5 倍计费,因此不要把太多工作塞进同一个会话;每项任务重新开启一次更稳妥。推理模型的思考 token 按输出费率计费,问题越难,输出越多。实际金额请查看响应中的 usage 和用量记录。模型规格见GPT-5.6 Sol 模型页面,所有模型的费率见价格表。
常见错误
| 症状 | 原因与处理方式 |
|---|---|
401(authentication_error) | 密钥错误,或 env_key 指定的变量在启动 Codex 的 shell 中为空。确认 export 后是否重新启动,以及 env_key 是否误填成了密钥本身。 |
无法读取配置文件、wire_api 错误 | 旧文章中的 wire_api = "chat" 在当前 Codex 中已经无效,改为 "responses" 或删除整行。 |
404“Model … is not available” | 模型名称必须按照目录使用连字符书写(gpt-5-6-sol);按照 OpenAI 的写法 gpt-5.6-sol 会找不到。已下架的模型名称也会产生同样的错误。 |
每个请求都 404 | base_url 必须停留在 /v1。/responses 会由 Codex 自己添加,写进去会重复。 |
402(insufficient_quota) | 余额不足,或已达到密钥设置的每月上限;错误消息会说明是哪一种情况。 |
403(permission_error) | 当前连接的 IP 不在这把密钥的 IP 允许列表中。 |
坦白说——什么时候 ChatGPT 方案更划算
如果每天都花数小时与 Codex 往返对话,固定月费方案通常更便宜。按量计费与 token 用量成正比,用得越多、越稳定,月费的优势越大。分界点是“月费 ÷ 一项任务的单价”,方案之间的盈亏平衡点已在Codex 费用页面计算好。
还有两件事需要先知道。根据 OpenAI 的文档,依赖 ChatGPT 工作区或云端服务的功能,在使用 API 密钥时会受到限制或无法使用。另外,Kunavo 采用共享容量,没有专属配额,也没有合同保障的 SLA;如果需要保证额度或 SLA,直接与 OpenAI 签约更合适。
反过来,适合 API 密钥的是:用量时多时少的人、想按任务选择模型的人、希望在团队中按密钥分开设置上限和记录用量的人,以及只想在方案额度用完当天继续工作的人。两者可以并用:删除 config.toml 中的 model_provider 那一行,就会恢复 ChatGPT 登录;想在每次启动时切换,可以使用 Codex 的 --profile。
付款使用国际信用卡(包括 JCB)、Apple Pay 或 Google Pay,台湾没有本地支付通道——街口、LINE Pay 都不在可用清单上。预付制只在充值时刷一次卡,余额不会过期,失败的请求不计费。如果你还在 Codex 和 Claude Code 之间犹豫,可以查看 Claude Code vs Codex CLI(英文);Claude Code 的费用计算方式见 Claude Code 费用。
常见问题
Codex 怎么用?
安装 Codex CLI(npm install -g @openai/codex;macOS 也可以使用 brew install --cask codex),在项目文件夹中运行 codex,然后用中文说明要做什么。登录方式有两种:使用 ChatGPT 方案登录,在方案额度内使用;或者使用 API 密钥按 token 计费。使用 API 密钥时,需要在 ~/.codex/config.toml 中添加一个供应商区块,并将密钥放在环境变量中。
Codex CLI 怎么安装?
npm install -g @openai/codex 是 macOS、Linux 和 Windows 通用的方式;macOS 也可以使用 brew install --cask codex。安装后,在项目文件夹中输入 codex 即可启动。
Codex 可以免费使用吗?
Codex CLI 本身免费,但调用模型需要付费:要么使用 ChatGPT 方案(Plus、Pro、Business 等)中的用量额度,要么使用 API 密钥按 token 付费。按量计费没有月费,没有使用的月份是 $0。
没有 ChatGPT Plus 也能使用 Codex CLI 吗?
可以。Codex CLI 也可以使用 API 密钥运行,此时不会扣除 ChatGPT 方案额度,而是按使用的 token 付费。除了直接提供 OpenAI API 密钥,也可以在 config.toml 的 model_providers 中登记兼容 Responses API 的端点;以 Kunavo 为例,base_url 是 https://api.kunavo.com/v1,默认模型是 gpt-5-6-sol。
VS Code 扩展也能使用 API 密钥吗?
可以。Codex 的 IDE 扩展和 CLI 读取同一个 ~/.codex/config.toml,因此 model_providers 区块同样有效。修改设置后,请重新启动编辑器。
Codex CLI 该选择哪个模型?
默认使用 gpt-5-6-sol(每 1M token $2.00 / $12.00)就够了。只有在排查原因不明的 bug 或进行跨模块修改时,才切换到 gpt-6-astra($4.00 / $20.00);例行修改、替换和摘要等轻量工作使用 gpt-5-6-terra($0.70 / $4.20)。使用 codex -m <模型名称> 切换,只影响本次启动。
Codex CLI 出现 401 错误怎么办?
几乎都是因为密钥没有传给 Codex。config.toml 的 env_key 应填写环境变量的名称(例如 KUNAVO_API_KEY),而不是密钥本身;并且必须从已经 export 该变量的 shell 启动 codex。在另一个终端标签页中 export,或者在 export 之前就已经打开 Codex,是最常见的两种情况。
在台湾要怎么付款?
使用国际信用卡(Visa、Mastercard、American Express、JCB、UnionPay)、Apple Pay 或 Google Pay;台湾没有本地支付通道——街口、LINE Pay 都不在可用清单上。Kunavo 是预付制,最低充值 $10,只在充值时刷一次卡,余额不会过期,失败的请求不计费。