【免费下载链接】nightshiftNightshift uses your leftover Claude / Codex budget to surprise you with useful PRs. Love them or leave them.项目地址https://gitcode.com/gh_mirrors/nightshi/nightshift点击查看免费下载Nightshift 是一款利用你剩余的 Claude / Codex 订阅额度、在夜间自动巡检代码库并产出实用 PR 的开源工具。它最核心的设计之一就是预算追踪通过rate_limitsJSONL 与本地 Token 计数两套独立数据源交叉验证判断今晚还能安全地花多少 token。这篇文章带你从数据格式到决策逻辑完整拆解这套双源机制。为什么需要双源预算追踪 Nightshift 的哲学是你的 token 每周会重置不用白不用。但用多少必须精确——用多了白天自己的 Codex/Claude 会话可能被限流用少了则浪费了本来会过期的额度。问题在于没有任何单一数据源能给出完美答案。数据源优点缺点rate_limits官方百分比反映服务商真实计费口径含服务端缓存、限时加成等滚动窗口与日历不同步无法直接换算成 token 数本地 Token 计数精确到今天/本周用了多少日历对齐本地口径与官方口径可能有出入存在高估风险所以 Nightshift 的策略是用官方百分比做预算决策权威用本地计数做校准与展示透明两套数据都显示出来让用户一眼看清差异。数据源一rate_limits JSONL权威百分比Codex CLI 会把每次会话记录到~/.codex/sessions/YYYY/MM/DD/*.jsonl。其中token_count事件内嵌了 OpenAI 返回的rate_limits对象{ rate_limits: { primary: { used_percent: 19.0, window_minutes: 300, resets_at: 1738800000 }, secondary: { used_percent: 31.0, window_minutes: 10080, resets_at: 1739145600 } } }三个字段各司其职primary5 小时滚动窗口window_minutes: 300对应每日维度secondary7 天滚动窗口window_minutes: 10080对应每周维度resets_at窗口重置的 Unix 时间戳用来计算还剩几天。Nightshift 解析时取最新一条rate_limits记录并缓存源码在 codex.go。这正是JSONL命名的由来——不靠 API纯靠读本地会话文件就能拿到权威数据。数据源二本地 Token 计数billable 口径同一个 JSONL 文件里还有total_token_usage事件记录了累计 token 数。Nightshift 的本地计数有两个关键细节1. 会话内取差值。total_token_usage是会话内累计值所以 Nightshift 用最后一个事件 − 第一个事件得到本次会话的真实贡献若计数器中途重置出现负值则回退到最后一次绝对值。逻辑见 codex.go。2. 只算 billable计费token。原始total_tokens包含cached_input_tokens而缓存 token不计入限流额度——实践中缓存可占输入的 95% 以上一个显示 6700 万 token 的会话真实计费可能只有 160 万。Nightshift 的公式是billable (input_tokens − cached_input_tokens) output_tokens reasoning_output_tokens按日期目录扫描会话文件即可高效汇总今天和近 7 天的用量详见 codex.go。双源如何协同daily / weekly 模式的选择逻辑真正体现双源设计的地方是GetUsedPercent的优先级策略codex.godaily 模式本地优先rate limit 兜底首选本地 token 计数今日 billable ÷ (周预算 / 7)。因为 5 小时滚动窗口并不能反映今天的真实用量本地无数据时回退到primary.used_percent5h 窗口百分比。weekly 模式rate limit 优先本地兜底首选secondary.used_percent7 天窗口百分比。这是 OpenAI 的实际计费口径包含服务端缓存、模型发布加成等本地无法感知的因素无 rate limit 数据时回退到本地周 token 数除以周预算。这个看似不对称的策略其实很讲究周级决策信官方避免被限流日级决策信本地口径对齐。完整决策流程由 budget.go 中的CalculateAllowance串起来可用额度 剩余预算 × max_percent − 预留(reserve_percent) − 白天预测用量Claude 侧的同构设计stats-cache 与 JSONL fallbackClaude 提供方没有 rate limit但用了同一套主源 fallback思想claude.go主源~/.claude/stats-cache.json的dailyModelTokens——这是 Claude Code 官方聚合的口径校准器也是按它训练的保证比例一致fallback直接扫描projects/下的会话 JSONL按 assistant 消息的时间戳累加input_tokens output_tokens。注意源码中的注释JSONL 累加值 ≠dailyModelTokensClaude Code 有自己的聚合逻辑所以 JSONL 路径只是近似。Nightshift 会记录本次数值来源stats-cache或jsonl-fallback并在nightshift budget输出中用[approx: JSONL fallback]明确标注避免用户误读精度。校准系统用双源数据反推真实的订阅预算订阅用户最大的痛点是官方根本不告诉你总预算是多少。Nightshift 的 Calibrator 用一个巧妙公式解决它inferred_budget 本地 token 数 ÷ (官方百分比 / 100)例如本地测得本周用了 50 万 billable tokenrate limit 显示已用 31%则推断周预算约为500K ÷ 0.31 ≈ 1.6M token。多次快照取中位数、用 MAD 过滤离群值并按样本数与方差给出 low / medium / high 置信度实现见 calibrator.go。没有足够样本时自动回退到配置文件中的weekly_tokens。这套推断逻辑的完整设计文档值得细读budget-inference-plan.md。读懂 nightshift budget 的输出 所有信息最终汇聚到nightshift budget命令Codex 部分会并排展示双源数据输出逻辑见 budget.go[codex] Mode: daily Weekly: 1.6M tokens (calibrated, high confidence, 7 samples) Daily: 228.6K tokens Used today: 43.4K (19.0%) Rate limit: 19% primary (5h) · 31% weekly ← 官方权威百分比 Local tokens: 451.9K today · 1.2M this week (billable) ← 本地实测 Nightshift: 185.1K remaining × 80% max 148.1K − 11.4K reserve 136.7K available两行数据若有明显差异通常说明存在服务端额外缓存、限流加权规则或窗口错位——这正是保留双源显示的价值既让决策基于官方口径又给你排查问题的抓手。更完整的格式说明见官方指南 codex-budget-tracking.md。小结双源机制的三条经验权威数据做决策实测数据做透明预算决策信服务商的 rate limit用户展示信本地计数各司其职fallback 必须标注近似值如 JSONL 扫描要打上approx标记让精度差异可感知口径差异是特性而非 bug缓存 token 的处理、滚动窗口与日历的错位都会造成两源数值不一致理解公式比迷信单一数字更重要。想深入了解运行全貌可以继续阅读 run-lifecycle 指南 与 provider-calibration 文档。赞分享【免费下载链接】nightshiftNightshift uses your leftover Claude / Codex budget to surprise you with useful PRs. Love them or leave them.项目地址https://gitcode.com/gh_mirrors/nightshi/nightshift点击查看免费下载相关推荐OpenHuman 成本追踪与预算强制模块解析JSONL 用量记账、每日/月度预算闸门与 7 天成本看板OpenHuman 成本追踪与预算强制模块解析JSONL 用量记账、每日/月度预算闸门与 7 天成本看板 OpenHuman 是一个面向 Mac、Window人工智能AI Agent多智能体Agent 编排工具调用桌面应用Pydantic Deep Agents成本追踪与预算控制实时统计token花费超预算立即停止运行Pydantic Deep Agents成本追踪与预算控制实时统计token花费超预算立即停止运行 pydantic deepagents 是一个开源、可自人工智能AI AgentAgent 框架多智能体工具调用Agent 沙箱交互助手MCP ClientsCLIGEPA 成本与 Token 追踪完全指南从 LM 累积计费到 max_reflection_cost 预算停止GEPA 成本与 Token 追踪完全指南从 LM 累积计费到 max_reflection_cost 预算停止 GEPA基于 AI 的反思式优化框架会自AI Agent提示工程模型优化上一篇NixOS 模块 State Revision 机制用 mkStateRevisionOption 管理不兼容变更下一篇gbrain v0.40.5 Federated Sync v2 升级指南并行同步、Push Webhook 与逐源健康监控创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考