OpenClawSkills
GitHub
Platforms • TutorialHeader.readTime

WebChat

How to mac app embeds gateway WebChat and how to debug it

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 local Gateway WebSocket.

- Remote mode: forwards the Gateway control port over SSH and uses that

tunnel as data plane.

Tutorial.step

Launch & debugging

- Manual: Lobster menu → "Open Chat".

- Auto‑open for testing:

''''`bash", "p4": "dist/OpenClaw.app/Contents/MacOS/OpenClaw --webchat", "p5": "''''`

dist/OpenClaw.app/Contents/MacOS/OpenClaw --webchat

''''`

- Logs: ''./scripts/clawlog.sh'' (subsystem ''bot.molt'', category ''WebChatSwiftUI'').

Tutorial.step

How it's wired

- Data plane: Gateway WS methods ''chat.history'', ''chat.send'', ''chat.abort'',

''chat.inject'' and events ''chat'', ''agent'', ''presence'', ''tick'', ''health''.

- Session: defaults to 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.

Tutorial.step

Security surface

- Remote mode forwards only the Gateway WebSocket control port over SSH.

Tutorial.step

Known limitations

- The UI is optimized for chat sessions (not a full browser sandbox).