graykode/abtop

GitHub: graykode/abtop

abtop:AI编码代理实时监控工具

Stars: 2546 | Forks: 241

# abtop **类似于 [btop](https://github.com/aristocratos/btop),但为您的 AI 编码代理而设计。** 一目了然地查看每个 Claude Code、Codex CLI 和 OpenCode 会话——令牌使用情况、上下文窗口 %、速率限制、子进程、开放端口等等。 Claude Code、Codex CLI 和 OpenCode 会话通过本地进程/文件状态发现,因此支持 macOS、Linux 和 Windows 上的多个活动配置文件。 ![demo](https://raw.githubusercontent.com/graykode/abtop/main/assets/demo.gif) ## 为什么 - 在多个项目中运行 3 个以上的代理?在一个屏幕上查看它们所有。 - 超出速率限制?实时查看您的配额。 - 代理启动了一个服务器却忘记关闭?孤儿端口检测。 - 上下文窗口填满?每个会话的 % 条带和警告。 所有内容只读。无需 API 密钥。无需身份验证。 ## 安装 ### macOS / Linux ``` curl --proto '=https' --tlsv1.2 -LsSf https://github.com/graykode/abtop/releases/latest/download/abtop-installer.sh | sh ``` ### Cargo ``` cargo install abtop ``` ### Windows 原生支持——无需 WSL。使用 `sysinfo` 获取进程信息,使用 `netstat -ano` 获取监听端口。 ``` powershell -c "irm https://github.com/graykode/abtop/releases/latest/download/abtop-installer.ps1 | iex" ``` 或者从任何具有 Git 的 PATH 的终端使用 `cargo install abtop`。Claude Code 配置将从 `%USERPROFILE%\.claude` 自动解析。 ### 其他 所有平台的预构建二进制文件可在 [GitHub Releases](https://github.com/graykode/abtop/releases) 页面上找到。 ## 使用 ``` abtop # Launch TUI abtop --once # Print snapshot and exit abtop --setup # Install rate limit collection hook abtop --theme dracula # Launch with a specific theme ``` 推荐终端大小:**120x40** 或更大。最小 80x24——当尺寸较小时,面板会优雅地隐藏。 ### tmux abtop 可以独立运行,但在 tmux 内运行可以解锁会话跳转——按 `Enter` 可直接切换到运行该代理的面板。 ``` tmux new -s work # pane 0: abtop # pane 1: claude (project A) # pane 2: claude (project B) # → Enter on a session in abtop jumps to its pane ``` ## 支持的代理 | 功能 | Claude Code | Codex CLI | OpenCode | | ----------------- | :---------: | :-------: | :------: | | 会话发现 | ✅ | ✅ | ✅ | | 令牌跟踪 | ✅ | ✅ | ✅ | | 上下文窗口 % | ✅ | ✅ | ❌ | | 状态检测 | ✅ | ✅ | ✅ | | 当前任务 | ✅ | ✅ | ❌ | | 速率限制 | ✅ | ✅ | ❌ | | Git 状态 | ✅ | ✅ | ✅ | | 子进程 / 端口 | ✅ | ✅ | ✅ | | 子代理 | ✅ | ❌ | ❌ | | 内存状态 | ✅ | ❌ | ❌ | OpenCode 支持读取位于 `~/.local/share/opencode/opencode.db` 的本地 SQLite 数据库,并需要在 `PATH` 中有 `sqlite3`。 ## 主题 12 个内置主题,包括 4 个色盲友好选项(`high-contrast`、`protanopia`、`deuteranopia`、`tritanopia`)。按 `t` 在运行时循环,或使用 `--theme ` 启动。您的选择将保存到 `~/.config/abtop/config.toml`。 | btop(默认) | dracula | catppuccin | |:-:|:-:|:-:| | ![btop](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b9a8be3a73101344.png) | ![dracula](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b6c7458195101400.png) | ![catppuccin](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/7ead9c8f83101415.png) | | tokyo-night | gruvbox | nord | |:-:|:-:|:-:| | ![tokyo-night](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b54e94361b101428.png) | ![gruvbox](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/0c5fa036d4101440.png) | ![nord](https://raw.githubusercontent.com/graykode/abtop/main/assets/themes/nord.png) | 色盲友好主题: | high-contrast | protanopia | |:-:|:-:| | ![high-contrast](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/d4c334e40a101529.png) | ![protanopia](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/f55e060c4f101537.png) | | deuteranopia | tritanopia | |:-:|:-:| | ![deuteranopia](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/39f332143e101545.png) | ![tritanopia](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/aca19abda6101553.png) | 明亮的主题(`light` — Solarized cream,`white` — GitHub-style pure white)适用于明亮的终端: | light | white | |:-:|:-:| | ![light](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b0743becda101601.png) | ![white](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/047b909763101617.png) | ## 配置 `~/.config/abtop/config.toml` 支持: ``` theme = "btop" # Hide specific agent CLIs from the TUI (case-insensitive). # Useful if you only use one agent and want a cleaner view. hidden_agents = ["codex"] # Additional Claude Code profile roots to scan. # abtop also auto-discovers ~/.claude and ~/.claude-* roots that contain # both sessions/ and projects/. claude_config_dirs = ["~/.claude-personal", "~/.claude-work-team"] # UI language. Omit or leave empty to auto-detect from LANG. language = "zh" ``` ### 支持的语言 | 代码 | 语言 | | ---- | ------------------- | | `en` | 英语(默认) | | `zh` | 简体中文 | 当 `language` 未设置时,abtop 会从 `LANG` 自动检测——任何以 `zh` 开头的值将切换到简体中文,否则为英语。 ## 快捷键绑定 | 键 | 操作 | | ------------------ | ------------------------------------ | | `↑`/`↓` 或 `k`/`j` | 选择会话 | | `Enter` | 跳转到会话终端(仅限 tmux) | | `x` | 杀死选定的会话 | | `X` | 杀死所有孤儿端口 | | `t` | 循环主题 | | `1`–`5` | 切换面板可见性 | | `Esc` | 打开/关闭配置页面 | | `q` | 退出 | | `r` | 强制刷新 | ## 隐私 abtop 只读取本地文件和本地进程/打开文件元数据。无需 API 密钥,无需身份验证。工具名称和文件路径在 UI 中显示,但文件内容和提示文本永远不会显示。会话摘要通过 `claude --print` 生成,它自己进行 API 调用——这是唯一的间接网络使用。 ## 致谢 非常感谢 [@tbouquet](https://github.com/tbouquet) 为 abtop 的近期发展做出了巨大贡献——主题、配置覆盖和面板切换、会话过滤、子代理树视图、带有压缩检测的上下文窗口仪表盘,以及一路上的持续修复和安全加固。 ## 许可证 MIT
标签:AI 编程, Cargo, Claude Code, Codex CLI, Git, OpenCode, TUI 应用, WSL, 主题切换, 代码分析, 代码监控, 凭证管理, 可视化界面, 孤儿端口检测, 安装脚本, 性能分析, 日志审计, 端口监控, 系统资源, 终端工具, 资源管理, 通知系统