每天一个开源项目#67 Orca:4.3万星的并行 AI 编程控制台

每天一个开源项目#67 Orca:4.3万星的并行 AI 编程控制台

Trending 排名:#11 / 18|快照日期:2026-08-12|Stars:43,176(API 补充核验)|Forks:3,015|主语言:TypeScript|License:MIT|仓库:github.com/stablyai/or...
选择说明:今日热榜中 rank #1 cathrynlavery/diagram-design 是高质量 Agent Skill,但产品层偏设计素材与提示协议;semantica-agi/semanticavitali87/code-graph-ragPrimeIntellect-ai/prime-agent 已在历史报告中作为主角分析过。本期选择未重复覆盖、工程复杂度更高、且改变 AI 编程协作边界的 stablyai/orca

📋 项目概览

项目 内容
项目名 Orca
仓库 stablyai/orca
一句话 一个把 Claude Code、Codex、OpenCode、Pi 等 CLI Agent 放进并行 Git worktree、远程运行时和移动协作面板里的 AI 编程控制台。
Stars 43,176(2026-08-12 API 补充核验;Trending 快照仅保留排名列表)
Forks 3,015
Open Issues / PRs GitHub open_issues_count:3,588;搜索拆分:Issues 1,726、PRs 1,862
语言 GitHub 主语言 TypeScript;Linguist:TypeScript 约 96.9%、JavaScript 2.6%,另含 Swift、Kotlin、C#、Python、Shell 等平台适配代码
License MIT
最新 Release v1.4.180,发布于 2026-08-11;默认分支 package.json 版本为 1.4.178-rc.2,两者存在正常发布窗口差异
支持 Agent README 列出 Claude Code、Codex、OpenCode、Pi、Cursor、Grok、MiMo Code、Hermes Agent、Goose、Qwen Code 等 CLI Agent;本质是"任何能跑在终端里的 Agent"

🔥 为什么值得关注

过去半年 AI 编程工具的主战场,已经从"单个 Agent 会不会写代码"转向"一个人如何同时管理多个 Agent 的长期工作"。真实开发里,我们经常想把同一个需求分给 Claude Code、Codex、OpenCode 跑不同方案,或者让一个 Agent 修 Bug、另一个写测试、第三个做评审。问题是:这些 Agent 都是终端程序,彼此的 Git 分支、上下文、日志、成本、状态、远程机器和 UI 操作能力很快会乱成一团。

Orca 的核心价值就在这里:它不是再造一个模型,也不是简单包一层聊天窗口,而是把 Git worktree 作为并行工作单元 ,把 终端 Agent 作为可编排进程,再用 Electron 桌面、Web/远程 runtime、移动 companion、GitHub/Linear 任务面板和 CLI 控制面串起来。它试图回答一个更工程化的问题:当 Agent 变成"开发团队里的多个后台工人"后,人类如何可靠地分派、观察、接管、比较和合并它们?

从源码看,Orca 的热度不只是 README 动图带来的。浅克隆核验显示仓库有 13,309 个 tracked files,其中 src/cli 167 个文件、src/main/runtime 523 个文件、src/shared 1,234 个文件、src/renderer/src/runtime 143 个文件、mobile 1,217 个文件、tests 477 个文件;package.json 暴露了大量 typecheckvitest、Playwright E2E、远程 SSH、终端性能和发布构建脚本。这说明它已经接近"Agent IDE / Agent ADE"的工程体量,而不是一个周末脚本。

