OpenRig — программное обеспечение с открытым исходным кодом для создания и запуска собственной сети агентов. Оно превращает AI-агентов для написания кода из разрозненных терминальных сессий в постоянную, организованную команду. Расскажите ведущему агенту, какого результата вы хотите достичь, — он скоординирует специалистов внутри команды и принесёт вам итоги и решения, требующие вашего внимания. Начните с репозитория и одного полезного изменения, сохраняя работу и контекст команды по неизменным адресам.
Это система с открытым кодом, лежащая в основе экспериментов автора с «AI-цивилизациями».
Руководство: Начало работы · Возникли трудности? Помощь · Вопросы: Q&A · Обновления и демо: @_feralmachine на X
Как это выглядит в работе
С чего начать: пошаговый путь для первого запуска: установка, запуск команды из двух агентов в вашем репозитории и получение одного проверенного изменения.
Не планируете настраивать это сегодня? Получайте следующие руководства и периодические обновления OpenRig → https://openrig.dev/follow
Установка и первый запуск
Требуется Node.js 22 или 24 и tmux, на macOS или Linux. На Mac с процессором Apple silicon используйте Node.js 22 (история совместимости). Нативная поддержка Windows пока отсутствует; WSL2 не тестировался. При запуске рига записываются хуки провайдера и настройки доверия рабочего пространства. Перед выполнением команд ниже прочитайте что OpenRig изменяет на вашем компьютере и сделайте резервные копии соответствующих файлов.
npm install -g @openrig/cli
rig setup --dry-run
Для установки через Bun выполните bun add -g @openrig/cli. OpenRig по-прежнему работает на Node.js, поэтому также установите Node.js 22. Bun может заблокировать скрипт postinstall этого пакета — в таком случае проверка версии Node.js и модуля SQLite, описанная в разделе что OpenRig изменяет на вашем компьютере, не выполнится при установке.
Выберите рабочий аккаунт, который у вас уже есть: Claude Code, Codex или оба. Повторно используйте явно сделанный выбор; вторая подписка не нужна. rig setup --dry-run показывает предварительный план настройки, а применение rig setup проверяет обе оболочки (harness) и cmux. Для пути с выбранным провайдером этот шаг необязателен.
Перед запуском агент спросит один раз: «Разрешить агентам выполнять команды OpenRig без повторных запросов разрешения? Да — рекомендуется / Нет — оставить запросы». Это распространяется на каждую команду rig, включая запуск/остановку агентов и конфигурацию, в рамках области личного проекта — если вы явно не выбрали сессии уровня пользователя. Это не глобальный YOLO и не разрешение создавать задачи самостоятельно. При ответе «Да» агент добавляет и проверяет нативные правила; «Нет» или отсутствие ответа оставляет настройки без изменений. Существующий явный выбор используется повторно. Скажите «Undo the OpenRig command allowances added by this setup», чтобы удалить только добавленные им разрешения.
Проверьте tmux -V и только выбранный вами CLI/логин: claude --version плюс claude auth status, либо codex --version плюс codex login status. При необходимости выполните однократный вход с помощью claude auth login или codex login; не устанавливайте и не входите в неиспользуемый провайдер.
| Команда | Стартер | Модели |
|---|---|---|
Два агента Codex |
|
Оба |
Два агента Claude |
|
Настроенное нативное значение по умолчанию Claude |
Claude (владелец) + Codex (проверяющий) |
|
Claude по умолчанию + |
Все три варианта используют одинаковые роли владельца/проверяющего и задачу. Перед запуском показывается выбранная среда выполнения, настроенная модель и команда; убедитесь, что аккаунт поддерживает модель, вместо тихого переключения. Ядро (kernel) запускается автоматически и выбирает из доступных аутентифицированных провайдеров независимо от этих двух агентов проекта. Отсутствие неиспользуемого провайдера не является требованием для настройки.
cd /path/to/your/repository
starter=first-project # или first-project-claude или first-project-mixed
rig specs preview "$starter" --kind rig
rig up "$starter" --cwd . --plan
rig up "$starter" --cwd .
rig tui --shared
Ядро обеспечивает отдельную операционную поддержку и общую панель управления. Чтобы отсоединиться, не останавливая панель, нажмите Ctrl-b, затем d; rig tui --shared возвращает к этому виду. Обычный rig tui открывает независимый вид. Закрытие терминала просмотра не означает, что нужно перезапускать команду.
Проверьте готовность мест в проекте с помощью rig ps --nodes --rig "$starter" и устраните все запросы аутентификации, доверия или разрешений перед назначением задач. Затем дайте владельцу одну чётко ограниченную цель из вашего репозитория:
rig send "dev-owner@$starter" 'Implement <one useful change>. Track the task in the queue and return its ID. Keep it local, verify the behavior, ask dev-check in this rig to check the exact candidate, and record the result and how I can try it.'
rig queue list --destination "dev-owner@$starter" --limit 1000
Отправка сообщения сама по себе не создаёт элемент очереди; задачу записывает владелец. Прочитайте финальный артефакт и результат проверки точного кандидата, затем вернитесь к тому же владельцу для следующего изменения. Пошаговый путь для первого запуска охватывает готовность, полезную задачу, проверенный результат, терминалы Herdr/cmux и восстановление после сбоев.
Не планируете настраивать это сегодня? Получайте следующие руководства и периодические обновления OpenRig → https://openrig.dev/follow
Сообщество
-
Вопросы: Обсуждения › Q&A
-
Баги и запросы функций: открыть задачу
-
Участие в разработке: CONTRIBUTING.md · Кодекс поведения · Политика безопасности · Получение помощи
-
Видео: youtube.com/@openrig
-
Релизы: GitHub Releases и npm
@openrig/cli
Мы стремимся реагировать на задачи и пул-реквесты в течение одного дня; целевые сроки рецензирования смотрите в CONTRIBUTING.md.
Что OpenRig изменяет на вашем компьютере
В ходе настройки и работы OpenRig записывает состояние экземпляра, файлы интеграции провайдеров и файлы рабочего пространства. Они включают настройки доверия и исполняемые хуки. Краткое описание ниже соответствует данной ревизии исходников; при использовании опубликованного пакета проверяйте rig --version, поскольку документация в репозитории может опережать npm.
| Когда | Что и зачем изменяется |
|---|---|
Установка npm |
Устанавливает CLI, встроенные компоненты и зависимости в директорию npm prefix (при использовании Bun — в глобальную директорию Bun). Скрипт postinstall OpenRig проверяет версию Node.js и загрузку модуля SQLite; Bun может заблокировать этот скрипт. Демон и настройка провайдера не запускаются. |
|
Устанавливает недостающие инструменты и добавляет блок OpenRig в |
Запуск демона |
Создаёт/обновляет состояние экземпляра в |
Запуск и подключение рига/места |
Создаёт сессии tmux, передаёт идентификацию места и переменные среды для подключения к демону, а также проецирует выбранные руководства, навыки, плагины и ресурсы среды выполнения в рабочее пространство. Управляемый запуск предварительно устанавливает доверие к рабочему пространству. Сбор контекста Claude также может быть подготовлен для подключённых сессий и обновляться в ходе мониторинга. |
Явная настройка разрешений |
Встроенная начальная загрузка не добавляет правила разрешений для команд |
Файлы провайдеров хранятся отдельно от состояния экземпляра. Здесь ~ означает домашнюю директорию пользователя демона; изменение только OPENRIG_HOME не изолирует конфигурацию провайдера.
-
Claude Code: при запуске записывает доверие к рабочему пространству и завершение начальной настройки. В режиме с явными разрешениями используется выбранный при запуске файл
HOME/.claude.jsonили<CLAUDE_CONFIG_DIR>/.claude.jsonпри наличии этой переменной. Классический запуск использует путь~/.claude.jsonдемона. В рабочем пространстве файл.claude/settings.local.jsonполучает командуstatusLineсборщика контекста и выбранные хуки активности; вспомогательные скрипты размещаются в.openrig/. Выбранные ресурсы настроек/MCP также могут изменять этот файл настроек и.mcp.json. Ресурс общих настроек задаётpermissions.defaultModeвacceptEditsи включает записи MCP Exa/Context7; выбранные ресурсы MCP настраивают эти внешние сервисы. Встроенная начальная загрузка больше не записывает список разрешённых команд в~/.claude/settings.jsonи не удаляет старые разрешения.CLAUDE_CONFIG_DIRне перемещает записи на уровне проекта. -
Codex: записывает
CODEX_HOME/config.tomlдемона (обычно~/.codex/config.toml). При запуске включает хуки, добавляет команды ретрансляции активности OpenRig и заранее записывает хеши доверия для этих команд. Запуск места добавляетtrust_level = "trusted"для рабочего пространства; выбранные ресурсы конфигурации могут добавлять настройки MCP. Распознанные уведомления об обновлениях могут быть пропущены при запуске с записью пропущенной версии в кеш Codex; это не установка обновления.
Ретрансляторы активности отправляют тип/подтип события, идентификацию места/среды выполнения, временны́е метки и идентификатор нативной сессии на эндпоинт /api/activity/hooks настроенного демона OpenRig с использованием его токена активности. Этот пакет данных не включает текст промптов и аргументы инструментов. Сборщик Claude записывает использование контекста/токенов, метаданные сессии/пути транскрипта и доступные данные об ограничениях скорости в state/context-usage и state/provider-usage экземпляра. Провайдер и выбранные MCP-подключения имеют собственные потоки данных. Инициализация плагина демона также проверяет эндпоинт релиза плагина OpenRig на GitHub.
Управляемые запуски передают переменные HOME, CODEX_HOME и OPENRIG_* для идентификации и подключения. Claude использует --permission-mode acceptEdits и по умолчанию классический рендерер для прокрутки терминала. Codex использует -s workspace-write, если именованный профиль не управляет его песочницей; по умолчанию флаг политики подтверждения не задаётся принудительно. При свежем запуске Codex также добавляет доступ на запись к .git рабочего пространства и к общей директории состояния очереди пода с помощью --add-dir; общий корень берётся из OPENRIG_SHARED_DOCS_ROOT или ~/.openrig/shared-docs.
YOLO выключен по умолчанию. Явно выбранная политика полного обхода включает --dangerously-skip-permissions для Claude или -s danger-full-access -a never для Codex. Устаревший путь через переменную среды OPENRIG_YOLO=1 по-прежнему выбирает только песочницу Codex; разрешённая политика перекрывает эту переменную среды.
Режим разрешений управляет нативными правами выполнения; рабочая позиция — это отдельное руководство проекта. Используйте rig policy permissions list|show|current|apply для настройки политики рига (четыре псевдонима rig policy остаются совместимы). Используйте rig seat set-permissions <seat> --mode <mode> --reason <text> для аудируемого выбора при будущем запуске: floor, full_bypass или inherit для очистки переопределения места. Дополнительные режимы Claude, такие как auto, требуют поддержки со стороны точного управляемого исполняемого файла Claude в рабочей директории места; и выбор, и запуск это проверяют. Неподдерживаемые или изменившиеся контексты отклоняются без отката. Это не перезапускает место и не изменяет его текущий нативный процесс, историю, правила или хуки. rig seat status разделяет желаемый выбор и аргументы последнего запуска; ни то ни другое не доказывает нативного применения. Смотрите руководство по разрешениям.
Управляемые блоки хуков нацелены на записи OpenRig и сохраняют сторонние хуки, однако записи доверия, ключи выбранных ресурсов и существующая команда строки статуса Claude могут быть заменены. Некоторые модули записи восстанавливают нечитаемые настройки как пустые объекты; это не гарантия полного сохранения или отката. Сделайте резервные копии соответствующих файлов перед первым использованием. Записи демона/начальной загрузки выполняются автоматически и не имеют интерактивного предварительного просмотра; rig setup --dry-run не показывает все последующие эффекты запуска.
Что умеет OpenRig
OpenRig — это многоагентная оболочка (multi-agent harness), управляющая системой, которую образуют агенты для написания кода при совместной работе. Не сами агенты, а команда, которую они создают: какие сессии запущены, как они связаны, как восстановиться после перезагрузки и как не превратить всё это в хаос терминалов.
-
Определяйте топологии в YAML (RigSpec) с подами, рёбрами и политиками непрерывности
-
Запускайте всё командой
rig up— сессии tmux, оболочки, файлы запуска, проверки готовности -
Наблюдайте за ригами, подами и местами в таблице топологии и графе TUI; изучайте проекты, спецификации, ленты событий и состояние экземпляра
-
Обнаруживайте существующие сессии Claude Code и Codex в tmux и включайте их в управляемый риг
-
Создавайте снимки топологии с помощью
rig down --snapshot, восстанавливайте по имени командойrig up <name> -
Общайтесь между агентами через
rig send,rig broadcastиrig chatroom -
Защищайте место, где вы работаете вручную:
rig seat set-typing-guard <seat> --enabled true --reason <text>удерживает автоматические сообщения и будит агента вместо того, чтобы печатать их в это место (по умолчанию выключено; смотритеrig seat set-typing-guard --help) -
Подключайте Slack через приложение, созданное в вашем собственном рабочем пространстве; экспериментальная команда
rig slack manifestвыводит манифест этого приложения (руководство по настройке) -
Развивайте работающие топологии с помощью
rig grow,rig shrink,rig launch,rig remove
Каждый агент работает в сессии tmux, к которой можно подключиться, которую можно проверить и с которой можно работать напрямую.
Стартовые риги
Используйте first-project, first-project-claude или first-project-mixed для одного и того же сфокусированного пути первого запуска с выбранными провайдерами. product-team — необязательный пример для более крупной команды разработки продукта:
rig specs preview product-team --kind rig
rig up product-team
Используйте его, когда вам нужна более крупная продуктовая команда: два оркестратора, реализация, QA, дизайн и два независимых рецензента.
Для более компактного старта используйте conveyor:
rig specs preview conveyor --kind rig
rig up conveyor
conveyor — это стартер на четыре места, сочетающий Claude Code и Codex. Он демонстрирует путь передачи задач через приём, планирование, разработку и проверку; first-project остаётся меньшей отправной точкой на два места.
Также включены: implementation-pair, adversarial-review, research-team и secrets-manager (HashiCorp Vault, управляемый специализированным агентом).
Просмотрите библиотеку:
rig specs ls
Как это работает
OpenRig — это локальный демон + CLI + терминальный UI + MCP-сервер, построенный на базе tmux. Старый веб-интерфейс на React находится в режиме обслуживания с поддержкой на уровне лучших усилий.
CLI / TUI / MCP
|
Hono HTTP daemon
|
Domain services
|
SQLite + tmux + runtime adapters
-
CLI: Команды как для людей, так и для агентов — запуск команд, проверка состояния, отправка сообщений, отслеживание задач и управление контекстом.
-
TUI: Обозреватель топологии, табличный и графовый виды, детали мест, спецификации, проекты, терминалы, лента событий и система. Навигация с клавиатуры, мышью или через командную строку.
-
MCP: Инструменты для управления агентами собственной топологией (
rig_up,rig_ps,rig_send,rig_chatroom_sendи др.) -
Среды выполнения: Нативные сессии Claude Code и Codex, терминальные узлы, Pi и Oh My Pi через RPC-раннеры.
Терминальный интерфейс и рабочие пространства
TUI показывает состояние координации команды; herdr и cmux отображают реальные терминалы агентов рядом с ним. Используйте rig tui commands для списка навигации по командной строке TUI или попробуйте интерактивный тур по TUI.
Снято с интерактивного демо TUI с использованием вымышленных данных проекта.
С установленным и подключённым herdr откройте терминалы стартера вместе:
rig terminal open first-project --provider herdr
Для cmux используйте --provider cmux. В TUI детальный вид рига содержит ссылку term ▸ rig <name>, открывающую каждое работающее место этого рига в провайдере терминалов по умолчанию; при использовании herdr это до 16 мест на вкладку в рабочем пространстве с именем рига. Базовые сессии по-прежнему доступны через tmux. Смотрите руководство по терминальным рабочим пространствам для настройки и возврата к существующему виду.
Ключевые понятия
-
RigSpec: Декларативное определение многоагентной оболочки в YAML. Поды, участники, рёбра, политики непрерывности, файл культуры.
-
AgentSpec: Переиспользуемый шаблон агента с навыками, руководством, хуками, профилями и контрактами запуска.
-
Место (Seat): Стабильная роль и адрес в риге, например
dev-owner@first-project. Разговор, занимающий его, может меняться, тогда как идентичность и авторский контекст остаются неизменными. -
Под (Pod): Группа связанных мест с общим руководством и контекстом. При этом у каждого агента по-прежнему своё контекстное окно.
-
Обнаружение (Discovery):
rig discoverснимает отпечатки существующих сессий tmux.rig adoptберёт их под управление. -
Снимок/Восстановление (Snapshot/Restore):
rig down --snapshotфиксирует полное состояние.rig up <name>восстанавливает из последнего снимка. Восстановление сообщает результаты по каждому узлу (возобновлено, создано заново или неудача). -
RigBundle: Переносимый архив с вендорными AgentSpec и целостностью SHA-256. Позволяет делиться топологиями между машинами.
-
Культура (Culture): CULTURE.md задаёт нормы координации для группы. Исследовательские риги получают исследовательскую культуру. Риги реализации — консервативную культуру «доверяй, но проверяй».
Агентно-управляемое программное обеспечение
Риг может включать реальное программное обеспечение наряду с агентами, которые им управляют. Поставляемый пример — secrets-manager: экземпляр HashiCorp Vault, управляемый специализированным агентом.
rig up secrets-manager
rig env status secrets-manager
rig send vault-specialist@secrets-manager "Check Vault health and report status." --verify
Для ригов с поддержкой сервисов требуется Docker.
Обновление существующего экземпляра
Для существующей установки следуйте процедуре обновления и примечаниям к выпуску 0.5.14. Сохраняйте активные места во время обновления; rig down не является шагом обновления. Обновление до 0.6.0 также требует Node.js 22 или 24: смотрите Переход с Node 20 и примечания к выпуску 0.6.0.
Переход с Node 20
OpenRig 0.6.0 поддерживает только Node.js 22 и 24. Его привязка SQLite (better-sqlite3 13) требует Node 22 или новее. Node 20 больше не поддерживается; проверка при установке откажет с соответствующим объяснением.
Если вы запускаете OpenRig на Node 20, сначала переключите Node, затем переустановите CLI под новым Node (менеджер версий хранит отдельный набор глобальных пакетов для каждой версии Node):
nvm install 22 # или 24; fnm или ваш пакетный менеджер работают так же
npm install -g @openrig/cli
rig --version
Существующие данные OpenRig остаются на месте. Демон повторно открывает ту же базу данных с новой привязкой и применяет все ожидающие миграции на месте. Перезапустите демон под новым Node, следуя приведённой выше процедуре обновления.
Переход через границу разметки 0.5.9
Описанная ниже миграция по-прежнему применяется при обновлении с экземпляра, предшествующего 0.5.9.
В версии 0.5.9 $OPENRIG_HOME/context становится адресуемой библиотекой контекста, телеметрия Claude записывается в state/context-usage (а телеметрия провайдера — в state/provider-usage), а системный мир по умолчанию устанавливается в context/system/system-world.yaml. Существующие экземпляры пересекают эту границу через агентно-управляемую миграцию с помощью навыка openrig-upgrade. Целевая среда выполнения читает с приоритетом канонического пути и резервным вариантом для устаревшего, тогда как новые записи используют канонические корни; пользовательский корень библиотеки контекста остаётся стабильным при активации. Это не переименование директории, которое следует делать, пока старый сборщик ещё пишет.
# SKILL_DIR — это директория установленного навыка openrig-upgrade.
node "$SKILL_DIR/scripts/migrate-telemetry-state-0.5.9.mjs" --help
node "$SKILL_DIR/scripts/migrate-telemetry-state-0.5.9.mjs" --home "$OPENRIG_HOME"
node "$SKILL_DIR/scripts/migrate-telemetry-state-0.5.9.mjs" --home "$OPENRIG_HOME" --apply-state --preimage /safe/path/layout-0.5.9-before
# Активируйте точную целевую среду выполнения отдельно. После того как каждый ограниченный устаревший хвост будет дополнен новыми парными образцами на обоих новых корнях состояния:
node "$SKILL_DIR/scripts/migrate-telemetry-state-0.5.9.mjs" --home "$OPENRIG_HOME" --verify --preimage /safe/path/layout-0.5.9-before > /safe/path/layout-0.5.9-verify.json
# Запускайте отдельно вызываемый неразрушающий финализатор только с этой точной квитанцией:
node "$SKILL_DIR/scripts/migrate-telemetry-state-0.5.9.mjs" --home "$OPENRIG_HOME" --apply-library --preimage /safe/path/layout-0.5.9-before --verification /safe/path/layout-0.5.9-verify.json
# Откатите только эффекты подготовки/финализатора, созданные помощником, если наблюдаемое обновление необходимо отменить:
node "$SKILL_DIR/scripts/migrate-telemetry-state-0.5.9.mjs" --home "$OPENRIG_HOME" --rollback /safe/path/layout-0.5.9-before
--help выводит грамматику фаз без инвентаризации экземпляра. Запуск без флага фазы намеренно выполняет план только для чтения; неизвестные параметры завершаются с ненулевым кодом до плана или мутации.
Каждая фаза выдаёт JSON. При любой проблеме или неполной квитанции остановитесь и следуйте действию next; не продолжайте со скопированной устаревшей телеметрией и не повторяйте частичную мутацию вслепую. Подготовка оставляет устаревшее состояние и настройки сборщика нетронутыми. Верификация принимает точные байты хвоста только тогда, когда то же место имеет более новые парные образцы контекста и провайдера в state/; финализация повторно проверяет принятые хвосты, копирует библиотеку без перезаписи и в последнюю очередь переключает конфигурацию. Помощник никогда не удаляет устаревшую телеметрию или библиотеку. Вывод из эксплуатации следует после отдельных доказательств стабильной среды выполнения, писателя, читателя и восстановления. Действия с жизненным циклом демона, базы данных, места, плагина и релиза остаются за агентами.
Требования
-
Node.js 22 или 24 (поддерживаемые версии в этом выпуске). Node 20 больше не поддерживается. Node 26 и другие версии не тестировались. На Mac с процессором Apple silicon используйте Node.js 22: смотрите историю совместимости.
-
tmux
-
macOS или Linux. Нативная поддержка Windows пока отсутствует, WSL2 не тестировался.
Опционально:
-
herdr или cmux для терминальных рабочих пространств с совместным отображением агентов
-
Docker для ригов с поддержкой сервисов и управляемых приложений
Настройка и устранение неполадок
-
rig setupвыполняет базовую подготовку машины: tmux, cmux, Claude Code, Codex и настройки tmux по умолчанию. Он сообщает, что пытался сделать и что в итоге получилось. При неудаче он предоставляет локальному агенту достаточно контекста для завершения работы. -
rig setup --fullдополнительно выполняет более широкую настройку рабочей станции оператора (jq, gh). -
rig doctorпроверяет текущее состояние системы и помогает диагностировать проблемы после настройки. Используйте его, когда что-то перестаёт работать или после изменений на машине.
Обе команды поддерживают --json для агентно-управляемых процессов.
Перед настройкой или управляемым запуском изучите что OpenRig изменяет на вашем компьютере, включая доверие провайдеров, хуки и выбранные ресурсы среды выполнения.
Уже работающие принятые сессии может потребоваться перезапустить, прежде чем они подхватят новую конфигурацию среды выполнения.
Для агентов: Сначала уточните, какой провайдер (или провайдеры) хочет использовать пользователь, повторно используя явно сделанный выбор. Рекомендуйте рабочий аккаунт, который у него уже есть, и следуйте приведённому выше руководству для выбранного провайдера. Предлагайте базовую настройку (rig setup) или более полный путь для рабочей станции (rig setup --full) только когда пользователь хочет эти дополнительные инструменты. Изучите результат с помощью --json и используйте rig doctor для устранения оставшихся проблем конкретной машины. Если сам OpenRig работает некорректно, прочитайте docs/reference/help.md (установленные агенты могут выполнить rig context get help; тот же текст доступен на openrig.dev/help/agents): там описаны следующие шаги, известные проблемы и способы связаться с командой, если проблема не решена.
Сравнение с Claude Managed Agents
OpenRig имеет открытый исходный код и размещается самостоятельно, с Claude Code и Codex в одной команде. Вы запускаете его на собственной инфраструктуре; стоимость использования моделей выбранных провайдеров по-прежнему применяется.
Ссылки
-
Сайт: openrig.dev
-
Документация: openrig.dev/docs (индекс документации для агентов)
-
Открытая спецификация: openrig.dev/specs
-
Видео: youtube.com/@openrig
-
Следить за проектом: openrig.dev/follow
Лицензия
Apache 2.0