git worktree 管理器
适用于 Claude Code、Codex 和每一个代理 CLI
在工单上勾选一个框,或在添加代理时选一个 worktree,它就会在自己的检出、自己的分支上工作。多个代理可以同时修改同一个仓库,互不碰对方的文件。
在代理启动之前,AgentsRoom 会安装依赖,并把你的 .env 文件复制到新的 worktree 里,让它立刻就能构建并运行测试。完成后,无论在电脑上还是在手机上,你都可以在「更改」标签页里审查、提交、推送并合并这个 worktree。
- 后端代理.worktrees/fix-login-redirect已准备
- 前端代理.worktrees/settings-dark-mode工作中
- QA 代理.worktrees/agents/qa审查
三个代理,三个 worktree,一个仓库:每个检出都在其代理启动前准备好,然后各自审查、各自合并。
两个代理在同一个检出里,就像两个人在同一个文件里打字。一个在编辑到一半时,另一个跑起了格式化工具;一个在另一个脚下切换了分支;最后你审查的 diff 把两份工作混在了一起。git worktree 解决的就是这个问题:它是同一个仓库的第二个检出,有自己的文件夹和自己的分支,共享历史,但不共享文件。
创建一个只需要一条 git 命令。难的是同时和十个打交道:新的 worktree 里没有 node_modules 也没有 .env,所以代理的第一次构建会失败;没有任何东西告诉你哪个代理在哪里工作;工作完成后,你还得找到那个文件夹,审查、提交,再合并回去。
AgentsRoom 接管了这整个生命周期。待办工单或代理请求一个 worktree 后,AgentsRoom 会从最新的基础分支在项目内的 .worktrees/ 下创建它,做好准备,在里面启动代理,并在「更改」标签页里给你一个选择器,用来审查、提交、推送和合并。无论由哪个 CLI 运行代理,效果都一样:Claude、Codex、GitHub Copilot CLI、Cursor 以及另外 10 个代理 CLI。
worktree 始终是可选的。没有 worktree 的代理照旧在项目文件夹里工作,你可以按工单、按代理或按代理模板来决定是否使用。
worktree 管理器能做什么
从任务请求一个隔离的检出,到它的分支被合并回去。
每个待办工单一个 worktree
在工单上勾选「为此任务在独立的工作树中编码」,选一个项目已有的 worktree 或输入一个新的分支名称,启动工单时就会创建 worktree,并在里面启动代理。
添加代理时选择 worktree
「添加代理」窗口里的「工作区」卡片会列出「主干」、项目已有的 worktree 和「新建」。你自己用 git worktree add 创建的 worktree 也会列在其中。
模板的每个代理都有一个新的 worktree
在已保存的代理或默认配置上开启「每个代理新建一个 worktree」,从它生成的每个代理都会有自己的分支,命名为 agents/<模板>,然后是 -2、-3,所以副本之间永远不会共用一个检出。
第一次启动就能构建
在新的 worktree 里启动第一个代理之前,AgentsRoom 会复制它需要的被 git 忽略的文件(默认是所有 .env 文件),并运行根据你的 lockfile 检测出的安装命令:yarn、pnpm、npm、bun、uv、poetry、pipenv、bundle 或 composer。
审查、提交并推送每个 worktree
「更改」标签页顶部的「工作树」选择器会把 diff、「审查」、「提交」、「拉取」和「推送」切换到那个检出上。点击拥有独立 worktree 的代理的徽章,会直接打开它。
工单完成时合并回去
开启「任务完成后自动合并到当前分支」后,把工单标记为「已完成」就会合并它的分支。再开启「工作完成时自动提交」,代理留下的未提交内容也会一并进入合并。

工作原理
一个工单从表单到合并的全过程。
- 1
在工单上请求一个 worktree
在工单表单的「执行配置」中,勾选「为此任务在独立的工作树中编码」。从标签中选一个已有的 worktree,或保留「分支名称」字段:在你修改之前,它会根据标题自动预填,任务启动时就成为一个新的 worktree。
- 2
启动工单
AgentsRoom 获取基础分支(远程的默认分支,或在项目设置中设定的「工作树的基础分支」),在 .worktrees/<branch>/ 下创建 worktree,并把这个文件夹加入克隆的 .git/info/exclude,这样它永远不会在你的主检出中显示为未跟踪文件。
- 3
先准备 worktree,再启动代理
代理的终端会显示安装命令及其输出,一条提示告诉你复制了多少个被忽略的文件,然后代理 CLI 在 worktree 中启动。每个 worktree 只会做一次;安装失败也不会阻止代理,错误会留在它的终端里。
- 4
审查并合并
在「更改」标签页中选中这个 worktree,阅读 diff 并提交。把工单标记为「已完成」,如果开启了自动合并,它的分支就会被合并到当前分支;确认信息会显示结果。worktree 本身仍保留在磁盘上,方便你最后再看一眼。

