متعدد الوكلاء
الحضور
"حضور" OpenClaw هو عرض خفيف الوزن وذو جهد أفضل لـ:
- البوابة نفسها، و
- العملاء المتصلين بالبوابة (تطبيق ماك، WebChat، CLI، إلخ.)
يُستخدم الحضور بشكل أساسي لعرض تبويب الحالات في تطبيق macOS ولتوفير رؤية سريعة للمشغل.
حقول الحضور (ما يظهر)
إدخالات الحضور هي كائنات منظمة تحتوي على حقول مثل:
instanceId(اختياري ولكن موصى به بشدة): هوية مستقرة للعميل (عادةًconnect.client.instanceId)host: اسم مضيف مفهوم للإنسانip: عنوان IP ذو جهد أفضلversion: سلسلة إصدار العميلdeviceFamily/modelIdentifier: تلميحات للأجهزةmode:ui,webchat,cli,backend,probe,test,node, …lastInputSeconds: "الثواني منذ آخر إدخال للمستخدم" (إذا كان معروفًا)reason:self,connect,node-connected,periodic, …ts: طابع زمني آخر تحديث (مللي ثانية منذ العصر)
المنتجون (مصدر بيانات الحضور)
يتم إنتاج إدخالات الحضور من مصادر متعددة ويتم دمجها.
1) إدخال البوابة الذاتي
تقوم البوابة دائمًا بإنشاء إدخال "ذاتي" عند بدء التشغيل حتى تعرض الواجهات مضيف البوابة حتى قبل اتصال أي عملاء.
2) اتصال WebSocket
يبدأ كل عميل WS بطلب connect. عند اكتمال المصافحة بنجاح، تقوم البوابة بإدراج أو تحديث إدخال حضور لهذا الاتصال.
لماذا لا تظهر أوامر CLI الفردية
غالبًا ما يتصل CLI لأوامر فردية قصيرة. لتجنب إغراق قائمة الحالات، لا يتم تحويل client.mode === "cli" إلى إدخال حضور.
3) إشارات system-event الدورية
يمكن للعملاء إرسال إشارات دورية أكثر تفصيلاً عبر طريقة system-event. يستخدم تطبيق ماك هذا للإبلاغ عن اسم المضيف، وعنوان IP، وlastInputSeconds.
4) اتصال العقد (دور: node)
عندما تتصل عقدة عبر WebSocket الخاص بالبوابة بـ role: node، تقوم البوابة بإدراج أو تحديث إدخال حضور لتلك العقدة (نفس تدفق عملاء WS الآخرين).