🏗️ 核心特性

  1. 并行 Worktree:一个需求,多路 Agent 同时跑

    Orca 把每个任务放进独立 Git worktree,避免多个 Agent 在同一目录互相覆盖文件。源码中的 worktree.create 路径会传递 repo、name、baseBranch、任务关联、Agent、startupDraft、setupDecision 等上下文;前端还有 pending creation 状态机,允许 worktree 创建和 Agent 启动在后台继续,而不是阻塞 UI。

    bash 复制代码
    # 已按 src/cli/specs/core.ts 核验:worktree create 支持 --name、--repo、--agent、--prompt、--json
    orca worktree create --repo id:<repoId> \
      --name agent-task \
      --agent codex \
      --prompt "实现登录态续期并补充测试" \
      --json
    维度 传统单终端 Agent Orca 的处理方式
    并行实验 手动复制目录或切分支,容易冲突 每个任务独立 Git worktree
    结果比较 靠终端历史和人工记忆 worktree、diff、任务上下文集中管理
    Agent 启动 手动打开终端、输入命令 --agent + --prompt 可创建后自动启动
    任务关系 分支名和备注散落 支持 parent worktree、issue、Linear issue 等元数据
  2. 支持"任何 CLI Agent",不锁模型和订阅

    README 明确定位为:只要 Agent 能在终端运行,就能在 Orca 中运行。它把 Claude Code、Codex、OpenCode、Pi、MiMo Code、Hermes Agent 等都当作终端进程和会话来管理,而不是把某个模型 API 固化进产品。

    bash 复制代码
    # 已按 src/cli/specs/core.ts 核验:terminal create 支持 --worktree、--command、--title、--focus、--json
    orca terminal create \
      --worktree active \
      --title "CODEX" \
      --command "codex" \
      --json

    这个设计的实用性很强:团队可以继续使用自己的 Claude Max、Codex、MiMo 或其他 CLI 订阅,Orca 负责 workspace、终端、任务、远程 runtime 和 UI 自动化控制面。

  3. 远程 Runtime:本地 UI + 远程算力/文件/终端

    Orca 支持 orca serve 在 Linux 服务器或 VPS 上启动 runtime。文档 docs/reference/headless-linux-server.md 显示,headless 模式会在无 DISPLAY 时使用 Xvfb,支持通过 --pairing-address 发布 Tailscale、局域网或反向代理地址,并可输出 JSON ready contract。

    bash 复制代码
    # 已按 src/cli/specs/serve.ts 与 headless 文档核验:serve 支持 --port、--pairing-address、--json
    LIBGL_ALWAYS_SOFTWARE=1 /opt/orca/orca-linux.AppImage serve \
      --port 6768 \
      --pairing-address 100.64.1.20 \
      --json

    远程连接不是裸 HTTP 调用。src/shared/remote-runtime-client.ts 显示客户端使用 WebSocket、tweetnacl 风格 E2EE handshake、deviceToken、runtime protocol capability 检查、请求超时、二进制帧限制和 backpressure queue;src/renderer/src/web/web-runtime-client.ts 还实现了浏览器端连接状态、心跳、重连、订阅 replay 和 files.watch 共享连接。

  4. 移动 Companion:Agent 跑完后,人不必守在电脑前

    README 的 Mobile Companion 功能强调:手机端可监控 Agent、收到完成通知并发送 follow-up。源码层面,仓库包含 mobile 目录 1,217 个 tracked files,并在 README 中提供 iOS App Store、TestFlight 与 Android APK 下载入口。

    这类功能看似"产品化",但对长时间 Agent 工作流非常关键:Agent 编译、跑测试、修复失败往往要几十分钟。移动端不是核心算法,却改变了人类监督 Agent 的时间边界。

  5. 浏览器与桌面 Computer Use:把 Agent 从代码仓库带到真实 UI

    Orca CLI 的 browser 基础命令包括 snapshotscreenshotclickfillgotowaittab create 等;computer-use 命令包括 computer get-app-statecomputer clickcomputer type-textcomputer paste-textcomputer set-value 等。它把网页和桌面 UI 操作也接到同一套 worktree / session 控制面里。

    bash 复制代码
    # 已按 src/cli/specs/browser-basic.ts 核验
    orca goto --url https://example.com --worktree active --json
    orca snapshot --worktree active --json
    orca fill --element e12 --value "hello" --worktree active --json
    bash 复制代码
    # 已按 src/cli/specs/computer.ts 核验
    orca computer get-app-state --app "Chrome" --json
    orca computer click --app "Chrome" --element-index 3 --json
    orca computer type-text --app "Chrome" --text "approve" --json
  6. 工程验证面很重:测试、E2E、性能与可靠性脚本齐全

    package.json 暴露的脚本不是只有 testbuild。它包含 typechecklintcheck:reliability-gatescheck:max-lines-ratchettest:e2etest:e2e:ssh-docker-*test:e2e:terminal-perfbench:*verify:* 等大量质量门禁。浅克隆统计中 test-like 文件 5,747 个(注意:这是按文件名包含 test/spec 的启发式计数,包含源树中的测试与脚本,不等同于 CI 实际执行用例数)。

