使用Claude Code、Codex、OpenCode等AI编程工具时,单个终端通常只能专注处理一个任务。如果需要同时修改前端、排查后端问题、补充测试和检查代码差异,就需要打开多个终端并手动管理不同分支。

stablyai/orca是一款面向AI编程Agent的开源开发环境。它可以让多个命令行Agent在独立的Git worktree中并行工作,并在同一界面中管理终端、代码文件、Git差异和任务状态。项目支持macOS、Windows和Linux,并采用MIT许可证。

截至2026年7月20日,项目公开仓库显示的最新版本为v1.4.147。Orca更新较为频繁,正式部署前建议查看当前版本说明,并保留可回退的安装文件。

Orca主要解决什么问题?

Orca并不是一个新的大模型,也不会在服务器本地完成模型推理。它更接近一套用于协调AI编程工具的开发环境。

开发者可以在Orca中为同一个代码仓库创建多个独立worktree,让不同Agent分别尝试不同方案。例如:

  • 一个Agent排查登录接口问题;
  • 一个Agent补充单元测试;
  • 一个Agent检查代码安全;
  • 一个Agent重构前端组件;
  • 一个普通终端负责运行构建和测试。

每个任务都有独立的分支和文件目录,可以减少多个Agent同时修改同一工作区造成的覆盖和冲突。Orca还提供终端分屏、代码编辑、Git差异查看、GitHub任务集成和Agent状态管理等功能。

Orca支持多种能够在终端中运行的Agent,包括Claude Code、Codex、Grok、Cursor CLI、GitHub Copilot、OpenCode、Gemini CLI、Kimi、Qwen Code等。原则上,只要工具能够通过命令行运行,就可以作为自定义Agent接入。

Orca为什么适合放在云服务器上?

Orca可以直接安装在个人电脑中,但AI编程任务经常需要持续编译、执行测试或等待模型完成较长任务。个人电脑休眠、断网或关机后,相关进程可能中断。

Orca提供两种常见的远程运行方式。

SSH工作区

Orca界面运行在个人电脑上,代码仓库、worktree和Agent进程运行在远程服务器中。

这种模式适合已经有Linux开发服务器,希望继续使用本地桌面界面的开发者。Orca可以通过SSH创建远程worktree、运行Agent、同步文件变化,并将服务器中的监听端口转发到本地。

Remote Orca Server

在服务器中运行:

orca serve

服务器负责保存项目、worktree、终端、Agent进程和会话状态,个人电脑、浏览器或手机只作为控制界面。

这种模式适合希望Agent长期运行、从多个设备连接,或者需要让自动化程序创建任务的场景。Remote Orca Server目前仍被官方标记为Beta功能,使用前应在测试环境验证稳定性。

如果只是一个人通过固定电脑操作,可以优先选择SSH工作区;需要服务器长期保存完整会话,或者需要手机和多个客户端连接,则更适合运行Remote Orca Server。

部署Orca需要什么服务器配置?

Orca本身主要负责工作区、终端和Agent调度,服务器实际负载通常来自代码编译、依赖安装、测试程序、Docker容器和多个Agent进程。

个人测试可以参考:

  • 2核CPU;
  • 4GB内存;
  • 50GB以上SSD;
  • Ubuntu 22.04或兼容Linux系统;
  • 稳定的SSH连接。

同时运行两到四个Agent,可以参考:

  • 4核CPU;
  • 8GB内存;
  • 80GB以上SSD;
  • 配置系统快照;
  • 根据项目情况增加Swap。

大型前端、Java、Rust、C++项目或多个Docker环境,可以参考:

  • 8核及以上CPU;
  • 16GB及以上内存;
  • 150GB以上SSD;
  • 根据构建缓存增加数据盘;
  • 配置CPU、内存和磁盘监控。

这些属于开发环境的经验配置,并不是Orca官方规定的最低要求。简单代码分析和大型项目编译之间的资源差异很大,建议先测试再升级。

在选择服务器时,可以将莱卡云服务器作为候选方案,根据项目规模比较CPU、内存、SSD容量、服务器地区和快照功能。初次体验可以从4核8GB左右的配置开始,观察Agent数量、编译时间和磁盘增长情况后再调整。

莱卡云并不是唯一选择,具体配置仍需要结合代码规模、同时运行的Agent数量和团队访问位置判断。

Ubuntu服务器安装Orca

下面以Ubuntu 22.04无桌面服务器为例。

连接服务器:

ssh root@服务器IP

更新软件包:

apt update
apt upgrade -y

安装基础工具,以及Orca AppImage在无界面环境中需要的依赖:

