main، أو global عندما تكون قيمة session.scope هي global).
نافذة الدردشة الكاملة هي عرض منقسم أصلي:
- الشريط الجانبي للجلسات: قائمة جلسات قابلة للبحث، تتضمن قسمين للجلسات المثبتة والحديثة، ومؤشرات للعناصر غير المقروءة، وقوائم سياقية للتثبيت/إلغاء التثبيت، ونسخ مفتاح الجلسة، والحذف. ينشئ زر في شريط الأدوات (أو Cmd-N) جلسة جديدة فعلية عبر
sessions.create. - شريط أدوات النافذة: حلقة لاستخدام السياق (الرموز المميزة وتكلفة الجلسة، مع إجراء مصغّر)، ومنتقي مستوى التفكير، ومنتقي النموذج، وقائمة إجراءات الجلسة (جلسة جديدة، تحديث، نسخ مفتاح الجلسة، تصدير النص المنسوخ، Compaction، مسح السجل).
- النص المنسوخ ومحرر الرسائل: تُعرض رسائل المساعد كنص عادي مع صورة رمزية، ورسائل المستخدم كفقاعات مميزة. تؤدي كتابة
/إلى فتح الإكمال التلقائي للأوامر ذات الشرطة المائلة والمدعوم بواسطةcommands.list، مع التنقل بلوحة المفاتيح باستخدام الأسهم/Tab/Return/Escape. انقر بزر الماوس الأيمن على رسالة لنسخها.
- الوضع المحلي: يتصل مباشرةً بـ WebSocket الخاص بـ Gateway المحلي.
- الوضع البعيد: يعيد توجيه منفذ التحكم الخاص بـ Gateway عبر SSH، ويستخدم ذلك النفق كمستوى لنقل البيانات.
التشغيل وتصحيح الأخطاء
- يدويًا: قائمة Lobster -> “Open Chat”.
-
الفتح التلقائي للاختبار:
(يُقبل
--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>و<function_call>و<tool_calls>و<function_calls>، بما في ذلك الكتل المبتورة) ورموز التحكم المتسربة من النموذج، وتُحذف صفوف المساعد التي لا تحتوي إلا على رمز صامت مثلNO_REPLY/no_replyتمامًا، ويمكن استبدال الصفوف كبيرة الحجم بعنصر نائب مبتور. - الجلسة: تستخدم افتراضيًا الجلسة الأساسية كما هو موضح أعلاه؛ ويمكن لواجهة المستخدم التبديل بين الجلسات.
- يستخدم الإعداد الأولي جلسة مخصصة لإبقاء إعداد التشغيل الأول منفصلًا.
- ذاكرة التخزين المؤقت دون اتصال: يحتفظ التطبيق بذاكرة تخزين مؤقت صغيرة للقراءة فقط لجلسات الدردشة الحديثة والنصوص المنسوخة لكل Gateway (
~/Library/Application Support/OpenClaw/chat-cache.sqlite): تعرض عمليات الفتح البارد آخر نص منسوخ معروف فورًا وتحدّثه بمجرد استجابة Gateway، وتظل الدردشات الحديثة قابلة للتصفح أثناء انقطاع الاتصال (يظل الإرسال معطّلًا حتى عودة الاتصال).
نطاق الأمان
- يعيد الوضع البعيد توجيه منفذ تحكم WebSocket الخاص بـ Gateway فقط عبر SSH.
القيود المعروفة
- واجهة المستخدم محسّنة لجلسات الدردشة، وليست بيئة اختبار معزولة كاملة للمتصفح.