先聊一个你可能已经遇到的问题
你现在用 Claude Code 或者 Codex 的方式大概率是这样的:开一个终端,丢一个任务,等它跑完,review,然后再丢下一个。如果同时有两件事要做——比如一个修 bug、一个写新功能——你就得开两个终端窗口,来回切。
问题不是「能不能开两个窗口」,而是 两个 Agent 之间会打架。它们改的是同一个工作目录、同一个 git 分支,一个 Agent 刚改完的文件,另一个可能正在读。你得自己协调谁先谁后。
这就是今年冒出来的「ADE」(Agentic Development Environment)赛道要解决的问题。Orca、Superset、Emdash——三个项目,同一个思路:给每个 Agent 一个独立的 git worktree,让它们各干各的,互不干扰。
但 Orca 的做法比另外两个多走了一步:它还做了个手机 App。
ADE 赛道:三兄弟,三种打法
先搞清楚这个赛道现在长什么样。
Superset(12.2K ★)— 先行者,但只有 macOS
Superset 是这个赛道最早跑出来的项目。Electron 架构,TypeScript 写的,核心理念是「在桌面 IDE 里并行跑多个 CLI Agent」。它的工作流是:创建 workspace → 选 Agent → 分配 git worktree → 并行执行 → diff review。
听起来很完整,但有两个硬伤:只能跑在 macOS 上,Windows 和 Linux 都还没支持;License 是 ELv2(Elastic License 2.0),不是真正的开源——你不能拿它做竞品的云服务。对个人开发者影响不大,但对企业用户来说 license 是个敏感问题。
Emdash(5K ★)— YC 背书,但起步晚
Emdash 是 YC W26 的项目,今年初才公开。它的定位跟 Superset 几乎一样——并行 Agent + worktree 隔离 + diff review。优势是 Apache 2.0 license,真开源;而且支持 macOS/Windows/Linux 三平台。
但它的问题是功能还不够成熟。跟 Orca 比,它没有移动端、没有内嵌浏览器的 Design Mode、SSH worktree 支持也比较基础。不过 YC 的资源加持意味着它后面迭代速度会很快。
Orca(10.2K ★)— 功能最全,MIT 协议
Orca 今年 3 月才创建,3 个月就到了 1 万 Star。MIT license,macOS/Windows/Linux 全平台。它在功能密度上是三者中最高的:移动端、SSH worktree、Design Mode、GitHub/Linear 集成、CLI 脚本化……基本上你能想到的它都做了。
但「什么都做」也是双刃剑,后面会说。
| 维度 | Orca | Superset | Emdash |
|---|---|---|---|
| Star | 10.2K | 12.2K | 5K |
| License | MIT | ELv2 | Apache 2.0 |
| 平台 | macOS/Win/Linux + 移动端 | 仅 macOS | macOS/Win/Linux |
| 移动端 | ✅ iOS + Android | ❌ | ❌ |
| SSH Worktree | ✅ 含端口转发 | ❌ | 基础支持 |
| Design Mode | ✅ 内嵌 Chromium | ❌ | ❌ |
| Issue 集成 | GitHub + Linear | ❌ | GitHub/Linear/Jira/GitLab/Asana |
| CLI 脚本化 | ✅ orca CLI | ❌ | ❌ |
Orca 最狠的三个功能
1. 移动端:躺在沙发上 review Agent 的代码
这是 Orca 跟所有竞品拉开差距的地方。它有一个 iOS/Android 的 Companion App,能跟你桌面上的 Orca 实时同步。
什么意思?你在电脑上同时开了 5 个 Agent 在跑不同的任务,然后你去泡咖啡。手机上会弹通知:「Agent #3 完成了,建议你 review diff」。你点进去,能在手机上看到代码 diff,还能给某一行加 comment,comment 会直接同步回 Agent。
听起来有点噱头?我一开始也这么觉得。但实际用了之后发现它解决的是一个真实痛点:Agent 跑任务的时间刚好是你不想坐在电脑前的时间。一个复杂的重构任务可能要跑 10-20 分钟,你不可能一直盯着终端。但你又不想完全不管——万一它跑偏了呢?
移动端让你可以在「不打断手头的事」的前提下,保持对 Agent 的监控。
2. SSH Worktree:让 Agent 在远程机器上干活
这个功能对我的工作流影响最大。
Orca 支持通过 SSH 连接到远程服务器,然后在远程机器上创建 worktree、跑 Agent。它不是简单的「SSH 进去开个终端」——它有完整的文件编辑、git 操作、终端分屏,而且支持自动重连和端口转发。
为什么这很重要?因为很多时候你的本地机器跑不动。大型 monorepo 的编译、需要 GPU 的测试、依赖特定 Linux 环境的 CI 验证——这些任务在 MacBook 上跑要么太慢要么根本跑不了。
用 Orca 的 SSH Worktree,你可以把 Agent 派到一台 64 核的服务器上干活,自己在本地看结果。这比「在服务器上装一个 Orca」方便得多——你用的是本地的 UI 和交互体验,计算在远程。
3. Design Mode:点哪发哪
Orca 内嵌了一个 Chromium 浏览器窗口。在 Design Mode 下,你点页面上的任何一个元素,它会自动把那个元素的 HTML、CSS 和截图打包发给 Agent。
这个功能对前端开发者来说简直是神器。以前你想让 Agent 改一个按钮的样式,你得自己描述「那个蓝色的圆角按钮,在 header 右边那个」。现在你直接点一下,Agent 拿到的就是精确的代码上下文。
我试了一下,在一个 React 项目里点了一个 dropdown 组件,Agent 直接拿到了组件的 JSX 结构和对应的 CSS module,改起来比文字描述准确得多。
实际体验:同时跑 4 个 Agent 修同一个项目的 bug
我拿一个真实的 TypeScript 项目试了 Orca 的并行能力。这个项目有 4 个 pending 的 bug,我打算让 4 个 Agent 同时修,看哪个效果最好。
操作步骤:
- 在 Orca 里点「New Workspace」,选项目目录,Orca 自动创建 4 个 git worktree
- 每个 worktree 选一个不同的 Agent(我选了 Claude Code × 2、Codex × 1、Gemini CLI × 1)
- 每个 Agent 分配一个 bug,附上 issue 链接
- 全部启动,然后我去吃午饭
午饭回来的结果:
- Claude Code #1(修 TypeScript 类型错误):✅ 完成了。diff 看起来很干净,改了 3 个文件,类型推导修好了,没有多余改动。
- Claude Code #2(修一个 race condition):⚠️ 半完成。它找到了问题根因,但修法不太对——引入了一个不必要的 mutex,我需要在 diff review 里手动 comment 让它重做。
- Codex(修一个 CSS 溢出问题):✅ 完成了。改动很小,就加了一个
overflow: hidden,但连带修了一个相关的 responsive 问题,属于超额完成。 - Gemini CLI(修一个 API 错误处理):❌ 跑偏了。它把错误处理改成了一个完全不同的模式,跟项目现有的 error boundary 架构不一致。我直接 discard 了这个 worktree 的改动。
总结:4 个任务,2 个可以直接用,1 个需要微调,1 个废了。大概 60-70 分的及格率——跟我用单个 Agent 跑单个任务的质量差不多。但关键区别是:这 4 个任务是同时完成的,总共花了 15 分钟。如果串行跑,至少要 40 分钟。
Orca 的 diff review 界面确实好用——每个 worktree 的改动一目了然,我能快速决定「merge 这个、comment 那个、discard 另一个」。这个 workflow 比在终端里来回 cd 到不同 worktree 目录高效太多了。
不爽的地方
用了一周,几个真实吐槽:
- 内存吃得多。同时跑 4 个 Agent + 内嵌浏览器,我的 MacBook Pro M3 16GB 内存告警了。每个 Agent 进程本身不太吃资源,但 Chromium 内核是真的重。如果你机器内存只有 16GB,建议同时不超过 2-3 个 Agent。
- 898 个 open issues。这说明项目迭代快,但也意味着你大概率会碰到 bug。我在 Windows 上试了一次,PTY 终端有个键盘输入的 bug(刚看到他们提了 fix PR),体验比 macOS 差不少。
- Agent 配置不够细。你没法给每个 Agent 单独设置环境变量或者 MCP server 配置。如果你的项目需要特定的环境变量(比如 API key),你得在全局设置里统一配,不能按 worktree 区分。
- Linear 集成比 Emdash 弱。Emdash 能接 Jira、GitLab、Asana、Monday.com 等一堆平台,Orca 目前只支持 GitHub 和 Linear。如果你的团队用 Jira,Orca 帮不了你。
- 免费但不完全免费。Orca 的桌面端和移动端都是免费的,但它收集匿名遥测数据(可以关掉)。考虑到他们每天都在发新版本,遥测可能是他们了解用户行为的主要手段。介意的话在 Settings 里关掉就行。
Orca CLI:被低估的杀手功能
大部分文章介绍 Orca 都只说桌面端和移动端,但它的 CLI 其实很有意思。
orca worktree create、orca snapshot、orca click、orca fill——这些命令意味着你可以用脚本控制 Orca。
举个例子:你可以写一个 shell 脚本,自动创建 5 个 worktree、给每个分配不同的 Agent、发送不同的任务 prompt、等它们全部完成后自动收集 diff。这就是一个 pipeline 了——Agent 不只是在 IDE 里跑,它可以被编排。
这跟 Claude Code 的 claude -p(pipe 模式)配合使用,能搭出相当复杂的自动化工作流。Orca 负责编排和隔离,Agent 负责干活。
什么时候用 Orca,什么时候不用
适合用 Orca 的场景:
- 你同时有多个独立的编码任务需要并行处理
- 你需要在远程服务器上跑 Agent(SSH worktree 是杀手级功能)
- 你想要一个「不盯着终端但又能随时监控」的工作方式(移动端)
- 你做前端开发,想要快速把 UI 元素的上下文丢给 Agent(Design Mode)
不太适合的场景:
- 你只跑单个 Agent、单个任务——用 Claude Code 或 Codex 直接跑就行,不需要 Orca 这层封装
- 你的机器只有 8GB 内存——Orca + 多个 Agent 会把你的内存吃光
- 你的团队重度依赖 Jira/GitLab——Orca 的 issue 集成目前只有 GitHub 和 Linear
- 你需要企业级权限控制和审计——Orca 目前没有这些
最后说一句
ADE 这个赛道才刚开始。3 个月前 Superset 先跑出来,然后 Orca 和 Emdash 紧跟着进场。三者的共同理念是:Agent 不应该是一个一个串行跑的,应该是一群一起并行跑的。Git worktree 是天然的隔离机制。
Orca 目前在功能密度上领先——移动端、SSH、Design Mode、CLI 脚本化,它全做了。但功能多不等于每个都做得好。如果你只需要核心的并行 worktree 功能,Superset 和 Emdash 可能更精简、更稳定。
我个人的选择是:本地开发用 Orca,远程任务用 Orca SSH,日常监控用手机 App。这套组合跑了一周,基本能用,但偶尔会碰到 UI 卡顿和 Agent 连接断开的问题。不完美,但比我自己切 5 个终端窗口管理 5 个 Agent 强太多。
如果你跟我一样同时在管好几个项目或者好几个任务,值得试一下。10 分钟装好,5 分钟上手,然后你就可以躺在沙发上 review Agent 写的代码了。
官网:onorca.dev