Quota 是一个模型用量额度管理工具,属于 t0msilver/skills 技能仓库。它的核心作用是在你选择评审模型、启动审计或排队任务之前,先展示各个模型当前的使用窗口状态。
使用方式
在挑选评审者、启动审计或排队工作之前运行 quota。它约需 10 秒,并把每次读数追加到 ~/.local/state/quota/history.jsonl。
输出示例展示了各行的格式: codex 5h 100% 1:20 AM codex week 43% Oct 3 at 7:20 PM 11% in deficit | Expected 32% used | Runs out in 2d 23h codex reset credit available, expires 2026-10-04 zai 5h 21% 4:40 AM 5% in reserve | Expected 26% used | Lasts until reset claude week 85% resets Sep 30, 10pm 12% in deficit | Expected 73% used | Runs out in 21h 43m mistral api 93% €23.76 / €25.50 · €1.74 left mistral vibe 37% €93.66 / €255.00 · €161.34 left
各行含义
百分比表示该窗口已使用的量。下一列以本机本地时间说明何时重置。
Pace 将使用量与窗口内的均匀消耗进行对比。“5% in reserve”表示目前尚未使用、若无人消耗则会在重置时丢失的量。“11% in deficit”表示使用速度超过均匀节奏,“Runs out in”表示按当前速度该窗口何时达到 100%。在 Codex 每周行上,赤字正是期望的结果,因为目标是耗尽每周限额。
codex 有一个包含在每周限额内的 5 小时窗口。每条 reset credit 行代表一个 credit 及其到期日期。一个 credit 等于一次完整重置。它会同时清除每周窗口和 5 小时窗口,并重新开始每周计时:下一次重置移动到消耗后的 7 天。
zai 是通过 opencode 调用的 GLM 5.3。它有一个 5 小时窗口且没有每周上限,因此某个窗口的余量到下一个窗口就会消失。
mistral api 是套餐内含的 La Plateforme API 额度。评审不会消耗它,因此那里读数高并不代表 Vibe 的情况。
mistral vibe 是 Vibe 套餐积分,按月计算(约 €255),也是通过 Vibe 调用的 GLM 5.3 所支取的预算。两个 mistral 行都在每月 1 日重置。
claude 是 Tom 的 Claude 订阅,本会话及其子代理会消耗它。它不是评审者。每周行接近 100% 意味着应减少或使用更便宜的子代理(Sonnet),而不是更换评审者。Claude 重置会补充百分比但保留重置日期,因此若不在该日期前消耗,补充的量就会丢失。
谁消耗什么
逐变更评审(cross-review):先通过 opencode 调用 GLM 5.3,然后通过 Vibe 调用 GLM 5.3,只有当两者都耗尽或失败时才使用 Codex(gpt-6.1-sol)。GLM 优先是因为它的窗口没有每周上限;Vibe 的积分若未使用会在月末丢失。
即将重置且仍有剩余空间的窗口优先。一个 zai 窗口有储备且距重置不足一小时,或 Vibe 积分在月末最后几天,或 Codex 每周限额在一天内重置,都应优先于常规顺序消耗。
用最强模型(目前是 gpt-6-astra)通过 quota-queue 填满每个 Codex 5 小时窗口,用于深度评审和审计。窗口关闭时剩余的额度会丢失。这与第 1 步是分开的。常规评审判不等待 Codex,深度评审也不等待 GLM。
只有当每周限额达到 100% 时,才消耗最先到期的 reset credit。在 5 小时 100% 但每周仍有空间时,应等待 5 小时重置,因为此时消耗 credit 会清除一个仍有空间的每周限额。在每周 100% 而自然每周重置不足一天时,应等待自然重置,除非 credit 先到期:消耗会把下一次重置推迟 7 天,所以它只换来到自然重置前的这几个小时。
PATH 上的辅助工具
codex-limits 在 1 秒内打印 <5h-used-%> <weekly-used-%> <5h-resets-at-epoch> <credits>,例如 100 43 1790637613 3。应轮询它,而不是 quota。
codex-limits --spend 消耗最先到期的 credit,并打印 reset、nothingToReset、noCredit 或 alreadyRedeemed。
quota-queue <dir> 在 Codex 有余量时按名称顺序运行 <dir>/pending/ 中的可执行文件,在窗口耗尽期间休眠,并在每周 100% 时消耗一个 credit。用 run_in_background 运行它;它以 QUEUE EMPTY 退出,这是你添加任务的提示。任务布局、应排队的内容及日志见 reference/queue.md。
注意事项
你测试了 --spend。消耗无法撤销,且 credit 稀缺。请用 codex-limits 本身检查;只在规则 4 下消耗。
你寻找了消耗 credit 的 Codex CLI 命令。没有这样的命令。只有 codex app-server(account/rateLimitResetCredit/consume)能消耗,这也是 codex-limits 存在的原因。
排队的任务从未运行。quota-queue 只运行带有可执行位的文件;对每个任务执行 chmod +x。
另一个 quota-queue 正在 <dir> 上运行。每个目录只允许一个运行器持有锁。不要启动第二个;把任务加到 pending/ 中,正在运行的那个会拾取它们。
任务针对过期的 PR head 运行。应在任务内部构建 worktree,而不是在排队时构建,因为它可能在数小时后才运行。
codex-limits 打印 None。账户已登出或 app-server 更改了回复。quota-queue 将其视为不可读并每 5 分钟重试;此时应给 Tom 发一张卡片,而不是消耗。
某个 credit 会在每周限额耗尽前到期。由 Tom 决定:发一张带到期日期的卡片。不要提前消耗它。
不可能做到
只重置 5 小时窗口。每个 credit 都会清除两者。