12k
All articles

什么是 Orca?一款面向 AI 编程智能体的桌面 IDE

了解 Orca 如何在独立的 Git worktree 中并行运行 AI 编码代理、比较代码差异并辅助审查,以及何时使用 tmux 就足够。

OpenReplay Team
OpenReplay Team
什么是 Orca?一款面向 AI 编程智能体的桌面 IDE

Orca 是 Stably AI 推出的一款免费桌面应用,采用 MIT 许可证。它可以并排运行你已经在用的命令行编程智能体,例如 Claude Code、Codex、OpenCode 和 Pi,每个智能体都在独立的 git worktree 中工作。

如果你已经在几个 tmux 窗格里同时跑过两个智能体,想必深有体会:worktree 得手动创建,窗格开着开着就找不到了,比较 diff 时还得同时滚动两个终端。Orca 把这整套流程收进了一个窗口。本文将介绍 Orca 是什么、相比终端它多了哪些能力、双智能体对比在实际中如何操作,以及什么情况下终端仍然够用。

核心要点

  • Orca 本身不托管任何 AI 模型。它调用的是各智能体自己的 CLI,智能体使用你现有的订阅运行。
  • 每个 Orca 任务都有一个真实的 git worktree,默认基于仓库的默认分支创建,你也可以另选 ref。
  • Orca 默认会带上权限绕过参数启动智能体,例如 Claude Code 的 --dangerously-skip-permissions。你可以在设置中将其切换为 Manual。
  • 用同一个提示词运行两个智能体,意味着要为两个智能体付费,并同时消耗两份配额。
  • 如果你很少同时运行多个智能体,tmux 加手动创建的 worktree 就能覆盖 Orca 的大部分功能。

Orca IDE 是什么?

Orca 是一个用于并行运行多个 CLI 编程智能体的桌面环境,它本身不内置任何 AI。其官方文档将它定义为”用于并排运行多个 AI 编程智能体的桌面 IDE”,项目主页则称之为”智能体开发环境”(agent development environment,ADE)。源代码和 MIT 许可证见 stablyai/orca 仓库。

Orca 不托管也不捆绑任何 AI 模型,它启动的每个智能体都基于该智能体自身的订阅运行。文档对此说得很明确:智能体由你自带,Claude、Codex 或 OpenCode 的订阅也用你已有的。Orca 也不会取代 git。每个 worktree 都是真实的 git worktree,你随时可以 cd 进去直接用原生 git 操作。如果你还不熟悉这种隔离模型,建议先阅读在 AI 编程智能体中使用 git worktree。

支持的智能体页面列出了 Claude Code、Codex、OpenCode、Pi、Gemini、Cursor CLI 等,此外 Orca 也能运行其他任意 CLI 智能体。桌面应用支持 macOS(Apple Silicon 和 Intel)、Windows 和 Linux。

相比普通终端,Orca 多了什么?

原本需要你自己拼凑的那些工作,比如创建 worktree、布局窗格、审查 diff、对接 git 托管平台,Orca 都用一套统一的 UI 整合了起来。README 列出的主要功能如下:

  • **Parallel Worktrees(并行 worktree):**把同一个任务分发给多个智能体,每个智能体在各自的 worktree 中工作,然后比较结果、择优保留。
  • **Terminal Splits(终端分屏):**在同一个窗口内以分屏窗格排布多个智能体终端。
  • **Design Mode(设计模式):**在 Orca 内嵌的 Chromium 浏览器中点击某个元素,即可将其 HTML、计算后的 CSS 以及一张裁剪截图打包成一个附件发送给当前智能体。如果有开发环境的 source map,还会附带对应的源文件和行号。
  • **GitHub 与 Linear:**无需离开应用即可处理托管平台上的代码审查、issue 和 Actions,以及 Linear 任务。GitLab merge request 享有同样的审查流程,Jira 任务也有专门的抽屉面板。
  • **Annotate AI Diffs(批注 AI diff):**对智能体生成的 diff 逐行添加评论,并将这些评论回传给该智能体。
  • **SSH Worktrees(SSH worktree):**通过 SSH 在远程机器上运行智能体。智能体和 git worktree 运行在远程机器上,编辑器、diff 和 UI 则留在你的笔记本上。服务器端配置请参阅为智能体编程搭建远程主机。
  • **Mobile Companion(移动端配套应用):**一款适用于 iOS 和 Android 的 beta 版应用,可以在手机上监控智能体、查看用量和切换账号。
  • Orca CLI:Orca CLI 可以从任意 shell 对正在运行的应用进行脚本化操作,例如 orca worktree create,还能驱动内置浏览器。

