Free · Open Source · Apache-2.0

谁在跑、谁在等你,一眼看完

六家 AI 编码工具的状态放在同一块菜单栏面板上;双击一行,人就回到那条会话。

Agent Ping 读的是 Qoder、Claude Code、Codex、ZCode、WorkBuddy、OpenCode 已经写在你机器上的日志与本地库:谁在跑、谁在排队、谁报错停了、谁正等你回答、哪家的券能领。然后在你没看屏幕的时候提醒一声,把那一条递到你面前。

零网络调用:整个二进制没有 connect / socket 的未定义符号,nm -u 自己就能查。额度不联网查,也不碰钥匙串。

  • 6
    家工具同屏:Qoder CLI · Claude Code · Codex · ZCode · WorkBuddy · OpenCode
  • 0
    次网络调用 · 0 个账号 · 0 行遥测
  • 6
    种界面语言开箱即用(zh · en · de · it · ja · ko)
  • 2
    个平台共用一套面板与判定:macOS 13+ 与 Linux(X11)
Agent Ping 三屏轮播:Sessions 总览、Usage & limits 额度、Rewards 权益
三张屏都由本仓库编出的同一个二进制离屏渲染(AGENTPING_FIXTURE=1),不是摆拍;右上角「样例数据」是产品自己打的标签——那些数字不来自任何真机器。

Why Agent Ping

四件同类今天不做的事

券到账了,面板上就有

WorkBuddy 的 [Checkin]、Qoder 的 [Campaign]、ZCode 今天的日志——三家自己写进磁盘的领取状态放在同一屏,能领的排最前,卡面带面值、连签天数和本期到期倒计时。点整张卡只把那家 App 唤到前台,并明写「领取要在那家 App 里自己点」:这一层绝不替你按领取。

额度只从本机日志读

5 小时与本周剩余、何时重置,全部取自各家自己写的字段(比如 Codex 运行中落的 rate_limits 事件)。不调计费 API、不要 cookie、不进钥匙串;读数超过 10 分钟就退出首屏,挪到额度屏并标上 updated HH:MM——「我们没刷新」和「那家没写」是两个答案。

每个数字都写清算法

「Turn 77」是数 type 为 user 且不带 toolUseResult 的记录条数;「41.4 Credits」是 Qoder 自己的计数字段,不是钱,没有这个字段的家贡献 0。源里没有的字段整格不画,不填 0,也不折算成美元——面板上直接印着口径。

双击才跳,跳了就落到那条会话

误点一次只当选中,0.5 秒内同一行的第二下才触发跳转;macOS 走那家的 URL scheme、AppleScript,或者驱动它自己的 ⌘K 面板。卡片不随刷新移动——每条会话第一次被看见时拿到固定序号,所以不会从光标底下跑掉。

同类对比 · 2026-10-30 现读

这个品类里已经站着谁

下面每一格都抄自对方自己的 README 或官网原文,星数与最后提交日期取自 2026-10-30 的 GitHub API。原文没写的格子写「未提」——那不是短板,那是没取证。

定位主张:把「轮到谁」这件事一次看全:状态、额度、券,全部只从你自己磁盘上已经存在的字段里读出来。

Agent Ping(本项目)

★ —

macOS 13+ 与 Linux(X11)· C++/Dear ImGui 菜单栏浮层 · 仓库内 Formula 源码编译

覆盖哪些工具:
Qoder CLI · Claude Code · Codex · ZCode · WorkBuddy · OpenCode
能不能回到那条会话:
双击一行落到那条会话(macOS);Linux 侧目前只到唤起 App 或打开工作目录
额度从哪来:
只读本机日志,并标读数多旧
要不要联网:
不联网:nm -u 里没有 connect / socket / getaddrinfo,也没有 HTTP 客户端

peon-ping

★ 5,096

macOS · Linux · Windows · WSL2 · SSH · 语音包与横幅

