macOS companion app
چت وب (macOS)
برنامهٔ نوار منوی macOS، رابط کاربری WebChat را بهصورت یک نمای بومی SwiftUI در خود جای میدهد. این برنامه به Gateway متصل میشود و برای عامل انتخابشده بهطور پیشفرض از نشست اصلی استفاده میکند (همراه با انتخابگر نشست برای نشستهای دیگر).
- حالت محلی: مستقیماً به وبسوکت Gateway محلی متصل میشود.
- حالت از راه دور: پورت کنترل Gateway را از طریق SSH فوروارد میکند و از آن تونل بهعنوان سطح داده استفاده میکند.
اجرا و اشکالزدایی
-
دستی: منوی Lobster → "باز کردن چت".
-
باز شدن خودکار برای آزمایش:
dist/OpenClaw.app/Contents/MacOS/OpenClaw --webchat -
لاگها:
./scripts/clawlog.sh(زیرسامانهai.openclaw، دستهWebChatSwiftUI).
نحوهٔ اتصال اجزا
- سطح داده: متدهای WS در Gateway یعنی
chat.history،chat.send،chat.abort،chat.injectو رویدادهایchat،agent،presence،tick،health. chat.historyردیفهای رونوشت نرمالسازیشده برای نمایش را برمیگرداند: تگهای دستور درونخطی از متن قابل مشاهده حذف میشوند، payloadهای XML فراخوانی ابزار بهصورت متن ساده (از جمله<tool_call>...</tool_call>،<function_call>...</function_call>،<tool_calls>...</tool_calls>،<function_calls>...</function_calls>و بلوکهای کوتاهشدهٔ فراخوانی ابزار) و توکنهای کنترلی مدل ASCII/تمامعرضِ نشتکرده حذف میشوند، ردیفهای دستیار که فقط شامل توکن بیصدا هستند، مانندNO_REPLY/no_replyدقیق، کنار گذاشته میشوند، و ردیفهای بیشازحد بزرگ میتوانند با جاینگهدارها جایگزین شوند.- نشست: بهطور پیشفرض از نشست اصلی (
main، یاglobalوقتی دامنه سراسری است) استفاده میکند. رابط کاربری میتواند بین نشستها جابهجا شود. - فرایند ورود اولیه از یک نشست اختصاصی استفاده میکند تا راهاندازی اجرای اول جدا نگه داشته شود.
سطح امنیتی
- حالت از راه دور فقط پورت کنترل وبسوکت Gateway را از طریق SSH فوروارد میکند.
محدودیتهای شناختهشده
- رابط کاربری برای نشستهای چت بهینه شده است (نه یک سندباکس کامل مرورگر).