---
read_when:
    - Проектирование надзора за флотом Codex
    - Создание инструментов OpenClaw, которые читают, направляют или запускают сессии Codex
    - Выбор между локальным развертыванием, Cloudflare и VPS для контролируемого Codex
summary: План надзора за парком сеансов app-server Codex, управляемых OpenClaw.
title: Супервизор Claw
x-i18n:
    generated_at: "2026-06-28T23:47:43Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: ecdd58730011c94796c6df1d757606aad7112d2f36f30921541ac7f5d46ad91f
    source_path: specs/claw-supervisor.md
    workflow: 16
---

# Супервизор Claw

## Цель

Супервизор Claw позволяет одному постоянно включенному экземпляру OpenClaw отслеживать парк сессий Codex и управлять им, не меняя обычный пользовательский опыт Codex. Пользователь может подключиться к хосту по SSH, запустить Codex, работать в TUI, и при этом супервизор сможет читать сессию, направлять ее, прерывать ее, запускать связанные сессии и принимать передачи управления. Сессии Codex также могут вызывать OpenClaw через MCP.

## Продуктовая модель

Codex остается основной рабочей поверхностью. OpenClaw супервизирует Codex, а не прячет Codex внутри непрозрачного подагента OpenClaw.

Plugin OpenClaw называется `codex-supervisor`. `crabfleet` остается профилем развертывания
и парка хостов для машин CRAB, а не именем переиспользуемого Plugin.

В модели есть три роли:

- Codex, подключенный к человеку: обычный интерактивный TUI Codex, запущенный через общий сервер приложения.
- Автономный Codex: поток сервера приложения Codex, запущенный супервизором, к которому человек может подключиться позже.
- Супервизор Claw: постоянно включенный агент OpenClaw с инструментами для состояния парка, чтения транскриптов, управления, прерывания, запуска и передачи управления.

OpenClaw может использовать свою существующую механику подагентов внутри, но внешний контракт — это подключаемая сессия Codex с идентификатором потока Codex.

## Архитектура

```text
user SSH session
  -> codex --remote unix://... or ws://...
      -> local codex app-server daemon
          <-> host sidecar / supervisor connector
              <-> OpenClaw fleet supervisor
                  <-> supervisor MCP exposed back to Codex
```

На каждом хосте с поддержкой Codex работают:

- Демон сервера приложения Codex.
- Средство запуска, которое всегда запускает интерактивный Codex с `--remote`.
- Коннектор, который регистрирует конечные точки сервера приложения и живые потоки у супервизора.

Супервизор запускает:

- Реестр конечных точек.
- Реестр сессий.
- Пул JSON-RPC-клиентов сервера приложения Codex.
- MCP-сервер для вызовов из Codex в Claw.
- Инструменты OpenClaw для управления из Claw в Codex.
- Движок политик для автономных действий, подтверждений и предотвращения циклов.

## Контракт сервера приложения Codex

Используйте API сервера приложения Codex как каноническую плоскость управления:

- `initialize`, `initialized`
- `thread/loaded/list`
- `thread/list`
- `thread/read`
- `thread/resume`
- `thread/start`
- `turn/start`
- `turn/steer`
- `turn/interrupt`
- `model/list`

Интерактивный Codex должен запускаться с `codex --remote <endpoint>`, чтобы TUI и супервизор подключались к одному и тому же серверу приложения. Автономный `codex exec` сегодня не является живой совместно используемой сессией; используйте API сервера приложения для автономной работы, пока Codex не поддержит `exec --remote`.

## Реестр сессий

Супервизор хранит одну запись для каждого наблюдаемого потока Codex:

```json
{
  "sessionId": "codex-thread-id",
  "endpointId": "host-a",
  "host": "host-a.example",
  "workspace": "/workspace/repo",
  "repo": "owner/repo",
  "branch": "feature/example",
  "source": "vscode",
  "status": "idle",
  "humanAttached": true,
  "lastSeenAt": "2026-05-28T10:00:00.000Z",
  "summary": "Short working-state summary"
}
```

