Developer and self-hosted
Raft
O Raft conecta um agente do OpenClaw a um Agente Externo do Raft por meio da CLI do Raft local. O Raft envia avisos de ativação autenticados ao Gateway; em seguida, o agente usa a CLI do Raft para verificar e enviar mensagens. Somente conversas diretas (sem grupos).
Instalação
O Raft é um plugin externo oficial. Instale-o no host do Gateway:
openclaw plugins install @openclaw/raftopenclaw gateway restartDetalhes: Plugins
Pré-requisitos
- Um espaço de trabalho do Raft com um Agente Externo.
- A CLI do Raft instalada no mesmo host que o Gateway do OpenClaw e disponível
no
PATHdo serviço. - Um perfil da CLI do Raft que já tenha uma sessão iniciada e esteja associado a esse Agente Externo.
O plugin não armazena credenciais do Raft; a CLI do Raft mantém essa autenticação no próprio perfil.
Configuração
Defina o perfil na configuração:
{ channels: { raft: { enabled: true, profile: "openclaw", }, },}Para a conta padrão, você também pode definir RAFT_PROFILE no ambiente do
Gateway:
RAFT_PROFILE=openclawUse uma conta nomeada quando um Gateway se conectar a mais de um Agente Externo do Raft:
{ channels: { raft: { accounts: { support: { profile: "support-agent", }, engineering: { profile: "engineering-agent", }, }, }, },}A configuração interativa registra o mesmo perfil:
openclaw channels add --channel raftComo funciona
Quando o Gateway é iniciado, o plugin:
- Abre um endpoint HTTP de ativação acessível somente por local loopback em uma porta efêmera.
- Inicia
raft --profile <profile> agent bridgecom esse endpoint e um token específico do processo. - Aceita somente avisos de ativação autenticados, sem conteúdo e com uma identidade de repetição, provenientes da ponte local.
- Exige
eventId,attemptId,messageId,delivery_id,wake_idouidem cada carga útil de ativação. - Elimina duplicatas de entregas de ativação repetidas pelo ID de evento da ponte durante 24 horas, inclusive após reinicializações do Gateway.
- Retorna uma sessão de execução estável para a ponte atual e um lote vazio de escoamento de atividades para o protocolo da CLI do Raft.
- Inicia um turno serializado do agente do OpenClaw para cada ativação aceita.
A ponte gerencia as novas tentativas de entrega e as reconexões do Raft. O turno do OpenClaw recebe apenas um aviso de ativação, e não uma cópia do corpo da mensagem do Raft. Ele usa a CLI para ler mensagens pendentes e enviar sua resposta:
raft --profile openclaw message checkraft --profile openclaw message sendVerificação
Verifique se o OpenClaw consegue encontrar a CLI e tem um perfil configurado:
openclaw channels status --probeopenclaw plugins inspect raft --runtime --jsonEm seguida, envie uma mensagem ao Agente Externo do Raft. O log do Gateway deve mostrar a inicialização da ponte do Raft, seguida por uma ativação recebida. O agente deve usar o perfil configurado do Raft para verificar suas mensagens pendentes.
Solução de problemas
A CLI do Raft está ausente
Instale a CLI do Raft no host do Gateway e disponibilize raft no
PATH do serviço. Verifique-a com raft --help e reinicie o Gateway.
A ponte é encerrada imediatamente
Verifique se o perfil configurado tem uma sessão iniciada e pertence ao
Agente Externo do Raft pretendido. Execute raft --profile <profile> agent bridge
diretamente para ver o diagnóstico da CLI.
Uma ativação chega, mas nenhuma resposta do Raft é enviada
Isso é esperado quando o agente não invoca a CLI do Raft. A ponte de
ativação não transporta corpos de mensagens nem respostas finais automáticas. Verifique a
política de ferramentas do agente e garanta que ele possa executar raft --profile <profile> message check e message send.