v给同时开着好几个 AI agent 的 Mac 开发者

所有 worktree、所有 agent,
一眼看全。

Orchard 把你 Mac 上所有 git worktree 放进一个视图:哪个 agent 还在干活、哪些在等你、哪些已经进了 main 可以清掉。AI 再讲清每一份工作是什么。

免费版不限时 不用注册账号 Apple 公证 不打扰正在工作的 agent
Orchard 的「全部」页:顶部计数为需要处理 2、Agent 工作中 2、已落地 7、空闲 4;下面 claude 已运行 42 分钟、刚刚改过文件,codex 已经 26 分钟没有改动,可能在等你。
每个 agent 在干什么 AI 讲清每个 worktree 做完的一键清理,个个有依据
8
种 AI 编程 agent 自动识别:Claude Code、Codex、Gemini CLI 等
1
个窗口看全所有项目的所有 worktree
6
类未落地的工作,一类不漏
3
层判断「是否已在 main 里」
问题

worktree 越开越多,
没人记得哪个还有用。

三个 agent 各占一个 worktree,主目录上又切着别的分支。一周之后,有的 PR 早就 squash 合并了,有的改动还躺在磁盘上,有的 commit 从来没 push 过。哪些做完了?哪个 agent 在等你?git 答不上来。

git 告诉你它们在哪

12 个
$ git worktree list ~/code/storefront 5d2c7e0 [main] ~/code/storefront-apple-pay 787882a [feat/apple-pay] ~/code/storefront-cart-rounding 3cbca05 [fix/cart-rounding] ~/code/storefront-order-history abf44dc [feat/order-history] ~/code/storefront-vite-6 8dee1e1 [chore/vite-6] ~/code/storefront-gift-cards 604a855 [feat/gift-cards] ~/code/storefront-edge-render 49d750a [spike/edge-render] ~/code/payments-api a4e19b2 [main] ~/code/payments-api-retry-budget c81f0d3 [fix/retry-budget] ~/code/payments-api-rate-limits 2b7a915 [feat/rate-limits] ~/code/payments-api-refunds e3d6c48 [feat/refunds] ~/code/payments-api-idempotency 2b7a915 [feat/idempotency]

Orchard 告诉你该怎么办

同一批
8
个已经进了 main · 1.2 GB
「改动已整体合入 main(squash 合并)」——每个结论都带依据
清理
2
处工作还没落地
删掉就会丢。每处写明原因,右侧直接给出下一步
提交并建 PR
2
个 agent 正在工作
claude 正在 feat/idempotency 里改动;codex 已经一阵没动静,可能在等你
Agent

哪个 agent 还在干活,
哪个停下来在等你。

Orchard 根据进程所在的目录认出 Claude Code、Codex、Gemini CLI 等 agent,每个 worktree 上谁在干活一目了然。不用装插件,也不用配置。

  • 实时状态。哪个 agent、跑了多久、最后一次改文件是什么时候。
  • 卡住的一眼看出。一阵子没有改动?Orchard 会提示它可能在等你。
  • 菜单栏里就能看。正在跑的 agent 和没落地的工作,不用打开窗口。
  • 从不打扰它。后台只读,不和 agent 抢 index.lock;有 agent 在的 worktree 不会被清理。
AI,可选

AI 只负责讲清楚,
不决定删什么。

用 ChatGPT 登录后,Orchard 会告诉你每个 worktree 在做什么、做到哪一步、合并前要留意什么;还能起草 commit 和 PR 描述,让 ⌘K 按描述找到那份工作。

  • 只解释,不判断。是否已在 main,由确定性的算法算出来;AI 只负责把它说成人话。
  • 用你自己的 ChatGPT 套餐。不用配置 API key,Orchard 不额外收费。不登录时,没有代码离开你的 Mac,核心功能照样完整可用。
  • 自带 key、自选厂商,已在计划中。「用 ChatGPT 登录」是第一种接入方式;之后会支持填你自己的 API key,接入更多 AI 厂商。
Orchard 对 feat/gift-cards 的 AI 总结:改了什么、进度(还没写完,还没有扣减余额的逻辑),以及要留意:功能开关已经打开,现在合并会让顾客看到还不能用的礼品卡入口。
还没落地的

没落地的工作,
一直摆在你眼前。

「待处理」只列删掉就会丢东西的 worktree。每张卡片写明具体原因,右侧直接给出下一步:提交并建 PR、把孤儿 commit 存为分支,或者交还给 agent 继续做。