🔬 技术架构深度解析

1. 当前实现的控制面

text 复制代码
用户 / Agent / CLI
   │
   ├─ Desktop Electron UI
   │    ├─ Worktree board / diff / editor / terminal panes
   │    ├─ GitHub / Linear / review surfaces
   │    └─ Browser + Computer Use panels
   │
   ├─ Orca CLI
   │    ├─ worktree create/list/show/rm
   │    ├─ terminal create/read/send/wait
   │    ├─ browser snapshot/click/fill/goto
   │    ├─ computer get-app-state/click/type-text
   │    └─ environment add/list/show/rm
   │
   └─ Runtime RPC client
        ├─ local window.api runtime call
        └─ remote runtime via E2EE WebSocket
               │
               ▼
        Runtime RPC method registry
          ├─ repo / worktree / git
          ├─ terminal / terminal orphan daemon
          ├─ browser / screencast / files.watch
          ├─ orchestration / agent session
          ├─ ssh / pairing / environment
          └─ notifications / account / plugin / skills

源码 src/main/runtime/rpc/methods/index.ts 把 runtime 方法按模块集中注册:STATUS_METHODSREPO_METHODSWORKTREE_METHODSTERMINAL_METHODSBROWSER_*ORCHESTRATION_METHODSCOMPUTER_METHODSSSH_METHODSPAIRING_METHODS 等。这种显式清单很适合审计安全边界:哪些能力可远程调用,一眼能定位入口。

2. Worktree 创建不是单个 git 命令,而是任务生命周期

text 复制代码
输入任务 / Issue / Prompt
      │
      ▼
preflight:repo、base branch、setup policy、parent lineage、Agent trust
      │
      ▼
worktree.create RPC
      │
      ├─ 创建 Git worktree / 注册 Orca metadata
      ├─ 关联 issue / PR / Linear / parent worktree
      ├─ 可选执行 repo setup hooks
      └─ 可选生成 startup terminal / startupDraft
      │
      ▼
renderer pending creation 状态机
      │
      ├─ 用户留在创建面板:完成后自动切入新 worktree
      └─ 用户离开:后台 seed terminal,不强行抢焦点
      │
      ▼
Agent terminal 启动、发送首条 prompt、后续 read/send/wait 接管

src/renderer/src/lib/worktree-creation-flow.ts 的注释非常值得看:它明确处理"用户在创建中途离开""后台创建完成后不要把用户强行拉回""Agent trust 预写失败不能 strand worktree""远程主机应拥有 task-draft startup"等细节。这些都不是 demo 级功能,而是长时间 Agent workflow 真正会遇到的边界条件。

3. 本地与远程 runtime 的权威边界

Orca 不是一个把所有文件塞进云端 VFS 的系统。更准确的说法是:

权威状态 说明
代码内容 Git checkout / Git worktree worktree 是并行任务隔离的主要边界
Orca 元数据 本地或 remote runtime 的应用状态 repo、worktree、任务链接、session、UI 状态等由 Orca 管理
终端进程 runtime 所在机器 本地桌面或远程 Linux server/VPS 负责真正执行 Agent CLI
远程通信 E2EE WebSocket + deviceToken 客户端通过 pairing offer、public key、device token 与 capability check 访问 runtime
移动端 companion 客户端 主要用于通知、观察、发送 follow-up,而不是替代 runtime

src/renderer/src/runtime/runtime-rpc-client.ts 会在调用非 status.get 方法前进行 runtime compatibility check,并缓存 60 秒能力状态;当 observed runtimeId 变化时会清理旧 verdict,避免把旧 runtime 的能力判断套到新连接上。这个实现细节说明项目确实在处理远程 runtime 版本漂移,而不是只做"能连上就行"。

4. 远程 WebSocket 状态机

text 复制代码
connect
  │
  ▼
e2ee_hello(publicKey)
  │
  ▼
