Developer and self-hosted

Tratwa

Raft łączy agenta OpenClaw z agentem zewnętrznym Raft za pośrednictwem lokalnego CLI Raft. Raft wysyła uwierzytelnione sygnały wybudzenia do Gateway; następnie agent używa CLI Raft do sprawdzania i wysyłania wiadomości. Obsługiwany jest wyłącznie czat bezpośredni (bez grup).

Instalacja

Raft jest oficjalnym zewnętrznym pluginem. Zainstaluj go na hoście Gateway:

bash
openclaw plugins install @openclaw/raftopenclaw gateway restart

Szczegóły: Pluginy

Wymagania wstępne

  • Obszar roboczy Raft z agentem zewnętrznym.
  • CLI Raft zainstalowane na tym samym hoście co Gateway OpenClaw i dostępne w zmiennej PATH usługi.
  • Profil CLI Raft, w którym użytkownik jest już zalogowany i który jest powiązany z tym agentem zewnętrznym.

Plugin nie przechowuje danych uwierzytelniających Raft; CLI Raft przechowuje uwierzytelnienie we własnym profilu.

Konfiguracja

Ustaw profil w konfiguracji:

json5
{  channels: {    raft: {      enabled: true,      profile: "openclaw",    },  },}

Dla konta domyślnego możesz zamiast tego ustawić RAFT_PROFILE w środowisku Gateway:

bash
RAFT_PROFILE=openclaw

Użyj nazwanego konta, gdy jeden Gateway łączy się z więcej niż jednym agentem zewnętrznym Raft:

json5
{  channels: {    raft: {      accounts: {        support: {          profile: "support-agent",        },        engineering: {          profile: "engineering-agent",        },      },    },  },}

Konfiguracja interaktywna zapisuje ten sam profil:

bash
openclaw channels add --channel raft

Jak to działa

Po uruchomieniu Gateway plugin:

  1. Otwiera punkt końcowy HTTP wybudzania dostępny wyłącznie przez local loopback, używając portu efemerycznego.
  2. Uruchamia raft --profile <profile> agent bridge z tym punktem końcowym oraz tokenem unikatowym dla procesu.
  3. Akceptuje wyłącznie uwierzytelnione, niezawierające treści sygnały wybudzenia z identyfikatorem zapobiegającym ponownemu odtworzeniu, pochodzące z lokalnego mostu.
  4. Wymaga jednego z pól eventId, attemptId, messageId, delivery_id, wake_id lub id w każdym ładunku wybudzenia.
  5. Deduplikuje ponawiane dostarczenia wybudzeń według identyfikatora zdarzenia mostu przez 24 godziny, również po ponownym uruchomieniu Gateway.
  6. Zwraca stabilną sesję środowiska uruchomieniowego dla bieżącego mostu oraz pustą partię opróżniania aktywności dla protokołu CLI Raft.
  7. Uruchamia jedną serializowaną turę agenta OpenClaw dla każdego zaakceptowanego wybudzenia.

Most odpowiada za ponawianie dostarczania przez Raft i ponowne nawiązywanie połączenia. Tura OpenClaw otrzymuje wyłącznie powiadomienie o wybudzeniu, a nie skopiowaną treść wiadomości Raft. Używa CLI do odczytywania oczekujących wiadomości i wysyłania odpowiedzi:

bash
raft --profile openclaw message checkraft --profile openclaw message send

Weryfikacja

Sprawdź, czy OpenClaw może znaleźć CLI i ma skonfigurowany profil:

bash
openclaw channels status --probeopenclaw plugins inspect raft --runtime --json

Następnie wyślij wiadomość do agenta zewnętrznego Raft. Dziennik Gateway powinien pokazać uruchomienie mostu Raft, a następnie przychodzące wybudzenie. Agent powinien użyć skonfigurowanego profilu Raft do sprawdzenia oczekujących wiadomości.

Rozwiązywanie problemów

Brakuje CLI Raft

Zainstaluj CLI Raft na hoście Gateway i udostępnij polecenie raft w zmiennej PATH usługi. Zweryfikuj je za pomocą raft --help, a następnie uruchom ponownie Gateway.

Most natychmiast kończy działanie

Sprawdź, czy skonfigurowany profil jest zalogowany i należy do właściwego agenta zewnętrznego Raft. Uruchom bezpośrednio raft --profile <profile> agent bridge, aby zobaczyć diagnostykę CLI.

Wybudzenie dociera, ale odpowiedź Raft nie jest wysyłana

Jest to oczekiwane, gdy agent nie wywołuje CLI Raft. Most wybudzania nie przenosi treści wiadomości ani automatycznych odpowiedzi końcowych. Sprawdź zasady używania narzędzi przez agenta i upewnij się, że może on uruchamiać raft --profile <profile> message check oraz message send.

Materiały referencyjne

Was this useful?
On this page

On this page