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 上的多个活动配置文件。

## 为什么
- 在多个项目中运行 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 |
|:-:|:-:|:-:|
|  |  |  |
| tokyo-night | gruvbox | nord |
|:-:|:-:|:-:|
|  |  |  |
色盲友好主题:
| high-contrast | protanopia |
|:-:|:-:|
|  |  |
| deuteranopia | tritanopia |
|:-:|:-:|
|  |  |
明亮的主题(`light` — Solarized cream,`white` — GitHub-style pure white)适用于明亮的终端:
| light | white |
|:-:|:-:|
|  |  |
## 配置
`~/.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, 主题切换, 代码分析, 代码监控, 凭证管理, 可视化界面, 孤儿端口检测, 安装脚本, 性能分析, 日志审计, 端口监控, 系统资源, 终端工具, 资源管理, 通知系统