e2ee_ready
  │
  ▼
e2ee_auth(deviceToken, clientCapabilities)
  │
  ▼
authenticated runtime session
  │
  ├─ one-shot RPC: method + params + timeout
  ├─ streaming subscription: terminal / browser / files.watch
  ├─ binary frames: screencast / terminal / file-like streams
  ├─ heartbeat: detect half-open browser WebSocket
  └─ replay: reconnect后重建 files.watch 等订阅

这里的重点不是"用了 WebSocket",而是状态机把常见故障都显式化:握手超时、runtime timeout、连接关闭原因、浏览器半开连接、共享 file watch 防止连接数耗尽、订阅 teardown retry、二进制帧大小限制。这些是远程 Agent workspace 能不能长期稳定运行的关键。

5. 代码规模与可验证性

指标 浅克隆核验结果
inspected commit 36d45af
tracked files 13,309
src/cli 文件数 167
src/main/runtime 文件数 523
src/shared 文件数 1,234
src/renderer/src/runtime 文件数 143
src/renderer/src/web 文件数 23
mobile 文件数 1,217
tests 目录文件数 477
test-like 文件数 5,747(启发式,包含文件名含 test/spec 的源码、脚本与测试)
本地源码行数估计 .ts 约 2,129,942 行、.tsx 约 433,039 行、.json 约 97,494 行;该估计排除了二进制但未严格剔除生成/fixture 文件,只能作为代码体量参考

这组数据的意义是:Orca 的复杂度已经覆盖桌面端、CLI、runtime、远程通信、移动端、原生平台和测试基础设施。相应地,试用门槛也会更高:它不是一个 pip install 后几行代码就能嵌进项目的库,而更像一个完整开发环境。

6. 成熟度边界:权限、隔离和性能不能过度推断

需要明确几个边界:

  • worktree 隔离不是安全沙箱:Git worktree 能隔离文件修改和分支,但 Agent 进程仍然在对应机器上拥有终端权限。真正的网络、文件、凭据、进程隔离仍需 OS、容器、远程主机策略和团队权限系统配合。
  • 远程 runtime 选择是路由,不是授权本身--environment、pairing code、deviceToken 能控制连接和目标 runtime,但团队级权限、secret、网络出口、代码签名仍要另行治理。
  • README 的产品动图不等于所有场景都已验证:仓库测试脚本非常丰富,但完整 E2E 依赖 Electron、Playwright、SSH/Docker、移动端和平台权限。本文没有执行完整构建和 E2E,只做源码、CLI spec、API、文档和静态统计核验。
  • 版本面存在发布窗口差异 :GitHub Release 最新为 v1.4.180,而浅克隆默认分支 package.json1.4.178-rc.2。这不一定是问题,但使用时应以安装包、源码分支和 CLI --help 的实际版本为准。

📖 README 核心内容摘要

README 把 Orca 描述为 "The AI Orchestrator for 100x builders",核心句是:Run Codex, ClaudeCode, OpenCode or Pi side-by-side --- each in its own worktree, tracked in one place。也就是说,它的产品哲学不是替代已有 Agent,而是给它们提供一个统一的并行运行环境。

README 列出的主功能包括:

README 功能 技术含义 本文核验结果
Mobile Companion 手机监控 Agent、收通知、发 follow-up README 有 iOS/TestFlight/Android APK;源码有 mobile 目录
Parallel Worktrees 同一任务多 Agent 分支并行 CLI 与 renderer 源码均有 worktree create/list/metadata 流程
Terminal Splits 多终端、多 pane、滚动历史 CLI 有 terminal list/read/send/wait/create;源码含 terminal daemon 与 E2E/性能脚本
Design Mode 点击 Chromium UI 元素,把 HTML/CSS/截图送进 Agent README 声明;browser/computer CLI 体现了 UI 操作控制面
GitHub & Linear Native PR/Issue/项目管理进 UI CLI 和 worktree create 参数中有 issue、Linear、PR 关联
SSH Worktrees 在远程大机器运行 Agent README 声明,runtime/remote client/serve 文档提供底层连接模型
Annotate AI Diffs 在 diff 行评论并回传 Agent README 声明;源码有 review/diff 相关模块,但本文未做交互式验证
Orca CLI Agent 也能脚本化控制 Orca src/cli/specs 明确列出命令与参数

