0%прочитано

РУКОВОДСТВО ПО ИНФРАСТРУКТУРЕ

Как настроить Orca Server и AI-агентов на VPS.

Пошаговая инструкция: как запустить сервер для параллельной работы OpenAI Codex, Claude Code и Antigravity с удаленным доступом с любого устройства.

  • Удаленный доступ 24/7 с любого ПК и телефона
  • Стабильный IP и снижение риска блокировок
  • Параллельные задачи в изолированных Worktrees
  • Ноутбук свободен от тяжелых сборщиков и RAM
Навык для AI-агентов

Скилл orca-vps-setup

Файл SKILL.md для Codex и Claude. Сам подключится по SSH, поднимет окружение и выдаст ссылку сопряжения.

Скачать SKILL.md
Для Claude / Codex Файл: SKILL.md

01Концепция и стек.

Вместо того чтобы держать тяжелые AI-агенты на локальном ноутбуке и вручную переключать ветки в Git, мы строим выделенную удаленную среду на чистом VPS сервере (Ubuntu 24.04 или 22.04 LTS).

В основе системы лежит Orca — среда оркестрации (ADE), позволяющая запускать несколько параллельных AI-агентов (OpenAI Codex, Claude Code, Antigravity CLI). Каждый агент изолирован в своем собственном Git Worktree, не перезаписывает чужие файлы, а вы управляете процессом через Web-клиент или приложение на Mac/iPhone.

VPS Ubuntu 24.04 LTS + Swap 2GB
Orca Server Headless runtime порт :6768
AI Fleet Codex · Claude · Antigravity
Worktrees Параллельные изолированные ветки
Client Web UI · macOS App · Mobile

02Подготовка сервера и настройка Swap.

Зачем это нужно: AI-агенты и среда выполнения Chromium при одновременной работе могут кратковременно потреблять больше оперативной памяти, чем выделено на базовом тарифе VPS (например, 1–2 GB RAM). Swap предотвращает аварийное завершение процессов ядром Linux (OOM Killer).

Подключитесь к вашему новому серверу под пользователем root по SSH и выполните блок команд:

Терминал VPS (root)
bash
# Создаем файл подкачки размером 2 GB
fallocate -l 2G /swapfile || dd if=/dev/zero of=/swapfile bs=1M count=2048
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile none swap sw 0 0" >> /etc/fstab

# Настраиваем swappiness: использовать swap только при реальном дефиците RAM
sysctl vm.swappiness=10
echo "vm.swappiness=10" >> /etc/sysctl.conf

03Установка зависимостей и виртуального дисплея (Xvfb).

Зачем это нужно: Диспетчер Orca базируется на Electron/Chromium. На сервере без физического монитора (Headless VPS) для запуска графического стека необходим виртуальный X-сервер (Xvfb) и библиотеки рендеринга.

Установка системных пакетов
apt-get
export DEBIAN_FRONTEND=noninteractive
apt-get update -y
apt-get install -y \
  curl wget file jq git ca-certificates build-essential \
  xvfb zlib1g-dev libfuse2t64 \
  libnss3 libatk1.0-0t64 libatk-bridge2.0-0t64 libcups2t64 libdrm2 \
  libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 \
  libpango-1.0-0 libcairo2 libasound2t64 \
  libgtk-3-0t64 libnotify4 libsecret-1-0 libxss1

04Создание сервисного пользователя и папок проектов.

Зачем это нужно: Запуск браузера и непроверенного кода агентов напрямую из-под суперпользователя root небезопасен (Chromium отключает песочницу). Мы создаем пользователя orca, копируем ему SSH-ключи и выделяем права sudo без пароля.

Создание пользователя и загрузка Orca
bash
# Создаем пользователя orca и директории проектов
useradd --system --create-home --shell /bin/bash orca
mkdir -p /home/orca/.ssh /home/user/projects /home/orca/projects
cp /root/.ssh/authorized_keys /home/orca/.ssh/authorized_keys 2>/dev/null || true
chown -R orca:orca /home/orca /home/user
chmod 700 /home/orca/.ssh && chmod 600 /home/orca/.ssh/authorized_keys 2>/dev/null || true
chmod -R 775 /home/user

# Добавляем права sudo
usermod -aG sudo orca
echo "orca ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/orca

# Скачиваем бинарник Orca AppImage
mkdir -p /opt/orca
curl -L https://github.com/stablyai/orca/releases/latest/download/orca-linux.AppImage -o /opt/orca/orca-linux.AppImage
chmod 755 /opt/orca/orca-linux.AppImage

05Настройка службы автозапуска Systemd.

Зачем это нужно: Orca Server должен непрерывно работать в фоновом режиме и автоматически подниматься при перезагрузке VPS.

Скрипт ниже автоматически определяет публичный IP вашего сервера и формирует конфигурационный юнит orca-serve.service:

