WebChat (app macOS)
O app de barra de menus do macOS incorpora a UI do WebChat como uma visualização SwiftUI nativa. Ele se conecta ao Gateway e usa por padrão a sessão principal do agente selecionado (com um alternador de sessão para outras sessões).- Modo local: conecta-se diretamente ao WebSocket do Gateway local.
- Modo remoto: encaminha a porta de controle do Gateway por SSH e usa esse túnel como plano de dados.
Inicialização e depuração
- Manual: menu Lobster → “Open Chat”.
-
Abertura automática para testes:
-
Logs:
./scripts/clawlog.sh(subsystemai.openclaw, categoryWebChatSwiftUI).
Como é conectado
- Plano de dados: métodos WS do Gateway
chat.history,chat.send,chat.abort,chat.injecte eventoschat,agent,presence,tick,health. chat.historyretorna linhas de transcrição normalizadas para exibição: tags de diretiva inline são removidas do texto visível, cargas XML de chamada de ferramenta em texto simples (incluindo<tool_call>...</tool_call>,<function_call>...</function_call>,<tool_calls>...</tool_calls>,<function_calls>...</function_calls>e blocos truncados de chamada de ferramenta) e tokens de controle do modelo em ASCII/largura completa vazados são removidos, linhas do assistente compostas apenas por tokens silenciosos comoNO_REPLY/no_replyexatos são omitidas, e linhas muito grandes podem ser substituídas por placeholders.- Sessão: usa por padrão a sessão primária (
main, ouglobalquando o escopo é global). A UI pode alternar entre sessões. - O onboarding usa uma sessão dedicada para manter a configuração da primeira execução separada.
Superfície de segurança
- O modo remoto encaminha apenas a porta de controle do WebSocket do Gateway por SSH.
Limitações conhecidas
- A UI é otimizada para sessões de chat (não para um sandbox completo de navegador).