你是否曾经同时开了4个终端窗口跑Claude Code、Codex和OpenCode,来回切窗口找"谁跑完了"?这个102星的Go语言TUI工具,用Tmux做底层,让你像管理项目看板一样管理所有AI Agent——而且Agent在后台永不停机。
一、为什么你需要Agent-Manager?
2026年,AI编程已经从"用一个Agent"进化到了"同时用多个Agent"的时代。
实际工作中,一个典型的独立开发者日常是这样的:
早上你让Claude Code重构后端支付接口,同时让Codex给前端写一个新的数据表格组件,OpenCode在另一个窗口里审查昨天的代码。到了下午,Grok Build在跑自动化测试,Claude Code又在修一个紧急bug——你面前可能同时有3到4个Agent在并行工作。
这个工作模式的最大痛点是管理。
每个Agent跑在自己的终端标签页里,你要在几个tab之间来回切,靠肉眼判断哪个干完了、哪个卡住了、哪个报错了。更糟糕的是——当你关掉终端窗口或者SSH连接断开,Agent也跟着停了。对于那些需要跑十分钟以上的长任务来说,这意味着你不敢关电脑,甚至不敢关终端。
Agent-Manager就是为解决这个痛点而生。
它是一个用Go语言写的终端TUI(文本用户界面),底层利用Tmux来管理每个Agent会话。102个GitHub Stars,193次提交,支持macOS、Linux和WSL2全平台。
核心设计哲学非常简单:Agent活在Tmux里,管理在TUI里做,两者互不干扰。 即使你退出Manager、关掉终端、甚至断开SSH——Agent继续在后台的Tmux会话里跑。下次打开Agent-Manager,所有Agent的状态都还在。
二、支持哪些Agent?
Agent-Manager对以下4个主流AI编程Agent提供开箱即用的状态检测:
| Agent | 开发者 | 特点 | 状态检测 |
|---|---|---|---|
| Claude Code | Anthropic | 终端原生编程Agent,目前市场占有率最高 | 自动识别运行/完成/卡住/报错 |
| Codex | OpenAI | OpenAI的CLI编程Agent | 同上 |
| OpenCode | 开源社区 | 开源编程Agent CLI | 同上 |
| Grok Build | xAI | Elon Musk旗下xAI的编程Agent | 同上 |
更重要的是,任何CLI工具都能作为"自定义会话"加入。你只需要在配置文件里加一个[tools.你的工具名]块,定义这个工具的状态检测规则(比如程序的哪行输出表示"完成了"),Agent-Manager就能像管理标准Agent一样管理你的自定义工具。
这意味着你可以把Herems Agent的终端会话、本地测试脚本、CI/CD的watch进程——任何长期运行的命令行任务——都纳入同一个管理界面。
三、安装(3种方式,30秒搞定)
方式一:Homebrew(推荐,macOS/Linux)
brew install yoanwai/tap/agent-manager
如果你系统上没有Tmux,Homebrew会自动帮你装上。这是最简单的方式。
方式二:Go Install
go install github.com/YoanWai/agent-manager@latest
需要Go 1.26以上版本。安装位置默认在$(go env GOPATH)/bin。如果你已经在用Go开发,这种方式更自然。
方式三:预编译二进制
从GitHub Releases页面下载对应平台的二进制文件。支持macOS和Linux的amd64/arm64架构。直接下载、解压、放到PATH里就能用。
Windows用户特别注意
因为Agent-Manager依赖Tmux(Unix工具),Windows需要走WSL2:
# 在WSL2终端里
brew install yoanwai/tap/agent-manager
# 或下载Linux二进制
在WSL2里启动Agent-Manager后,它的Tmux会话会在WSL2里运行,完美兼容。
四、核心操作:10个快捷键掌控一切
打开Agent-Manager后,你会看到一个树状的项目列表。项目组可以折叠和排序,每个组下面挂着多个Agent会话,每个会话旁边有实时状态指示。
所有操作都是单键完成,没有多层菜单:
| 快捷键 | 功能 | 使用场景 |
|---|---|---|
n |
新建Agent会话 | 选择Agent类型(Claude/Codex/OpenCode/Grok或自定义),起名,设定工作目录,可选给一个初始Prompt |
g |
新建项目组 | 给一个新项目建个分组,设定默认工作路径。比如"后端重构"、"前端V2"、"官网改版" |
Enter |
进入Agent会话 | 直接进入Agent的Tmux终端,跟它交互,看它在干什么 |
Ctrl+Q |
从会话退回到Manager | 在Agent终端里按这组键,一秒切回管理界面 |
Space |
快速发Prompt | 不需要进入会话。选中一个Agent,按空格,输入指令,Agent收到后自动继续工作 |
v |
复活已死会话 | Agent因为某种原因崩溃了?选中它,按v,Agent-Manager会用--continue或--resume参数重启它,上下文不丢 |
Ctrl+R |
打开代码变更Diff | 打开语法高亮的Diff视图,逐行审查这个Agent改了什么文件 |
Shift+↑/↓ |
排序 | 拖动会话或项目组,调整它们在列表中的顺序 |
m |
移动Agent到别的组 | 重构项目结构。把"修Bug的Claude Code"从"后端组"移到"紧急修复组" |
a / u |
归档 / 恢复 | 暂时不用的Agent归档,需要时一键恢复,所有状态保持 |
d |
删除 | 删除单个会话,或整个项目组及其所有子会话 |
五、杀手级场景:一人公司老板的日常全流程
假设你是一个独立开发者,同时在维护一个SaaS产品和它的营销官网。下面是真实的一天:
上午9:00 — 启动并行任务
打开Agent-Manager,你看到昨天的项目结构还在(因为Tmux会话是持久的)。创建今天的任务:
📁 saas-backend/
├── 🟢 Claude Code: 重构支付接口,支持微信支付V3 (进行中)
├── 🟢 Codex: 为新支付接口写API文档 (进行中)
└── ⏳ OpenCode: 等待前面完成后审查代码变更 (等待中)
📁 saas-frontend/
└── 🟢 Claude Code: 更新Dashboard数据面板UI (进行中)
📁 marketing-site/
├── ⏸️ Grok Build: 更新官网定价页面文案 (暂停中,等产品确认价格)
└── 🟢 Codex: 生成7月的新功能发布Blog草稿 (进行中)
你不需要盯着看。Agent-Manager会实时更新每个Agent的状态。你可以去喝咖啡、写邮件、开会——Agent们一直在跑。
上午9:15 — 中途介入
支付接口的Claude Code跑完了,状态变成✅。你按Space,在弹出的输入框里写:
"检查所有回调URL是否在curl命令里加了
--noproxy '*'参数,微信支付API需要注意这点"
指令直接发到Claude Code的终端,它看到后自动检查和修复。不需要你进入它的终端手动敲命令。
上午9:30 — 发现卡住的Agent
你注意到OpenCode的状态停在🟡("In Progress")已经很久了。按Enter进入它的会话,发现它在一个循环依赖的死胡同里反复尝试。你手动调一下方向,Ctrl+Q退出来,它继续跑。
上午10:00 — 代码审查
全部任务完成。你按Ctrl+R打开Diff视图。这个界面做了几件git diff做不到的事:
- 语法高亮:不是灰白的文本对比,而是带颜色的代码高亮,一眼能看出逻辑变更
- 多Repo感知:Agent-Manager自动识别每个Agent在改哪个Git仓库,Diff只显示相关改动
- 行内评论:在Diff里对着某行按
c,输入"这个回调需要加HMAC签名验证防重放攻击",评论直接发回Agent的终端——它看到评论后自动修复
上午10:15 — 提交和发布
全部Agent都确认完成后,你手动检查一下关键的几个改动,然后提交、合并、部署。
整个上午只打开了一个Agent-Manager窗口。所有Agent的状态一览无余。没有漏掉任何一个报错,没有在终端tab之间来回切。
六、Agent挂了怎么办?——会话持久化的真正威力
这是Agent-Manager最容易被低估但最重要的功能。
AI编程Agent会崩溃。Claude Code可能因为token超限退出,OpenCode可能因为内存溢出挂掉,Grok Build可能因为API限流中断。普通终端窗口里,Agent挂了就是挂了,你只能重启,之前的上下文全部丢失。
Agent-Manager的处理方式完全不同:
- Agent的Tmux会话保留所有历史输出
- 按
v,Agent-Manager用该Agent的"恢复命令"重启它——Claude Code用claude --continue,Codex用codex --resume,以此类推 - Agent在同一个会话里启动,能看到之前的所有历史,上下文不丢
- Agent从上次中断的地方继续工作
这意味着一人公司可以放心地让Agent跑长时间任务——即使Agent偶尔崩溃,也不会白干。
七、MCP集成:Agent主动告诉Manager"我在干什么"
Agent-Manager自带了MCP服务器的实现。每个被管理的Agent会话启动时,自动挂载这个MCP服务器。这意味着Agent能看到并调用以下工具:
rename— Agent可以给自己改一个更有意义的名字。比如原来是"Claude Code #3",它可以改成"Claude Code正在修#342号bug——支付回调签名缺失"review_repo— Agent主动告诉Manager"我正在改哪个代码仓库"。Manager会验证这个路径确实是Git仓库(Agent不能说谎),然后精准显示这个仓库的Diffreview_base— Agent声明它的改动应该跟哪个分支做对比。比如它正在一个feature分支上工作,可以告诉Manager"请跟main分支对比"
四个标准Agent的MCP注册是全自动的:
- Claude Code:自动生成--mcp-config配置文件
- Codex:通过-c mcp_servers...命令行参数注入
- OpenCode:通过OPENCODE_CONFIG环境变量
- Grok Build:首次启动时执行grok mcp add --scope user
不需要任何手动配置。 安装Agent-Manager后,启动Agent时MCP就自动就位了。
八、代码审查(Review)功能深度解析——一人公司的质量保障
一人公司最大的工程痛点是什么?没有同事帮你Code Review。
当所有代码都是一个人写、一个人审(或者根本没有审查),质量会快速滑坡。而用AI Agent写代码时,这个问题更严重——Agent生成的代码可能有隐藏的逻辑错误,AI自己不会发现。
Agent-Manager的Review功能就是为这个场景设计的:
自动Diff范围判断
Manager会按以下优先级决定对比范围:
1. 你手动指定的仓库(按r键选择)
2. Agent自己通过MCP声明的仓库(review_repo调用)
3. 自动检测:先找有未提交改动的仓库,没有则找最近有commit的仓库
语法高亮Diff视图
Ctrl+R打开的不是简陋的git diff输出,而是带颜色的语法高亮界面。Python代码的字符串、函数调用、注释各有各的颜色,代码变更一目了然。
行内评论直达Agent
看到一行有疑问的代码,按c输入评论。评论内容和被评论的代码行号一起发回Agent的终端。Agent收到后可以重新分析那行代码、修复问题、甚至解释为什么那样写。
这个工作流相当于:Agent写了代码,你逐行审查,发现问题直接告诉Agent,Agent就地修改。 质量控制的速度比传统Code Review快得多。
Agent自申报机制
Agent可以在代码里跑agent-manager review-repo /path/to/repo,主动告诉Manager它在改哪个仓库。Manager会验证路径确实在Git仓库内——不是Git仓库的路径会被拒绝。这意味着Agent不能"说谎",自申报的信息是可验证的。
九、跟Hermes Agent的互补协作
Agent-Manager和Hermes Agent是天然互补的:
| 维度 | Hermes Agent | Agent-Manager |
|---|---|---|
| 角色 | 总指挥 | 任务看板 |
| 做什么 | 理解需求、分解任务、协调全局 | 管理多个编程Agent的执行状态 |
| 输出 | 任务分配、决策、汇总结果 | 实时状态监控、Diff审查、Agent调度 |
实际协作流程:
1. 你在Hermes Agent里说:"把这个新功能拆成3个开发子任务"
2. Hermes分析需求,生成3个任务描述,用delegate_task或terminal分别启动Claude Code、Codex、OpenCode
3. 这些Agent在Agent-Manager里可视化运行,你随时监控进度
4. 某个Agent完成后,Hermes汇总结果,继续分配下一批任务
Hermes管"想",Agent-Manager管"做"。一人公司的全部协作能力在这两个工具之间闭环。
十、配置与自定义:让你的私有工具也加入管理
除了四个内置Agent,Agent-Manager支持自定义工具配置。假设你有一个叫my-linter的代码检查工具,想让Agent-Manager监控它的状态:
[tools.my-linter]
command = "my-linter"
args = ["--watch", "."]
status_running = "Watching for changes"
status_done = "Lint complete: 0 errors"
status_error = "Lint failed"
revive_command = "my-linter --resume"
配置好后,n新建会话的菜单里就会出现my-linter选项。Agent-Manager会自动检测它的输出,判断运行状态。
十一、更新与维护
Agent-Manager每天自动检查GitHub Releases。发现新版本时,界面顶部会出现↑ vX.Y.Z available的提示。更新方式:
# Homebrew安装的
brew upgrade agent-manager
# Go安装的
go install github.com/YoanWai/agent-manager@latest
# 二进制安装的
# 从Releases页面下载新版本覆盖旧文件
十二、踩坑实录:实际使用中会遇到的问题
坑1:Tmux版本不兼容
Agent-Manager依赖Tmux 3.2以上版本。如果你用的是Linux服务器自带的旧版Tmux(比如CentOS 7默认是1.8),会直接报错。
解决:升级Tmux到3.2+。Ubuntu/Debian用apt install tmux,CentOS/Rocky用源码编译或用EPEL仓库。
坑2:Go版本要求
如果选择Go Install方式安装,需要Go 1.26+。很多开发者的Go版本可能是1.21或1.22——这个差距不小。
解决:不想升级Go的话,直接用Homebrew或预编译二进制安装,不依赖Go环境。
坑3:WSL2里的路径映射
Agent-Manager在WSL2里运行,但你的代码可能在Windows文件系统(/mnt/c/Users/...或/mnt/g/...)下。Tmux会话的工作目录在WSL2视角下,而Agent执行命令时需要能访问这些路径。
解决:两种策略。要么把项目放在WSL2的Linux文件系统里(~/projects/),读写性能更好;要么用/mnt/g/hermes-data/映射,确保Agent的CLI工具能从WSL2内部访问这些路径。
坑4:多Agent同时修改同一个文件
Agent-Manager不会阻止两个Agent同时编辑同一个文件。如果你不小心让Claude Code和Codex同时改main.py——一定会产生冲突。
解决:用Git工作流隔离。每个Agent在自己的feature分支上工作,完成后再合并。Agent-Manager的项目组功能天然支持这种模式——"后端支付重构"组里的Agent在feature/payment-v3分支上,"前端UI更新"组里的Agent在feature/dashboard-v2分支上。
坑5:Agent的恢复命令不总是有效
v键复活Agent的原理是执行Agent的恢复命令(如Claude Code的claude --continue)。但如果Agent崩溃是因为API Key过期、Token额度用完、或网络不可达,恢复命令也会失败。
解决:在给Agent发任务时,把关键的状态信息记录在代码注释或文件中。即使Agent无法恢复,新Agent可以从这些记录中接续工作。
十三、常见问题与避坑
Q: 退出Agent-Manager后Agent会停吗?
不会。 Agent在后台的Tmux会话里运行。退出Manager只是关闭了管理界面。下次打开时,所有Agent的状态和在哪个项目组下都会被完整恢复。注意:如果你重启了电脑,Tmux会话会被清除——但你的代码变更已保存在Git中,重启后v复活Agent即可继续。
Q: 多个Agent在同一个目录改代码会冲突吗?
会的,注意安排。 最佳实践是让不同Agent改不同的文件或不同的Git分支。Agent-Manager的项目组功能就是为此设计的——"后端组"的Agent在backend/目录下,"前端组"的Agent在frontend/目录下。多Agent同时工作时,用Git分支隔离是最安全的方式。
Q: 能在远程服务器上用吗?
非常适合。 在远程服务器上启动Agent-Manager,Agent在服务器的Tmux里跑。你用SSH连上去管理,断开SSH后Agent继续跑,下次SSH上去状态全在。这是Agent-Manager相比GUI IDE类工具(如Cursor、Windsurf)的最大优势——它天然支持无头服务器环境。
Q: 和直接在终端开多个tab比有什么优势?
三个核心优势:①Agent不死——Tmux在后台持续运行,关终端不杀进程;②状态可见——一个界面看所有Agent的运行状态,不用肉眼判断"哪个还在跑";③自带Code Review——不需要额外工具,Diff+行内评论闭环。
Q: Agent-Manager和tmuxinator/tmuxp之类的Tmux会话管理器有什么区别?
那些是通用的Tmux会话管理器——帮你定义和启动Tmux布局。Agent-Manager是专门为AI编程Agent设计的:它有Agent状态自动检测、Diff视图、MCP集成、Agent复活等功能。你当然可以用tmuxinator手动管理,但Agent-Manager提供的是"为Agent工作流量身定做"的体验。
十四、总结:三个核心价值,一个判断标准
Agent-Manager提供的三个核心价值:
- 告别终端tab地狱:一个TUI界面管理所有Agent,状态实时可见,不需要靠肉眼判断"谁跑完了"
- Agent真正不停机:Tmux做底层,关了Manager、断开SSH、甚至重启电脑(持久化配置),Agent都在后台跑
- 自带Code Review能力:一人公司不需要雇人做Code Review,Diff逐行审查+行内评论直达Agent,质量闭环
一个简单的判断标准:如果你每天同时跑2个以上AI编程Agent,而且曾经因为Agent崩溃而丢失过上下文——Agent-Manager值得你花30秒装一个。
项目地址:https://github.com/YoanWai/agent-manager
HN讨论:38 points / 22 comments(7月31日首页#3)
开发语言:Go 1.26+
许可证:开源
平台:macOS / Linux / WSL2
