macOS companion app
وبچت (macOS)
اپلیکیشن نوار منوی macOS، رابط کاربری WebChat را بهصورت یک نمای بومی SwiftUI در خود جای میدهد. این اپلیکیشن به Gateway متصل میشود و بهطور پیشفرض از نشست اصلی عامل انتخابشده استفاده میکند (main، یا هنگامی که session.scope برابر با global است، global).
پنجره کامل گفتوگو یک نمای تقسیمشده بومی است:
- نوار کناری نشستها: فهرست قابلجستوجوی نشستها با بخشهای سنجاقشده و اخیر، نشانگرهای خواندهنشده و منوهای زمینهای برای سنجاقکردن/برداشتن سنجاق، کپیکردن کلید نشست و حذف. یک دکمه نوار ابزار (یا Cmd-N) از طریق
sessions.createیک نشست جدید واقعی ایجاد میکند. - نوار ابزار پنجره: حلقه میزان استفاده از زمینه (توکنها و هزینه نشست، همراه با یک کنش فشرده)، انتخابگر سطح تفکر، انتخابگر مدل و منوی کنشهای نشست (نشست جدید، تازهسازی، کپی کلید نشست، برونبری رونوشت، فشردهسازی، پاککردن تاریخچه).
- رونوشت و کادر نگارش: پیامهای دستیار بهصورت متن ساده همراه با آواتار و پیامهای کاربر بهشکل حبابهای رنگی برجسته نمایش داده میشوند. تایپکردن
/، تکمیل خودکار فرمانهای اسلش را که ازcommands.listپشتیبانی میشود باز میکند و پیمایش با کلیدهای جهتنما/Tab/Return/Escape انجام میشود. برای کپیکردن پیام، روی آن راستکلیک کنید.
پنل گفتوگوی سریع متصل به نوار منو، چیدمان فشرده تکستونه را با انتخابگرهای درونخطی حفظ میکند.
- حالت محلی: مستقیماً به WebSocket محلی Gateway متصل میشود.
- حالت راه دور: درگاه کنترل Gateway را از طریق SSH هدایت میکند و از آن تونل بهعنوان صفحه داده استفاده میکند.
اجرا و اشکالزدایی
-
دستی: منوی Lobster -> "Open Chat".
-
بازشدن خودکار برای آزمایش:
bash dist/OpenClaw.app/Contents/MacOS/OpenClaw --chat(
--webchatبهعنوان نام مستعار قدیمی پذیرفته میشود.) -
گزارشها:
./scripts/clawlog.sh(زیرسامانهai.openclaw، دستهWebChatSwiftUI).
نحوه اتصال اجزا
- صفحه داده: متدهای WS در Gateway شامل
chat.history،chat.send،chat.abortوchat.injectو رویدادهایchat،agent،presence،tickوhealth. chat.historyیک رونوشت نرمالشده برای نمایش برمیگرداند: برچسبهای دستورالعمل درونخطی از متن قابلمشاهده حذف میشوند؛ بارهای XML فراخوانی ابزار بهصورت متن ساده (<tool_call>،<function_call>،<tool_calls>،<function_calls>، از جمله بلوکهای ناقص) و توکنهای کنترلی فاششده مدل حذف میشوند؛ ردیفهای دستیار که صرفاً شامل توکن سکوت مانندNO_REPLY/no_replyدقیق هستند کنار گذاشته میشوند؛ و ردیفهای بیشازحد بزرگ ممکن است با یک جاینگهدار کوتاهشده جایگزین شوند.- نشست: مطابق توضیح بالا، بهطور پیشفرض نشست اصلی است؛ رابط کاربری میتواند بین نشستها جابهجا شود.
- راهاندازی اولیه از یک نشست اختصاصی استفاده میکند تا تنظیمات اجرای نخست جدا باقی بماند.
- حافظه نهان آفلاین: اپلیکیشن برای هر Gateway، یک حافظه نهان کوچک و فقطخواندنی از نشستها و رونوشتهای اخیر گفتوگو نگه میدارد (
~/Library/Application Support/OpenClaw/chat-cache.sqlite): هنگام اجرای سرد، آخرین رونوشت شناختهشده بلافاصله نمایش داده میشود و پس از پاسخ Gateway تازهسازی میگردد؛ همچنین هنگام قطع اتصال، مرور گفتوگوهای اخیر همچنان ممکن است (ارسال تا زمان برقراری دوباره اتصال غیرفعال میماند).
سطح امنیتی
- حالت راه دور فقط درگاه کنترل WebSocket در Gateway را از طریق SSH هدایت میکند.
محدودیتهای شناختهشده
- رابط کاربری برای نشستهای گفتوگو بهینه شده است، نه برای یک محیط ایزوله کامل مرورگر.
مرتبط
Was this useful?