apt install -y \
  curl \
  git \
  ca-certificates \
  openssh-server \
  libfuse2 \
  xvfb

官方无界面部署文档说明,Linux AppImage启动时仍需要Electron相关运行库。没有桌面会话时,Orca可以自动使用Xvfb创建虚拟显示,但服务器需要先安装xvfb;AppImage运行还需要libfuse2

下载Orca AppImage

创建安装目录:

mkdir -p /opt/orca

下载当前最新Linux版本:

curl -L \
  https://github.com/stablyai/orca/releases/latest/download/orca-linux.AppImage \
  -o /opt/orca/orca-linux.AppImage

添加执行权限:

chmod +x /opt/orca/orca-linux.AppImage

检查命令:

/opt/orca/orca-linux.AppImage serve --help

无界面服务器不需要打开完整桌面应用,可以直接通过AppImage执行serve子命令。官方也建议systemd服务继续使用AppImage绝对路径,避免依赖交互式用户的Shell环境。

创建独立运行用户

不建议使用root账号运行Orca和AI编程Agent。

创建系统用户:

useradd \
  --system \
  --create-home \
  --shell /usr/sbin/nologin \
  orca

设置安装目录权限:

chown -R orca:orca /opt/orca

创建项目目录:

mkdir -p /srv/orca-projects
chown -R orca:orca /srv/orca-projects

官方无界面部署文档建议使用独立的非root用户运行服务,这样能够保留Chromium沙箱,而不是通过降低安全限制解决启动问题。

前台测试运行

正式建立systemd服务前,先在前台测试:

sudo -u orca \
  LIBGL_ALWAYS_SOFTWARE=1 \
  /opt/orca/orca-linux.AppImage serve \
  --port 6768 \
  --pairing-address 服务器可访问地址

--pairing-address必须填写客户端能够访问的地址,例如:

  • 服务器内网IP;
  • Tailscale地址;
  • WireGuard地址;
  • 已配置的隧道地址;
  • 受保护的公网域名。

不要填写127.0.0.1,除非客户端也运行在同一台服务器中。

启动成功后,终端会输出运行端点和配对链接。Remote Orca Server默认由服务器保存项目、worktree、终端和Agent进程,客户端主要负责显示和操作。

创建systemd服务

编辑服务文件:

nano /etc/systemd/system/orca-serve.service

写入:

[Unit]
Description=Orca Runtime Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=orca
WorkingDirectory=/home/orca

Environment=LIBGL_ALWAYS_SOFTWARE=1
Environment=DO_NOT_TRACK=1

ExecStart=/opt/orca/orca-linux.AppImage serve \
  --port 6768 \
  --pairing-address 100.64.1.20

Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

将:

100.64.1.20

替换为客户端实际可以访问的服务器地址。

加载并启动服务:

systemctl daemon-reload
systemctl enable --now orca-serve.service

查看状态:

systemctl status orca-serve.service

查看实时日志:

journalctl -u orca-serve.service -f

官方提供的systemd参考配置同样使用LIBGL_ALWAYS_SOFTWARE=1,用于减少无GPU云服务器中的OpenGL和DRI相关问题。

如何连接远程Orca服务器?

在个人电脑中安装Orca桌面客户端后,进入:

Settings → Remote Orca Servers

选择添加服务器,然后粘贴服务器启动时生成的配对链接。

连接后,可以从本地界面创建远程项目、终端和Agent会话。实际的文件、命令、Agent进程和终端PTY都运行在服务器中,本地电脑负责显示和控制。

如果只希望通过SSH使用远程算力,也可以在Orca客户端中进入:

Settings → SSH

添加莱卡云服务器的IP、用户、端口和SSH密钥。创建worktree时,将运行位置从Local切换到对应SSH服务器即可。

在服务器安装AI Agent

Orca只负责管理Agent,并不会自动提供Claude Code、Codex或OpenCode账号。

准备使用哪种Agent,就需要在服务器中安装并登录相应的CLI。例如使用Codex时,服务器上需要能够执行:

codex

使用Claude Code时,需要能够执行:

claude

Remote Orca Server调用的是服务器自己的PATH、用户目录和认证信息,而不是个人电脑中的Agent配置。因此,相关CLI和凭证都需要安装在服务器运行用户的环境中。

实际部署时,可以选择:

  • 为每个开发者建立独立Linux用户;
  • 不同用户使用独立Agent账号;
  • 不在多人共享目录保存认证凭证;
  • 不将API密钥写入代码仓库;
  • 不让Agent读取生产环境密钥。

