macOS companion app
WebChat (macOS)
Приложение в строке меню macOS встраивает интерфейс WebChat как нативное представление SwiftUI. Оно подключается к Gateway и по умолчанию использует основную сессию выбранного агента (с переключателем сессий для других сессий).
- Локальный режим: подключается напрямую к локальному Gateway WebSocket.
- Удаленный режим: перенаправляет управляющий порт Gateway через SSH и использует этот туннель как плоскость данных.
Запуск и отладка
-
Вручную: меню Lobster → "Открыть чат".
-
Автооткрытие для тестирования:
bash dist/OpenClaw.app/Contents/MacOS/OpenClaw --webchat -
Журналы:
./scripts/clawlog.sh(подсистемаai.openclaw, категорияWebChatSwiftUI).
Как это устроено
- Плоскость данных: методы Gateway WS
chat.history,chat.send,chat.abort,chat.injectи событияchat,agent,presence,tick,health. chat.historyвозвращает нормализованные для отображения строки транскрипта: встроенные теги директив удаляются из видимого текста, текстовые XML-пейлоады вызовов инструментов (включая<tool_call>...</tool_call>,<function_call>...</function_call>,<tool_calls>...</tool_calls>,<function_calls>...</function_calls>и усеченные блоки вызовов инструментов), а также просочившиеся ASCII/полноширинные управляющие токены модели удаляются, чистые строки ассистента с молчаливыми токенами, такие как точныеNO_REPLY/no_reply, опускаются, а слишком большие строки могут заменяться заполнителями.- Сессия: по умолчанию используется основная сессия (
mainилиglobal, когда область глобальная). Интерфейс может переключаться между сессиями. - Онбординг использует отдельную сессию, чтобы отделить первоначальную настройку.
Поверхность безопасности
- Удаленный режим перенаправляет через SSH только управляющий порт Gateway WebSocket.
Известные ограничения
- Интерфейс оптимизирован для чат-сессий (а не для полноценной браузерной песочницы).
Связанные разделы
Was this useful?