先说结论:Codex 的 5 小时额度和每周额度只属于“用 ChatGPT 账号登录”这一条路线。额度掉得快,多半是上下文太大、并行子代理太多、推理强度太高或会话太长;额度用完不想等重置,可以改用 API Key 路线,它按调用计费,不占用 ChatGPT 计划额度。
我们用 AICodeWith 的 Key 实测了一遍:没有登录 ChatGPT,Codex 13 秒修好了一个小 bug,会话记录里的 5 小时和每周额度字段都是空的。
额度掉得快,先看是哪条路线
Codex 有三条用法,账从三个地方扣:
| 你的使用方式 | 额度或费用看哪里 | 有没有 5 小时 / 每周额度 |
|---|---|---|
| 用 ChatGPT 账号登录 Codex | ChatGPT 的用量页(Settings → Usage),CLI 里输入 /status | 有 |
| 计划额度用完后用 Credits 继续 | ChatGPT 的 Credits 余额 | Credits 是额度之外的补充 |
| 用 API Key 或第三方 Provider | Key 所在平台的调用记录 | 没有,按调用计费 |
先确定自己是哪一行。把三种账混在一起,是“额度怎么突然没了”最常见的误判。
ChatGPT 计划的额度规则
按 OpenAI 官方 Codex 价格页 的说明:
- Plus 和 Business 有按 5 小时计算的本地消息额度,另外还可能有每周额度
- Pro 计划目前没有 5 小时额度
- 本地消息和云端任务共用同一份额度,云端任务可能比本地消耗更多
- ChatGPT Work 和 Codex 共用额度
- 页面上给的消息条数只是估算,不是固定上限,以用量页显示的为准
额度为什么掉得快
官方说明里提到的几个主要原因:
- 上下文大:项目大、任务长、会话里积累了很多内容,每条消息的消耗会明显变多。只看提示词长短估算不准
- 并行子代理:官方文档明确说,用子代理的工作流比单个代理消耗更多 token
- 推理强度高:推理强度越高,响应越慢、token 越多
- 长会话不清理:一个会话一直接着用,前面的内容每次都要带上
- Fast 模式:速度更快,但消耗计划额度更快
换模型不会把已经用掉的额度还回来,同一个额度池里的用量是共享的。
什么时候重置
官方没有公布统一的重置时间点,以你账户用量页上显示的重置时间为准。在 Codex CLI 里输入 /status 也能看到剩余额度。
OpenAI 官方客服不会帮你手动重置额度。到了上限,只能等重置、用账户里可用的重置次数、买 Credits 或升级计划。
额度用完不想等重置:改用 API Key 路线
按官方价格页的说法,所有用户都可以用 API Key 继续在本地使用 Codex,按标准 API 价格计费。走第三方 Provider 时,按该平台的规则计费。这条路线和 ChatGPT 计划额度互不相干。
第一步:创建 API Key
第二步:写全局配置
编辑 ~/.codex/config.toml:
model_provider = "aicodewith"
model = "gpt-6.1-sol"
[model_providers.aicodewith]
name = "aicodewith"
base_url = "https://api.aicodewith.ai/chatgpt/v1"
wire_api = "responses"
experimental_bearer_token = "sk-你的Key"
Key 直接写在experimental_bearer_token里,不需要env_key,也不需要 auth.json。各字段的含义见《Codex config.toml 配置指南》,完整接入步骤见《Codex 接入 AICodeWith》。
第三步:验证
在任意项目目录里跑一个小任务:
codex exec "列出当前目录下的文件,只回复文件名" < /dev/null
开头几行会显示当前用的 model 和 provider,看到 provider: aicodewith 就说明走的是 API Key 路线。
在脚本里调用codex exec时记得加< /dev/null,否则它会一直等待输入。
实测:API Key 路线不占用计划额度
测试环境:Codex CLI 0.162.1,按上面的配置接入 AICodeWith,模型 gpt-6.1-sol,全程没有登录 ChatGPT。
任务很简单:一个 add 函数把加法写成了减法,让 Codex 修好并运行测试。
| 检查项 | 结果 |
|---|---|
| 耗时 | 13 秒,修好 bug,测试输出 ok |
| 启动信息 | model: gpt-6.1-sol,provider: aicodewith |
| codex login status | 显示 Not logged in,没有登录 ChatGPT |
| 会话记录里的额度字段 | 5 小时额度(primary)、每周额度(secondary)、计划类型(plan_type)全部为空 |
也就是说,走 API Key 路线时 Codex 根本没有拿到 ChatGPT 计划的额度信息,这次调用不计入 5 小时和每周额度。
想确认每次调用花在哪,去你的 Key 所在平台查调用记录,看这次请求有没有出现、用的是不是预期的模型。
API Key 路线怎么核算
按调用计费时,可以用这个式子理解:
单次费用 = 输入 Token 数 × 输入单价
+ 缓存输入 Token 数 × 缓存单价
+ 输出 Token 数 × 输出单价
单价以你所用平台当天的价格页为准。不要用“提示词只有几百字”估算输入量,Codex 还会带上项目规则、源码、日志、Git diff、工具输出和会话历史。
一次调用变贵,按这个顺序查
- 次数:同一时段有没有重试、循环或重复触发
- Key 和模型:是不是用了预期的 Key 和模型
- 输入和输出:输入变多通常是上下文变大,输出变多通常是任务要求更重
- 缓存:重复的上下文有没有被复用
- 渠道:前四项都没变,再核对渠道和当天的价格页
遇到报错可以看:请求太密集见《Codex 429 Too Many Requests》,模型满载见《Codex 提示 Selected model is at capacity》。
让额度和费用更耐用
- 给任务写清文件范围和停止条件
- 复杂工作先分析,确认方向再动手改
- 新任务开新会话,不要接在超长的旧会话后面。要带上之前的进度,可以用交接文件,见《用 handoff.md 交接上下文》
- 子代理按需开,不要默认并行一大堆,拆分方法见《Codex 子代理任务拆分》
- 简单任务用低一点的推理强度
- 精简 AGENTS.md,官方也把它列为节省额度的办法之一
常见问题
ChatGPT Work 和 Codex 共用额度吗?
共用。官方价格页写明,ChatGPT 里的 Work 和 Codex 使用同一套价格、Credits 和用量额度。在 Work 里用得多,Codex 能用的就少。
重置卡要不要马上用?
不用急着在额度还多的时候用。按 OpenAI 帮助中心的说明:
- 保存在账户里的重置(banked reset)要你自己点击使用,在 Settings → Usage 里能看到,比如“1 reset available”
- 使用后会刷新 5 小时和每周额度,同时把每周重置日改成从现在算起。比如原本周五重置,你周二用了,下次每周重置就变成下周二左右,原来的周五不会再重置一次
- 只有真的刷新了至少一个额度窗口才会被消耗,没有可刷新的就不会扣掉
- 有有效期,过期后不能恢复
所以比较合适的时机是:额度真的快用完、又等不到下次重置的时候,并且在过期前用掉。
Credits 就是 API 余额吗?
不是。Credits 属于 ChatGPT / Codex 的体系,不会变成 OpenAI API 账户的余额。
换个模型能恢复额度吗?
不能。同一个额度池里,换模型不会把已用掉的额度还回来,只会影响之后每条消息消耗多少。
用了 API Key,还会扣 ChatGPT 的额度吗?
不会。实测走 API Key 路线时,Codex 没有登录 ChatGPT,也拿不到计划额度信息。费用按 Key 所在平台的规则计算。
