AI News HubLIVE
站內改寫1 分鐘閱讀

Show HN: Baton – 知道你哪個AI編碼代理需要你

Baton 是一款 macOS 菜單欄工具,可以監控 Claude Code 和 Codex 等 AI 編碼代理,實時顯示等待你處理的會話數量。它利用 FSEvents 實現即時更新,並支持點擊跳轉到特定會話。

來源Hacker News AI作者: nkp007

Baton 是一款專為 macOS 設計的菜單欄應用,旨在幫助開發人員跟蹤 AI 編碼代理(如 Claude Code 和 Codex)的工作狀態。它通過 FSEvents 實時監控代理的會話文件,在菜單欄中顯示一個計數,告訴你當前有多少個代理正在等待你的回應。

安裝非常簡單,只需運行一行命令即可將 Baton 克隆到 ~/.baton 並設置自動啓動。更新和卸載也同樣方便。Baton 要求 macOS 系統以及 Python 3.9 或更高版本,推薦 3.11 以上以啓用完整的 Codex 自動化跟蹤功能。

Baton 的核心功能包括:實時菜單欄計數、按工具(Claude Code 或 Codex)和狀態(等待中、工作中、已完成)分組顯示會話、點擊即可跳轉到對應會話(Claude Code 會話會聚焦到 Terminal 標籤頁,Codex 則會通過 deep link 打開)、以及可選的橫幅通知。對於 Claude Code,Baton 會識別出最後一條消息為助手回覆的空閒會話標記為“等待”;對於 Codex,則直接使用其自身的藍點未讀狀態。

此外,Baton 還提供了一個獨立的 HTML 儀表盤(通過 server.py 啓動),用於更豐富的多標籤視圖。Baton 的工作原理是基於多個“收集器”來標準化數據,所有來源的狀態都統一為特定的字段格式,使得 UI 可以無縫處理新增的來源。目前支持的來源包括 Claude Code 會話文件、Codex 線程索引和 Codex 自動化任務。

Baton 的侷限性在於:點擊跳轉僅支持 Terminal.app,對於 iTerm 或 Ghostty 等其他終端,點擊 Claude 會話會打開儀表盤而不是直接跳轉;Claude Code 沒有原生的已讀/未讀標誌,Baton 使用了一種基於查看行為的方式來標記已讀;此外,Baton 僅適用於 macOS。

在安全與隱私方面,Baton 完全本地運行,只讀取 ~/.claude 和 ~/.codex 目錄中的文件,從不修改任何狀態,也不會將任何數據發送到外部。儀表盤服務器僅綁定到 127.0.0.1,確保安全。

Baton 由 Python 編寫,依賴 rumps 和 pyobjc-framework-FSEvents,儀表盤則使用純 HTML/CSS/JS。項目採用 MIT 許可證。