Superset 体验:用一个窗口指挥上百个 Coding Agent 并行干活

8次阅读
没有评论

共计 5924 个字符,预计需要花费 15 分钟才能阅读完成。

最近这半年我的终端越开越多。一开始是一个 [[Claude Code]] 窗口,后来变成左边 Claude Code 写功能、右边 [[Codex]] 修 bug,再后来为了不让两个 Agent 互相踩脚,我开始手动 git worktree add,给每个任务单独开一个目录。问题是这套流程完全靠人维护:worktree 建了忘了删,分支名乱七八糟,笔记本合盖之后 SSH 上的 session 全断,想看某个 Agent 改了什么还得切到对应目录再 git diff。我试过用 tmux 把它们组织起来,也写过几个脚本做自动化,但始终觉得这是在给一个结构性问题打补丁。中间也尝试过 [[Orca]]、[[Muxy]] 等等方案。Superset 是我见过的第一个把这个结构性问题正面解决掉的工具,它干脆把 worktree 当成了产品的第一公民。

Superset 体验:用一个窗口指挥上百个 Coding Agent 并行干活

先说清楚它不是 Apache Superset

Superset 的官网是 superset.sh,一家 Y Combinator 2026 春季批次的公司,创始人是 Kiet Ho、Satya Patel 和 Avi Peltz,团队总共 4 个人,在旧金山。官方对自己的定义是 agentic IDE,用来编排上百个并行的 Coding Agent。GitHub 仓库目前有大约 14800 个 star,许可证是 Elastic License 2.0,属于 source available 而不是 OSI 认可的开源协议,这一点官网自己也写得很明白,介意的人需要先看清楚条款。

另外还有一个 [[Apache Superset]] 项目,这是 Airbnb 开源的商业智能和数据可视化平台。

核心概念只有一个:workspace 等于 worktree

理解 Superset 的操作逻辑,只需要理解一个词:workspace。每接一个任务,就开一个 workspace,Superset 在背后给它分配一个独立的 git worktree 和一条独立分支。Agent 在这个 workspace 里跑,它看到的工作目录是干净的、和 main 隔离的、也和其他 workspace 隔离的。这意味着你可以同时让三个 Agent 甚至十个 Agent 干活,彼此的改动不会互相覆盖,也不会污染主分支。官方文档的说法很直白,叫做没有手动 worktree 记账、不需要 stash、不需要反复 checkout。

这个设计的价值在于它把并行从一件需要你刻意组织的事变成了默认行为。以前我开第二个 Agent 之前会先在心里算一遍成本:要不要新建目录、依赖要不要重装、改完怎么合回去。现在这个心理门槛消失了,想到一个小重构就随手丢给一个新 workspace,不用担心它影响我手上正在调的那个功能。更关键的是每个 workspace 自带自己的终端、diff 视图、commit 历史、端口和 dev server,也就是说你给某个 workspace 起的 dev server 跑在它自己的端口上,不会和另一个 workspace 的 3000 端口冲突,这个细节在并行调试前端的时候特别舒服。

需要提醒一点,官网自己也诚实地写了:worktree 隔离的是工作文件,不是进程沙箱,也不保证合并时不冲突。三个 Agent 同时改同一个文件,最后 merge 的时候该冲突还是会冲突。Superset 解决的是过程中的互相干扰,不是语义层面的协同。

Agent 无关,用你自己的订阅

Superset 不绑定任何一家模型厂商,它的定位是编排层。内置支持的 Agent 包括 Claude Code、Codex、Amp、Gemini、OpenCode、Cursor Agent,后来又陆续加入了 Meta 的 Muse Code、Devin 的 CLI、Grok Build 和 Kimi Code,另外还有一个内置的 chat 入口。模型选择器里能看到 GPT-6 Astra、Sol、Luna、Claude Opus 5.5、Claude Fable 5.1 这些。

对我来说最重要的是它明确说不代理任何 API 调用,你用的是自己的 Agent 订阅或者自己的 API key,账单直接走原厂。这和那些中间插一层代理、顺便抽成或者偷偷记录 prompt 的产品完全不同。配套的还有一个实用功能叫 continue with another agent 和 fork session,可以把一个 session 的上下文交接给另一个 Agent 继续做。我实际用过的场景是 Claude Code 把架构搭好但在某个边界情况上反复绕圈,直接 fork 一份交给 Codex,经常能跳出来。

安装依赖很轻,只要机器上有 Git 就行,gh 是可选的,装了之后能用 PR 相关的流程。安装方式最常见的是 Homebrew:

brew install superset-sh/tap/superset

平台方面目前是 macOS 桌面端为主,Linux 提供实验性的 AppImage,Windows 还没有,Windows 用户现在只能观望。

让笔记本合盖也不断线的远程机器

