最近在处理 WordPress 历史文章摘要迁移时,我遇到了一个不算复杂的小问题:某篇中文文章的摘要连续生成三次,都会因为包含完整的 HTTP 和 HTTPS 地址而被程序拒绝。
问题本身已经基本定位清楚,只需要调整一下摘要提示词,并修复一个错误分类逻辑。原本我打算继续交给 Codex 完成,但就在准备提交修改指令时,Codex 提示消息额度已经用尽。
这件事反而让我产生了一个新的疑问:
Codex 显示额度用尽以后,是不是会完全拒绝所有指令?如果只提交一个范围很小的修改任务,是否仍然可以继续执行?
于是,我顺便做了一次实际测试。
一、事情的起因:一个很小的程序修改
这次问题出现在我的 wordpress-ai-excerpt-backfill 项目中。
批量处理 20 篇历史文章时,其中 19 篇顺利完成,只有中文文章 5355 连续三次生成摘要失败。程序给出的错误是:
generated Chinese excerpt contains forbidden markup or payload
检查三份被拒绝的摘要后,可以看到它们都是正常的中文纯文本,没有 HTML、Markdown、代码块或隐藏字符。
它们唯一的共同点,是都包含了类似下面这样的完整地址:
http://api.om.qq.com
https://api.om.qq.com
进一步调查后确认,程序本来就禁止摘要中出现 http:// 和 https://。同时,批处理日志又错误地把这次摘要内容校验失败归类成了:
authentication_error
原因是错误消息中包含单词 forbidden,而错误分类器又把所有包含 forbidden 的文本都当成了鉴权失败。
因此,这次修改范围其实很小:
- 在摘要提示词中明确禁止输出完整 URL;
- 删除鉴权分类器中过于宽泛的
forbidden匹配; - 当执行状态为
excerpt_rejected时,优先归类为rejected_excerpt_generation; - 补充几个针对性测试。
正常情况下,这类任务很适合继续交给 Codex。
二、Codex 提示消息额度已经用尽
但当我准备让 Codex实施修改时,界面已经显示:
你的 Codex 消息限额已用尽。
同时还提示,额度将在 2026 年 8 月 8 日 15:44 重置。

当时距离额度恢复还有两天左右。
因为这次修改很小,我一开始并不确定这个限制究竟属于哪一种情况:
- 只是提醒常规额度已经耗尽;
- 仍允许少量轻量任务继续执行;
- 或者完全禁止继续向 Codex 发送任何新指令。
为了确认实际表现,我仍然向 Codex 提交了一条范围非常明确的最小修改指令。
这条指令没有要求重新调查整个仓库,也没有要求运行全量测试,只限定修改几个已经确认的文件。
三、实际测试结果:额度用尽后属于硬限制
结果很明确。
Codex 没有继续读取文件,也没有执行任何修改,而是直接进入额度不足提示界面,要求等待额度恢复、升级套餐或购买额外额度。

这说明至少在我这次遇到的场景中,Codex 消息额度用尽以后属于硬限制。
即使任务非常小,即使只是修改两处代码并运行几个针对性测试,也不会因为“使用量较少”而继续执行。
换句话说,额度限制并不是根据下一条任务的复杂程度动态判断。只要当前账户已经达到消息上限,后续的新指令就会被直接阻止。
这次测试也回答了我原来的疑问:
Codex 额度用尽后,不能依靠提交一个更短、更简单的指令继续使用。
四、是否为了这次修改购买额外额度
在 Codex 的额度页面中,我看到了购买额外额度的选项。
其中一个方案是购买 1,000 额度,页面显示的价格为 PHP 2,260。
但我当前没有方便使用的支付方式,而且这次只是一个很小的程序修改。为了完成这样一次临时任务,专门解决支付问题并购买额外额度,显然不太划算。
与此同时,我又查看了 BeWild 的 Claude Code / Codex 方案,页面提供按量付费或订阅制选择,并宣称相比官方定价可以节省 17%–50%,最高可以达到五折。