README 的安装入口包括桌面下载、Homebrew Cask、Arch AUR、移动 App,以及 headless orca serve。对开发者而言,更值得关注的是它没有把 Agent 能力封闭在 UI 里:CLI spec 让 Agent 可以反过来驱动 Orca,形成"Agent 管理 Agent"的二级控制面。

🚀 快速上手

方式一:直接安装桌面版

bash 复制代码
# 已按 README 与安装段落核验:Homebrew Cask 安装命令存在于 README
brew install --cask stablyai/orca/orca

也可以从 GitHub Release 下载 macOS Apple Silicon、macOS Intel、Windows exe、Linux AppImage。由于不同平台包名和签名策略会变化,实际发布时建议以 GitHub Releases 最新资产为准。

方式二:把现有项目加入 Orca

bash 复制代码
# 已按 src/cli/specs/core.ts 核验
orca repo add --path /path/to/your/repo --json
orca repo list --json

方式三:创建并行 Agent worktree

bash 复制代码
# 已按 src/cli/specs/core.ts 核验
orca worktree create \
  --name auth-refresh-codex \
  --agent codex \
  --prompt "实现登录 token 自动续期,补齐单元测试和错误处理" \
  --json

如果只是想在当前 worktree 再开一个 Agent 终端,不要新建 worktree:

bash 复制代码
# 已按 src/cli/specs/core.ts 核验
orca terminal create --worktree active --command "codex" --json
orca terminal read --worktree active --limit 1000 --json

方式四:远程服务器运行 runtime

bash 复制代码
# 已按 src/cli/specs/serve.ts 与 docs/reference/headless-linux-server.md 核验
LIBGL_ALWAYS_SOFTWARE=1 /opt/orca/orca-linux.AppImage serve \
  --port 6768 \
  --pairing-address 100.64.1.20 \
  --json

--pairing-address 只改变客户端看到的地址,不改变 listener bind 地址。文档建议使用 LAN、Tailscale、SSH forward 或反向代理地址;通配地址如 0.0.0.0 不能作为 advertised address。

最小工作流示例

bash 复制代码
# 1. 查看运行状态
orca status --json

# 2. 创建一个独立 worktree 并启动 Agent
orca worktree create --name fix-login --agent codex --prompt "定位登录失败并修复" --json

# 3. 读取当前终端输出
orca terminal read --worktree active --limit 1000 --json

# 4. 给 Agent 发送 follow-up
orca terminal send --text "请补充失败用例并运行测试" --enter --json

上述命令均来自 src/cli/specs/core.ts 的已核验 CLI spec。是否能端到端执行,取决于本机是否安装并运行 Orca runtime、目标 Agent CLI 是否已登录、项目是否已导入、平台权限是否允许终端和 UI 自动化。

📊 增长速度与社区热度

Star 增长与社区指标

Trending 快照只保留了排名列表,未保留 stablyai/orca 的当日新增 Stars,因此本文不编造"今日新增"。以下为 2026-08-12 的 GitHub API 补充核验值:

指标 数值 说明
Stars 43,176 API 补充核验,非原始 Trending 快照字段
Forks 3,015 API 补充核验
Watchers / Subscribers 97 API 补充核验
GitHub open_issues_count 3,588 GitHub 该字段合并 Issues 与 PRs
Open Issues 1,726 GitHub Search 拆分估计
Open PRs 1,862 GitHub Search 拆分估计
仓库创建时间 2026-03-17 API 核验
生命周期 Stars/天 约 292.0 43,173 / 147.9 天 的历史基线,不代表当天增长
Top contributors nwparker 2844、AmethystLiang 1642、brennanb2025 1226、Jinwoo-H 936、github-actions[bot] 710 API contributors 前 5
最近 Release v1.4.180,2026-08-11 Release API 核验

社区热度很高,但也要看到风险信号:Open PR 数量达到 1,862,说明项目迭代和外部关注极强,同时也意味着维护队列压力很大。对于团队试点,建议先验证自己的核心场景:本地 worktree 并行、远程 runtime、目标 Agent CLI 登录、GitHub/Linear 关联、权限与日志策略,而不是直接把它当成稳定生产基础设施全面铺开。