Локальная реализация может выводить большинство полей из метаданных потока Codex. Развертывание парка должно обогащать записи идентичностью хоста, состоянием подключения пользователя, состоянием git и работоспособностью сайдкара.

## MCP-поверхность для Codex

Каждый супервизируемый Codex получает MCP-сервер с именем `openclaw-codex-supervisor`.

Инструменты:

- `codex_sessions_list`: вывести список видимых сессий Codex.
- `codex_session_read`: прочитать один транскрипт.
- `codex_session_send`: отправить сообщение в простаивающий поток или направить активный поток.
- `codex_session_interrupt`: прервать активный ход.
- `codex_endpoint_probe`: проверить подключение к конечной точке.
- `claw_report_progress`: опубликовать текущее состояние задачи супервизору.
- `claw_ask`: запросить у супервизора помощь или делегирование.
- `codex_spawn`: создать новую автономную сессию Codex.
- `codex_handoff`: запросить передачу управления человеку или одноранговому участнику.

Ресурсы:

- `codex://sessions`
- `codex://sessions/{sessionId}`
- `codex://sessions/{sessionId}/transcript`

## Поверхность управления Claw

Постоянно включенный Claw получает те же примитивы, что и внутренние инструменты:

- список сессий и конечных точек
- чтение транскриптов
- отправка/направление текста
- прерывание активной работы
- запуск новых сессий
- суммаризация и назначение сессий
- широковещательная отправка инструкций отфильтрованной группе
- пометка сессий как заблокированных, выполненных или оставленных

Поведение инструментов:

- Если целевой поток простаивает, `codex_session_send` сопоставляется с `turn/start`.
- Если целевой поток активен и виден идентификатор выполняющегося хода, он сопоставляется с `turn/steer`.
- Если активный ход нельзя идентифицировать, инструмент закрывается с ошибкой, а не создает несвязанный ход.
- Управляющие операции записи MCP, доступные из Codex, остаются отключенными, если их не включает доверенная политика только для супервизора.
- Чтение сырых транскриптов остается отключенным, если его не включает доверенная политика только для супервизора.
- Автономные подтверждения по умолчанию отклоняют подтверждения инструментов/файлов, если явная политика не говорит обратное.

## Поток запуска

Интерактивный вход на хост:

1. Пользователь подключается по SSH к хосту CRAB.
2. Служба SSH запускает или проверяет `codex app-server daemon start`.
3. Обертка входа запускает `codex --remote unix:// --cd <workspace>`.
4. Коннектор хоста регистрирует конечную точку и загруженный поток.
5. Супервизор испускает событие парка с высоким приоритетом: новая сессия Codex, рабочая область, состояние подключения человека, предварительный просмотр текущей задачи.
6. Супервизор Claw может сразу читать и направлять.

Автономный запуск:

1. Супервизор выбирает хост и рабочую область.
2. Коннектор хоста открывает или возобновляет поток сервера приложения Codex.
3. Супервизор запускает первый ход с текстом задачи и конфигурацией MCP.
4. Реестр сессий помечает ее как автономную и подключаемую.
5. Человек позже может подключиться с помощью `codex --remote <endpoint> resume <threadId>`, когда Codex поддержит именно такой UX, или через текущий поток возобновления на том же сервере приложения.

## Развертывание

Предпочтительная плоскость управления:

- Коннекторы хостов поддерживают исходящие WebSocket-подключения к супервизору.
- Состояние супервизора хранится в хранилище OpenClaw Gateway.
- Сервер приложения Codex остается локальным для каждого хоста; никогда не выставляйте сырой неаутентифицированный сервер приложения в публичный интернет.

Пригодность Cloudflare:

- Хорошо подходит для реестра, durable objects, входящего WebSocket-потока, легкой маршрутизации событий и публичных конечных точек MCP/Gateway.
- Самого по себе недостаточно для прямого управления приватными хостами, потому что Workers не могут дозваниваться до произвольных приватных Unix-сокетов или серверов приложения на local loopback.
- Используйте Cloudflare, когда каждый коннектор хоста сам связывается с центром через исходящий WebSocket.

