Orca 简明教程

如果你用过 Claude Code 或 Codex 这类 AI 编程智能体,你一定熟悉这个节奏:你写一个提示词,智能体读你的代码、编辑文件、执行命令,然后你干等着。想要另一个智能体的第二意见?你在同一个文件夹里再开一个终端,然后祈祷两者不会同时编辑同一个文件。

我有 15 年以上担任首席工程师(principal)和技术负责人的经历,自己日常也在 VS Code 里使用 Claude Code。越是依赖 AI 智能体,有一个问题就越突出:如果一个智能体有用,为什么一次只跑一个?Orca 正是围绕这个问题构建的。它把同时运行多个智能体当作正常的工作方式,而不是旁门左道。

这篇文章面向初学者——刚接触 Orca,或刚开始同时运行多个 AI 智能体的人。具备基本的 git 知识就够了。

1、Orca 是什么?

Orca 是 Stably AI 出品的免费、开源(MIT 许可)桌面应用,支持 macOS、Windows 和 Linux。它的文档说得简单直白:"Orca 是一个让多个 AI 编程智能体并肩运行的桌面 IDE。"该项目也自称 ADE,即智能体开发环境(agent development environment)的缩写。

把它想象成你已有智能体的控制塔。每个任务拥有自己独立的仓库副本、自己的智能体终端和自己的浏览器标签页。你可以一眼看出哪个智能体在工作、哪个卡住了、哪个已经完成。然后你评审每个智能体的改动,交付最好的那个。

知道 Orca 不是什么也有帮助:

  • 它不是一个 AI 模型。 它运行你已有的智能体 CLI,使用你现有的订阅。
  • 它不是 git 的替代品。 它创建的一切都是普通的 git worktree 和分支。
  • 它不是托管平台。 你选择智能体在哪里运行:你的机器、通过 SSH 的远程机器,或你自己的服务器。

它能与数十种 CLI 智能体协作,包括 Claude Code、Codex、Cursor CLI、Gemini、GitHub Copilot CLI 和 OpenCode。而且这个名字很贴切:虎鲸(orca)是成群狩猎的。

2、你唯一需要掌握的概念:git worktree

为什么不能在同一个文件夹里跑三个智能体?因为它们共享同一批文件。一个智能体重写了 LoginService.cs,而另一个才改到一半,两边的结果都不成立。

Git 早就有了解决方案:worktree。worktree 是附加在同一仓库上的额外工作目录。所有 worktree 共享仓库的历史,但每个都有自己独立的分支和磁盘上的文件。一个 worktree 中的改动不会影响其他。

手工操作是这样的:

# Create a new folder on a new branch, starting from origin/main
git worktree add -b fix-login-2 ../myapp-fix-login-2 origin/main
# See every worktree attached to this repo
git worktree list
# Remove the folder when you're done
# (the branch stays until you delete it)
git worktree remove ../myapp-fix-login-2

有一条规则值得知道:git 不允许在两个 worktree 中同时检出同一个分支。这就是为什么每个智能体都有自己的分支。

在 Orca 里你永远不需要输入这些命令。Orca 是 worktree 原生的:你创建的每个任务就是一个 worktree。它创建文件夹和分支、在其中启动智能体,并在你删除任务时把两者一起移除。

3、开始之前

你需要三样东西:

  1. 本机上的一个 git 仓库。 第一次运行时,选一个改动小、风险低的项目。
  2. 至少一个已安装并登录的智能体 CLI。 Orca 不会替你安装智能体,所以每一个都要先能在普通终端里工作。两三个智能体会让演示更有趣,但一个也足够熟悉流程。
  3. 能看懂 diff。 Orca 的文档说它是为那些"已经靠写代码为生、想把 AI 当作杠杆而非替代品"的人设计的。在任何东西交付之前,你要评审智能体的改动。

如果你还没有智能体,Claude Code 和 Codex 是最常见的两个起点:

# Claude Code on macOS, Linux or WSL
# (needs a Claude Pro, Max, Team, Enterprise or Console account)
curl -fsSL https://claude.ai/install.sh | bash
# Claude Code on Windows (PowerShell)
irm https://claude.ai/install.ps1 | iex
# Codex (needs Node.js; sign in with your ChatGPT plan)
npm install -g @openai/codex

然后在终端里运行一次 claude 或 codex,完成登录。如果智能体在那里能用,它在 Orca 里也能用。

