<state-dir>/logbook/، لكن
معالجة النماذج ليست محلية بالضرورة. تُرسل لقطات الشاشة المأخوذة كعينات إلى
مسار الرؤية المُعدّ؛ وتُرسل الملاحظات ونص الخط الزمني إلى نموذج الوكيل
الافتراضي. استخدم مسارات نماذج محلية للمرحلتين إذا كان يجب أن يبقى محتوى
الشاشة ونص النشاط المشتق على الجهاز.
يأتي Logbook مضمّنًا ومعطّلًا افتراضيًا. يؤدي تمكين Plugin إلى تفعيل التقاط
الشاشة في Gateway لأن القيمة الافتراضية لـ captureEnabled هي true.
قبل البدء
تحتاج إلى:- Node متصل يوفّر
screen.snapshotأوlogbook.snapshot. يحتاج Node الخاص بتطبيق macOS إلى إذن Screen Recording. ويحصل مضيف Node لنظام macOS دون واجهة رسومية (openclaw node host run) على الأمرlogbook.snapshotالذي يوفّره Plugin والمدعوم بأداة النظامscreencapture. - تمكين Plugin Codex المضمّن ومصادقته. يوفّر Codex حاليًا عقد استخراج الصور
المنظّم الذي يتطلبه Logbook. سجّل الدخول باستخدام
openclaw models auth login --provider openai؛ وراجع بيئة تشغيل Codex للاطلاع على مسارات مصادقة أخرى. - نموذج وكيل افتراضي يعمل. يستخدمه Logbook لتركيب البطاقات وملاحظات الاجتماع اليومي وأسئلة وأجوبة اليوم بعد مرحلة الرؤية.
البدء السريع
مكّن Pluginَي Codex وLogbook:plugins.allow، فأدرج كلًا من codex وlogbook. أعد تشغيل
Gateway بعد تغيير إعدادات Plugin، ثم افحص التسجيلات وافتح لوحة المعلومات:
screen.snapshot أو logbook.snapshot.
لا تعلن Nodes دون واجهة رسومية عن logbook.snapshot إلا بعد تنشيط Plugin.
راجع استكشاف أخطاء Node وإصلاحها إذا كان الأمر
مفقودًا.
لا تظهر علامة تبويب Logbook إلا عندما يكون Plugin ممكّنًا وتستخدم جلسة واجهة
التحكم النطاق operator.write. ينبغي أن يعرض صف الحالة جارٍ الالتقاط دون
خطأ. تظهر بطاقة خط زمني عند إغلاق نافذة التحليل، أو يمكنك تحديد
حلّل الآن بعد التقاط نشاط.
آلية العمل
- الالتقاط: كل
captureIntervalSeconds(الافتراضي 30 ثانية)، يستدعي Logbook أمر الالتقاط الخاص بـ Node المحدد ويخزّن إطار JPEG بعد تغيير حجمه. تُعلَّم الإطارات المتطابقة المتتالية على أنها خمول وتُستبعد من التحليل. - الملاحظة: بعد انقضاء نافذة تحليل (الافتراضي 15 دقيقة)، يأخذ Plugin عينات تصل إلى 16 إطارًا نشطًا ويرسلها إلى نموذج الرؤية، الذي يعيد ملاحظات نشاط ذات طوابع زمنية (“VS Code: تعديل store.ts وإصلاح خطأ في النوع”). كما تؤدي فجوة التقاط أطول من دقيقتين أو حلول منتصف الليل المحلي إلى إغلاق النافذة الحالية.
- التركيب: تُراجع الملاحظات مع بطاقات آخر 45 دقيقة الموجودة لتكوين بطاقات خط زمني (مدة كل منها 10-60 دقيقة) تتضمن عنوانًا وملخصًا وفئة والتطبيق الرئيسي وأي مشتتات موجزة.
- التنقية: تُحذف الإطارات الأقدم من
retentionDays(الافتراضي 14). ويُحتفظ بالبطاقات والملاحظات والاجتماعات اليومية المخزنة مؤقتًا.
<state-dir>/logbook/.
تدفق النماذج والبيانات
يستخدم Logbook مسارين منفصلين للنماذج:
لا تُرسل قاعدة بيانات SQLite الكاملة إلى أي من النموذجين. لا تُرسل لقطات
الشاشة الخام إلا إلى مرحلة الملاحظة؛ بينما تتلقى عمليات تركيب البطاقات وإنشاء
الاجتماع اليومي والأسئلة والأجوبة نصًا مشتقًا.
الإعداد
من دون
nodeId، يفضّل Logbook Node تطبيق متصلًا يوفّر
screen.snapshot، ثم يلجأ إلى Node دون واجهة رسومية يوفّر
logbook.snapshot. في إعداد غير مثبّت، ينتقل Node الذي فشل إلى ما بعد
Nodes المؤهلة الأخرى في ترتيب التناوب. مفتاح الإيقاف المؤقت في لوحة
المعلومات خاص بالجلسة فقط ويُعاد ضبطه عند إعادة تشغيل Gateway؛ استخدم
captureEnabled: false لإيقاف دائم.
اختيار نموذج الرؤية
يحدّد Logbook نموذج الملاحظة بالترتيب التالي:plugins.entries.logbook.config.visionModel- أول إدخال Codex يدعم الصور ضمن
tools.media.image.models - أول إدخال Codex يدعم الصور ضمن
tools.media.models
tools.media.image.enabled: false إلى تعطيل
إعدادات الوسائط الافتراضية المستعارة، لكن يظل visionModel الصريح في
Logbook ساريًا.
علامة تبويب لوحة المعلومات
- الخط الزمني: بطاقات قابلة للتوسيع لكل نشاط مع ألوان الفئات والتطبيق الرئيسي وشرائح المشتتات وإطار رئيسي من لقطة الشاشة.
- نظرة سريعة على اليوم: نسبة التركيز وتوزيع الفئات وأبرز التطبيقات.
- الاجتماع اليومي: يحوّل الأمس واليوم إلى تحديث جاهز للصق.
- اسأل عن يومك: أسئلة بلغة طبيعية تُجاب استنادًا إلى الخط الزمني المتتبَّع (“متى راجعت طلب سحب Gateway؟”).
- حلّل الآن: يغلق نافذة الالتقاط الحالية فورًا بدلًا من انتظار فاصل التحليل.
أساليب Gateway
يسجّل Logbook أساليب RPC التالية في Gateway:
تعيد أساليب القراءة حالة التشغيل أو نصًا مشتقًا. تتطلب وحدات بكسل لقطات
الشاشة الخام والإجراءات التي تنفق على النماذج وتغييرات وقت التشغيل النطاق
operator.write. وتتطلب علامة تبويب واجهة التحكم أيضًا operator.write
لأنها تعرض تلك الإجراءات ومعاينات الإطارات الخام؛ ومع ذلك، يمكن لعميل
للقراءة فقط استدعاء أساليب النص المشتق مباشرة.
ملاحظات الخصوصية
- قد تحتوي اللقطات على أي شيء ظاهر على الشاشة، بما في ذلك الأسرار. لا تغادر الإطارات الجهاز مطلقًا إلا بوصفها مدخلات مأخوذة كعينات لنموذج الملاحظة المُعدّ.
- قد تغادر الملاحظات والبطاقات الحديثة والأسئلة الجهاز عبر نموذج الوكيل الافتراضي أثناء تركيب البطاقات أو إنشاء الاجتماع اليومي أو الأسئلة والأجوبة. طبّق سياسة معالجة البيانات الخاصة بالموفّر على مساري النموذج.
- استخدم مسارات محلية لكل من نموذج الملاحظة المنظّم ونموذج الوكيل الافتراضي عندما تحتاج إلى مسار معالجة محلي بالكامل.
- تُكتب الإطارات وقاعدة بيانات الخط الزمني والالتقاطات المؤقتة بأذونات ملفات للمالك فقط.
- تُعد إضافة
screen.snapshotإلىgateway.nodes.denyCommandsمفتاح الإيقاف القاطع لالتقاط الشاشة: فهي تحظر التقاط Node الخاص بالتطبيق وأمرlogbook.snapshotالخاص بـ Logbook على حد سواء. - يؤدي ضبط
tools.media.image.enabled: falseأيضًا إلى منع Logbook من استعارة نماذج صور الوسائط للتحليل؛ وعندئذٍ لا يُستخدم إلاvisionModelصريح في إعداد Plugin.
استكشاف الأخطاء وإصلاحها
علامة تبويب Logbook مفقودة
تحقق من الشروط الثلاثة جميعًا:- تتضمن نتيجة
openclaw plugins list --enabledالقيمةlogbook. - أُعيد تشغيل Gateway بعد تغيير Plugin أو قائمة السماح.
- يتضمن اتصال واجهة التحكم النطاق
operator.write؛ لا تتلقى جلسات القراءة فقط واصف علامة التبويب التفاعلية.
plugins.allow، فيجب أن يتضمن كلاً من logbook وcodex للإعداد
الموصى به.
يُبلغ الالتقاط عن خطأ
- تأكد من أن Node يوفّر
screen.snapshotأوlogbook.snapshot. - امنح إذن تسجيل الشاشة على جهاز Mac المستخدم للالتقاط.
- إذا تم إعداد
nodeId، فتأكد من مطابقته لمعرّف Node أو اسم العرض. - تحقق من أن
gateway.nodes.denyCommandsلا يحتوي علىscreen.snapshot.
تنجح عمليات الالتقاط ولكن لا تظهر أي بطاقات
- تعني حالة النموذج مفقود أنه لم يتم العثور على مسار رؤية منظّم متوافق.
فعّل Plugin Codex وصادِق عليه، أو عيّن
visionModelصريحًا وصالحًا. تظل الإطارات الملتقطة في حالة انتظار أثناء غياب النموذج، ويمكن تحليلها بعد إصلاح الإعداد. - انتظر مدة
analysisIntervalMinutes، أو حدّد حلّل الآن بعد التقاط النشاط. - تُعد الإطارات المتطابقة المتتالية دليلاً على الخمول ولا تدخل في دُفعات التحليل. غيّر الشاشة الظاهرة قبل الاختبار.
- إذا أظهرت أحدث دفعة خطأً، فأصلح مشكلة النموذج أو المصادقة وحدّد حلّل الآن. لا تُعاد محاولة الدُفعات الفاشلة إلا عند تنفيذ هذا الإجراء الصريح لتجنب الإنفاق المتكرر على النموذج.