Clawdbot Gateway
O Clawdbot Gateway é o serviço sempre ativo que gerencia conexões de mensagens, tempo de execução do agente e o plano de controle para seu assistente de IA.
Visão Geral do Clawdbot Gateway
O Clawdbot Gateway é o processo sempre ativo que possui as conexões de mensagens (WhatsApp via Baileys, Telegram via grammY, Discord, Slack e mais) e o plano de controle/eventos. É o serviço central que mantém seu assistente de IA Clawdbot funcionando 24/7.
O que é o Gateway?
O Gateway é um daemon de longa duração que:
- Mantém todas as conexões de provedores de mensagens
- Expõe uma API WebSocket tipada para requisições, respostas e eventos push do servidor
- Valida frames de entrada contra JSON Schema
- Emite eventos como
agent,chat,presence,health,heartbeat,cron
Princípio chave: Um Gateway por host; é o único lugar que abre sessões de mensagens (como WhatsApp).
Início Rápido
Iniciar o Gateway
clawdbot gateway --port 18789Para logs completos de debug/trace:
clawdbot gateway --port 18789 --verboseSe a porta estiver ocupada, termine os listeners e então inicie:
clawdbot gateway --forceModo de Desenvolvimento
Para desenvolvimento com auto-reload em mudanças TypeScript:
pnpm gateway:watchArquitetura do Gateway
Componentes
| Componente | Descrição |
|---|---|
| Gateway (daemon) | Mantém conexões de provedores, expõe WS API |
| Clientes | App macOS, CLI, UI web conectam via WebSocket |
| Nós | Dispositivos macOS/iOS/Android/headless com role: node |
| WebChat | UI estática usando Gateway WS API |
| Canvas Host | Serve HTML editável por agentes (porta padrão 18793) |
Fluxo de Conexão
Client Gateway
| |
|---- req:connect -------->|
|<------ res (ok) ---------|
| |
|<------ event:presence ---|
|<------ event:tick -------|
| |
|------- req:agent ------->|
|<------ res:agent --------|
|<------ event:agent ------|Configuração do Gateway
Configuração Básica
Localização do arquivo de configuração: ~/.clawdbot/clawdbot.json
{
"gateway": {
"port": 18789,
"auth": {
"token": "your-secret-token"
},
"reload": {
"mode": "hybrid"
}
}
}Configuração de Porta
Precedência da porta:
- Flag CLI
--port - Variável de ambiente
CLAWDBOT_GATEWAY_PORT gateway.portna configuração- Padrão: 18789
Autenticação
A autenticação do Gateway é obrigatória por padrão. Configure via:
gateway.auth.tokenna configuração- Variável de ambiente
CLAWDBOT_GATEWAY_TOKEN gateway.auth.passwordpara autenticação baseada em senha
Clientes devem enviar connect.params.auth.token ou connect.params.auth.password.
Hot Reload
Hot reload de configuração monitora ~/.clawdbot/clawdbot.json:
| Modo | Descrição |
|---|---|
hybrid (padrão) | Aplica mudanças seguras a quente, reinicia em críticas |
off | Desabilita hot reload |
Serviços do Gateway
Endpoints HTTP
O Gateway serve múltiplos endpoints HTTP na mesma porta:
| Endpoint | Descrição |
|---|---|
/v1/chat/completions | Compatível com OpenAI Chat Completions |
/v1/responses | OpenResponses API |
/tools/invoke | Invocação de ferramentas |
| UI de Controle | Dashboard baseado em web |
Canvas Host
Inicia por padrão na porta 18793, servindo:
http://<gateway-host>:18793/__clawdbot__/canvas/De ~/.clawdbot/workspace/canvas. Desabilitar com:
canvasHost.enabled: falseCLAWDBOT_SKIP_CANVAS_HOST=1
Dashboard
Acesse a UI de Controle em:
http://127.0.0.1:18789/Ou execute:
clawdbot dashboardAcesso Remoto
Túnel SSH (Recomendado)
ssh -N -L 18789:127.0.0.1:18789 user@hostClientes então conectam a ws://127.0.0.1:18789 através do túnel.
Tailscale/VPN
Preferido para acesso remoto em produção. O mesmo handshake + token de autenticação se aplica.
Gerenciamento do Gateway
Comandos de Serviço
# Verificar status
clawdbot gateway status
# Verificação de saúde
clawdbot health
# Auditoria de segurança
clawdbot security audit --deep
# Parar gateway
clawdbot gateway stopSupervisão
macOS: Usa LaunchAgent (bot.molt.<profile>)
Linux: Usa serviço de usuário systemd (clawdbot-gateway-<profile>.service)
Windows: Usa Windows Service (Clawdbot Gateway (<profile>))
Múltiplos Gateways
Geralmente desnecessário—um Gateway pode servir múltiplos canais e agentes. Use múltiplos Gateways apenas para:
- Redundância
- Isolamento estrito (ex., bot de resgate)
Requisitos:
- Isolar estado + configuração
- Usar portas únicas
Protocolo Wire
Transporte
- WebSocket com frames de texto contendo payloads JSON
- Primeiro frame deve ser
connect
Tipos de Mensagem
Requisições:
{"type": "req", "id": "...", "method": "...", "params": {...}}Respostas:
{"type": "res", "id": "...", "ok": true, "payload": {...}}Eventos:
{"type": "event", "event": "...", "payload": {...}, "seq": 1}Idempotência
Chaves de idempotência são necessárias para métodos com efeitos colaterais (send, agent) para retry seguro.
Solução de Problemas
Gateway Não Inicia
- Verifique se a porta está em uso:
lsof -i :18789 - Revise logs:
cat /tmp/clawdbot/gateway.log - Use
--forcepara terminar listeners existentes
Problemas de Conexão
- Verifique se o token de autenticação corresponde
- Verifique conectividade de rede
- Revise logs de handshake WebSocket com
--verbose
Problemas de Canal
- Verifique status do canal:
clawdbot channels status - Re-autentique canais:
clawdbot channels login - Revise logs específicos do canal
Melhores Práticas
- Use Tokens de Auth: Sempre configure
gateway.auth.tokenpara segurança - Monitore Saúde: Verifique regularmente
clawdbot health - Use Supervisão: Deixe launchd/systemd gerenciar reinícios
- Faça Backup da Configuração: Mantenha backups de
~/.clawdbot/clawdbot.json - Revise Logs: Verifique logs regularmente para problemas
Próximos Passos
- Guia de Configuração do Clawdbot - Guia completo de instalação
- Integração WhatsApp do Clawdbot - Conectar ao WhatsApp
- Integração Telegram do Clawdbot - Conectar ao Telegram
Streaming do Clawdbot
Aprenda sobre respostas em streaming do assistente de IA Clawdbot, chunking, indicadores de digitação e entrega de mensagens em tempo real.
Configuração do Clawdbot Gateway
Guia completo para configurar o gateway do assistente de IA Clawdbot. Aprenda sobre opções de configuração, variáveis de ambiente e configurações avançadas.