Developer and self-hosted
Raft
Raft connette un agente OpenClaw a un agente esterno Raft tramite la CLI Raft locale. Raft invia al Gateway notifiche di riattivazione autenticate; l'agente usa quindi la CLI Raft per controllare e inviare messaggi. Solo chat dirette (nessun gruppo).
Installazione
Raft è un plugin esterno ufficiale. Installalo sull'host del Gateway:
openclaw plugins install @openclaw/raftopenclaw gateway restartDettagli: Plugin
Prerequisiti
- Uno spazio di lavoro Raft con un agente esterno.
- La CLI Raft installata sullo stesso host del Gateway OpenClaw e disponibile
nel
PATHdel servizio. - Un profilo della CLI Raft con accesso già effettuato e associato a tale agente esterno.
Il plugin non memorizza le credenziali Raft; la CLI Raft conserva l'autenticazione nel proprio profilo.
Configurazione
Imposta il profilo nella configurazione:
{ channels: { raft: { enabled: true, profile: "openclaw", }, },}Per l'account predefinito, puoi invece impostare RAFT_PROFILE nell'ambiente
del Gateway:
RAFT_PROFILE=openclawUsa un account denominato quando un Gateway si connette a più di un agente esterno Raft:
{ channels: { raft: { accounts: { support: { profile: "support-agent", }, engineering: { profile: "engineering-agent", }, }, }, },}La configurazione interattiva registra lo stesso profilo:
openclaw channels add --channel raftFunzionamento
All'avvio del Gateway, il plugin:
- Apre un endpoint HTTP di riattivazione accessibile solo tramite local loopback su una porta temporanea.
- Avvia
raft --profile <profile> agent bridgecon tale endpoint e un token specifico per il processo. - Accetta dal bridge locale esclusivamente notifiche di riattivazione autenticate, prive di contenuto e dotate di un'identità anti-replay.
- Richiede uno tra
eventId,attemptId,messageId,delivery_id,wake_idoidin ogni payload di riattivazione. - Deduplica per 24 ore i tentativi ripetuti di consegna delle notifiche di riattivazione in base all'ID evento del bridge, anche tra riavvii del Gateway.
- Restituisce una sessione di runtime stabile per il bridge corrente e un batch vuoto per lo scaricamento delle attività del protocollo CLI Raft.
- Avvia un turno serializzato dell'agente OpenClaw per ogni riattivazione accettata.
Il bridge gestisce i nuovi tentativi di consegna e le riconnessioni di Raft. Il turno di OpenClaw riceve solo una notifica di riattivazione, non una copia del corpo del messaggio Raft. Usa la CLI per leggere i messaggi in sospeso e inviare la risposta:
raft --profile openclaw message checkraft --profile openclaw message sendVerifica
Controlla che OpenClaw riesca a trovare la CLI e disponga di un profilo configurato:
openclaw channels status --probeopenclaw plugins inspect raft --runtime --jsonInvia quindi un messaggio all'agente esterno Raft. Il log del Gateway dovrebbe mostrare l'avvio del bridge Raft, seguito da una riattivazione in ingresso. L'agente dovrebbe usare il profilo Raft configurato per controllare i messaggi in sospeso.
Risoluzione dei problemi
La CLI Raft non è disponibile
Installa la CLI Raft sull'host del Gateway e rendi raft disponibile nel
PATH del servizio. Verificala con raft --help, quindi riavvia il Gateway.
Il bridge termina immediatamente
Verifica che nel profilo configurato sia stato effettuato l'accesso e che
appartenga all'agente esterno Raft previsto. Esegui direttamente
raft --profile <profile> agent bridge per visualizzare la diagnostica
della CLI.
Arriva una riattivazione, ma non viene inviata alcuna risposta Raft
Questo comportamento è previsto quando l'agente non richiama la CLI Raft.
Il bridge di riattivazione non trasporta i corpi dei messaggi né le risposte
finali automatiche. Controlla i criteri di utilizzo degli strumenti
dell'agente e assicurati che possa eseguire raft --profile <profile> message check e message send.