{ "title": "WebChat (macOS app)", "content": "The macOS menu bar app embeds the WebChat UI as a native SwiftUI view. It\nconnects to the Gateway and defaults to the **main session** for the selected\nagent (with a session switcher for other sessions).\n\n* **Local mode**: connects directly to the local Gateway WebSocket.\n* **Remote mode**: forwards the Gateway control port over SSH and uses that\n tunnel as the data plane.\n\n## Launch & debugging\n\n* Manual: Lobster menu → “Open Chat”.\n* Auto‑open for testing:\n \n* Logs: `./scripts/clawlog.sh` (subsystem `bot.molt`, category `WebChatSwiftUI`).\n\n* Data plane: Gateway WS methods `chat.history`, `chat.send`, `chat.abort`,\n `chat.inject` and events `chat`, `agent`, `presence`, `tick`, `health`.\n* Session: defaults to the primary session (`main`, or `global` when scope is\n global). The UI can switch between sessions.\n* Onboarding uses a dedicated session to keep first‑run setup separate.\n\n* Remote mode forwards only the Gateway WebSocket control port over SSH.\n\n* The UI is optimized for chat sessions (not a full browser sandbox).", "code_samples": [], "headings": [ { "level": "h2", "text": "Launch & debugging", "id": "launch-&-debugging" }, { "level": "h2", "text": "How it’s wired", "id": "how-it’s-wired" }, { "level": "h2", "text": "Security surface", "id": "security-surface" }, { "level": "h2", "text": "Known limitations", "id": "known-limitations" } ], "url": "llms-txt#webchat-(macos-app)", "links": [] }