你开始同时跑两个编程 Agent,是因为一个太慢。现在你跑五个,难的不再是把它们启动起来。是记住哪个终端里是哪个 Agent、各自改了什么、哪条分支可以合、安静了四十分钟的那个是做完了还是卡住了。并行是容易赢到的那部分。记住它们,是你之后每天付的税。
自己搭的并行 Agent 工具,想降低的就是这笔税。Conductor、Claude Squad,以及手写的 tmux 加 git worktree 脚本,解决的是同一个第一问题:给每个 Agent 一块隔离的工作区,让几次运行同时往前走,又不踩到彼此的文件。它们解决得很好。一个人、一台机器,这些可能就是你需要的全部。这篇老实比较每一种做什么、在哪里停下,以及窗口管理悄悄变成团队问题的那条线。
那条线就是 HiFox 进来的地方,也是这篇文章带你走的工作流。HiFox 不替代 Claude Code、Codex,或任何自己搭的运行器。它是围着你已经在跑的工具的共享任务、电脑、上下文和审阅层,让 Agent 的工作从请求到发布都看得见,而不是消失在私人终端里。你的安排还放得下一屏,就留着。几周前就已经放不下了,这篇的后半段是给你的。
先看结论
Conductor、Claude Squad,以及原始的 tmux 加 git worktree,是在你自己的机器上并行跑多个 AI 编程 Agent 的三种办法。Conductor 是免费的 Mac 应用,为一个人在本地跑而做。Claude Squad 是跨平台的终端应用,在 tmux 会话和 git worktree 上加了一层切换器。原始的 tmux 加 worktree 脚本给你全部控制权,也没有任何抽象。三种都擅长并行执行。没有一种是为了给团队共享可见性、审阅或交接而做的。你要升级到 HiFox 这样的编排层,正是在这一点上。
真正的瓶颈不是并行
隔离是已经解决的问题。git worktree 让一个仓库同时把几条分支检出到不同目录,每个 Agent 改自己的那份代码,提交到自己的分支。没有共享的工作树,也就没有改到一半的 diff 撞在一起。这次比较里的每个工具都站在同一个原语上。命令和容易踩的坑,可以看怎么让 AI Coding Agent 使用 Git worktree。
既然隔离几乎不用额外成本,为什么跑很多 Agent 仍然混乱?因为 Agent 产出的工作必须去一个人找得到、读得懂、判断得了、也做得了决定的地方。在一台机器上,这个「地方」是你自己的短期记忆,加上一块回滚缓冲区。两个 Agent 还撑得住。五个就开始散。第二个人需要知道你的 Agent 做了什么时,它就断了。
值得分开的是这两件事。并行跑 Agent 是运行时问题:拉起进程,给它一个隔离目录,让它工作。审阅和协调它们的产出是工作流问题:结果住在哪、谁接受、卡住的那些怎么办。自己搭的工具非常擅长第一个问题。下面三节各自按它自己的标准来看,然后再看第二个问题会怎样随着规模变大。
Conductor:一个人并行跑的免费 Mac 应用
Conductor 是原生 Mac 桌面应用,用来并排跑好几个 Claude Code Agent。你指给它一个仓库,描述一次改动,它就在各自的工作区里拉起运行,底下是 git worktree。你不用在终端标签之间跳,而是一个窗口化的视图:每个 Agent 一列,各有自己的对话、diff 和状态。在它们之间点,就像在聊天之间点。
它做得好的,是去掉一个人的终端记账。你不用打任何 tmux 命令。你不用记哪一块是哪一个。应用跟踪 worktree,在真正的 diff 查看器里给你看差异,让你在 Agent 之间跳还不丢位置。一个用 Mac 的独立开发者,想在同一个代码库上跑三四场 Claude Code 还保持清醒,这是一条干净、摩擦很小的路。下载免费,也没有服务器要配置,因为根本没有服务器。
边界就是这些优点的另一面。Conductor 只有 macOS,用 Linux 的队友没法共享你的安排。它围着 Claude Code 这个运行时来做,不是多种 Agent 混用。它是单用户桌面应用:工作区、diff 和决定都在你的 Mac 上。另一个工程师打不开你的 Conductor 去看你的 Agent 在做什么,也没有谁接受了哪次改动的共享记录。这不是缺陷。这是范围。Conductor 是一个飞行员的座舱。
你是用 Mac 的独立开发者,跑的是 Claude Code,想要从「很多终端」到「一个安静窗口」的最快路径,就用 Conductor。第二个人需要看见、审阅或接手其中任何一次运行时,再找别的。
Claude Squad:tmux 和 worktree 上面的终端界面
Claude Squad 是开源终端应用,在隔离的工作区里管理多个 Agent。底下做的,是一个仔细的工程师会手写的事:每个 Agent 一个 git worktree,每个 Agent 在自己的 tmux 会话里跑,上面再放一个文本界面,让你列出 Agent、切进任何一个,并看见谁在工作、谁在等、谁做完了。它跨平台,能在 macOS 和 Linux 上跑,也不绑死一种运行时。它可以驱动 Claude Code、Codex、Aider 和其他命令行 Agent,所以混用工具的人喜欢它。源码在 GitHub 上的 Claude Squad 仓库。
它的吸引力是:你拿到一个真正工具的手感,又不把你信任的原语藏起来。你仍然有 worktree 和 tmux,所以没有魔法,每一样都能检查,但你不用再手写胶水。拉起一个新 Agent 是一次按键,不是三道命令的仪式。暂停一个 Agent 会放开它占用的资源,并保住它的分支。你已经住在终端里,又想要一支可以来回切的 Agent 队伍,Claude Squad 卡在原始脚本和桌面应用都没卡中的位置。怎么并行跑多个 Claude Code Agent,走的就是它自动化掉的同一套 tmux 加 worktree。
它的限制就是它所在的终端的限制。状态在你的机器和你的 shell 里。你关掉会话,那张共享画面也一起关掉。没有经理可以打开的时间线,没有不是你的审阅者可以接受或拒绝一次改动的地方,没有队友可以去领下一条任务的队列。Claude Squad 是极好的单人指挥台。它从没打算当团队的记录系统。要求它当,是找错了工具。
你是终端优先的开发者,在一台机器上混着跑几种 Agent,想要一个快的切换器,又不放弃 worktree 和 tmux,就用 Claude Squad。这些运行需要派给别人,或让一个不坐在你键盘前的人来审时,再找别的。
原始的 tmux 加 git worktree:你自己拥有的脚本
最老实的自己搭法,也是最老的:几段 shell 脚本,建 worktree,开 tmux 窗口,一个 Agent 一个。看起来是这样。
# 每一路并行工作,一个 worktree、一条分支
git worktree add ../app-auth -b feature/auth
git worktree add ../app-billing -b feature/billing
# 每个 Agent 一个有名字的 tmux 窗口,在它的 worktree 里启动
tmux new-window -n auth -c ../app-auth 'claude'
tmux new-window -n billing -c ../app-billing 'claude'
每个功能两道命令,你就有隔离的 Agent 在并行跑,各自在自己的分支上,各自在一个标了名的窗口里,按一下键就能切过去。套进循环,你可以拉起一打。你和工具之间没有别的东西。每一行你都能读,任何一处你都能改,除了写它的时间,它不花钱。
对某一类开发者,这永远是正确答案,值得尊重,而不是把人劝走。你知道跑的是什么,因为是你写的。没有厂商,没有一次更新打断你的流程,没有抽象在错误的时刻漏出来。需求稳定、又只属于你自己时,你拥有的脚本胜过你租来的工具。
代价随着规模出现,而且表现为维护,不是功能。清理是你的事:过期的 worktree 会堆起来,直到 git worktree prune 和一次 tmux kill-session 变成例行公事。命名冲突是你的事。Agent 崩溃会留下一个死窗口和一条做到一半的分支,发现这件事也是你的事。而且这些都不离开你的机器。队友问「你的 Agent 这周交付了什么」,唯一的答案在你的回滚缓冲里。脚本放大你的吞吐。它们不放大你分享结果的能力。
你想要全部控制权,喜欢拥有自己的工具,工作的观众就是你自己,就用原始的 tmux 和 worktree 脚本。你发现自己在重做状态跟踪、清理和交接,而且它开始像一个你没打算写的产品时,再找别的。
并排看:每种自己搭的安排擅长什么
| Conductor | Claude Squad | 原始 tmux + worktree | |
|---|---|---|---|
| 界面 | 原生 Mac 应用 | 终端界面 | 你自己的 shell 脚本 |
| 平台 | 只有 macOS | macOS、Linux | tmux 能跑的地方 |
| 运行时 | 以 Claude Code 为主 | Claude Code、Codex、Aider 等 | 你启动的任何东西 |
| 隔离 | 每次运行一个 git worktree | 每个 Agent 一个 git worktree | 每个 Agent 一个 git worktree |
| 搭建成本 | 装好就打开 | 装一个二进制 | 自己写、自己维护脚本 |
| 最适合 | 用 Mac 的独立开发者 | 终端优先的独立开发者 | 把控制权放在第一位的独立开发者 |
| 团队共享视图 | 没有 | 没有 | 没有 |
| 别人来审、来接受 | 没有 | 没有 | 没有 |
最后两行不是贬低。它们就是这个模式。这些工具都是为一个操作者、一台机器做的,在这个范围里从好到极好。空着的那一列三家一样,而工作不再只属于你的那一天,重要的就是这一列。这一类工具更宽的地图,可以看「什么是 AI Agent 编排」。
升级的那条线:窗口管理不再是问题时
迹象是这样的。你不再问「怎么同时跑更多 Agent」,而开始问这些自己搭的工具回答不了的问题:
- 我这些 Agent 的改动,有哪些被人审过?
- 我病假了,队友能不能看见正在进行的,并接过去?
- 我们为什么接受了这份 diff、拒绝了那一份,记录在哪?
- 哪些运行堵住了,堵在什么上,堵了多久?
这些是工作流问题,不是运行时问题。更好的切换器或更漂亮的 diff 查看器都回答不了,因为缺的那块不在你的屏幕上。缺的是工作可以住下来的共享地方。这就是升级的线:瓶颈从管理窗口,移到管理可见性、审阅和交接的那一天。
HiFox 是为这条线的另一边做的。它让上下文、进展、阻塞、结果和人工审阅从请求到发布都看得见,在一条共享的工作流里,而不是散在私人终端上。分工是故意的:Claude Code、Codex 和同类工具负责执行。HiFox 管理团队层面的指派、连上的电脑、任务上下文、进展、阻塞、结果,以及跨这些工具的人工审阅。你留着已经信任的运行时和 worktree。你加上让不止一个人能看见、能掌舵的那一层。
让人放心的地方和机制一样重要。用上 HiFox,不是要你重做流程或丢掉工具。你带上自己的订阅:模型用量继续走团队已经在用的工具里配好的订阅或 API key。你连上一台电脑,让 HiFox 指向同一批仓库,然后开始分派工作,不用拆掉任何东西。如果你在拿它和一块本地看板比,Vibe Kanban 的替代方案写的是同一条「留下你已有的东西」的路。
同一套并行,在 HiFox 里是什么样
自己搭的工具给每个 Agent 一个 worktree 和一个窗口。HiFox 给每一份工作一条任务,并让 Agent 以同样的方式在隔离的 worktree 里跑。差别只有一个:结果回到任务上,而不是留在你的回滚缓冲里。
任务是 HiFox 里的主要工作单位。它把目标、范围、diff、讨论和审阅放在同一份共享记录里。你把任务派给 Agent 之后,Agent 认领它,在自己隔离的 worktree 里工作,跑类型检查、测试和构建,再把变更摘要、验证结果和已知限制附回这条任务。下一个人不用你的终端。他打开任务。
最小可用的版本故意很平淡。连上一台电脑,创建一个 Agent,派给它一条低风险的任务。怎么派第一条,可以看「把第一条任务派给 Agent」。从这里开始,并行会按你的脚本本来想要的方式扩大:几个 Agent 同时认领就绪的任务,各自隔离,前端、后端、修 bug 和测试覆盖一起往前走。和一墙 tmux 窗口的差别是,每一次运行都可以派给一个人,可以由不是你的人来审,事后也能追溯。
人和 Agent 的约定,是审阅层值得存在的地方。Agent 调研、执行、测试、汇报。人定方向、授权、接受结果。需要团队判断的地方,自动化就停,并交回一份带完整上下文、证据可以检查的交付。自己搭的安排可以跑 Agent。它守不住这份约定,因为除了你,没有一个共享的地方让别人接受或拒绝。Cursor 的后台 Agent 那篇,走的是类似的审阅流程。
按团队会用的形状举一个例子。一条任务写着「给公开 API 加上限流」。Agent 收束范围,在自己的 worktree 里做,跑测试,把摘要和 diff 交回任务。审阅的人打开这条任务,读证据,接受或要求修改。你一个人的时候,整条回路在你脑子里和一个终端里。现在它住在团队看得见的地方。升级的全部意义就是这个。
谁该留下,谁已经超出了
只往上推销的比较不老实,所以这里写直白的版本。很多人就不该搬,上面这些工具就是他们该待的地方。
- 留在 Conductor:你是用 Mac 的独立开发者,想在一个安静的窗口里并行跑 Claude Code,没有别人需要看见。它把这件事做干净,也不向服务器要任何东西。
- 留在 Claude Squad:你住在终端里,混着几种运行时,想要一个盖在 worktree 和 tmux 上的快切换器,工作是你自己的。它是很强的单人指挥台。
- 留在原始的 tmux 和 worktree 脚本:你看重全部控制权,流程稳定,产出的观众只有你。需求属于个人时,自己拥有的工具胜过租来的工具。
- 换到 HiFox:工作不再只属于你。队友要审一次运行,你不在时要有人接手,负责人要看见什么堵住了,或者你发现自己在手写状态和交接。编排这一层在哪里接上,可以看编排概览。
这一整类的决定可以收成一对。约束是你自己的机器和你自己的时间,用自己搭的工具。约束是团队对「Agent 做了什么」的共同理解,用编排层。多数开发者从左边开始,在工作上出现第二个人的名字的那一周跨过去。
几种真实情况
留下的独立开发者。一个自由职业者用三四台 Claude Code Agent 给客户做功能,机器是 Mac。Conductor 或 Claude Squad 就是全部答案,再加一层团队会是没有回报的重量。留下是对的。
刚刚跨过线的两人团队。创始人和第一个工程师各自跑自己的 tmux 脚本。不共享屏幕,谁也审不了对方的 Agent 工作。把运行挪到 HiFox 的共享任务上之后,每个人可以打开对方的 diff、接受、合并,两个人已经在用的运行时都不用换。
在统一一支队伍的负责人。一个技术负责人带着五个工程师,每个人的 worktree 脚本都有一点不一样,也没有共享的审阅。共享的 Agent 和同一套任务流,把五套私人安排变成团队可以复用的一条工作流,每个工程师仍然留着自己的电脑和自己的模型订阅。
常见问题
Claude Squad 和 Conductor 有什么差别?Claude Squad 是跨平台终端应用,用 tmux 和 git worktree 管理 Agent,支持几种运行时。Conductor 是 macOS 桌面应用,重点是在窗口界面里跑 Claude Code。两者都把每次运行隔离在自己的 worktree 里。分开的是终端对原生应用,以及跨平台对只有 Mac。
我已经在用 git worktree,还需要 Claude Squad 或 Conductor 吗?不一定。两者都是同一个 worktree 原语上的便利。你写得来几条 tmux 和 git worktree 命令的话,原始脚本给你同样的隔离,控制权更多。这些工具买到的是手感和清理,不是一种新能力。命令见 git worktree 文档,tmux 见 tmux wiki。
这些自己搭的工具能做团队审阅吗?不能,它们也没这么声称。Conductor、Claude Squad 和 tmux 脚本都把状态留在一台机器、一个操作者那里。别人来审、别人来接受,以及一份能留下的决定记录,是编排层里的工作流能力,不是本地运行器的能力。这个区分可以看 Vibe Kanban 的替代方案。
HiFox 是 Claude Code 或 Claude Squad 的替代品吗?不是。HiFox 不替代 Claude Code、Codex 或其他执行工具。它在团队已经在用的工具外面,加上共享的任务、电脑、上下文、控制和审阅。你留着运行时和 worktree,再得到团队这一层的可见性。
换到 HiFox 就要放弃 git worktree 吗?不要。HiFox 也让 Agent 在隔离的 worktree 里跑,你依赖的隔离还在。变的是结果去哪:它回到一条共享任务,而不是一块私人的终端缓冲。
换过去之后,模型用量和费用怎么留?你带上自己的订阅。模型用量继续走团队接上的工具里配置的订阅或 API key,模型额度取决于那些工具、套餐和 API 账户。HiFox 加的是协调层,不是一层新的计费关系。
准备跨过去了?从 HiFox 的下载页开始,连上一台电脑,把一条真实需求派给一个 Agent。留着你已经信任的运行时和 worktree,让工作开始回到整个团队都看得见的地方。每个概念的更多说明在 帮助文档。



