Developer and self-hosted
Raft
Raft подключает агента OpenClaw к внешнему агенту Raft через локальный CLI Raft. Raft отправляет аутентифицированные сигналы пробуждения в Gateway; затем агент использует CLI Raft для проверки и отправки сообщений. Только личные чаты (без групп).
Установка
Raft — официальный внешний плагин. Установите его на хосте Gateway:
openclaw plugins install @openclaw/raftopenclaw gateway restartПодробнее: Плагины
Предварительные требования
- Рабочее пространство Raft с внешним агентом.
- CLI Raft, установленный на том же хосте, что и Gateway OpenClaw, в
PATHслужбы. - Профиль CLI Raft, в котором уже выполнен вход и который связан с этим внешним агентом.
Плагин не хранит учётные данные Raft; CLI Raft сохраняет данные аутентификации в собственном профиле.
Настройка
Укажите профиль в конфигурации:
{ 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 add --channel raftПринцип работы
При запуске Gateway плагин:
- Открывает HTTP-эндпоинт пробуждения только на loopback-интерфейсе, используя временный порт.
- Запускает
raft --profile <profile> agent bridgeс этим эндпоинтом и токеном для текущего процесса. - Принимает от локального моста только аутентифицированные сигналы пробуждения без содержимого и с идентификатором для защиты от повторного воспроизведения.
- Требует наличия
eventId,attemptId,messageId,delivery_id,wake_idилиidв каждой полезной нагрузке пробуждения. - В течение 24 часов устраняет дубликаты повторно доставленных пробуждений по идентификатору события моста, в том числе после перезапусков Gateway.
- Возвращает стабильную сессию среды выполнения для текущего моста и пустой пакет очистки активности для протокола CLI Raft.
- Запускает один последовательный цикл агента 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 для проверки ожидающих сообщений.
Устранение неполадок
CLI Raft отсутствует
Установите CLI Raft на хосте Gateway и сделайте raft доступным в
PATH службы. Проверьте его с помощью raft --help, затем перезапустите Gateway.
Мост немедленно завершает работу
Убедитесь, что в настроенном профиле выполнен вход и что он принадлежит нужному
внешнему агенту Raft. Запустите raft --profile <profile> agent bridge напрямую,
чтобы просмотреть диагностические данные CLI.
Пробуждение поступает, но ответ Raft не отправляется
Это ожидаемое поведение, если агент не вызывает CLI Raft. Мост пробуждения
не передаёт тела сообщений и не отправляет итоговые ответы автоматически. Проверьте
политику инструментов агента и убедитесь, что он может выполнять raft --profile <profile> message check и message send.