Design Mode 提升的是输入给智能体的上下文质量。而 UI 改动上线后在真实用户那里是否表现正常,比如重新设计样式的按钮是否仍有人点击,则需要通过回看生产环境的用户会话来确认。

如何在 Orca 中让两个智能体对比完成同一任务?

在 Orca 中对比两个智能体,就是为每个智能体分配独立的 worktree,向两者粘贴同一个提示词,然后并排审查两份 diff。首次使用指南遵循”添加仓库 → 创建 worktree → 选择智能体 → 分屏 → 查看 diff → 交付”的流程。下面以两个智能体处理同一提示词为例演示这一流程。

可以从下载页面安装,也可以使用包管理器:

# macOS (Homebrew): use the full tap name; bare `orca` is an unrelated Plotly cask
brew install --cask stablyai/orca/orca

# Arch Linux (AUR)
yay -S stably-orca-bin
  1. **添加仓库。**点击 Add Repo,选择一个本地检出的仓库。Orca 会将仓库的默认分支作为 base ref,之后新建的每个 worktree 都从它分出,除非你另选分支或 commit。
  2. **创建 worktree。**点击 + 并为任务命名。
  3. **选择智能体。**在新终端的智能体下拉框中选择一个。Orca 会在正确的工作目录下启动该智能体的 CLI,并传入你的订阅凭据。
  4. **为第二个智能体重复上述步骤。**再创建一个 worktree,选择另一个智能体,并粘贴同样的提示词。
  5. **分屏。**将某个 worktree 的标签页拖到窗格的右侧或底部边缘即可分屏。
  6. **对比与批注。**分别打开每个 worktree 的 diff 视图。使用 Annotate AI Diff 将逐行评论发送给结果更接近预期的那个智能体。
  7. 提交并推送。在 Orca 中提交并推送。
  8. **删除落选方案。**Orca 会请你确认,随后删除该 worktree 目录及其分支。批量删除时,如果 git 因分支可能包含未合并的 commit 而拒绝删除,Orca 会保留该分支,你可以在”Review N Branches”提示中强制删除。
Worktree智能体提示词
fix-login-raceClaude Code相同
fix-login-race-2Codex相同

在执行第 3 步之前,请先了解默认配置。Orca 在启动每个受支持的智能体时,都会预先加上其完全自主权限参数:Claude 使用 --dangerously-skip-permissions,Codex 使用 --dangerously-bypass-approvals-and-sandbox,Gemini 使用 --yolo。如果希望恢复审批提示,可按照支持的智能体页面的说明,在 Settings → Agents → Agent Permissions 中将 Yolo 切换为 Manual。配置了自定义启动参数的智能体则保留其自身设置。

首次使用流程到推送就结束了。Orca 还可以创建 PR 并内联跟踪检查状态,具体做法见 GitHub 相关文档。

Orca 有哪些不足?

采用 Orca 的两大代价在于:项目迭代速度很快,而且它会成倍放大智能体的用量。

  • **迭代很快。**项目更新频繁,README 本身也指出 changelog 才是最新的功能清单。在依赖某个具体行为之前,请先查看 releases 页面。
  • **按智能体付费。**你运行的每个智能体都使用各自的订阅,并行跑两个就要同时消耗两份配额、受两套速率限制约束。
  • **关注用量。**Orca 会显示 Claude Code、Codex 及其他几种智能体的用量和速率限制。
  • **隐私。**在工作电脑上安装之前,请先阅读 Orca 的 Privacy & Telemetry 页面。

