mirror of
https://github.com/hanzoai/bot.git
synced 2026-10-30 17:24:26 +00:00
Replace all bot.molt.* identifiers with ai.hanzo.bot.* across: - LaunchAgent labels (constants.ts + tests) - iOS bundle IDs, dispatch queues, logger subsystems - iOS fastlane Appfile (bot.molt.ios → ai.hanzo.bot.ios) - iOS project.yml branding (display name → Hanzo Bot) - macOS icon file rename (Bot.icns → HanzoBot.icns) - appcast.xml title (Bot → Hanzo Bot) - auto-response workflow (moltbook → off-topic) - All English and Chinese documentation (32 doc files) - scripts/restart-mac.sh launchd plist reference Co-authored-by: Hanzo Dev <[email protected]>
1.3 KiB
1.3 KiB
summary, read_when, title
| summary | read_when | title | |
|---|---|---|---|
| How the mac app embeds the gateway WebChat and how to debug it |
|
WebChat |
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: Bot menu → "Open Chat".
-
Auto‑open for testing:
dist/Hanzo Bot.app/Contents/MacOS/Hanzo Bot --webchat -
Logs:
./scripts/botlog.sh(subsystemai.hanzo.bot, categoryWebChatSwiftUI).
How it’s wired
- Data plane: Gateway WS methods
chat.history,chat.send,chat.abort,chat.injectand eventschat,agent,presence,tick,health. - Session: defaults to the primary session (
main, orglobalwhen scope is global). The UI can switch between sessions. - Onboarding uses a dedicated session to keep first‑run 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).