我同时跑了 5 个 Claude Code,差点把 API 额度榨干——直到我发现了 abtop 这个开源库,真的太能打了。

摘要: 上周在赶一个项目,同时开了三个 Claude Code 在跑。 一个在重构后端接口,一个在写测试,另一个在帮我处理文档。听起来很爽对吗?直到我发现:速率限制悄悄触发了,某个 Agent 跑出来一个 8080 端口然后挂在那里没人管,加上上下文窗口快撑爆了——而我完全不知道任何一件事在什么时候发生的。...

上周在赶一个项目,同时开了三个 Claude Code 在跑。
一个在重构后端接口,一个在写测试,另一个在帮我处理文档。听起来很爽对吗?直到我发现:速率限制悄悄触发了,某个 Agent 跑出来一个 8080 端口然后挂在那里没人管,加上上下文窗口快撑爆了——而我完全不知道任何一件事在什么时候发生的。
当时我的感受就是:我需要一个能看到所有 Agent 状态的控制台。
然后我找到了 abtop

abtop 是什么?

一句话:它就是 htop,但专门为 AI 编程 Agent 设计的。
项目地址:https://github.com/graykode/abtop
用 Rust 写的,基于 ratatui 构建 TUI 界面,完全在终端里跑。打开之后,你能实时看到:

  • 每个 Claude Code / Codex CLI 会话的状态
  • Token 用量和上下文窗口占用率(有进度条和百分比)
  • API 速率限制情况
  • Agent 当前在做什么任务
  • Agent 产生的子进程和打开的端口
  • 所在项目的 Git 状态

就是一张 AI Agent 的实时看板。

解决了哪些真实的痛点

痛点一:同时跑多个 Agent,不知道谁在干什么
现在越来越多人开始并行跑 Claude Code 处理不同的任务。问题是你得不停地切来切去看状态——abtop 把所有会话集中到一个屏幕,一目了然。
痛点二:不知道 API 快限速了
速率限制这件事最烦,踩到之后才知道,已经晚了。abtop 实时显示你的 quota 消耗情况,配合 --setup 命令可以安装速率限制 hook,变成提前感知。
痛点三:Agent 起了个服务然后忘了关
这个我真踩过坑。Agent 在调试中跑了一个本地服务,任务完成后进程还在那里占着端口。abtop 有孤儿端口检测功能,按 X 一键清理。
痛点四:上下文窗口快撑满了不知道
上下文窗口满了之后 Claude Code 的表现会明显变差,但你往往不知道什么时候会满。abtop 的每个会话都有上下文占用百分比的进度条,快满时会有视觉提示。

关键特性

支持的 Agent

功能 Claude Code Codex CLI
会话发现
Token 追踪
上下文窗口 %
状态检测
当前任务
速率限制
Git 状态
子进程/端口
子 Agent
Memory 状态

Claude Code 的支持更完整,Codex CLI 也覆盖了核心功能。

完全只读,无需 API Key

这一点很重要。abtop 只读取本地文件和进程信息,不需要任何 API Key,不需要鉴权。Tool 名称和文件路径会显示在 UI 里,但 prompt 文本和文件内容不会被展示。
唯一会发出网络请求的是 claude --print 生成 session 摘要,这是 Claude 自己的 API 调用,不是 abtop 的。

tmux 集成:直接跳转到对应 Agent

这个功能很实用。如果你在 tmux 里跑各个 Agent,在 abtop 里选中某个会话按 Enter,可以直接跳转到那个 pane

tmux new -s work
# pane 0: abtop
# pane 1: claude(项目 A)
# pane 2: claude(项目 B)
# → 在 abtop 里按 Enter,直接跳过去

我现在的工作流就是左边开 abtop 监控,右边各个 pane 跑 Agent,切换成本降了很多。

支持的主题

btop (default)

dracula

catppuccin

tokyo-night

gruvbox

nord

安装方法

macOS / Linux(一行安装)

curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/graykode/abtop/releases/latest/download/abtop-installer.sh | sh

Homebrew

brew install graykode/tap/abtop

Cargo(如果你有 Rust 环境)

cargo install abtop

Windows

原生 Windows 不支持(依赖 pslsof 等 Unix 工具),需要通过 WSL:

wsl --install
# 进入 WSL 后:
curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/graykode/abtop/releases/latest/download/abtop-installer.sh | sh
abtop

基本使用

abtop              # 启动 TUI 看板
abtop --once       # 打印一次快照然后退出
abtop --setup      # 安装速率限制收集 hook
abtop --theme dracula  # 指定主题启动

推荐终端窗口大小:120×40 或更大。最小支持 80×24,面板会自适应隐藏。

快捷键

按键 功能
 /  或 k / j 选择会话
Enter 跳转到该会话终端(需要 tmux)
x 结束选中会话
X 清除所有孤儿端口
t 循环切换主题
15 切换面板显示
Esc 打开/关闭配置页
r 强制刷新
q 退出

我的使用体会

说实话,abtop 解决的是一个我之前靠「感觉」在管理的问题。
以前跑多 Agent 的时候,我基本靠直觉判断"这个应该快完了吧"、"好像还没超速率"——结果时不时踩坑。abtop 给了这件事一个清晰的数字和视觉反馈,这种从模糊到可观测的变化,实际上改变了我怎么安排并发任务。
当然它还很新(3 月底才发布,目前 1700 Star),有些问题还在修——比如自定义 CLAUDE_CONFIG_DIR 路径的识别、某些场景下 session 自动发现失败。但核心功能已经够用了,更新节奏也挺快,9 个版本都在两周内出的。
如果你每天都在用 Claude Code,特别是同时跑多个项目的,这个工具值得装一下试试。

项目信息

你现在同时跑几个 AI Agent。

转自:https://mp.weixin.qq.com/s/4oHabtqewyy6BiHDJ_HuQA