什么情况下终端加 tmux 就够用?

如果你一次只跑一个智能体,终端配合 tmux 和手动创建的 worktree 就能覆盖 Orca 的大部分功能。当你经常并行运行多个智能体,并希望把它们的终端、diff、审查评论和提交都集中在一个窗口里时,Orca 才真正值得采用。纯终端方案可参考 AI 智能体 tmux 指南。下面大致就是 Orca 帮你自动化的那些操作:

git worktree add -b fix-login-race ../fix-login-race origin/main
git worktree add -b fix-login-race-2 ../fix-login-race-2 origin/main

tmux new-session -d -s race -c ../fix-login-race
tmux split-window -h -t race -c ../fix-login-race-2
tmux attach -t race
# start one agent CLI in each pane, paste the same prompt, then:
# diff against the base, including commits (run `git add -A` first to include new files)
git -C ../fix-login-race diff origin/main
git -C ../fix-login-race-2 diff origin/main

# discard the loser (Orca removes the directory and branch after you confirm)
git worktree remove --force ../fix-login-race-2
git branch -D fix-login-race-2

请将 origin/main 替换为你的默认分支。git branch -D 会不经确认直接强制删除分支,而 Orca 会先请你确认。

需求tmux + worktreeOrca
一次只运行一个智能体足够大材小用
智能体审批提示默认保留默认绕过
并排审查 diff 并逐行评论手动操作内置支持
点击 UI 元素发送给智能体不支持Design Mode
在手机上查看智能体状态通过 SSH配套应用

Orca 值得用吗?

如果你经常并行运行多个智能体,Orca 是值得的:它没有带来新的 AI,但能为你省去手动管理多个已付费智能体的繁琐工作。不妨先拿一个真实的 bug 做一次双智能体对比,事先检查好权限设置,再看看 diff 审查节省的时间是否抵得上第二份订阅的成本。

常见问题

Orca 会把我的源代码或提示词发送给 Stably AI 吗?

不会。根据 Orca 的 Privacy & Telemetry 文档,它不会收集源代码、文件内容、提示词、智能体输出或终端输出。打包发布的版本会发送匿名使用遥测数据,并与存储在你本机上的随机 ID 关联。你可以在 Settings → Privacy 中通过“Share anonymous usage data”开关将其关闭,也可以设置 DO_NOT_TRACK=1 或 ORCA_TELEMETRY_DISABLED=1。

Orca 能在 Windows 上配合 WSL 使用吗?

可以。对于存放在 WSL 发行版中的仓库,Orca 会通过该发行版的 wsl.exe 启动终端。当 wsl.exe --status 执行成功时,Orca 还会将 WSL 与 PowerShell、命令提示符并列作为默认 shell 的可选项。请将各智能体的 CLI 以及 GitHub CLI 安装在 Orca 所启动的同一环境中,即 WSL 或原生 Windows 二选一。

Orca 能使用我在 Orca 之外创建的 git worktree 吗?

可以。通过 git worktree add 创建的 worktree 在你选择显示之前一直处于外部状态。如果某个仓库隐藏了它们,点击该仓库的隐藏 worktree 卡片,对需要的 worktree 选择 Show 即可。之后 Orca 会直接列出这些已有的检出目录,而不会新建。外部 worktree 的全局默认设置位于 Settings → General → Workspace。

使用 Orca 移动端应用时,智能体是在手机上运行的吗?

不是。移动端配套应用是一个瘦客户端。你的代码、shell 和智能体都留在桌面端,手机只负责显示运行状态并回传你的按键输入。配对时,在桌面应用中生成一次性验证码,然后粘贴到手机的 Pair 界面即可。验证码会在几分钟后过期。

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — self-hosted, with full data ownership.

Star on GitHub

We use cookies to improve your experience. By using our site, you accept cookies.