Developer and self-hosted
Raft
Raft verbindet einen OpenClaw-Agenten über die lokale Raft-CLI mit einem externen Raft-Agenten. Raft sendet authentifizierte Aktivierungshinweise an das Gateway; der Agent verwendet anschließend die Raft-CLI, um Nachrichten abzurufen und zu senden. Nur direkte Chats (keine Gruppen).
Installation
Raft ist ein offizielles externes Plugin. Installieren Sie es auf dem Gateway-Host:
openclaw plugins install @openclaw/raftopenclaw gateway restartDetails: Plugins
Voraussetzungen
- Ein Raft-Arbeitsbereich mit einem externen Agenten.
- Die Raft-CLI muss auf demselben Host wie das OpenClaw-Gateway im
PATHdes Dienstes installiert sein. - Ein Raft-CLI-Profil, das bereits angemeldet und diesem externen Agenten zugeordnet ist.
Das Plugin speichert keine Raft-Anmeldedaten; die Raft-CLI verwaltet diese Authentifizierung in ihrem eigenen Profil.
Konfiguration
Legen Sie das Profil in der Konfiguration fest:
{ channels: { raft: { enabled: true, profile: "openclaw", }, },}Für das Standardkonto können Sie stattdessen RAFT_PROFILE in der Gateway-Umgebung festlegen:
RAFT_PROFILE=openclawVerwenden Sie benannte Konten, wenn ein Gateway eine Verbindung zu mehreren externen Raft-Agenten herstellt:
{ channels: { raft: { accounts: { support: { profile: "support-agent", }, engineering: { profile: "engineering-agent", }, }, }, },}Bei der interaktiven Einrichtung wird dasselbe Profil gespeichert:
openclaw channels add --channel raftFunktionsweise
Beim Start des Gateways führt das Plugin folgende Schritte aus:
- Es öffnet einen ausschließlich über die Loopback-Schnittstelle erreichbaren HTTP-Aktivierungsendpunkt an einem ephemeren Port.
- Es startet
raft --profile <profile> agent bridgemit diesem Endpunkt und einem prozessspezifischen Token. - Es akzeptiert ausschließlich authentifizierte, inhaltsfreie Aktivierungshinweise mit einer Replay-Identität von der lokalen Bridge.
- Es verlangt für jede Aktivierungsnutzlast entweder
eventId,attemptId,messageId,delivery_id,wake_idoderid. - Es dedupliziert wiederholte Aktivierungszustellungen anhand der Bridge-Ereignis-ID für 24 Stunden, auch über Gateway-Neustarts hinweg.
- Es gibt eine stabile Laufzeitsitzung für die aktuelle Bridge und einen leeren Batch zum Leeren der Aktivitäten für das Raft-CLI-Protokoll zurück.
- Es startet pro akzeptierter Aktivierung genau einen serialisierten Durchlauf des OpenClaw-Agenten.
Die Bridge verwaltet Wiederholungsversuche und erneute Verbindungen für die Raft-Zustellung. Der OpenClaw-Durchlauf erhält lediglich eine Aktivierungsbenachrichtigung und keine Kopie des Raft-Nachrichteninhalts. Er verwendet die CLI, um ausstehende Nachrichten zu lesen und seine Antwort zu senden:
raft --profile openclaw message checkraft --profile openclaw message sendÜberprüfung
Prüfen Sie, ob OpenClaw die CLI finden kann und ein Profil konfiguriert ist:
openclaw channels status --probeopenclaw plugins inspect raft --runtime --jsonSenden Sie anschließend eine Nachricht an den externen Raft-Agenten. Im Gateway-Protokoll sollten zuerst der Start der Raft-Bridge und danach eine eingehende Aktivierung erscheinen. Der Agent sollte das konfigurierte Raft-Profil verwenden, um seine ausstehenden Nachrichten abzurufen.
Fehlerbehebung
Die Raft-CLI fehlt
Installieren Sie die Raft-CLI auf dem Gateway-Host und stellen Sie raft im PATH des Dienstes bereit. Überprüfen Sie dies mit raft --help und starten Sie anschließend das Gateway neu.
Die Bridge wird sofort beendet
Vergewissern Sie sich, dass das konfigurierte Profil angemeldet ist und zum vorgesehenen externen Raft-Agenten gehört. Führen Sie raft --profile <profile> agent bridge direkt aus, um die CLI-Diagnose anzuzeigen.
Eine Aktivierung geht ein, aber es wird keine Raft-Antwort gesendet
Dieses Verhalten ist zu erwarten, wenn der Agent die Raft-CLI nicht aufruft. Die Aktivierungs-Bridge überträgt weder Nachrichteninhalte noch automatische endgültige Antworten. Prüfen Sie die Werkzeugrichtlinie des Agenten und stellen Sie sicher, dass er raft --profile <profile> message check und message send ausführen kann.