Files
openclaw/docs/platforms/mac/webchat.md
Vincent Koc 198ed08a38 docs: fix redirect chains and disambiguate duplicate titles
Redirects:
- /cron now goes directly to /automation/cron-jobs (was chaining via /cron-jobs)
- /model and /model/ now go directly to /concepts/models (was chaining via /models)

Duplicate titles disambiguated (6 of 7 - Logging is orphaned):
- Health Checks (macOS), Skills (macOS), Voice Wake (macOS), WebChat (macOS)
- General Troubleshooting (help/ vs gateway/)
- Provider Directory (providers/index vs concepts/model-providers)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 00:13:25 -07:00

1.3 KiB
Raw Blame History

summary, read_when, title
summary read_when title
How the mac app embeds the gateway WebChat and how to debug it
Debugging mac WebChat view or loopback port
WebChat (macOS)

WebChat (macOS app)

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.
  • Remote mode: forwards the Gateway control port over SSH and uses that tunnel as the data plane.

Launch & debugging

  • Manual: Lobster menu → “Open Chat”.

  • Autoopen for testing:

    dist/OpenClaw.app/Contents/MacOS/OpenClaw --webchat
    
  • Logs: ./scripts/clawlog.sh (subsystem ai.openclaw, category WebChatSwiftUI).

How its wired

  • Data plane: Gateway WS methods chat.history, chat.send, chat.abort, chat.inject 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

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