Создание /etc/systemd/system/orca-serve.service
systemd
# Автоматически определяем внешний IP сервера
SERVER_IP=$(curl -s https://ifconfig.me || ip route get 1 | awk '{print $(NF-2);exit}')

cat << EOF > /etc/systemd/system/orca-serve.service
[Unit]
Description=Orca runtime server
After=network-online.target
Wants=network-online.target
StartLimitIntervalSec=300
StartLimitBurst=5

[Service]
Type=simple
User=orca
WorkingDirectory=/home/orca
Environment=LIBGL_ALWAYS_SOFTWARE=1
ExecStart=/opt/orca/orca-linux.AppImage serve --port 6768 --pairing-address $SERVER_IP
StandardOutput=journal
StandardError=journal
KillMode=mixed
Restart=on-failure
RestartPreventExitStatus=3
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

# Активируем и запускаем службу
systemctl daemon-reload
systemctl enable --now orca-serve.service

06Установка Node.js, GitHub CLI и AI-агентов.

Зачем это нужно: Разворачиваем среду Node.js 20 LTS, GitHub CLI для бесшовного доступа к приватным репозиториям и глобальные пакеты агентов OpenAI Codex, Claude Code и Antigravity CLI.

Установка агентов и инструментов
bash
# 1. Node.js 20 LTS + pnpm
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt-get install -y nodejs && npm install -g pnpm

# 2. GitHub CLI (gh) и системный хелпер учетных данных
mkdir -p -m 755 /etc/apt/keyrings
wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null
chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null
apt-get update -y && apt-get install -y gh
git config --system credential.helper ""
git config --system --add credential.helper "/usr/bin/gh auth git-credential"

# 3. Установка агентов Codex и Claude
npm install -g @anthropic-ai/claude-code @openai/codex

# 4. Установка Google Antigravity CLI (agy)
curl -fsSL https://antigravity.google/cli/install.sh | bash
ln -sf /home/orca/.local/bin/agy /usr/local/bin/agy
ln -sf /home/orca/.local/bin/agy /usr/local/bin/antigravity

# 5. Глобальный диспетчер orca CLI и установка 8 встроенных навыков
cat << 'EOF' > /usr/local/bin/orca
#!/bin/bash
if [ -x /home/orca/.local/bin/orca ]; then
    exec /home/orca/.local/bin/orca "$@"
else
    LIBGL_ALWAYS_SOFTWARE=1 exec /opt/orca/orca-linux.AppImage "$@"
fi
EOF
chmod 755 /usr/local/bin/orca
orca skills install --all

Для авторизации GitHub на сервере выполните: gh auth login (выберите GitHub.com → HTTPS → Log in with a web browser и введите код в браузере).

07Изолированный прокси для Antigravity (Опционально).

Зачем это нужно: Если VPS физически расположен в РФ, Google AI блокирует прямые запросы к Antigravity («not available in your location»). Мы настраиваем прокси строго внутри обертки команды agy. Вся остальная система (npm, git, orca, claude, codex) продолжит работать напрямую на полной скорости канала.

Изолированная обертка /usr/local/bin/agy
bash
# Переименовываем оригинальный исполняемый файл
if [ ! -f /home/orca/.local/bin/agy-real ]; then
    mv /home/orca/.local/bin/agy /home/orca/.local/bin/agy-real
fi

# Создаем обертку с вашим HTTP/SOCKS5 прокси
cat << 'EOF' > /usr/local/bin/agy
#!/bin/bash
# УКАЖИТЕ ЗДЕСЬ ВАШ ПРОКСИ:
PROXY_URL="http://login:password@ip:port"

export HTTP_PROXY="$PROXY_URL"
export HTTPS_PROXY="$PROXY_URL"
export ALL_PROXY="$PROXY_URL"
export NO_PROXY="localhost,127.0.0.1,::1"

exec /home/orca/.local/bin/agy-real "$@"
EOF

chmod 755 /usr/local/bin/agy
ln -sf /usr/local/bin/agy /home/orca/.local/bin/agy

08Получение ссылки сопряжения и подключение.

После запуска службы Orca генерирует защищенный токен и Pairing URL со сквозным шифрованием. Посмотреть его можно прямо в логах systemd:

Просмотр токена сопряжения
bash
journalctl -u orca-serve.service -n 30 --no-pager | grep "Web client URL"

В терминале отобразится ссылка вида http://IP:6768/web-index.html#pairing=orca://pair?code=...:

  • Через браузер: Просто откройте полученную ссылку на компьютере.
  • Через macOS / Windows приложение: Установите Desktop-клиент (brew install --cask stablyai/orca/orca), нажмите Connect to Remote Server и вставьте Pairing URL.
  • С мобильного телефона: Скачайте приложение Orca IDE (iOS / Android) и вставьте строку сопряжения для контроля агентов в пути.

Автор материала

Пётр Смывин

Обновлено