Перейти до основного вмісту

WebChat (macOS app)

macOS app у рядку меню вбудовує інтерфейс WebChat як нативне подання SwiftUI. Він підключається до Gateway і за замовчуванням використовує основну сесію для вибраного агента (із перемикачем сесій для інших сесій).
  • Локальний режим: підключається безпосередньо до локального WebSocket Gateway.
  • Віддалений режим: пересилає порт керування Gateway через SSH і використовує цей тунель як площину даних.

Запуск і налагодження

  • Вручну: меню Lobster → “Open Chat”.
  • Автовідкриття для тестування:
    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 пересилається лише порт керування WebSocket Gateway.

Відомі обмеження

  • Інтерфейс оптимізовано для чат-сесій (а не як повноцінне ізольоване браузерне середовище).