苹果迷苹果迷  2026-09-07 22:58 苹果家园 隐藏边栏 |   抢沙发  0 
文章评分 0 次,平均分 0.0
导语: Agent Battery 是一款把 Claude Code / Codex 的剩余用量额度(5 小时 + 周窗口)显示成 macOS 菜单栏电池图标的轻量开源工具,完全本地读文件,零网络请求。提供三种显示模式(百分比 / 电池 / 工具名)与并列展示,v1.2.6 支持 macOS 14.0+。

Agent Battery 之前,Claude Code / Codex 的额度焦虑大概是这么个节奏:用着用着突然报「rate limit exceeded」,回头看才发现 5 小时窗口已经在几小时前悄悄耗尽。Claude Code 的 5 小时滚动窗口加上周窗口,Codex 类似——额度是分时段的,「还有多少」这件事如果不在屏幕上常驻,几乎没人会主动去看。

Agent Battery 做的事情就一件:把这两个 AI 编码工具的剩余额度显示成菜单栏上的电池图标。点开看是带 5 小时 + 周剩余的对比图和重置时间。GitHub 47★(截至 2026-09-07),README 自报 MIT,但仓库的 LICENSE 文件目前 GitHub API 没检测到(license: None)——这一点值得提醒:自报不等于许可证文本存在,商用前最好直接联系作者确认或等作者补 LICENSE 文件。

Agent Battery 中文界面截图:顶部是 macOS 菜单栏,Agent Battery 显示为电池样式「56% / 78%」;弹窗里「5 小时剩余」和「每周剩余」两条折线图,橙色为 Claude Code、蓝色为 Codex,对比一目了然,底部是「设置」和「退出」按钮

核心设计:完全本地,零网络

这是它和云端 Dashboard / 第三方数据聚合站的根本区别,README 原话:

The app intentionally avoids network requests and login state. All usage data comes from local files.

