Agent 能连干二十分钟了,可它没工位也没手:11.3K 星 Worktrunk 和 16.1K 星 agent-desktop

Agent 能连干二十分钟了,可它没工位也没手:11.3K 星 Worktrunk 和 16.1K 星 agent-desktop

昨天到今天,GitHub 日榜上两个 Rust 项目一直在往上爬:Worktrunk 11,310 星,agent-desktop 16,133 星。它们不解决模型聪不聪明,解决的是两件更土的事——多个 Agent 怎么不互相踩,Agent 怎么去点一个只有界面的软件。

Worktrunk:先给每个 Agent 一个独立工位

一个人同时开五个 Claude Code,最常见的翻车不是模型笨,是五个进程在同一个目录里改文件。git 本来就有 worktree,一个分支一个独立目录,问题是原生命令太难用:建一个 worktree 要把分支名打三遍,git worktree add -b feat ../repo.feat,再 cd,再起 agent。

Worktrunk 把这件事压成 wt switch feat。作者 max-sixty,2025 年 10 月开的库,今年年初正式放出来,现在 11,310 星、424 个 fork、5,487 次提交,最新版 v0.81.0,MIT 或 Apache-2.0 双协议。三个核心命令对应三件日常事:wt switch 建和切、wt remove 删、wt list 看,列表里带 CI 状态和每个分支的摘要。

真正让并行跑起来的是 -x:wt switch -x claude -c feature-a -- 'Add user authentication',一条命令开目录、起 Claude、把任务塞进去,三个终端就是三条线。配套的还有 hooks(建目录时自动装依赖、起服务)、写时复制共享构建缓存(APFS、btrfs、XFS 上十个 worktree 共用 target/ 和 node_modules/,不复制不重建)、hash_port 给每个 worktree 分独立端口、wt switch pr:123 直接拉 PR。

它还解决不了”谁干什么”的问题,那是 Ruflo 这类编排层的事。Worktrunk 管的是每个人在哪干活。

实话:0.81 还是 0.x,hooks 和配置有上手成本;单人维护,作者自己在 README 里写”no slop”;主推 macOS 和 Linux 的 brew、pixi,Windows 用户走 WSL 更顺。

agent-desktop:再给 Agent 一双不靠截图的手

大多数”电脑操作 Agent”是截屏加像素匹配。agent-desktop 换了条路:读操作系统的无障碍树(macOS 的 AX、Windows 的 UIA、Linux 的 AT-SPI),把界面变成一棵 JSON 树,每个能点的控件带一个 ref,长这样 @s2n10v3haasex6:e1。Agent 点 ref,工具去执行,然后重新读一遍树,确认界面真的变了。

agent-desktop 通过系统无障碍树观察并操作桌面应用的时序图:快照、点 ref、重新读取验证
agent-desktop 的观察—动作—验证循环:不截图,读树拿 ref,动完再读一遍

Vercel Labs 出品,Apache-2.0,今年 2 月建库,16,133 星、1,127 个 fork,今天刚发 v1.2.0。它本身不含模型,循环写在你的 Agent 里;形态是 CLI 加一个 C 库,60 个命令分 11 组,从 snapshot、find、get,到 click、type、set-value、select,再到 wait(等窗口、等文字、等通知)和剪贴板读写。

好处很直接:一张截图进模型要几千 token,一棵树只给你能操作的元素;不用像素匹配,分辨率、缩放、暗色模式都不影响;相当一部分命令不需要窗口在前台,--headed 只在双击、部分滚动和通知操作时才要。

不过它是让 Agent 去操作桌面,反过来把几个 CLI Agent 挂进一个桌面窗口,是 AionUi 那种做法。

实话:这四个坑它替不了你

Electron 应用的原生对话框不在 AT-SPI 树上,GTK 程序套着一堆无名 group,canvas 和游戏基本没有可读控件——这三类它都摸不到。Linux 上 X11 和 Wayland 的能力不一样,不看平台说明会白折腾。仓库还挂着 168 个 open issue,1.2.0 的版本号说明接口没冻。

更要紧的是权限。给无障碍权限,等于把整台机器的界面交出去;快照、剪贴板、截图、命令输出都可能带隐私,官方 README 专门写了一行警告,要求别把这些内容塞进公开日志。

怎么选

两个工具不在一个层,不冲突:Worktrunk 管目录隔离和合并,agent-desktop 管界面操作。真串起来是这样——每个 worktree 起一个 Agent,Agent 改完代码自己开应用点两下验收,出问题退回自己的目录改,互不干扰。

同时跑三个以上 Claude Code 或 Codex 的,先装 Worktrunk;要让 Agent 碰只有 GUI 的老系统、桌面客户端的,再装 agent-desktop。只是偶尔让 AI 改个文件,两个都不用装,git 分支就够。

今年 Agent 的比拼已经从”模型多聪明”挪到”环境多像人”。这两个项目补的都是环境,不是智力。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注