Orchard 的「待处理」页:2 处工作还没落地,每张卡片有一句 AI 总结和「2 个文件未提交」这样的原因;右侧是 AI 总结:改了什么、进度、要留意的地方。
4 个文件未提交

未提交的改动

包括没被 git 跟踪的新文件。agent 写到一半的东西,大多在这里。

2 个 commit 未 push

已提交,没 push

只存在这台 Mac 上。已经进了 main 的那些不算,不会误报。

无远端跟踪

从没推到远端的分支

本地新建、远端从来没有过的分支,删掉 worktree 前最容易忽略。

2 个 stash

stash

按所属分支归到对应的 worktree 下,不再是一串看不懂的 stash@{3}。

孤儿 commit,切走就会丢

detached HEAD 上的 commit

不属于任何分支,一切走就找不回来。一键存为分支。

rebase 进行到一半

中断的操作

做到一半的 rebase、merge、cherry-pick。做完或放弃之前,这个 worktree 不能清理。

清理

做完的,一键清掉。
每一个都有依据。

git branch --merged 认不出 squash 和 rebase 合并,做完的 worktree 看上去都像没做完,越积越多。Orchard 把已经进了 main 的挑出来,每个写明原因,一次清掉。

  • 每个都写明原因。「PR #142 已于 3 天前合并」「改动已整体合入 main(squash 合并)」,不是光秃秃一句「已完成」。
  • 被遗忘的也找得出。几周没人碰的 worktree 会标出闲置了多久,每一行都写着占了多少空间。
  • 只想腾空间?只清理 node_modules 这类构建产物,worktree 留着。
  • 改主意了?清理掉的,7 天内都能恢复。
Orchard 的「可清理」页:8 个已经在 main 里或很久没动的 worktree,每个都写明原因(squash 合并、相同内容的提交、未提交的改动 main 里都已有),可释放 1.2 GB。
01

提交层分支的最新提交已经是 main 的祖先。普通 merge 和 fast-forward 在这里认出来。

这里的内容都已经在 main 里
02

补丁层比对每个 commit 的补丁和整个分支的变化,认出 rebase、cherry-pick 和 squash,再用 GitHub 上的 PR 状态交叉核对。

改动已整体合入 main(squash 合并)PR #142 已于 3 天前合并
03

内容层连未提交的改动也逐块比对:main 里已经有一样的内容,或者它只是被后来的提交取代的旧版本。

未提交的改动 main 里都已有
main 虚线圈 = 未提交的改动 实心点 = 未 push 的 commit 已在 main 里
feat/checkout-redesign
刚从 main 分出来,还没有自己的工作
没有未落地的工作
分支轨

一条线,
看懂一个分支。

每张卡片左边都有一条分支轨:灰线是 main,曲线是这个 worktree 的分支。扫一眼就知道哪里有风险,鼠标悬停有文字解释。

幕后

跟 agent 一起跑,
不挡它们的路。

Orchard 只观察和整理:不创建 worktree,不启动 agent,也从不 force push。

后台只读,不打扰正在干活的 agent

自动刷新只运行只读的 git 命令,并且带上 GIT_OPTIONAL_LOCKS=0,git status 不会刷新 index,不会和 agent 争 index.lock。唯一的后台写操作是 git fetch,可以关掉。

每个操作都先给你看命令

提交、推送、清理之前,要跑的每一条 git 命令都摆在你面前。确认弹窗只写事实:会发生什么、什么不受影响、怎么撤销。

默认在本机运行

核心工作流在你的 Mac 上运行。可选 AI 功能使用你自己的 ChatGPT 登录,并将相关改动发送给 OpenAI。

还有这些

从发现到收尾,
一个窗口做完。

提交并建 PR

AI 按改动内容拆成几个 commit,起草 PR 标题和描述,并列出不会被提交的文件(比如 .env.local)。执行前,要跑的每一条命令都摆在你面前。

将执行 git add src/gift-cards.ts src/redeem.ts git commit -m "Redeem gift cards at checkout" git add src/flags.ts git commit -m "Add gift card feature flag" git push -u origin feat/gift-cards gh pr create --draft --title "Gift cards" # 含 TODO,默认 Draft

交给 Agent

把这个 worktree 的情况整理成一段说明,复制给 Claude Code 或 Codex,让它接着干。

已复制 · 分支 feat/gift-cards 有 2 个文件未提交、2 个 commit 没有推到远端。剩余:兑换流程的测试…

写原因,不写状态词

每张卡片都直接写出风险:「2 个文件未提交」「无远端跟踪」。AI 再用一句话说明这份工作是什么。

