Codex 只显示可用重置次数,却不告诉你什么时候过期:我做了一个查询 Skill
Codex 重置次数也能查:做一个可安装的 Reset Credits Skill
最近我在整理 Codex 的本地使用体验时,发现除了统计 token 用量,还有一个很实际的小问题:
我现在到底还有几次 Codex 重置次数?每一次什么时候过期?过期前能不能提前提醒我?
这个问题看起来很小,但对高频使用 Codex 的人来说很真实。尤其是当你把 Codex 当成日常开发工作流的一部分,而不是偶尔打开问两句的聊天窗口时,reset credits 就会变成一种需要管理的资源。
所以我把这个能力做成了一个可安装的 Codex Skill:
GitHub 仓库:
https://github.com/huajiexiewenfeng/codex-reset-credits
这个 Skill 解决什么问题
它做的事情很简单:
- 查询当前可用的 Codex 重置次数
- 展示每一次重置还有多久过期
- 展示中国时间的过期点
- 自动计算两个提醒时间:过期前 1 天、过期前 1 小时
- 支持普通中文输出,也支持 JSON 输出,方便后续接自动化提醒
查询结果类似这样:

为什么要做成 Skill,而不是只放一个脚本
单独写一个 Python 脚本当然也能解决问题。
但我更希望它成为 Codex 工作流的一部分。也就是说,以后不用记脚本路径,不用每次翻命令,只要对 Codex 说一句:
Use $codex-reset-credits 用中文展示我的 Codex 重置次数、每次过期时间和提醒时间。
Codex 就能知道该调用哪个脚本、该怎么展示结果、该注意不要暴露 token。
这就是 Skill 的价值:它不是简单的工具文件,而是把“怎么使用这个工具”的上下文也封装进去。
安装方式
使用 Skills CLI 安装:
npx skills add https://github.com/huajiexiewenfeng/codex-reset-credits --skill codex-reset-credits
也可以先列出仓库里的可用 skill:
npx skills add https://github.com/huajiexiewenfeng/codex-reset-credits --list
安装后,可以直接在 Codex 里使用:
查询我的 Codex 重置次数,每一次还有多久过期,并显示提醒时间。
也可以直接运行脚本
如果你不想通过 Skill 调用,也可以直接运行仓库里的 Python 脚本。
在仓库根目录执行:
python -B skills/codex-reset-credits/scripts/query_reset_credits.py
如果需要 JSON 输出:
python -B skills/codex-reset-credits/scripts/query_reset_credits.py --json
JSON 输出里会包含 available_count、每次 credit 的过期时间,以及提醒时间:
{
"available_count": 2,
"credits": [
{
"index": 1,
"remaining": "23天 15小时 22分钟 22秒",
"expires_at_utc": "2026-07-26T23:45:22+00:00",
"expires_at_china": "2026-07-27T07:45:22+08:00",
"reminders": [
{
"label": "过期前 1 天",
"at_china": "2026-07-26T07:45:22+08:00"
},
{
"label": "过期前 1 小时",
"at_china": "2026-07-27T06:45:22+08:00"
}
]
}
]
}
实现原理
核心逻辑并不复杂。
脚本会读取本地 Codex 登录状态里的 auth.json:
DEFAULT_AUTH_FILE = Path(os.environ.get("CODEX_HOME", Path.home() / ".codex")) / "auth.json"
然后从中取出 access token,请求 ChatGPT Web 后端的 reset credits 接口:
URL = "https://chatgpt.com/backend-api/wham/rate-limit-reset-credits"
请求头里带上:
"Authorization": f"Bearer {token}"
接口返回后,脚本读取:
available_countcredits[].expires_at
再把 UTC 时间转换成中国时间,并计算:
expires_at - 1 dayexpires_at - 1 hour
这样就能得到完整的过期和提醒信息。
输出字段说明
| 字段 | 含义 |
|---|---|
available_count |
当前可用重置次数 |
credits[].remaining |
距离过期还剩多久 |
credits[].expires_at_utc |
UTC 过期时间 |
credits[].expires_at_china |
中国时间过期点 |
credits[].reminders[] |
过期前 1 天和过期前 1 小时的提醒时间 |
如果你只是自己看,普通中文输出就够了。
如果你想接自动化提醒,JSON 输出更适合。
隐私和边界
这个工具有一个必须说清楚的边界:
它需要读取本地 Codex 的 auth.json,并使用里面的 access token 请求 ChatGPT Web 接口。
所以这里有几个原则:
- 不打印 access token
- 不提交
auth.json - 不提交
.codex目录 - 不提交 session 日志或 SQLite 数据库
- 仓库
.gitignore已经排除了这些本地敏感文件
另外,这个接口是 ChatGPT Web 使用的内部接口,不是一个长期稳定承诺的公开 API。
因此它适合做个人工作流工具,但不适合当成强依赖的生产系统接口。如果未来接口路径、返回格式或登录状态结构变化,脚本也需要跟着调整。
仓库结构
当前仓库结构保持和 Codex Skill 的常见发布方式一致:
codex-reset-credits/
├── README.md
├── README.zh-CN.md
├── LICENSE
├── .gitignore
└── skills/
└── codex-reset-credits/
├── SKILL.md
├── agents/
│ └── openai.yaml
└── scripts/
└── query_reset_credits.py
其中:
SKILL.md:告诉 Codex 什么时候使用这个 skill,以及如何展示结果openai.yaml:给 Skills CLI / Codex UI 使用的元数据query_reset_credits.py:真正执行查询的脚本
验证方式
我本地做了两类验证。
第一,直接运行查询脚本:
python -B skills/codex-reset-credits/scripts/query_reset_credits.py --json
第二,用 Skills CLI 检查仓库是否能被识别:
npx skills add . --list
能看到:
Available Skills
codex-reset-credits
这个小工具背后的思路
我现在越来越倾向于把 Codex 里的小能力沉淀成 Skill,而不是只停留在一次性脚本。
一次性脚本解决的是“这次能跑”。
Skill 解决的是“下次 Codex 还知道怎么用”。
对于开发者来说,这个差别很大。因为很多日常工作并不是大项目,而是一堆小而重复的操作:
- 统计 token 用量
- 查询 reset credits
- 检查本地状态
- 生成发布草稿
- 做仓库结构校验
- 创建提醒或自动化任务
这些任务单独看都不大,但每次重新解释一遍就很浪费。把它们封装成 Skill,本质上是在给自己的 Codex 建一个可复用的工作记忆。
总结
codex-reset-credits 这个 Skill 做的事情很小:
它只是帮你看清楚还有几次 Codex 重置次数、每次什么时候过期,以及应该什么时候提醒。
但我觉得它代表了一种很实用的工作方式:
把一次性的自动化脚本,升级成可安装、可复用、可被 Codex 理解的 Skill。
这样下一次你不用再找脚本、翻命令、解释上下文。
你只要说一句:
查询我的 Codex 重置次数。
Codex 就知道该怎么做。
项目地址:
更多推荐


所有评论(0)