这是我觉得被低估的一个功能。你可以通过 SSH 把一台远程主机加进来,workspace 实际跑在远程,这样本地笔记本合盖、断网、重启都不影响 Agent 继续干活。我把一台常年开机的小主机加了进去,长任务全扔过去跑,通勤路上用手机看进度。

配套的 iPhone 应用在 2026 年 9 月正式上架 App Store,它的本质是远程控制你已连接电脑上跑着的 Claude Code、Codex 等终端 Agent,可以恢复 workspace 和终端 session、追加 prompt、审 diff、合 PR,还能读 Pages。需要注意的是移动端属于 Pro 功能,要求 iOS 26 以上,并且电脑那边要开启 Remote Access。我第一次用的时候没搞明白为什么一直连不上,排查半天才发现是桌面端版本太旧,官方要求 Desktop 1.29.0 或更新版本,低于 1.22 或 1.24 的 host 会被提示升级,遇到连接问题优先检查版本号。

Review 和 ship 都在同一个窗口里

Superset 自带 diff viewer,支持并排和行内两种视图,也能看 commit 历史。2026 年 9 月 6 日那次更新把 Changes 面板做成了完整的发布流程,commit、push、建 PR 都能在里面一次做完,快捷键是 ⌘⇧L。再往后一周,PR 本身变成了 diff 旁边的一个独立面板,里面有 checks 状态、描述、merge 菜单和行内 review 评论,等于把 GitHub 的 PR 页面搬到了本地。同一次更新还加了一个我挺喜欢的小功能,Claude Code 或 Codex 派生出来的 subagent 会在侧边栏里嵌套显示在父 Agent 下面,并行跑的时候层级关系一眼能看清。

图片、视频和 PDF 的 diff 也支持 Before 和 After 预览,这个在改 UI 资源的时候比看二进制文件哈希有用太多。Workspaces 页面按状态做了分类,分成 Needs attention、Working、Needs review、Idle、Merged 几栏,并行任务多了之后这其实就是一个 triage 面板,我每天早上先扫一遍这一页,决定今天先处理哪几条。

可以被脚本和 Agent 自己驱动

Superset 提供 CLI、TypeScript SDK 和一个 MCP server,也就是说它自己可以被另一个 Agent 调用。应用里有 35 个设置项暴露给了 CLI,还有一个交互式的命令浏览器,不用记命令名。[[MCP]] server 的存在让一些有意思的组合变得可能,比如让一个编排 Agent 根据 issue 列表自动开若干 workspace、分派任务、跑完再汇总。官方还提供了一个叫 superset-orchestration 的 skill。

Automations 是另一个方向,本质是定时跑 Agent session,支持每天、每周、每月的调度,输出落在真实的 workspace 里而不是一段聊天记录。常见用法是夜间做 issue triage、生成 changelog 草稿、跑依赖更新。要注意 Automations 从 2026 年 9 月 13 日起变成了 Pro 功能,另外 Google Calendar 触发器被砍掉了,官方理由是没人用,Gmail 触发器保留。

还有一个叫 Computer Control 的 skill,让 Agent 通过无障碍接口操作原生桌面应用,跨 macOS、Windows、Linux。skill 本身随 Superset 附带,但驱动运行时要单独装,默认是 Cua Driver,macOS 上还能选 Peekaboo。Agent 可以读窗口的无障碍状态和截图、点击、输入、滚动、操作原生菜单,然后验证 UI 结果。这个功能很强,但我必须把官方文档里的警告重复一遍:驱动是第三方的,不由 Superset 维护,而安装它需要授予无障碍和屏幕录制权限,等于把机器的深度控制权交给了驱动和驱动背后的 Agent,这是一个系统级的信任决策,不要随手点同意。Cua Driver 默认开启匿名遥测,想关掉执行 cua-driver telemetry disable。

核心优势

  • 并行运行,互不干扰,每个任务都是独立的 Git worktree
  • 不绑定特定代理
  • 集成环境,终端,AI 聊天,内置浏览器,diff,Git 操作。可以在应用内查看、评论、完成改动

价格、隐私和性能

价格结构是免费层加付费席位,Pro 是每席位每月 20 美元,注册不需要信用卡。考虑到它不代理模型调用、你的模型花费完全独立,这个定价在我看来算合理,一个人用免费层也能覆盖大部分日常场景,真正逼你升级的主要是移动端和 Automations。

隐私方面是 local first 的设计,仓库、worktree、终端输出、Agent session 都留在本机,云端只同步账号和组织的元数据,离线可用,联网后再同步。公司在 2026 年 8 月 27 日完成了 SOC 2 Type II 审计,报告可以在 trust.superset.sh 拿到。

