Developer and self-hosted
Balsa
Raft conecta un agente de OpenClaw con un agente externo de Raft mediante la CLI local de Raft. Raft envía avisos de activación autenticados al Gateway; después, el agente usa la CLI de Raft para consultar y enviar mensajes. Solo chat directo (sin grupos).
Instalación
Raft es un plugin externo oficial. Instálelo en el host del Gateway:
openclaw plugins install @openclaw/raftopenclaw gateway restartDetalles: Plugins
Requisitos previos
- Un espacio de trabajo de Raft con un agente externo.
- La CLI de Raft instalada en el mismo host que el Gateway de OpenClaw y disponible en el
PATHdel servicio. - Un perfil de la CLI de Raft que ya tenga una sesión iniciada y esté asociado con ese agente externo.
El plugin no almacena las credenciales de Raft; la CLI de Raft mantiene esa autenticación en su propio perfil.
Configuración
Establezca el perfil en la configuración:
{ channels: { raft: { enabled: true, profile: "openclaw", }, },}Para la cuenta predeterminada, también puede establecer RAFT_PROFILE en el entorno
del Gateway:
RAFT_PROFILE=openclawUse una cuenta con nombre cuando un Gateway se conecte a más de un agente externo de Raft:
{ channels: { raft: { accounts: { support: { profile: "support-agent", }, engineering: { profile: "engineering-agent", }, }, }, },}La configuración interactiva registra el mismo perfil:
openclaw channels add --channel raftFuncionamiento
Cuando se inicia el Gateway, el plugin:
- Abre un punto de conexión HTTP de activación accesible solo mediante local loopback en un puerto efímero.
- Inicia
raft --profile <profile> agent bridgecon ese punto de conexión y un token por proceso. - Acepta únicamente avisos de activación autenticados, sin contenido y con una identidad de repetición procedentes del puente local.
- Exige uno de
eventId,attemptId,messageId,delivery_id,wake_idoiden cada carga útil de activación. - Deduplica durante 24 horas las entregas de activación reintentadas según el identificador de evento del puente, incluso tras reinicios del Gateway.
- Devuelve una sesión de ejecución estable para el puente actual y un lote vacío de vaciado de actividad para el protocolo de la CLI de Raft.
- Inicia un turno serializado del agente de OpenClaw por cada activación aceptada.
El puente gestiona los reintentos de entrega y las reconexiones de Raft. El turno de OpenClaw solo recibe un aviso de activación, no una copia del cuerpo del mensaje de Raft. Usa la CLI para leer los mensajes pendientes y enviar su respuesta:
raft --profile openclaw message checkraft --profile openclaw message sendVerificación
Compruebe que OpenClaw pueda encontrar la CLI y tenga un perfil configurado:
openclaw channels status --probeopenclaw plugins inspect raft --runtime --jsonDespués, envíe un mensaje al agente externo de Raft. El registro del Gateway debería mostrar el inicio del puente de Raft, seguido de una activación entrante. El agente debería usar el perfil de Raft configurado para consultar sus mensajes pendientes.
Solución de problemas
Falta la CLI de Raft
Instale la CLI de Raft en el host del Gateway y haga que raft esté disponible en el
PATH del servicio. Verifíquelo con raft --help y, después, reinicie el Gateway.
El puente se cierra inmediatamente
Verifique que el perfil configurado tenga una sesión iniciada y pertenezca al
agente externo de Raft previsto. Ejecute directamente raft --profile <profile> agent bridge
para ver el diagnóstico de la CLI.
Llega una activación, pero no se envía ninguna respuesta de Raft
Este comportamiento es el esperado cuando el agente no invoca la CLI de Raft. El puente de
activación no transporta cuerpos de mensajes ni respuestas finales automáticas. Compruebe la
política de herramientas del agente y asegúrese de que pueda ejecutar raft --profile <profile> message check y message send.