Files
openclaw/docs/platforms/mac/webchat.md

40 lines
1.3 KiB
Markdown
Raw Normal View History

---
summary: "How the mac app embeds the gateway WebChat and how to debug it"
read_when:
- Debugging mac WebChat view or loopback port
---
2026-01-08 23:06:56 +01:00
# WebChat (macOS app)
2026-01-08 23:06:56 +01:00
The macOS menu bar app embeds the WebChat UI as a native SwiftUI view. It
connects to the Gateway and defaults to the **main session** for the selected
agent (with a session switcher for other sessions).
- **Local mode**: connects directly to the local Gateway WebSocket.
2026-01-08 23:06:56 +01:00
- **Remote mode**: forwards the Gateway control port over SSH and uses that
tunnel as the data plane.
## Launch & debugging
2026-01-08 23:06:56 +01:00
- Manual: Lobster menu → “Open Chat”.
2026-01-08 23:06:56 +01:00
- Autoopen for testing:
```bash
dist/Clawdbot.app/Contents/MacOS/Clawdbot --webchat
```
- Logs: `./scripts/clawlog.sh` (subsystem `com.clawdbot`, category `WebChatSwiftUI`).
## How its wired
2026-01-08 23:06:56 +01:00
- Data plane: Gateway WS methods `chat.history`, `chat.send`, `chat.abort` and
events `chat`, `agent`, `presence`, `tick`, `health`.
- Session: defaults to the primary session (`main`, or `global` when scope is
global). The UI can switch between sessions.
- Onboarding uses a dedicated session to keep firstrun setup separate.
## Security surface
- Remote mode forwards only the Gateway WebSocket control port over SSH.
## Known limitations
2026-01-08 23:06:56 +01:00
- The UI is optimized for chat sessions (not a full browser sandbox).