4、安装 Orca

从 onorca.dev 下载对应操作系统的安装包,或者使用包管理器:

# macOS (Homebrew)
brew install --cask stablyai/orca/orca
# Arch Linux (AUR)
yay -S stably-orca-bin

Windows 上运行 orca-windows-setup.exe 安装程序。其他 Linux 发行版可以选择 AppImage(会自动更新)、.deb 或 .rpm。在 Linux 上命令行工具名为 orca-ide,以免与 GNOME 的 Orca 屏幕阅读器冲突。

首次启动时,Orca 会请求访问你的主目录,以便添加仓库。如果发现 ~/.claude、~/.codex 和 Ghostty 终端设置,它还会询问是否导入。在 Windows 上,请在设置 → 终端下检查你的默认 shell;文档指出大多数人会想要 PowerShell。

5、首次竞速前要检查的三件事

5.1 智能体默认以完全自主模式运行

Orca 启动受支持的智能体时已经应用了完全自主标志:Claude Code 带 --dangerously-skip-permissions,Codex 带 --dangerously-bypass-approvals-and-sandbox,Gemini 带 --yolo。智能体在编辑文件或执行命令之前不会停下来询问。

这个理由说得通:worktree 是用完即弃的,所以你让智能体去干活,通过 diff 来评判结果。但 worktree 隔离的是文件,不是风险。智能体仍然以你用户的权限在你的机器上运行。

在学习阶段,我建议把审批打开。进入设置 → 智能体,展开某个智能体的行,编辑它的启动参数。有一个重置按钮可以恢复默认值。开启审批后,侧边栏中的琥珀色问号会在智能体等待你时提醒你。

5.2 别把机密带进 worktree

新的 worktree 是干净的检出,所以 .env 这类 gitignored 文件和 node_modules 这类目录并不在其中。Orca 可以填补这些空缺:.worktreeinclude 文件会把 gitignored 文件复制进每个新 worktree,共享目录则让每个 worktree 复用同一个大目录(比如 node_modules)。

在把 .env 复制进每个 worktree 之前,请记住每个智能体都能读到它。只用开发凭据,绝不用生产环境机密。

同样的道理也适用于你的代码。Orca 自身的遥测是匿名的,不包含你的提示词、智能体响应和终端内容(可以在设置 → 隐私下关闭)。但你的智能体就不一样了:每个都会把它读到的代码发送给各自的 AI 提供商。做客户或公司项目时,请使用公司批准的账户。

5.3 三个智能体意味着三倍用量

Orca 本身免费,但你的智能体套餐有额度限制。三箭齐发消耗的是三个智能体的用量。Orca 会显示 Claude Code 和 Codex 的用量与速率限制状态,方便你留意。

把竞速留给那些第二、第三意见有价值的任务:棘手的 bug、设计取舍、不熟悉的代码。一行修复,一个智能体就足够了。

6、你的首次会话:三个智能体,一个任务

Orca 的文档把首次会话教程称为"这些文档中最重要的一页"。思路是:把同一个提示词交给三个智能体,各自在自己的 worktree 中,然后保留最好的结果。

6.1 添加你的仓库

点击侧边栏中的添加仓库(Add Repo),把 Orca 指向一个本地检出。Orca 读取仓库的 git 状态,并把你的默认分支作为基础 ref(base ref),即新 worktree 的起点。

6.2 创建 worktree

点击仓库名称旁的 +,输入任务名,比如 signup-validation。(留空的话 Orca 会替你命名。)然后选择一个起始(start-from) ref。通常就是你的基础 ref,比如 origin/main,但任何分支或提交都可以。Orca 会创建一个真实的 git worktree,检出一个新分支并打开它。

6.3 选择一个智能体并交给它任务

新 worktree 会打开一个带智能体选择框的终端。选择 Claude Code、Codex、Cursor CLI 或任何其他受支持的智能体。Orca 会在 worktree 目录中启动该智能体的 CLI,并转发你的订阅凭据。

现在把任务交给它。第一次竞速,选一个小而具体、容易验证的任务:

Add server-side validation to the signup endpoint:
- email must be a valid email address
- password must be at least 12 characters
- on failure, return a 400 with a clear error message
Add unit tests for both rules and run them before you finish.

从你自己的待办清单里挑一个小改动也一样好用,只要几分钟内就能验证结果。

