Перейти к основному содержанию
Приложение в строке меню macOS встраивает интерфейс WebChat как нативное представление SwiftUI. Оно подключается к Gateway и по умолчанию использует основную сессию выбранного агента (с переключателем сессий для других сессий).
  • Локальный режим: подключается напрямую к локальному Gateway WebSocket.
  • Удаленный режим: перенаправляет управляющий порт Gateway через SSH и использует этот туннель как плоскость данных.

Запуск и отладка

  • Вручную: меню Lobster → “Открыть чат”.
  • Автооткрытие для тестирования:
    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.

Известные ограничения

  • Интерфейс оптимизирован для чат-сессий (а не для полноценной браузерной песочницы).

Связанные разделы