覆盖哪些工具:
Claude Code、Amp、Copilot、Codex、Grok Build、Cursor、OpenCode、Kilo、Kiro、Kimi、Windsurf、Antigravity 等 20+,以及任何 MCP client
能不能回到那条会话:
README 未提会话级跳转(它给的是语音台词与横幅)
额度从哪来:
README 未提
要不要联网:
装声音包时要从 registry 下载

CodeIsland

★ 2,528

macOS 14+ · 刘海里的状态条 · DMG + iPhone/Watch 伴生 App

覆盖哪些工具:
自称 30+,含 Claude Code、Codex、Cursor、Gemini CLI、Qoder、ZCode、WorkBuddy、OpenCode
能不能回到那条会话:
「click once to jump to the exact terminal tab」,并能在岛上直接回答审批与提问
额度从哪来:
用量统计 + 可选的 plan limits(5 小时与每周)
要不要联网:
Sparkle 更新检查;开 plan limits 会带着你的登录态请求 api.anthropic.com;可配 webhook 转发

claude-status-bar

★ 722

macOS · 菜单栏图标 + 下拉列表 · 靠 Claude Code 的 hooks

覆盖哪些工具:
Claude Code 一家
能不能回到那条会话:
「Precise per-tab focus is in progress」(README 里挂着 issue #19)
额度从哪来:
README 未提
要不要联网:
无服务端;自身无状态,Claude Code 一开就自启、没有会话就自退

lockpaw

★ 168

macOS · 快捷键盖住屏幕的锁屏层

覆盖哪些工具:
Claude Code、Codex、Gemini 等(README 列到这几家)
能不能回到那条会话:
不做跳转:锁屏上每家一行,写谁在等你
额度从哪来:
README 未提
要不要联网:
README 未提

muster

★ 72

macOS 13+ · 菜单栏玻璃浮层 · DMG + brew cask

覆盖哪些工具:
Claude Code、Codex、Cursor
能不能回到那条会话:
不跳转,就地回答:⌥↓ 看它为什么问,⌥↩ 逐条答
额度从哪来:
README 未提
要不要联网:
README 未提

Agent-Signal-Bar

★ 71

macOS · 红绿灯 + 桌面悬浮灯 · ad-hoc 签名未公证

覆盖哪些工具:
以 Codex 为主(Desktop、CLI/TUI、VS Code、Xcode、IDEA),其他走 hooks / 自带 CLI / JSON 事件
能不能回到那条会话:
README 未提会话级跳转
额度从哪来:
额度与成本视图;可选功能直连 OpenAI,可用本机 Codex 凭据或 chatgpt.com 浏览器会话数据,凭据存进 macOS 钥匙串
要不要联网:
有联网取额度的路径

your-turn

★ 5

macOS · 菜单栏 · 最后一次提交 2026-02-20

覆盖哪些工具:
Claude Code 一家
能不能回到那条会话:
「brings the right terminal session to front with one click」
额度从哪来:
README 未提
要不要联网:
README 未提

读数时间 2026-10-30。星数与 pushed_at 来自 https://api.github.com/repos/<owner>/<repo>,其余引自各仓库 README 原文;「未提」表示那份文档里没有这句话,不代表该功能不存在。

空位在哪

权益/券这一格,上面七家的 README 全文检索 reward、claim、check-in 三个词零命中(2026-10-30)。额度这一格有两家要做,但都要联网或要凭据;只从本机日志读、并且把读数新鲜度印在卡上的,目前没有第二家。

我们不如人的三处

覆盖:CodeIsland 自称 30+、peon-ping 20+,我们只有六家。就地回答:CodeIsland 与 muster 能在提示上直接答复,我们只把原文和选项显示出来、再把你送回那条会话。远程:CodeIsland 支持 tmux、zellij 与 SSH 主机,我们没有。这三条是产品决定,不是文案能补的。

为什么还值得装

一次扫描同时给出六家的状态、额度、券;不联网、不装后台守护;默认不写你的任何配置文件——只有你按下 Connect(或自己跑 Tools/install_hook.sh)才合并一条 hook,且先落一份带时间戳的备份。

为谁而做

同时开着好几家 Agent、靠切窗口确认「是不是轮到我了」的人;不希望额度数字来自第三方 API 的人;以及在 Linux 桌面上用 Codex CLI / OpenCode 的人——上面那几家多数只有 macOS。

What you get

一个窗口,每屏都来自同一轮扫描

顶部那条工具栏按家筛选,下面每一屏都是同一轮扫描的另一个视角:谁在等你、还剩多少额度、哪张券要过期、今天完成了什么。

01

Sessions 总览

一张在跑的卡(轮次、子 Agent、本会话 credits)、额度预览、按最久等待排序的「Needs you」队列,页脚是今天完成的条数与逐小时分布。

02

Usage & limits

今天的 token 总数,外加每家一张卡:5 小时与本周剩余、何时重置、这条读数几点取的。WorkBuddy 刷新失败时明写「Last reading · not refreshed」。

03

Rewards 权益

三家的券卡:能领的排最前,面值、连签天数、本期到期倒计时都印在卡上;只知道什么时候出现过、不知道什么时候到期的那家,进度轨画成虚线。

04

Detail 详情

任意一行按 ⓘ:等你回答的原文与它的选项,或者失败的那条命令原文。

05

History 历史

今天完成的会话,新的在前,12 条一页,往下滚就续。

06

Tools 六路源

本机装了哪几家采集器、这一轮各读到什么,逐条摊开——某家一片空白时,你能看出是没装还是没写。

07

提醒层

每个 (agent, session) 只提醒一次,账本落盘所以重启不重刷;每轮最多发 4 条,其余留到后面几轮而不是丢掉;免打扰只压送达、不清账本。券到账走同一账本的另一个 key,横幅常驻,不点不收。

08

两个平台、六种语言

macOS 用 NSStatusItem 与系统通知中心,Linux 用 StatusNotifierItem(D-Bus)与 notify-send;面板、扫描层、提醒判定是同一份代码。界面六语,字体按字号现场烘焙,中文不是外挂。

09

口径印在屏上

每个数字旁边都有它的定义与来源;托盘上「2 · 5」这种三位计数按固定顺序排,空位不画,哪一格是什么由悬停说明。

Install

装法三种,都不花钱

macOS 13+ 用仓库里的 Homebrew Formula;Linux(Debian 12 实测)只有源码构建这一条,没有对应的 formula;Windows 暂不支持。没有预编译包可下载。

Homebrew(macOS)

Formula 就住在这个仓库的 Formula/agent-ping.rb,按 v0.1.1 标签的源码现场编译。第一次装需要 Xcode 命令行工具,Apple 芯片上约一分钟。macOS 26 上若 brew 停在 Error: Xcode alone is not sufficient,那是 Homebrew 自己的准入检查,跑一次 xcode-select --install 再重试。

macOS 源码构建

依赖 brew install cmake ninja glfw freetype;产出 build/AgentPing-cpp.app,再跑一次 Tools/make_bundle.sh 打包。

Linux 源码构建

Debian 12 包名:cmake ninja-build libglfw3-dev libfreetype6-dev libsqlite3-dev libgl1-mesa-dev libdbus-1-dev。缺 SQLite3 会跳过 ZCode、WorkBuddy、OpenCode 并在构建时警告。

brew trust 只需要跑一次:这是第三方 tap,Homebrew 在你没点头之前不肯按短名加载它的 formula。不跑这句,就只有 dreamofxm/agent-ping/agent-ping 这个全名可用,而 brew upgrade agent-ping 会直接拒绝执行。装好后 agent-ping 是启动器,App 住在 Homebrew 的 opt 目录而不是 /Applications——Homebrew 在沙箱里编译,写不进 /Applications。

FAQ

常见疑问

Claude Code 自己有通知钩子和 Remote Control,为什么还要这个?

那些是单家的:hooks 只报 Claude Code,Remote Control 要经 claude.ai 那一侧把推送打到手机。Agent Ping 是一次看六家,其中 ZCode、WorkBuddy、OpenCode 根本没有钩子通道,只能读它们自己的本地库。Codex 的 osc9 提醒只在终端聚焦时才有效。跳转落点是这条链的最后一环:响一声之后,你还得自己找到那条会话。

它会动我的配置文件吗?

默认不动。只有你在 Connect 屏按下按钮,或者自己跑 Tools/install_hook.sh install claude|qoder 时才写,顺序是:先在自己的数据目录里原子写出 hook.sh(0755),再把目标配置备份成 <config>.bak-agentping-<YYYYmmdd-HHMMSS>,最后往 hooks.Notification 里按 matcher 合并一条并原子写回。Codex 的 notify 槽位只检测:如果它属于别的工具,面板会说明并停手,不碰那个文件。钩子本身只把 CLI 的 JSON 载荷拷进收件箱,从不替你回答,收件箱写不进也照样 exit 0——钩子的退出码会被 CLI 读成一个决定。

为什么没有下载好的二进制?

这个仓库不发预编译包:Formula 从 v0.1.1 标签的源码现场编译。好处是任何人用同一条命令就能复现你机器上那个 App,坏处是第一次装要等约一分钟编译,而且需要 Xcode 命令行工具。

额度数字是不是猜的?

不是猜的,也不是查来的:只读各家自己写进本地日志的字段,例如 Codex 运行中落的 rate_limits 事件。所以工具闲置时读数会旧——超过 10 分钟就退出首屏、挪到额度屏并标 updated HH:MM。没有这个字段的家,那一格整格不画。

它会替我点领取吗?

不会。权益屏是只读的,点卡片只把那家 App 唤到前台,屏幕上明写「领取要在那家 App 里自己点」。ZCode 的领取状态在它的服务端响应里,本地日志零信号,所以那张卡永远写 Unknown——这是这条路的天花板,不是加载失败。

支持哪些工具?Linux 上到什么程度?

六家:Qoder CLI、Claude Code、Codex、ZCode、WorkBuddy、OpenCode,后三家需要带 SQLite3 的构建。Linux 走 X11:横幅用 notify-send,声音按 paplay / pw-play / ffplay / canberra-gtk-play / aplay / cxplay 里装了哪个来选,装了 libdbus-1-dev 才是真的 StatusNotifierItem 托盘项。这两条要说清楚:Linux 侧的验证是在 Debian 12 容器里完成的,没跑过真 KDE/GNOME 桌面;横幅点击在 Linux 上不跳会话,也没有 ⌘K 面板驱动。

怎么确认它真的不联网?

对你自己编出来的二进制跑 nm -u 看未定义符号:没有 connect、sendto、getaddrinfo、socket,也没有任何 HTTP 客户端。Linux 构建里唯一带 connect 字样的符号是 dbus_connection_*,那是本机 IPC。它也不读钥匙串、不读环境变量里的密钥、不读 shell 历史。

会话标题会不会被上传?

没有地方可传:没有任何网络路径。但标题会显示在屏幕上,提醒横幅引用的就是标题原文,所以请把这块面板当成你自己的终端回滚缓冲区来看待。

Star & Feedback

觉得有用?留一颗星

Agent Ping 是独立维护的开源项目。如果它帮你少切了几次窗口,欢迎去 GitHub 点一颗星——星多了,下一个同时开着六家 Agent、不知道该看哪一边的人,才更容易搜到它。

意见也走 Issue:缺哪家工具、哪个数字口径看不懂、跳转落点不对,中英文都可以,每一条都会读。已知缺口先查 README 的 Known limitations,那里面每条都写了成因。

它读哪些文件、写哪些文件、什么时候写,README 里有全表;不放心可以自己对一个编出来的二进制跑 nm -u。