它从来不连任何后端、不需要你的账号或 API key,也不发任何数据出去。只读本机文件

  • Claude Code:依赖 CLI 的 `statusLine` hook,把包含 `rate_limits` 的 JSON 写到本机(一次性设置,App 自己写两个脚本到 ~/.agent-battery/,备份并更新 ~/.claude/settings.json)。
  • Codex:直接读 ~/.codex/sessions/<date>/*.jsonl 里的 event_msg.token_count.rate_limits 事件,零配置。读取策略是按修改时间倒序遍历(最多 80 个文件),每个文件只倒着读最后 1MB,找到最新的额度事件就停。

两路数据都汇总成统一的 UsageSnapshot,UI 状态机四态:available / unavailable / stale / error——菜单栏颜色、弹窗提示、设置可见性都跟着这个状态走。

菜单栏显示:三种模式 + 并列模式

Settings 里可以切换菜单栏的呈现:

  • 百分比:直接显示 8% / 12%,节省空间。
  • 电池原汁原味把剩余额度画成 macOS 风格电池,8% 时是空电池(带低电红色边框),30% 橙色低电,80% 满电——一眼能看出还能用多久。
  • 工具名Claude 8% / Codex 12%,双工具时也清楚是谁的。

主菜单栏上的「显示」还分四档:

  • 并列:Claude Code + Codex 同时显示(两个独立电池),适合两套都用的用户。
  • 最少:只显示 额度更紧张的那个,避免菜单栏太长。
  • Claude / Codex:单工具优先。

另外两档控制值得点名:

  • 显示百分比:在电池图标旁加数字标注,跨工具对比时方便。
  • 按用量着色:默认开。设置里有三档阈值滑杆(20 红色、40 橙色、100 灰色),低电时颜色警示。

弹窗里能看完整对比:5 小时剩余 + 周剩余两条折线图,同时显示 Claude Code 和 Codex 两条曲线,每个点都标当前百分比和重置时间。点「设置」和「退出」按钮在底部。

Agent Battery 设置窗口:「菜单栏显示」分组,包含「显示模式」(百分比 / 电池 / 工具名)、「显示」(并列 / 最少 / Claude / Codex)、「显示百分比」「按用量着色」开关和三档颜色阈值滑杆(20 红色 / 40 橙色 / 100 灰色)、「显示每周用量」开关

一次设置,Claude Code 就接上了

Codex 用户基本「开箱即用」——只要 ~/.codex/sessions/ 下有 rollout 文件,App 直接读就行。

Claude Code 需要一次设置,App 自己会做:

  1. 点菜单栏图标 → Settings → 「Claude Code Settings」 → 点「Setup」。
  2. App 会:把两个脚本(collector + wrapper)写到 ~/.agent-battery/;备份并改写 ~/.claude/settings.json,把 statusLine.command 指到 wrapper 脚本。
  3. wrapper 的工作:把 Claude Code 通过 stdin 发来的 JSON 转给 collector(Python 脚本,原子写到 ~/.agent-battery/claude-usage.json);如果用户原本有自定义 statusLine 命令,wrapper 会原样转发一份 stdin 给它,保持原行为——这是非常克制的设计,不会因为装这个工具破坏已有的 statusLine。
  4. 在任何目录跑一次 claude,statusLine 触发后,弹窗里就能看到 5 小时和周剩余。

这意味着 Claude Code 用户的 ~/.claude/settings.json 会被 App 改写——但 App 自己会先备份。如果想彻底回退,删 wrapper / 还原 settings.json 即可。

自动刷新、启动登录、其它细节

  • 自动刷新默认 30 秒一次,可在设置里改成 1 / 3 / 5 分钟——30 秒是 Claude Code statusLine 触发的节奏,再短也没必要。
  • Launch at login:可在设置里勾,开机即在菜单栏。
  • 界面语种:自带英 / 中两套本地化,Shared/Localization/xcstrings;中文翻译走 l10n/*.yamlmake l10n 合并。
  • 状态机驱动 UIavailable / unavailable / stale / error 四态决定菜单栏文字 / 颜色 / 弹窗提示 / 设置可见性。
  • v1.2.6(2026-07-14,最新发布)专门加了一条:Codex 不再下发 5 小时额度时,回退显示周额度,避免菜单栏一直显示 --%

需要留意的几点

  • macOS 14.0+ 必需:从源码构建需要当前版本的 Xcode;DMG 装的也是 macOS 14+。
  • DMG 文件名带 -unsigned:当前构建是 universal(Intel + Apple Silicon)但未签名未公证,首次启动会被 Gatekeeper 拦。官方说明:到「系统设置 → 隐私与安全性」点「仍要打开」。DMG 旁附 .sha256 校验文件。
  • README 写 MIT,但仓库没有 LICENSE 文件(GitHub API 返回 license: None)。目前是作者以 MIT 态度授权,但没有正式 LICENSE 文本——自用、提交 issue / PR 没问题;商用 fork、嵌入分发、二次包装前最好直接联系作者补一份正式 LICENSE
  • 数据完全本地,零网络:但相应代价是——你换 Mac / 重装系统后,~/.codex/sessions/~/.agent-battery/ 是迁移目标;别忘了拷贝。
  • ~/.claude/settings.json:装 App 后 settings.json 会被 wrapper 替换;卸载后记得手动恢复(或用 App 提供的卸载逻辑)。
  • 最近一次更新是 v1.2.6 / 2026-07-14(截至 2026-09-07 已过 ~2 个月),目前不是弃坑节奏但也没有激进的迭代;如果将来 Claude Code 或 Codex 改了 statusLine / rollout 协议,App 跟进的滞后可能成为问题。

如果你像我一样同时挂着 Claude Code 和 Codex,Agent Battery 的并列模式几乎就是「看一眼菜单栏就知道能不能继续 hard prompt」的最短路径。它做的事情非常窄(只读两个本地文件,菜单栏显示一个数),但对重度 AI 编码用户来说省下的焦虑是实在的。菜单栏的 Mac 工具生态里,类似做法的还有本站之前介绍的 AirBattery for Mac(iPhone / Watch / AirPods 跨设备电量)、Juicy for Mac(Mac 电量健康 + 提醒)和 Vorssaint(菜单栏上塞一整套系统工具),都是「Mac 菜单栏做小而美」这一类的代表。Claude 这边在 Mac 上的玩法可以看 Claude 上车 CarPlay

GitHub 仓库github.com/geebos/agent-battery
下载 DMGReleases(含 agent-battery-*.dmg + .sha256

声明:本文来自投稿,不代表苹果家园立场,版权归原作者所有,欢迎分享本文,转载请保留出处!

发表评论

表情 格式 链接 私密 签到

友情链接

    扫一扫二维码分享