2026年7月6日 11:30软件资讯00.82K
#软件资讯 开源中转站应用 Sub2API 现在也可以查询 Codex 重置次数到期时间,方便用户提前计划重置避免到期。目前 Codex 赠送的重置次数为 4 次,首次重置到期时间是 7 月 12 日,Sub2API 现在可以显示所有重置次数的到期时间,所以各位可以提前计划,避免过期浪费重置次数。查看全文:https://ourl.co/113793
此前开源中转站应用 Sub2API 在连接 Codex 的情况下已经可以查看剩余重置次数,查看剩余次数后用户还可以直接点击重置按钮来立即重置 5 小时和当周配额,不过此前该应用尚未支持查询重置次数到期时间,用户想要查看到期时间还得使用脚本或者其他应用程序来查询。
新版本已经可以显示剩余所有重置次数的到期时间:
在近期发布的 Sub2API v0.1.143 版中,用户点击剩余次数查询后底部会出现到期时间按钮,如果有多个重置次数则会折叠起来,用户展开后就可以查看当前所有重置次数的到期时间,用户可以根据到期时间来安排自己的重置计划。Codex 赠送的手动重置次数通常有效期都是 30 天,到期后没有重置也会自动过期。
目前 Codex 累计赠送的重置次数为 4 次,如果你从未重置过那首次重置到期时间是 7 月 12 日,为避免到期浪费,建议用户在当周配额耗尽时直接重置,毕竟有 5 小时配额滚动限制,重置后也不能快速将当周配额耗尽,所以可能还是要尽早完成重置以免配额无法使用。
除了 Sub2API 外还能怎么查询:
如果你使用 Sub2API 通过 Codex OAuth 接入那查询比较方便,但如果并未使用这种接入方式当然也没必要为了查询到期时间而部署 Sub2API。对于 macOS 用户可以使用这个开源工具:[下载] Codex Cockpit 可以检测 Codex 手动重置次数的截止时间 避免忘记重置失效 。
如果不想安装这些开源工具,也可以通过下面的命令来查询,直接将命令发送给 Codex,让 Codex 执行并读取本地的 token 查询,这样同样可以显示所有重置次数和对应到期时间。
#macOS 版 需要安装 jq,如果没有安装可以 brew install jq 安装
AUTH="${CODEX_HOME:-$HOME/.codex}/auth.json"
curl -sS 'https://chatgpt.com/backend-api/wham/rate-limit-reset-credits' \
-H "Authorization: Bearer $(jq -r '.tokens.access_token' "$AUTH")" \
-H 'originator: Codex Desktop' \
-H 'OAI-Product-Sku: CODEX' \
-H 'Accept: application/json' \
| jq -r '
"可用重置数量: \(.available_count)",
(.credits[]? | select((.status // "" | ascii_downcase) == "available") |
"到期时间 (UTC): \(.expires_at) | 本地时间: \(.expires_at | fromdateiso8601 | strftime("%Y-%m-%d %H:%M:%S"))")
'
#Windows PowerShell 版
$authPath = "$env:USERPROFILE\.codex\auth.json"
if (-not (Test-Path $authPath)) {
Write-Host "未找到 auth.json 文件,请确认 Codex 已登录" -ForegroundColor Red
exit
}
$auth = Get-Content $authPath | ConvertFrom-Json
$headers = @{
Authorization = "Bearer $($auth.tokens.access_token)"
originator = "Codex Desktop"
"OAI-Product-Sku" = "CODEX"
Accept = "application/json"
}
try {
$response = Invoke-RestMethod `
-Uri "https://chatgpt.com/backend-api/wham/rate-limit-reset-credits" `
-Headers $headers `
-Method Get
Write-Host "可用重置数量: $($response.available_count)" -ForegroundColor Green
$availableCredits = $response.credits | Where-Object { $_.status -eq "available" }
if ($availableCredits) {
$availableCredits | ForEach-Object {
$expireUtc = [datetime]::Parse($_.expires_at)
$expireLocal = $expireUtc.ToLocalTime()
Write-Host "到期时间 (本地): $($expireLocal.ToString('yyyy-MM-dd HH:mm:ss'))" -ForegroundColor Yellow
}
} else {
Write-Host "当前没有可用的重置次数" -ForegroundColor Gray
}
}
catch {
Write-Host "查询失败: $($_.Exception.Message)" -ForegroundColor Red
}