Claude Code 和 Codex 已经会创建 worktree。区别在这里。
Claude Code 有自己的参数:claude --worktree feature-auth 会在名为 worktree-feature-auth 的分支上创建 .claude/worktrees/feature-auth,复制 .worktreeinclude 文件中列出的被 git 忽略的文件,并在你退出时询问保留还是删除这个 worktree。它的文档写得很清楚:worktree 是一个全新的检出,依赖需要你自己安装,或者让 Claude 来装。子代理也可以通过 isolation: worktree 各自获得一个 worktree。
Codex 应用在 $CODEX_HOME/worktrees 中管理 worktree,从你选择的分支以分离 HEAD(detached HEAD)状态启动它们,同样会读取 .worktreeinclude,如果你选了本地环境就会运行它的设置脚本,默认保留最近的 15 个。Handoff 可以把一段对话及其代码在 Local 和某个 worktree 之间移动。codex-cli 0.162.1 也有一个 --worktree 参数。
两者都做得不错,但都只属于一家厂商。AgentsRoom 并不取代它们:它把同样的隔离提升一层,放到你的工单和代理所在的地方,一次覆盖所有 CLI,在代理看到检出之前就把它准备好,并把审查、提交和合并都留在你已经在用的窗口里。已于 2026 年 10 月在 Claude Code 2.1.299 和 codex-cli 0.162.1 上验证。
需要知道的事
- worktree 从不会被自动删除,这是有意为之,方便你审查。它们会在 .worktrees/ 下越积越多;用完后用 git worktree remove 删除,但绝不要在代理还在里面运行时删除。
- 自动合并遇到冲突时会记录一条警告,工单仍会移到「已完成」:这次合并需要你手动解决。
- worktree 需要项目根目录是一个 git 仓库。只是把几个仓库并排放在一起的文件夹没有 worktree:请把每个仓库作为单独的项目打开。
- 在 SSH 服务器上打开的项目,其 worktree 创建在服务器上,没有安装步骤。代理运行在远程主机上的本地检出不能使用 worktree,工单会提示你这一点,而不是直接启动。
- QA 代理从不拥有自己的 worktree:它在其主代理的检出中测试,因为全新的 worktree 里不会有它要测试的未提交工作。
常见问题
什么是 git worktree,为什么要给 AI 代理一个?
git worktree 是同一个仓库的第二个检出,有自己的文件夹和自己的分支,与你的主检出共享历史和远程仓库。给每个 AI 编程代理一个 worktree,意味着每个代理都在编辑、构建和提交自己的那份文件副本,所以两个同时工作的代理永远不会互相覆盖,也不会在对方脚下切换分支。我们的博客有一篇更详细讲 git 这一面的指南:Git worktree:让多个 AI agent 并行工作而不互相冲突的基础。
Claude Code 内置了 worktree 吗?
是的。claude --worktree <名称>(或 -w)会在名为 worktree-<名称> 的分支上创建 .claude/worktrees/<名称>,复制 .worktreeinclude 中列出的被 git 忽略的文件,并在你退出时询问保留还是删除这个 worktree;子代理可以通过 isolation: worktree 在自己的 worktree 中运行。它不会安装你的依赖。在 AgentsRoom 中,你可以继续使用它,也可以让工单或代理来请求 worktree,这样还会把它准备好,并显示在「更改」标签页里(已在 Claude Code 2.1.299 上验证)。
Codex 支持 worktree 吗?
Codex 应用支持:它在 $CODEX_HOME/worktrees 中以分离 HEAD 状态创建受管理的 worktree,复制 .worktreeinclude 中列出的被忽略文件,可以运行本地环境的设置脚本,保留最近的 15 个,并通过 Handoff 在 Local 和某个 worktree 之间移动对话。codex-cli 0.162.1 有一个 --worktree 参数,可以在一个新的受管理 worktree 中运行会话。AgentsRoom 给 Codex 代理分配 worktree 的方式和其他任何代理一样,从工单或「添加代理」窗口即可。
哪些代理 CLI 可以在 AgentsRoom 的 worktree 中运行?
全部都可以:worktree 只是代理的工作目录,不管在里面运行的是哪个 CLI,所以 Claude、Codex、GitHub Copilot CLI、Cursor 以及另外 10 个代理 CLI 在其中的工作方式都一样。Kimi Code 和 Antigravity CLI 按确切路径信任文件夹;AgentsRoom 会在启动前把新的 worktree 登记为它们信任的文件夹,这样它们就不会停在信任确认问题上。
我需要在每个 worktree 里运行 yarn install 并复制 .env 吗?
不需要。在新的 worktree 里启动第一个代理之前,AgentsRoom 会从主检出中复制与「从此检出复制的文件」匹配的被 git 忽略的文件(默认是所有 .env 文件),并运行根据根目录 lockfile 检测出的安装命令。两者都在「项目设置 > Git > 准备新的工作树」中设置,你可以在那里替换命令,例如 pnpm install && pnpm build:deps。worktree 中已存在的文件永远不会被覆盖。
如何审查并合并代理在其 worktree 中完成的工作?
打开「更改」标签页,在顶部的「工作树」选择器中选中这个 worktree:文件列表、diff、「审查」、「提交」、「拉取」和「推送」随后都作用于那个检出。对于工单,「任务完成后自动合并到当前分支」会在你把它标记为「已完成」时合并它的分支,而「工作完成时自动提交」(设置 > Backlog)会先提交代理留下的内容,让合并带上全部工作。
worktree 在哪里,会被清理吗?
在项目内的 .worktrees/<branch>/ 下,从远程的默认分支创建,除非你在项目设置中设定了「工作树的基础分支」。这个文件夹会被加入克隆的 .git/info/exclude,而不是你的 .gitignore,所以它不会进入你的提交。worktree 从不会被自动删除:用完后用 git worktree remove 删除即可。
我能在手机上或远程服务器上使用 worktree 吗?
两者都可以。在手机上,「更改」页面有同样的「工作树」选择器;从手机启动一个请求了 worktree 的工单时,它会在 worktree 中运行,和其他工单一样由电脑负责准备。在 SSH 服务器上打开的项目,其 worktree 创建在服务器上,没有安装步骤。代理运行在远程主机上的本地检出不能使用 worktree,工单会告诉你这一点,而不是直接启动。
延伸阅读
Git worktree:让多个 AI agent 并行工作而不互相冲突的基础
并行运行时,你的 agent 会互相覆盖对方的工作。Git worktree 用两条命令就能解决。这篇文章告诉你怎么用。
10个代理同时跑了同一个类型检查。解决办法是一个目录。
同一个检出目录里17个编码代理,同时跑着10个tsc,load average 37,空闲内存只剩87 MB。一次九十秒的类型检查花了7分36。这里是我们的测量数据,机器为什么根本没在计算,以及那个解决了问题的小小共享锁。可以直接抄进任何仓库。
如何并行运行3到8个编码代理而不失去跟踪
同时启动多个Claude Code或Codex代理很简单。保持控制是问题所在。这里是实际有效的方法。
你可能还会喜欢
任务管理
用拖放方式编排 AI 代理的可视化看板。在 TODO 中创建任务,拖到 In Progress 即可自动派生一个 Claude 代理,并通过 Pending 和 Done 列追踪完成进度。以待办驱动的并行 AI 编程开发。
按代理审查
单独审查每个AI代理的代码变更。AgentsRoom追踪哪个Claude Code代理修改了哪些文件。按代理筛选diff, 逐个审查,按代理提交以保持干净的git历史。
多项目 · 多代理 · 并行
AgentsRoom 在一个窗口里跨多个项目并行运行 AI 代理:Claude、Codex、GitHub Copilot CLI、Cursor 以及另外 10 个代理 CLI。角色配色、实时状态、按项目计数、原生桌面和移动端通知。它是 12 个终端标签页的可视化替代品,也是散落在 iTerm2、Warp 和 tmux 里那一团 Claude Code 会话的终结者。
自定义代理
从 14 个内置代理角色中选择,添加来自 The Agency 的专业代理,或构建您自己的自定义 AI 编码代理及其系统提示。然后通过聊天与您的团队分享您的代理,并将其发布到社区,以便每个人共同提升。
Multi-Agent Workflow • Handoff • Feedback Loop
AgentsRoom Agent Teams 把 AI 编码代理串联成一支真正的工程团队。可视化工作流编辑器 (n8n 风格画布) 用来连接 Dev、QA、PM、Security 和 DevOps 角色。自动交接,附带摘要、git diff、风险与测试提示。机器验证的质量门 (由你的测试套件说了算,而不是代理), 并行的 QA 与 Security 审查分支,条件连线,反馈循环,循环上限。按团队选择角色的运行方式:一个代理在角色之间变形并保留全部上下文,或者每个角色一个在线代理,实时互相发消息。这是你在 Claude、Codex、GitHub Copilot CLI、Cursor 以及另外 10 个代理 CLI 上的代理一直缺少的多代理编排器。
给每个代理一个属于自己的检出
下载适用于 macOS、Windows 或 Linux 的 AgentsRoom,让多个代理在同一个仓库里工作而互不干扰。
配套应用:随时随地监控你的 Agent
使用 Claude、Codex、Antigravity CLI 或其他 AI 提供商。
把 Bug 和需求直接发送到您的公开待办清单。