Developer and self-hosted
Raft
Поддержка Raft подключает агента OpenClaw к внешнему агенту Raft через локальный Raft CLI. Raft отправляет аутентифицированные сигналы пробуждения в Gateway. Затем агент использует Raft CLI для проверки и отправки сообщений.
Установка
Raft — официальный внешний плагин. Установите его на хосте Gateway:
openclaw plugins install @openclaw/raftopenclaw gateway restartПодробнее: Плагины
Предварительные требования
- Рабочая область Raft с внешним агентом.
- Raft CLI установлен на том же хосте, что и OpenClaw Gateway.
- Профиль Raft CLI, в который уже выполнен вход и который связан с этим внешним агентом.
Плагин не хранит учетные данные Raft. Raft CLI хранит эту аутентификацию в собственном профиле.
Настройка
Задайте профиль в конфигурации:
{ channels: { raft: { enabled: true, profile: "openclaw", }, },}Для учетной записи по умолчанию вместо этого можно задать RAFT_PROFILE в окружении
Gateway:
RAFT_PROFILE=openclawИспользуйте именованную учетную запись, когда один Gateway подключается к нескольким внешним агентам Raft:
{ channels: { raft: { accounts: { support: { profile: "support-agent", }, engineering: { profile: "engineering-agent", }, }, }, },}Интерактивный процесс настройки записывает тот же профиль:
openclaw channels setup raftКак это работает
При запуске Gateway плагин:
- Открывает HTTP-эндпоинт пробуждения только для loopback на эфемерном порту.
- Запускает
raft --profile <profile> agent bridgeс этим эндпоинтом и токеном для текущего процесса. - Принимает только аутентифицированные сигналы пробуждения без содержимого с идентификатором повтора от локального моста.
- Требует одно из полей:
eventId,attemptId,messageId,delivery_id,wake_idилиid. - Дедуплицирует недавние повторные доставки пробуждения по идентификатору события моста, в том числе между перезапусками Gateway.
- Возвращает стабильную runtime-сессию для текущего моста и пустой пакет очистки активности для протокола Raft CLI.
- Запускает один сериализованный ход агента OpenClaw для каждого принятого пробуждения.
Мост отвечает за повторные попытки доставки Raft и переподключения. Ход OpenClaw получает только уведомление о пробуждении, а не скопированное тело сообщения Raft. Он использует CLI для чтения ожидающих сообщений и отправки ответа:
raft --profile openclaw message checkraft --profile openclaw message sendПроверка
Проверьте, что OpenClaw может найти CLI и имеет настроенный профиль:
openclaw channels status --probeopenclaw plugins inspect raft --runtime --jsonЗатем отправьте сообщение внешнему агенту Raft. В журнале Gateway должен появиться запуск моста Raft, а затем входящее пробуждение. Агент должен использовать настроенный профиль Raft для проверки ожидающих сообщений.
Устранение неполадок
Raft CLI отсутствует
Установите Raft CLI на хост Gateway и сделайте raft доступным в
PATH службы. Проверьте это с помощью raft --help, затем перезапустите Gateway.
Мост сразу завершает работу
Убедитесь, что для настроенного профиля выполнен вход и что он принадлежит нужному
внешнему агенту Raft. Запустите raft --profile <profile> agent bridge напрямую,
чтобы увидеть диагностическое сообщение CLI.
Пробуждение приходит, но ответ Raft не отправляется
Это ожидаемо, если агент не вызывает Raft CLI. Мост пробуждения
не передает тела сообщений или автоматические итоговые ответы. Проверьте
политику инструментов агента и убедитесь, что он может запускать raft --profile <profile> message check и message send.