Rank Repository
1 cathrynlavery/diagram-design
2 msitarzewski/agency-agents
3 semantica-agi/semantica
4 nvm-sh/nvm
5 addyosmani/agent-skills
6 ZhuLinsen/daily_stock_analysis
7 vitali87/code-graph-rag
8 anthropics/skills
9 3b1b/manim
10 HKUDS/DeepTutor
11 stablyai/orca
12 paperclipai/paperclip
13 huggingface/transformers
14 harveyai/harvey-labs
15 jaywcjlove/awesome-mac
16 calesthio/OpenMontage
17 practical-tutorials/project-based-learning
18 PrimeIntellect-ai/prime-agent

🎯 适用场景

场景 为什么适合 Orca 注意事项
多 Agent 方案对比 同一任务可在多个 worktree 并行跑 Claude Code、Codex、OpenCode 等 合并前仍需人工 review、测试和冲突处理
长时间后台开发任务 终端会话、通知、移动 companion 能降低"守电脑"成本 Agent 失败恢复和成本控制需要团队流程配合
远程大机器开发 orca serve 支持 VPS/远程 Linux runtime,本地 UI 可连接远端执行 远程权限、secret、网络出口和系统隔离必须单独治理
Issue/PR 驱动开发 worktree create 可关联 issue、PR、Linear issue、parent worktree 对 GitHub/Linear 权限和组织流程有依赖
UI 自动化与端到端修复 browser/computer 命令可把网页、桌面操作纳入 Agent 工作流 平台权限、可访问性树和截图能力会影响稳定性
团队 Agent ADE 试点 适合探索"一个人管理多个 Agent 工人"的新协作模式 不建议一开始承载关键生产变更,先从低风险仓库试点

💡 总结

Orca 值得关注的地方,不在于它又做了一个 AI 聊天窗口,而在于它把 AI 编程从"单 Agent 单终端"推进到"多 Agent、多 worktree、多 runtime、多设备监督"的工程组织问题。它的源码体量、CLI spec、runtime RPC、远程 E2EE WebSocket、terminal/worktree 状态机和测试脚本都说明:这是一个认真做 Agent 开发环境的项目。

不过,Orca 也不是银弹。Git worktree 解决的是代码修改隔离,不是安全沙箱;远程 runtime 解决的是算力和位置,不自动解决权限治理;移动 companion 解决的是监督便利,不等于 Agent 自治可靠。更合理的采用方式是:把 Orca 当成一个高潜力的并行 Agent 控制台,在真实项目中先验证"多方案并行开发 + 人工评审合并 + 可追踪日志"的闭环,再逐步扩大到远程 runtime、移动协作和团队流程。

如果你已经在同时使用 Claude Code、Codex、MiMo Code 或其他 CLI Agent,Orca 的价值会非常直观:它把这些离散的终端工人收编进一个可观察、可切换、可脚本化的工作台。

相关推荐
海兰1 小时前
【数据采集】开源的 Web 数据采集与处理Firecrawl(一)
前端·开源
chunmiao30321 小时前
Meta 开源 30B 模型 Muse Glimmer:消费级显卡就能跑的本地 Agent
开源
峰向AI2 小时前
AI 画图要好看,还是要可信?小孩子才做选择,我两个都要!
github
openKylin2 小时前
8月15日,openKylin邀您共赴2026 CCF中国开源大会
开源
对象存储与RustFS3 小时前
大文件传到 48 GiB 就断:S3 分片上传的参数怎么算,以及那些没人清的残片
后端·rust·开源
十六年开源服务商3 小时前
导航栏设计优化:WordPress网站转化率提升实战指南
开源
ZJU_统一阿萨姆3 小时前
【Git】Github 开源许可证详解
git·开源·github
小小龙学IT3 小时前
gRPC 开源高性能 RPC 框架深度解析:从 HTTP/2 到跨语言微服务实战
http·rpc·开源
johnny2334 小时前
HKUDS开源项目(四):OpenSpace、AgentSpace
开源