项目快照:stablyai/orca,约 72,289 个 Star,4,730 个 Fork;最新推送时间 2026-09-19T12:36:57Z。本文基于仓库公开资料撰写。
项目地址:https://github.com/stablyai/orca · https://onOrca.dev

项目速览(TL;DR)
orca 是一个使用 TypeScript 开发的并行智能体开发环境(Agent Development Environment,ADE)。项目面向需要同时运行多个编码智能体的开发流程,提供桌面端、移动端配套能力以及远程运行时相关能力;仓库描述明确写有“Orca is the ADE for working with a fleet of parallel agents”。
根据仓库资料,Orca 可以让 Codex、ClaudeCode、OpenCode 或 Pi 并排运行,并为每个智能体分配独立的 Git 工作树(worktree)。项目默认分支为 main,许可证为 MIT,仓库使用 TypeScript,GitHub 页面资料显示 Star 为 72289、Fork 为 4730;这些数字属于给定资料中的仓库元信息,不代表实时统计。
“Run Codex, ClaudeCode, OpenCode or Pi side-by-side — each in its own worktree, tracked in one place.”
来源:README
定位与目标用户
Orca 的核心定位不是单一代码补全插件,而是把多个编码智能体放进同一个开发工作区,统一管理终端、工作树、任务以及远程会话。它适合需要比较多个实现结果、同时处理多个独立任务,或希望在移动设备上查看和干预编码会话的开发者。
README 将项目描述为面向“100x builders”的 AI 编排器(AI Orchestrator)。这里的“100x”属于项目原文表达,不能直接解释为经过独立基准测试验证的效率提升;仓库资料没有提供对应的性能基准、并发上限或生产服务等级协议。
目标工作流
- 为同一个提示词创建多个隔离工作树,让多个智能体分别给出实现结果。
- 在终端分屏中查看各个会话的命令输出、文件修改和运行状态。
- 从 GitHub 或 Linear 任务进入工作树,减少任务查看与代码修改之间的切换。
- 使用移动伴侣应用(Mobile Companion)接收完成通知并发送后续指令。
- 把智能体放到通过 SSH 连接的远程机器上,利用远程机器的文件、Git 和终端能力。
核心功能
Orca 的功能围绕“并行会话、隔离代码、统一观察”展开。每项能力都依赖 Git 工作树、终端或远程连接等具体组件,不能把它简单理解为一个只负责生成代码的聊天窗口。
并行工作树
并行工作树(Parallel Worktrees)把一个提示词分发给多个编码智能体,并为每个智能体建立独立的 Git worktree。输入是提示词和目标代码仓库,处理过程由多个智能体分别修改各自工作树,输出则是多个可以对照、审查和合并的实现结果。
README 给出的示例是让五个智能体各自工作,再比较结果并合并选中的版本。资料没有说明“五个”是否为固定上限,也没有说明创建工作树时采用的完整 Git 参数,因此不能据此推导系统的最大并发数或资源消耗。
移动伴侣
移动伴侣(Mobile Companion)用于从手机监控和操控编码智能体。根据 README,智能体完成后可以向移动端发送通知,用户也可以从移动端发送后续指令;这说明移动端承担的是会话观察与交互入口,而不是独立替代本地代码工作树。
资料列出了 iOS App Store、TestFlight 和 Android APK 下载入口,但没有给出移动端与桌面端通信协议、账户体系、推送服务、数据保留期限或网络拓扑。部署移动伴侣前,应以官方移动文档和应用实际权限说明为准。
终端分屏
终端分屏(Terminal Splits)提供基于 WebGL 的终端渲染、无限分屏和重启后保留滚动历史的能力。输入是多个编码智能体或 Shell 会话,渲染层把这些会话组织在同一界面中;输出包括终端字符流、滚动历史和分屏布局状态。
README 使用“Ghostty-class terminals”描述该能力,但资料没有给出渲染性能、终端兼容性列表或可打开的分屏数量。涉及大量输出、长时间编译任务或低配置设备时,应通过实际会话测试确认资源占用。
设计模式
设计模式(Design Mode)允许用户在真实 Chromium 窗口中点击界面元素,并将该元素的 HTML、CSS 以及裁剪后的截图发送到智能体提示词。触发条件是用户在浏览器界面中选择元素,输入数据由页面结构和样式组成,输出是附加了界面上下文的智能体请求。
该功能适合定位具体 UI 元素的样式问题。资料没有说明截图的存储位置、脱敏机制、跨域页面行为或是否会包含页面中的敏感文本,因此不应在包含凭据、个人信息或内部数据的页面上直接使用。
GitHub 与 Linear 集成
README 将 GitHub 和 Linear 描述为原生集成能力。用户可以在应用内浏览 Pull Request、Issue 和项目看板,并从任务打开工作树,在同一个工作区内完成代码修改和审查。
资料没有提供 OAuth 权限范围、Webhook 配置、API 版本、同步周期或冲突处理规则。使用该能力前,应按照组织的代码托管权限策略配置访问范围,不能仅依据“原生集成”推断其拥有某种默认权限。
SSH 工作树
SSH 工作树(SSH Worktrees)允许智能体运行在远程机器上,并提供文件编辑、Git、终端、自动重连和端口转发能力。输入是远程主机连接信息与目标工作树,执行位置是远程主机,输出则通过 Orca 界面返回本地用户。
仓库资料没有给出 SSH 密钥格式、连接配置文件字段、端口转发语法或远程运行时支持的操作系统。远程执行应限制在用户拥有或明确授权的主机上,并使用最小权限账号。
系统架构与关键模块
仓库没有提供一份独立的架构图,但 package.json 中的入口和脚本能够确认若干代码边界。以下内容只描述资料中明确出现的目录和入口,不将目录名称扩展为未公开的内部协议。
入口与运行边界
main指向./out/main/index.js,对应桌面应用主进程构建产物入口。bin.orca指向./out/cli/index.js,对应名为orca的命令行入口。bin.orca-dev指向./config/scripts/orca-dev.mjs,用于开发相关脚本入口。src/main、src/renderer、src/relay、src/shared和mobile在测试或质量检查脚本中被直接引用。
从脚本可确认的模块关系
src/main 下存在运行时、技能和 RPC 相关路径,例如 src/main/runtime/rpc/methods/skills.test.ts;src/relay 出现了技能安装处理测试;src/shared 出现了技能包清单和安装契约测试。这些信息表明项目包含主进程运行时、RPC、技能包以及中继处理边界,但资料没有公布完整 RPC 方法表或模块依赖图。
src/renderer 被用于死代码检查和设计系统检查,说明渲染器代码是独立质量检查对象。mobile 被纳入原生插件质量检查,说明移动端代码与主仓库共同维护,但资料没有说明移动端具体使用的框架、打包链和发布流程。
构建与质量门禁
项目的 lint 脚本不仅运行 Oxlint,还会执行反低质量代码审计、可靠性门禁、死类检查、行数限制、运行时限制、链接检查、本地化检查和技能包校验。测试脚本使用 Vitest,并先通过 ensure-native-runtime.mjs 确保 Node 运行时条件。
这些脚本说明仓库重视构建一致性、类型感知检查、本地化目录和技能包清单。不过,脚本存在不等于每条检查都适合第三方项目直接复用;实际执行结果还取决于本地依赖安装和平台环境。
依赖与运行环境
明确资料显示项目语言为 TypeScript,包名为 orca,版本为 1.4.197。脚本大量使用 pnpm,测试使用 Vitest,代码检查使用 Oxlint,格式化使用 Oxfmt;仓库 README 的平台徽章列出 macOS、Windows 和 Linux。
仓库描述还涉及桌面端、移动端和远程运行时。资料没有提供 Node.js、pnpm、Electron、操作系统最低版本、CPU 架构、内存要求或具体依赖版本,因此安装前应以仓库当前 README、锁文件和发布页面为准。
已知入口与平台信息
| 项目 | 资料中的值 | 说明 |
|---|---|---|
| 实现语言 | TypeScript | GitHub 仓库元信息 |
| 包名 | orca |
来自 package.json |
| 项目版本 | 1.4.197 |
来自 package.json |
| 默认分支 | main |
GitHub 仓库元信息 |
| 许可证 | MIT | 来自仓库 LICENSE 文件 |
| 桌面平台 | macOS、Windows、Linux | 来自 README 平台徽章 |
快速开始
仓库资料提供了可执行的 pnpm 脚本,但没有给出完整的桌面发行版启动教程、Node.js 最低版本或首次运行向导。下面的最小闭环严格使用 package.json 中出现的脚本,目标是完成依赖安装、构建或测试执行,以及结果验证。
安装、运行与验证
# 进入仓库目录后安装发布构建所需依赖
pnpm run install:release
# 构建命令行相关产物
pnpm run build:cli
# 运行项目测试,作为本地验证步骤
pnpm run testinstall:release 使用 pnpm install --frozen-lockfile --cpu=current,x64,arm64;它要求锁文件与依赖声明保持一致。build:cli 和 test 均来自 package.json,其中测试脚本会运行 Vitest,并调用原生运行时检查脚本。
如果目标是运行桌面应用,而不是执行命令行构建或测试,官方仓库资料没有提供足够的启动参数、开发服务器命令或发行包安装步骤。此处不虚构 orca 的命令行参数;建议按照最新 README 和官方发布页面选择对应平台的构建产物。
构建后的检查
# 检查代码格式
pnpm run format
# 执行仓库定义的完整质量检查
pnpm run lintformat 会运行 Oxfmt 写回文件,适合在独立分支或已提交变更后执行。lint 包含多项门禁和清单校验,失败时应根据具体脚本输出定位问题,不应直接删除检查或跳过失败结果。
配置说明
给定资料中没有提供 .env.example、YAML 配置、Docker Compose 文件或运行时环境变量清单,因此不能编造 API 地址、端口、模型名称或认证字段。能够确认的配置项主要来自 package.json 的包元数据和入口字段。
| 字段名 | 类型 | 默认值 | 作用 |
|---|---|---|---|
name |
字符串 | orca |
npm 包名称。 |
version |
字符串 | 1.4.197 |
当前 package.json 中声明的项目版本。 |
description |
字符串 | Next-gen IDE for parallel agentic development |
包描述,说明其面向并行智能体开发。 |
homepage |
字符串 | https://github.com/stablyai/orca |
包元数据中的项目主页地址。 |
author |
字符串 | stablyai |
包元数据中的作者字段。 |
main |
字符串 | ./out/main/index.js |
包的主入口路径。 |
bin.orca |
字符串 | ./out/cli/index.js |
命令名 orca 对应的 CLI 入口。 |
远程主机、模型服务、GitHub、Linear、移动端推送等配置字段,官方仓库资料未提供。涉及这些能力时,应以官方文档中的配置页面为准,不要依据上表推断出未公开的环境变量。
进阶用法
进阶使用的重点是把任务拆成可比较、可回滚的工作单元,而不是盲目增加智能体数量。根据本文作者的经验判断,并行工作树只有在任务之间边界清晰、结果可以独立验证时,才容易获得可审查的收益。
并行实现与结果合并
- 为同一需求准备明确的验收条件,避免不同智能体对目标产生不同解释。
- 将同一提示词分发到多个独立工作树,让每个会话保持文件修改隔离。
- 分别检查测试结果、差异内容和依赖变更,不以智能体的文字总结替代代码审查。
- 选定实现后再合并,处理冲突时保留可追踪的提交或差异记录。
README 明确支持“比较结果并合并胜出者”,但没有定义自动选优算法、合并策略或冲突解决器。合并责任仍属于开发者,尤其要检查数据库迁移、配置文件、锁文件和权限相关变更。
远程运行与移动监控
需要较强计算资源时,可以把智能体和工作树放到远程机器,并通过 SSH 工作树访问文件、Git 和终端。移动端适合接收完成通知、查看状态和发送后续指令,但不应把移动通知视为完整的审查流程。
远程连接与移动控制共同扩大了会话的可达范围。根据本文作者的经验判断,应为不同仓库使用不同远程账号和工作目录,并在任务结束后检查仍在运行的进程、转发端口和临时文件。
可观测性与运维
Orca 资料中可确认的可观测入口包括终端滚动历史、移动完成通知、统一工作区状态以及测试和质量检查脚本。它们覆盖开发过程观察,但仓库资料没有声明集中式日志、指标、追踪系统、审计报表或 SLA。
终端滚动历史在重启后保留,有利于回看智能体执行过的命令和输出。移动端完成通知可用于发现会话状态变化,但资料没有说明通知是否保证送达,因此关键发布流程仍应以仓库状态、测试结果和人工审查为准。
建议的本地运维检查
- 保留每个并行工作树的任务描述和结果记录,避免无法判断修改来源。
- 在合并前运行仓库定义的
pnpm run test和pnpm run lint。 - 对远程 SSH 会话核对工作目录、运行进程和端口转发状态。
- 对设计模式采集的 HTML、CSS 和截图检查是否包含敏感信息。
- 不要把仓库资料未声明的性能指标、通知可靠性或远程可用性当作承诺。
安全与合规边界
Orca 可以运行编码智能体、编辑文件、执行 Git 和终端操作,并支持 SSH 远程工作树,因此安全边界取决于智能体权限、仓库权限、主机权限和提示词内容。所有使用都应限定在用户拥有或已获得明确授权的代码仓库、浏览器页面和远程主机内。
项目资料没有提供安全模型、沙箱实现、密钥托管方式、审计日志规范、数据加密说明或隐私政策。不能假设智能体会自动阻止危险命令,也不能假设 HTML、CSS、截图、终端输出和代码不会离开本地环境。
授权与隔离要求
- 只连接经过授权的 GitHub、Linear、SSH 主机和浏览器环境。
- 为智能体使用最小必要权限,避免直接授予生产环境凭据或管理员权限。
- 在移动通知和设计模式中避免暴露 API 密钥、个人信息、客户数据和内部地址。
- 对并行工作树设置清晰的目录边界,合并前检查每个工作树的变更范围。
- 在组织环境中按照代码托管、隐私、数据跨境和远程访问制度审批部署方式。
本文不提供针对未授权目标的攻击教程、绕过检测技巧、账号自动化方法或凭据获取方法。若 Orca 被用于包含个人数据、商业机密或受监管数据的项目,应先完成组织内部的隐私和合规评估。
许可证与商用条款
仓库 LICENSE 文件声明项目采用 MIT License,版权声明为“Copyright (c) 2026 Lovecast Inc.”。MIT 条款允许获得软件的人员使用、复制、修改、合并、发布、分发、再许可和销售软件副本,因此从许可证文本看,商业使用是允许的。
分发软件或其重要组成部分时,必须保留版权声明和 MIT 许可声明。许可证同时明确软件按“原样”提供,不提供适销性、特定用途适用性和不侵权保证,作者或版权持有人不对相关损害承担责任;具体适用范围以仓库 LICENSE 为准。
MIT 许可证不等同于第三方服务授权。Codex、ClaudeCode、OpenCode、Pi、GitHub、Linear、移动应用商店以及远程主机可能分别受其自身条款约束,仓库资料没有为这些服务提供统一商业授权说明。
局限性与已知限制
当前资料足以说明产品定位和主要能力,但不足以建立完整的部署手册。缺失项包括最低运行时版本、完整依赖清单、桌面安装流程、远程连接配置格式、CLI 参数、环境变量、端口、认证协议和资源要求。
- 未提供并行智能体的最大数量、任务吞吐量或性能基准。
- 未提供移动端通知的送达保证、离线行为和数据保留规则。
- 未提供 SSH 自动重连、端口转发的具体配置字段和失败恢复策略。
- 未提供 GitHub 与 Linear 的权限范围、同步机制和审计能力。
- 未提供设计模式的敏感数据过滤、截图生命周期和跨域限制说明。
- 未提供正式 SLA、漏洞响应承诺或安全认证信息。
以上缺失不是对项目实现能力的否定,而是给定仓库资料未覆盖的事实范围。生产环境选型时,应以当前仓库、发布说明和官方文档的实际内容进行验证。
适合谁
以下信号同时出现时,Orca 的并行工作区模型具有明确的试用价值。是否部署仍应结合代码权限、远程主机治理和团队审查流程判断。
- 团队需要同时比较多个编码智能体对同一需求的独立实现。
- 任务可以拆成相互隔离的 Git 工作树,并且每个结果有明确测试或审查标准。
- 开发者需要在桌面端运行多个终端会话,并希望从手机接收完成通知。
- 本地计算资源不足,但团队已有授权的远程机器和 SSH 运维流程。
- 团队日常已经使用 GitHub 或 Linear,并希望从任务直接进入代码工作区。
不适合谁
以下情况表明引入并行智能体编排可能增加治理成本,或无法满足当前环境要求。这里的判断基于资料中已公开的功能边界和隔离要求。
- 组织禁止第三方工具访问源代码、终端输出、页面内容或移动通知。
- 任务高度依赖同一共享工作区,无法通过 Git worktree 进行隔离和独立验证。
- 团队没有授权的远程主机管理制度,却需要使用 SSH 工作树。
- 项目要求资料中未声明的 SLA、审计日志、合规认证或安全沙箱保证。
- 团队只需要单个本地终端和单一编码流程,不需要并行比较、移动监控或任务集成。
常见问题与排查(FAQ / Troubleshooting)
运行安装脚本时提示 pnpm 或运行时版本不满足怎么办
给定资料只显示脚本使用 pnpm,没有提供 pnpm 或 Node.js 的最低版本。先确认本地已安装与锁文件兼容的 pnpm,再查看最新 README 或发布说明;不要根据本文自行固定一个未在资料中出现的版本号。
pnpm run install:release 失败如何处理
该脚本使用冻结锁文件和多 CPU 架构参数。应先检查仓库目录、锁文件和网络依赖获取状态,再保留完整错误输出;如果依赖声明与锁文件不一致,冻结安装会拒绝继续,这是脚本设计的一部分。
为什么不能直接给出 orca --help 示例
package.json 确认了 orca 的 CLI 入口路径,但给定资料没有提供 CLI 参数或帮助输出。为避免虚构接口签名,本文只使用仓库中明确出现的构建、测试和质量脚本。
测试失败是否说明代码功能不可用
不一定。pnpm run test 会运行 Vitest,并先执行原生运行时准备脚本;失败原因可能来自依赖、平台、原生模块或具体测试。应阅读失败测试和脚本输出,再判断是环境问题、回归问题还是测试预期发生变化。
远程工作树连接不上怎么办
仓库资料没有公开 SSH 配置字段和端口,因此只能从基础授权、主机可达性、工作目录权限和 Git 状态开始排查。确认使用的是已授权主机,并参考官方 SSH 工作树文档,不要猜测 Orca 的专用配置名称。
设计模式是否可以处理任何网页
README 只说明它在真实 Chromium 窗口中采集元素的 HTML、CSS 和裁剪截图。跨域行为、认证页面、隐私数据处理和页面脚本限制均未在资料中说明,因此不能把该能力扩展解释为对任意网页的无条件采集。
项目地址与资源
以下链接均来自仓库元信息或 README 中出现的官方入口,适合用于源码、文档、下载和移动端信息核对。