从价格角度看,这类方案未来可能有一定吸引力,特别是需要长期、高频使用 Claude Code 或 Codex 时。
但结合我当时的实际情况,暂时仍然没有购买的必要。
主要原因有几个。
首先,这次只是一个范围很小的修改,并不是一个必须立即依赖 Codex 才能完成的大型开发任务。
其次,Codex 额度两天后就会自动恢复。为了缩短这两天的等待时间,临时开通另一项服务,投入与收益并不匹配。
再次,使用新的第三方方案,还需要重新处理支付、账号接入、使用方式和可能出现的售后问题。
我最近刚处理过 BeWild 服务中的订阅状态问题。在这种情况下,再为了一个临时的小任务增加新的付费项目,并不是当前最稳妥的选择。
所以我最终决定:
暂时不购买 Codex 额外额度,也不立即开通 BeWild 的 Claude Code / Codex 方案。
五、没有 Codex,程序修改仍然完成了
这次程序修改只是整件事情的引子,并不是本文的重点。不过,它也说明 Codex 暂时不可用时,并不代表开发工作就一定要完全停止。
在 Codex 无法继续执行后,我改为让 ChatGPT根据已经完成的调查结果,生成可以直接在普通终端中执行的修改脚本。
第一次脚本因为在交互式终端中使用了:
set -euo pipefail
当其中一个代码片段未能匹配时,Shell 直接退出,导致终端窗口也自动关闭。
后来重新调整了方案:
- 不再在当前交互式 Shell 中启用
set -e; - 所有目标代码片段先完成匹配检查;
- 只有全部匹配成功后才统一写入文件;
- 修改前自动备份到
/tmp; - 只修改已经确认的 4 个文件;
- 不接触生产数据和历史状态目录。
最终修改成功完成,并运行了相关测试:
Ran 134 tests in 26.398s
OK
git diff --check 也顺利通过。
随后,我恢复了之前失败的文章 5355。新的提示词生效后,GLM 第一次就生成了符合要求的摘要,整篇文章处理成功:
result=completed
category=completed
returncode=0
本次修改最终提交并推送到了 GitHub:
5052589 fix: 修复摘要 URL 拒绝与错误分类
所以,这次并没有因为 Codex 额度耗尽而停滞两天。
不过,手动执行终端修改命令显然比直接让 Codex操作更谨慎,也更依赖对修改范围和代码状态的准确判断。对于更复杂的任务,我仍然更倾向于等 Codex 额度恢复,而不是大量手工替代。
六、这次额度测试带来的几个结论
经过这次实际体验,我对 Codex 的额度机制有了更明确的认识。
1. 额度用尽后会直接阻止新任务
至少在这次测试中,额度用尽不是一个普通提醒,而是实际的执行限制。
任务再小,也不会继续执行。
2. 不必为了单次小修复立即充值
是否购买额外额度,应该结合任务的重要性、等待时间和未来使用量判断。
如果只是一个可以手动处理的小修改,而且额度很快就会恢复,临时充值通常不划算。
3. 第三方按量方案可以保留,但不必立刻购买
BeWild 提供的 Claude Code / Codex 方案,可以作为未来的备选渠道。
但只有当官方额度经常不足,并且已经明显影响持续开发时,才更值得认真计算长期成本。
4. 仍然需要保留不依赖 Codex 的处理能力
Codex 很适合阅读仓库、修改代码和运行测试,但额度、网络或服务状态都可能暂时中断。
因此,至少应该保留以下能力:
- 能够自己查看 Git 差异;
- 能够理解 Codex 给出的调查结论;
- 能够运行针对性测试;
- 能够在修改失败时停止并回滚;
- 能够区分代码文件、测试文件和不应提交的运行状态文件。
AI 编程工具可以大幅提高效率,但不应该成为唯一能够继续推进工作的入口。
七、总结
这次原本只是一次普通的摘要生成失败修复,却顺便让我验证了 Codex 额度用尽后的真实表现。
结论很直接:
Codex 消息额度用尽后,会直接拒绝继续执行新的任务。即使只是一个很小的修改,也不能通过减少指令范围继续使用。
面对这种情况,可以选择等待额度恢复、购买额外额度,或者暂时改用其他方式完成任务。
对我这次的情况来说,等待两天或手动完成修改,都比临时解决支付问题并购买新服务更合适。因此,我没有购买官方额外额度,也暂时没有开通 BeWild 的 Claude Code / Codex 方案。
未来如果 Codex 额度频繁成为开发瓶颈,再评估按量付费或第三方方案会更合理。
而在那之前,最实用的策略仍然是:
Codex 有额度时,用它提高效率;Codex 暂时不可用时,也要确保项目仍然能够安全地继续推进。
需要长期技术维护或远程问题排查?
我是拥有 15+ 年经验的 PHP / Go 后端工程师,长期关注已有系统维护、Bug 修复、性能优化、服务器排查、WordPress 网站维护和小功能迭代。
如果你的项目遇到以下情况,可以先从一次小问题排查开始合作:
- ✅ PHP / Laravel / Yii2 老项目无人维护
- ✅ Go / Gin 后端接口需要排查或优化
- ✅ WordPress 网站访问慢、报错或插件冲突
- ✅ Nginx / MySQL / Redis / Linux 服务器异常
- ✅ CDN / Cloudflare / DNS / HTTPS 配置问题
- ✅ 需要长期远程技术支持或兼职维护
更多介绍请查看:关于我 & 合作
微信:13980074657
邮箱:shuijingwanwq@gmail.com
Telegram:@shuijingwan
GitHub:https://github.com/shuijingwan


发表回复