Skip to content
Go back

Codex CLI 额度重置状态查询工具

Codex 会给用户分配一定的使用额度,并在额度周期内重置。

但无论是 Codex App 还是 Codex CLI,当前都不太方便直接查看具体的额度重置状态。所以我写了一个小工具 codex-reset-expiry,用来读取本地 Codex CLI 的登录信息,并查询额度与重置相关接口。

codex-reset-expiry 是什么

codex-reset-expiry 是一个很小的 Python CLI 工具,主要做三件事:

  1. 自动读取本地 Codex CLI 的 auth.json
  2. 解析 access_token 里的 JWT payload,并校验账号 ID
  3. 请求 rate-limit-reset-credits 接口,输出当前额度和重置状态

它本身不会修改 Codex 的配置文件,也不会写入新的登录信息。脚本只读取本地 auth.json,然后带着其中的 access_token 去请求接口。

安装

项目依赖很少,只需要 Python 3 和 requests

git clone https://github.com/Abyss/codex-reset-expiry.git
cd codex-reset-expiry
pip install requests

如果不想 clone 仓库,也可以只下载 codex-reset-expiry.py,然后确认当前 Python 环境已经安装 requests

pip install requests

基础用法

最简单的使用方式是直接运行脚本:

python codex-reset-expiry.py

默认情况下,它会读取:

~/.codex/auth.json

然后输出几类信息:

  • 本地 auth.json 中记录的账号 ID
  • access_token 解析出来的 JWT payload
  • 本地账号 ID 和 JWT 中账号 ID 的匹配情况
  • 额度与重置接口返回的原始结果

这样就能确认当前登录账号是否匹配,以及接口返回的额度状态是否符合预期。

指定 auth 文件位置

如果你的 Codex 配置目录不是默认路径,可以手动指定目录和文件名:

python codex-reset-expiry.py --dir /path/to/codex --file auth.json

常用参数如下:

参数说明默认值
--dirauth 文件所在目录~/.codex
--fileauth 文件名auth.json
--proxy请求接口时使用的代理地址

比如 auth 文件在临时目录里,可以这样指定:

python codex-reset-expiry.py --dir /tmp/codex-profile --file auth.json

使用代理

如果你的网络环境需要通过代理访问接口,可以传入 --proxy

python codex-reset-expiry.py --proxy http://127.0.0.1:7890

脚本会把这个代理用于接口请求,不会修改系统代理,也不会改动 Codex CLI 的配置。 如果DNS配置使用fake-ip的,强烈建议手动指定代理。

使用时需要注意

这个工具的行为比较简单,但它会读取本地 auth.json 并使用其中的 access_token 发起请求,所以使用时还是要注意:

  • 只在可信环境中运行
  • 不要把 auth.json、完整终端输出或 token 信息发给他人
  • 不要在公共机器或不可信服务器上执行
  • 使用前可以先阅读脚本源码,确认行为符合预期

如果你只是想确认额度状态,运行一次脚本看输出就够了。不要把它包装进公共服务,也不要把 token 输出记录到日志系统里。