Резервный вариант с VPS:

- Используйте сервис Hetzner, когда нужны управление долгоживущими процессами, SSH-туннели, маршрутизация приватной сети или доступ к локальной файловой системе.
- Сохраняйте тот же протокол: коннекторы хостов исходящие, реестр супервизора центральный, сервер приложения Codex локальный.

## Безопасность

- Привязка по умолчанию — локальный Unix-сокет.
- Удаленный сервер приложения использует токен или подписанную bearer-аутентификацию.
- Коннектор хоста аутентифицируется у супервизора с помощью ограниченного токена хоста.
- Инструменты супервизора применяют политику для каждой сессии: чтение, направление, прерывание, запуск, подтверждение.
- Межагентские сообщения включают `originSessionId`; самоэхо отбрасывается.
- Для широковещательной отправки требуется явный фильтр и ограниченное число целей.
- Чтение транскриптов редактирует секреты на границе OpenClaw.
- Запросы подтверждений по умолчанию отклоняются для ходов, инициированных супервизором, если политика их не разрешает.

## План реализации

Фаза 1: локальный MVP супервизора

- Добавить JSON-RPC-клиент сервера приложения Codex для stdio-прокси и WebSocket-конечных точек.
- Добавить реестр конечных точек/сессий супервизора.
- Добавить MCP-инструменты: список, чтение, отправка, прерывание, проверка.
- Добавить локальную env-конфигурацию для конечных точек.
- Добавить тесты с поддельным сервером приложения и один живой локальный smoke-тест сервера приложения.

Фаза 2: интеграция OpenClaw

- Зарегистрировать инструменты супервизора в Plugin `codex-supervisor`.
- Внедрить MCP супервизора в конфигурацию потока Codex.
- Добавить сводки сессий в контекст агента.
- Добавить уведомления о событиях при появлении новых потоков Codex.
- Добавить конфигурацию политик для автономной отправки/прерывания/запуска.

Фаза 3: коннектор парка

- Сайдкар хоста регистрирует конечную точку сервера приложения, метаданные хоста, метаданные git/рабочей области и состояние подключения человека.
- Добавить исходящий WebSocket-коннектор для плоскости управления Cloudflare или VPS.
- Добавить переподключение, Heartbeat и очистку устаревших сессий.
- Добавить обертку запуска CRAB SSH.

Фаза 4: автономная работа

- Добавить потоки запуска/возобновления/перехвата управления.
- Добавить широковещательную отправку и делегирование.
- Добавить отчеты о ходе и сводки состояния задач.
- Добавить предотвращение циклов и ограничения частоты.
- Добавить представления панели управления.

Фаза 5: несколько Claw

- Шардировать сессии по группам.
- Добавить лидерство/аренду для каждой сессии.
- Добавить журнал аудита и воспроизведение.
- Добавить эскалацию между группами Claw.

## Приемочные тесты

- Человек запускает TUI Codex через общий сервер приложения.
- Супервизор выводит живой поток через `thread/loaded/list`.
- Супервизор читает транскрипт через `thread/read`.
- Супервизор отправляет текст в простаивающий поток через `turn/start`.
- Супервизор направляет активный поток через `turn/steer`.
- Прерывание супервизора останавливает активный ход через `turn/interrupt`.
- Codex вызывает MCP супервизора и выводит список одноранговых сессий.
- Автономный Codex запускается и позже подключается к человеку.
- Потерянный коннектор хоста помечает сессии устаревшими без удаления истории.

## Открытые вопросы

- Точный UX подключения TUI Codex к потоку сервера приложения, запущенному без TUI.
- Должен ли Codex добавить `exec --remote` для безголовых живых совместно используемых запусков.
- Владелец долговременного состояния: БД OpenClaw Gateway, Cloudflare Durable Object или база данных VPS.
- Гранулярность политики подтверждений для ходов, инициированных супервизором.
- Какую часть сводки транскрипта внедрять в контекст постоянно включенного Claw, а какую хранить как инструмент/ресурс.