如果多个开发者共用同一个orca系统用户,所有人可能接触相同的项目文件和Agent认证信息,不适合权限要求较高的企业环境。

配对端口不要直接暴露公网

示例中使用的端口是:

6768

配对链接本身能够授予远程运行环境的访问权限,应当视为敏感凭证。官方建议优先使用Tailscale、WireGuard、局域网、SSH转发或带身份认证的隧道,而不是将Orca端口直接暴露到公网。

比较稳妥的部署结构是:

个人电脑
   │
   ├── Tailscale或WireGuard
   │
莱卡云服务器
   ├── Orca Server
   ├── Git代码仓库
   ├── Claude Code、Codex等Agent
   └── 项目编译和测试环境

如果通过防火墙限制访问,可以只允许VPN网段连接6768端口。

例如使用UFW:

ufw allow OpenSSH
ufw allow from 100.64.0.0/10 to any port 6768 proto tcp
ufw enable

具体网段应根据实际VPN配置调整,不要直接照搬示例。

SSH工作区与Remote Server怎么选?

只需要本地电脑管理远程代码时,SSH工作区更简单:

本地电脑运行Orca界面
        │
        └── SSH连接莱卡云服务器
              ├── 代码仓库
              ├── Worktree
              └── Agent进程

需要完整会话长期保存在服务器时,可以运行Remote Orca Server:

莱卡云服务器运行orca serve
        │
        ├── 个人电脑客户端
        ├── 浏览器客户端
        ├── 手机客户端
        └── 自动化程序

官方文档将SSH模式定位为由本地Orca管理远程执行环境,而Remote Orca Server则由远程服务器保存完整运行状态,并允许多个客户端连接。

禁用匿名遥测

Orca官方说明,打包版本会收集匿名的功能使用事件,但不会上传文件内容、提示词、Agent输出、终端内容、代码仓库名称、文件路径或提交信息。

不希望发送匿名使用数据,可以在systemd服务中加入:

Environment=DO_NOT_TRACK=1

或者:

Environment=ORCA_TELEMETRY_DISABLED=1

修改服务文件后执行:

systemctl daemon-reload
systemctl restart orca-serve.service

这两个环境变量都可以关闭Orca遥测。

常见启动问题

缺少libfuse.so.2

出现:

dlopen(): error loading libfuse.so.2

安装:

apt install -y libfuse2

找不到显示环境

出现:

Missing X server or $DISPLAY

安装Xvfb:

apt install -y xvfb

检查路径:

command -v Xvfb

GPU或DRI警告

无独立显卡的云服务器可以保留:

Environment=LIBGL_ALWAYS_SOFTWARE=1

Chromium沙箱错误

检查服务是否使用普通用户运行:

systemctl show orca-serve.service -p User

同时确认安装目录权限:

chown -R orca:orca /opt/orca

客户端无法连接

检查服务端口:

ss -lntp | grep 6768

检查服务日志:

journalctl -u orca-serve.service --no-pager -n 100

从客户端测试:

nc -vz 服务器地址 6768

官方故障排查文档列出的常见原因还包括--pairing-address填写错误、防火墙未放行、Xvfb路径异常以及缺少AppImage依赖。

代码和账号安全建议

Orca可以调用Agent执行Shell命令、修改源码、运行Git和安装依赖,因此不建议直接把它部署在承载生产数据库、客户网站和重要业务的服务器中。

比较合理的方式是单独准备开发实例:

  • 使用普通Linux用户运行;
  • 只放置开发和测试代码;
  • 不保存生产环境SSH私钥;
  • 不使用生产数据库密码;
  • 每个任务使用独立Git worktree;
  • 修改后检查Git diff;
  • 重要代码推送到私有仓库;
  • 定期创建服务器快照;
  • 限制配对端口访问来源;
  • 配对链接泄露后立即重新生成。

在莱卡云服务器上部署时,可以将开发环境与正式业务服务器分开。这样即使Agent执行了错误命令,也能降低对线上业务的影响。

部署建议

Orca更适合已经使用多个AI编程Agent,并希望并行处理代码任务的开发者。只有一个Agent且任务时间较短时,普通终端已经能够满足基本需求。

需要让Agent长期运行、保存多个worktree、远程执行编译任务或从不同设备连接时,可以考虑在莱卡云等Linux云服务器上搭建Orca运行环境。

服务器主要负责保存代码、运行Agent和执行编译测试,不需要为了Orca本身选择GPU配置。初期可以从4核8GB开始,根据并行Agent数量、项目构建负载和磁盘使用情况逐步调整,同时做好普通用户隔离、VPN访问、密钥保护和代码备份。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