性能上官方在 7 月做过一次专门的优化,公布的前后对比数字挺具体:16 个终端时渲染进程内存从 1127 MB 降到 838 MB,降幅 26%;JS 堆从 581 MB 降到 286 MB,降幅 51%;GPU context 从 16 个降到 4 个;git 高负载下最差 UI 卡顿从 82.3 毫秒降到 28.0 毫秒;后台端口扫描从每周期 15 次降到 1 次。这类电子应用最容易在开十几个终端之后变成内存黑洞,愿意公布这种量化数据并且真的去改,说明团队知道自己的用户会怎么用它。9 月 28 日那次更新还把 workspace 的启动时间从原来 5 到 20 秒压到 1 秒左右,原因是之前要等 Agent 生成 workspace 名字,这个延迟在频繁开 workspace 的工作流里相当烦人。

实际使用的几点建议

第一条是别一上来就开十个 workspace。我最初兴奋地并行跑了八个任务,结果发现瓶颈从机器转移到了我自己的脑子,审 diff 的速度远跟不上 Agent 产出的速度,最后积压了一堆没人看的分支。比较舒服的节奏是同时三到四个,其中一个是我自己正在盯的主线,剩下的是可以放着跑、晚点再审的独立小任务。并行的收益来自任务之间真正独立,一旦它们改的是同一批文件,并行就变成了给自己制造合并冲突。

第二条是善用项目级配置。每个项目可以单独设置图标、颜色、命名规则和 sparse checkout,大仓库配上 sparse checkout 之后开 workspace 的速度明显不一样。命名规则值得花五分钟配好,分支名有规律之后在 GitHub 那边看 PR 列表会清爽很多。

第三条是把 Automations 当成维护工具而不是开发工具。我试过让它每天自动实现一个 issue,结果就是每天早上多出一个需要我从头 review 的大 PR,净效率是负的。换成跑依赖升级检查、生成 changelog 草稿、给新 issue 打标签分类这类低风险的重复劳动之后,它才真正开始省时间。

第四条是文件编辑冲突。9 月 28 日的更新专门加了这块保护,文件在磁盘上被改动时会提示,并提供 Compare 选项,保存冲突时给你继续编辑、从磁盘重载、覆盖文件三个选择,而不是静默覆盖。这个更新本身就说明了并行 Agent 环境里最容易丢工作的地方在哪里,如果你之前有过被 Agent 覆盖掉手工修改的经历,记得去 Settings 里的 General 把自动保存策略设成自己习惯的模式。

另外,界面在 2026 年 8 月 30 日做了 17 种语言的本地化,包括中文、日文、韩文、法文等,不喜欢英文界面的可以切。主题方面除了原有的深色主题,还加了 Catppuccin Latte、Solarized Light 和 Vellum 三个浅色主题。

和同类工具的区别

这类工具我陆陆续续写过几篇,放在一起对比更容易看清各自的位置。EnsoAI 和 Superset 的思路最接近,都是用 worktree 解决多 Agent 并行,差别在于 Superset 把 PR review、远程机器、移动端、Automations、MCP server 这一整套都做进去了,完整度更高,相应地也更重。Muxy 的定位是一个原生 macOS 终端,基于 libghostty,重点在终端本身的体验和对 Agent 的集成,它不接管你的 git 工作流。[[Herdr]] 解决的是用一个终端窗口管住分散在多台机器上的 Agent,关注点在跨机器的汇聚和监控,和 Superset 的远程机器功能有重叠但更轻。

如果你只想要一个好用的终端,用 Muxy;只想远程看一眼几台机器上的 Agent 跑完了没有,看 Herdr;希望把并行开发、代码审查、合并发布做成一条完整流水线,Superset 是目前最完整的那个。它和你现有的编辑器不冲突,官方也强调是并存关系而不是替代,内置的 deep link 支持直接跳到 VS Code、Cursor、Xcode、JetBrains、Sublime、Finder 和 Terminal,真要精细改代码还是回到自己熟的编辑器里。顺便一提,如果你发现 Agent 在 Superset 里产出了一堆过度设计的代码,可以配合 Ponytail 这类约束 Agent 行为的 skill 一起用,并行会放大产出,也会放大垃圾产出。

最后

当开一个新 workspace 的成本接近于零,我对任务的切分方式就变了:以前一个 PR 里塞三件事,因为切分成本太高;现在三件事三个 workspace,每条分支干净,review 也容易。这是工具改变习惯的典型例子。

但我也想保留一点清醒。并行多个 Agent 的真实瓶颈从来不在机器,而在人的审查带宽。工具能让你同时跑一百个 Agent,不代表你能消化一百份 diff。我现在的做法是把并行度控制在自己能当天审完的范围内,宁可让 Agent 闲着也不让分支积压。另外 Elastic License 2.0 不是 OSI 开源协议,这意味着它有商业使用上的限制,团队采购之前最好让法务看一眼条款,虽然对个人开发者基本没有影响。

正文完
 0
评论(没有评论)