6.4 开始竞速

把第二、三步再重复两次。用 Codex 创建 signup-validation-2,用第三个智能体创建 signup-validation-3(如果只有两个,就再用同一个智能体一次)。把同样的提示词粘贴进每一个。

现在你有三个智能体在三个独立的分支上工作,谁都碰不到别人的文件。

6.5 同时观察三者

把某个 worktree 的标签页拖到窗格的右边缘或下边缘即可分屏,然后你可以同时观察三个智能体。

不过你也不必死盯着终端。每个智能体标签页和侧边栏行都显示状态标记:

  • 旋转图标: 工作中
  • 琥珀色问号: 需要你——等待权限或回答
  • 绿点或对勾: 已完成,或安静地活跃着
  • 红点: 被阻塞、中断或失败
  • 灰点: 空闲

智能体完成时 Orca 还会发送通知,所以它们干活时你可以走开。

6.7 评审 diff 并选出优胜者

这是最重要的一步。每个 worktree 都有针对其起始 ref 的内置 diff。逐个打开,比较三个智能体解决问题的方式。要选出优胜者,按这个顺序检查三件事:

  1. 测试通过了吗? 提示词要求每个智能体运行测试,所以检查它的输出,或者你自己跑一遍。
  2. diff 聚焦吗? 最好的答案通常只改动任务需要的部分。如果某个智能体还顺手"整理"了你没让它碰的代码,要当心。
  3. 契合你的代码库吗? 命名、结构和错误处理应该和项目的其他部分看起来一致。

如果两个结果打平,保留 diff 更小的那个。

当优胜者接近但还需要修改时,使用注释 AI Diff(Annotate AI Diff)。悬停在某一行上,点击槽中的 +(或按 c),写下评论并保存。完成后,点击发送给智能体(Send to agent),选择应该做修改的那个。Orca 会把你的所有评论连同行号引用打包成一个提示词,很像 pull request 评审。

6.8 交付优胜者并清理

在优胜的 worktree 中,按文件或按块暂存改动,写提交信息(或点击 Generate with AI),然后提交。点击推送(Push),再从源代码管理打开 pull request。Orca 也可以替你起草 PR 的标题和描述。

最后,删除两个落败的 worktree。每个都是一键删除,它的分支也随之删除。

7、常见的初学者问题

  • 智能体启动不了。 先在普通终端里运行它的 CLI;大多数问题是登录或安装问题。然后检查设置 → 智能体,确保 Orca 能在你的 PATH 上找到它。
  • 创建 worktree 失败。 运行 git fetch origin,让起始 ref 在本地存在,或者换一个新的分支名。
  • Orca 感觉很慢。 关闭你不用的 worktree,并关闭分屏布局中的浏览器标签页,因为它们最占内存。
  • diff 看起来过期了。 点击 diff 工具栏中的刷新,尤其是在 Orca 之外运行过 git 命令之后。

8、接下来探索什么

当基本流程变得得心应手之后,还有不少可以探索的:

  • 设计模式(Design Mode): 点击 Orca 内置浏览器中的元素,把它的 HTML、CSS 和截图发送给你的智能体。
  • 移动伴侣: 在手机上(iOS 和 Android)查看智能体并回复它们。
  • SSH worktree: 从笔记本在远程机器上运行智能体。
  • GitHub、Linear 和 Jira: 从 issue 或 pull request 启动一个 worktree。
  • Orca CLI: 把工作流脚本化,比如从命令行创建 worktree。

9、结束语

Orca 带来的最大变化是你使用 AI 的方式。不再是问一个智能体然后盼它做对,而是比较多个答案、挑出最好的。Orca 文档把道理说得很好:"不同的智能体犯不同的错误。把同一个任务并行运行比顺序重试更便宜,还能把分歧暴露为信号。三个智能体一致的地方,答案大概是对的;它们分歧的地方,你就找到了难点。"

那个难点才是你的注意力该去的地方。打字的是智能体;为最终交付负责的仍然是你。

如果你要尝试,从小处开始:一个仓库、一个低风险任务、三个智能体。你同时跑过不止一个 AI 智能体吗?在评论区告诉我什么对你有效,以及哪个智能体总能在你的竞速中胜出。


原文链接:  Orca for Beginners: Run Claude Code and Codex Side by Side

汇智网翻译整理,转载请标明出处