8000 feat(collector): add quota-warmup task script for Antigravity and Codex by InfinityPacer · Pull Request #74 · InfinityPacer/meterleaf · GitHub
[go: up one dir, main page]

Skip to content

feat(collector): add quota-warmup task script for Antigravity and Codex - #74

Merged
InfinityPacer merged 2 commits into
mainfrom
feat/quota-warmup-task
Nov 10, 2026
Merged

InfinityPacer merged 2 commits into
mainfrom
feat/quota-warmup-task

Conversation

@InfinityPacer
Copy link
Copy Markdown
Owner

背景与问题

Antigravity(各实例的 Gemini 池与 Claude/GPT 第三方池)以及 Codex 的 7 天周窗口与 5 小时窗口,均在上一周期到期后的第一笔实际请求时才起算新周期。如果窗口在睡眠或闲置期间到期,直到手动发起对话才开窗,新周期的重置时间就会向后顺延。

变更内容

  • 新增 scripts/quota-warmup.ts 采集器额外任务脚本:
    • 自动发现并检查本机所有 Antigravity 实例(默认实例 antigravity-cli 与同级 antigravity-cli-<name> 额外实例)对应的 ~/.cache/agy-statusline/quota-<label>.tsv,以及 ~/.codex/sessions 中最新 openai 通道的 codex 额度快照。平时仅做本地只读检查,不发起任何探测请求。
    • 默认只针对 7 天周窗口(gemini_weekly、3p_weekly、seven-day)预热;传入 --include-5h(或 METERLEAF_WARMUP_5H=1)时一并支持 5 小时窗口(gemini_5h、3p_5h、five-hour)。
    • 每次触发时从预置的简短问候语池(ok、hi、hey、ping、hello、yo、ack、ready)中随机选取一条,并使用该池最廉价的模型发起单轮最小请求:
      • Antigravity Gemini 池:gemini-3.8-flash-low,随后调用 agy -p /usage --output-format json 立即将新周期 resetsAt 写回状态栏缓存。
      • Antigravity 第三方池:优先调用 gpt-oss-120b-medium(失败时回退 claude-sonnet-5-5-low),随后调用 agy -p /usage 刷新缓存。
      • Codex:在临时目录下执行 codex exec(固定 model_provider="openai"、model="gpt-6-luna"、model_reasoning_effort="low"、mcp_servers={}),生成的会话文件由下一轮采集器 sync 自动读取新周期额度。
    • 在 $METERLEAF_TASK_STATE_DIR/state.json 记录已预热的 (target, resetEpoch) 保证每个到期周期只触发一次;遇到网络断开或命令失败时按 15 分钟冷却退避;机器睡眠唤醒后随下一次 sync 自动补做预热。
  • 测试与文档:新增 tests/quota-warmup.test.ts 覆盖双 Antigravity 账户 + Codex 周重置预热、可选 5h 预热与模型回退、睡眠唤醒补跑与失败退避;在 docs/collector.md 补充配置说明。

验证证据

  • bun test(全量 624 项测试通过)与 bun run typecheck 通过。
  • 本机安装 ~/.local/bin/meterleaf-quota-warmup 并登记到 meterleaf-collector tasks(每 5 分钟运行一次),实测 --dry-run 与 tasks run quota-warmup 正常识别 phronara、tidewren 与 Codex。

@InfinityPacer
InfinityPacer merged commit 83fef63 into main Nov 10, 2026
2 checks passed
@InfinityPacer
InfinityPacer deleted the feat/quota-warmup-task branch November 10, 2026 11:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0