2025-12-09 17:51:05 +00:00
|
|
|
|
---
|
|
|
|
|
|
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)
|
2025-12-07 03:34:49 +01:00
|
|
|
|
|
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).
|
2025-12-12 18:41:38 +00:00
|
|
|
|
|
2025-12-17 23:05:28 +01:00
|
|
|
|
- **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.
|
2025-12-07 03:34:49 +01:00
|
|
|
|
|
|
|
|
|
|
## Launch & debugging
|
2026-01-08 23:06:56 +01:00
|
|
|
|
|
2025-12-07 03:34:49 +01:00
|
|
|
|
- Manual: Lobster menu → “Open Chat”.
|
2026-01-08 23:06:56 +01:00
|
|
|
|
- Auto‑open for testing:
|
|
|
|
|
|
```bash
|
|
|
|
|
|
dist/Clawdbot.app/Contents/MacOS/Clawdbot --webchat
|
|
|
|
|
|
```
|
|
|
|
|
|
- Logs: `./scripts/clawlog.sh` (subsystem `com.clawdbot`, category `WebChatSwiftUI`).
|
2025-12-07 03:34:49 +01:00
|
|
|
|
|
|
|
|
|
|
## How it’s 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 first‑run setup separate.
|
|
|
|
|
|
|
|
|
|
|
|
## Security surface
|
|
|
|
|
|
|
2025-12-17 23:05:28 +01:00
|
|
|
|
- Remote mode forwards only the Gateway WebSocket control port over SSH.
|
2025-12-07 03:34:49 +01:00
|
|
|
|
|
|
|
|
|
|
## Known limitations
|
2026-01-08 23:06:56 +01:00
|
|
|
|
|
|
|
|
|
|
- The UI is optimized for chat sessions (not a full browser sandbox).
|