一张待处理卡片,带 AI 一句话总结和具体原因,例如 2 个文件未提交、无远端跟踪

没提交的改动也会比对

未提交的文件逐处和 main 比对,所以「main 里已有」对从没 commit 过的工作也成立。

详情面板:未提交的改动 main 里都已有,config.yml 标着「main 里已有」

撞车预警

两个 agent 在不同的 worktree 里改了同一个文件?合并之前就提醒你。

feat/gift-cardscheckout.ts
fix/cart-roundingcheckout.ts

⌘K,用一句话找

按名字过滤;登录 ChatGPT 后,也可以按描述找。

⌘K上周那个改结算页的

实时,而且安静

用 FSEvents 监听文件变化,只刷新受影响的 worktree,自动忽略 node_modules 这类目录。PR 状态通过你已登录的 gh 每个仓库一次拉取。

Git 扫描于 2 秒前
价格

免费版不是试用版。

所有功能免费,不限时,不要账号。付费只为一件事:同时跟踪更多项目。

免费
免费永久

固定跟踪 1 个项目,这个项目里的 worktree 数量不限。

  • 1 个项目,worktree 不限
  • 六类未落地工作 + 三层落地判断
  • 清理与 7 天恢复、提交并建 PR
  • AI 总结与起草(用你的 ChatGPT 登录)
  • 菜单栏、实时更新、自动更新
免费下载
不需要账号,也不需要信用卡
License 首发价
一次付款 · 税费另计

解锁全部项目。买断,不订阅,不设到期时间。

  • 全部项目同时跟踪
  • 免费版的一切功能
  • 同时激活 2 台 Mac
  • 换电脑时在设置里停用,名额立即释放
  • 支持独立开发者继续把它做好
购买 License
先用免费版,觉得值再买
常见问题

你可能想问

能认出哪些 agent?

Claude Code、Codex、Aider、Gemini CLI、Cursor Agent、opencode、Amp 和 Goose。Orchard 看的是每个正在运行的进程在哪个目录里工作,所以不用装插件,也不用配置。

Orchard 怎么知道一个 worktree 已经在 main 里了?

它按三层判断:分支的最新提交是否已在 main 的历史里;每个 commit 的补丁(或整个分支 squash 之后)是否和 main 里的某次提交一致,并用 GitHub 上的 PR 交叉核对;未提交的改动是否 main 里已经有了。由确定性的算法判断,AI 不参与。每个结论都附上原因,你可以自己核对。

会不会和正在工作的 Claude Code、Codex 冲突?

不会。所有后台命令都带 GIT_OPTIONAL_LOCKS=0,不刷新 index,也就不会抢 index.lock。有 agent 进程正在某个 worktree 里工作时,那个 worktree 会显示为「Agent 工作中」,并且不允许清理。

AI 功能怎么收费?我的代码会被发出去吗?

AI 是可选的,通过「用 ChatGPT 登录」调用,消耗的是你自己 ChatGPT 套餐的额度,Orchard 不额外收费。只有你登录并使用 AI 功能时,相关的改动内容才会发给 OpenAI;不登录时,没有任何代码离开你的 Mac。之后还会支持使用你自己的 API key,以及更多 AI 厂商。

需要 GitHub 吗?支持 GitLab 吗?

核心功能只需要本机的 git。想看 PR 状态、用「提交并建 PR」,需要安装并登录 GitHub 官方的 gh 命令行。目前只支持 GitHub。

Orchard 会改动我的仓库吗?

自动刷新只读。只有在你点了按钮之后(提交、建 PR、清理、存为分支)才会写入,执行前会把命令列出来。Orchard 不修改你的 git 配置,只额外写 refs/orchard/*,用来存放清理前的快照。

清理之后还能恢复吗?

清理前,未提交的改动(含新文件)和分支的最新提交都会快照到 refs/orchard/trash/,默认保留 7 天,在「可清理 › 最近清理」里一键恢复。被 git 忽略的 .env 等文件不在快照里,清理前会单独提示并备份。

免费版和 License 有什么区别?

只有一个区别:免费版固定跟踪 1 个项目,License 解锁全部项目。所有功能(包括 AI)在免费版里都完整可用,不限时,不需要账号。

系统要求是什么?

,的 Mac,需要安装 git。Orchard 经过 Apple 公证,并通过内置的自动更新获取新版本。

Orchard 图标

所有 worktree,一眼看清。
该落地的落地,做完的清掉。

一分钟装好。第一次扫描,就能看到你 Mac 上所有的 worktree 和 agent。