WebChat(macOS app)
macOS メニューバー app は、WebChat UI をネイティブな SwiftUI ビューとして埋め込みます。これは Gateway に接続し、選択されたエージェントのmain sessionをデフォルトにします (他のセッション用の session switcher 付き)。- Local mode: ローカル Gateway WebSocket に直接接続します。
- Remote mode: Gateway control port を SSH 経由で転送し、その トンネルをデータプレーンとして使います。
起動とデバッグ
- 手動: Lobster メニュー → 「Open Chat」。
-
テスト用の自動オープン:
-
ログ:
./scripts/clawlog.sh(subsystemai.openclaw、categoryWebChatSwiftUI)。
接続方法
- データプレーン: Gateway WS メソッド
chat.history、chat.send、chat.abort、chat.injectとイベントchat、agent、presence、tick、health。 chat.historyは表示用に正規化された transcript 行を返します。インライン directive タグは可視テキストから除去され、プレーンテキストの tool-call XML payload (<tool_call>...</tool_call>、<function_call>...</function_call>、<tool_calls>...</tool_calls>、<function_calls>...</function_calls>、および途中で切れた tool-call ブロックを含む)と 漏えいした ASCII / 全角のモデル制御トークンは除去され、正確にNO_REPLY/no_replyであるような 純粋な silent-token の assistant 行は省略され、大きすぎる行は プレースホルダーに置き換えられることがあります。- Session: デフォルトは primary session(
main、または scope が global の場合はglobal)です。UI からセッションを切り替えられます。 - オンボーディングは、初回セットアップを分離するため専用 session を使います。
セキュリティサーフェス
- Remote mode では、Gateway WebSocket control port のみを SSH 経由で転送します。
既知の制限
- UI はチャットセッション向けに最適化されており(完全な browser sandbox ではありません)。