Sessions and memory
الالتزامات المستنتجة
الالتزامات هي ذكريات متابعة قصيرة الأجل. عند تفعيلها، يمكن لـ OpenClaw ملاحظة أن محادثةً ما أوجدت فرصةً للتحقق لاحقًا وتذكّر إعادة طرحها في وقت لاحق.
أمثلة:
- تذكر أن لديك مقابلة غدًا. قد يتحقق OpenClaw من أحوالك بعدها.
- تقول إنك مُنهك. قد يسألك OpenClaw لاحقًا عما إذا كنت قد نمت.
- يقول الوكيل إنه سيتابع بعد تغيّر شيء ما. قد يتتبع OpenClaw تلك المسألة المعلّقة.
الالتزامات ليست حقائق دائمة مثل MEMORY.md، وليست تذكيرات
دقيقة. إنها تقع بين الذاكرة والأتمتة: يتذكّر OpenClaw التزامًا
مرتبطًا بالمحادثة، ثم يوصله Heartbeat عند حلول موعده.
تفعيل الالتزامات
تكون الالتزامات معطّلة افتراضيًا (commitments.enabled: false). فعّلها في الإعدادات:
openclaw config set commitments.enabled trueopenclaw config set commitments.maxPerDay 3ما يعادل ذلك في openclaw.json:
{ "commitments": { "enabled": true, "maxPerDay": 3 }}يحدّد commitments.maxPerDay عدد المتابعات المستنتجة التي يمكن إيصالها
لكل جلسة وكيل خلال يوم متجدد. القيمة الافتراضية هي 3.
آلية العمل
بعد رد الوكيل، قد يشغّل OpenClaw عملية استخراج خلفية مخفية ضمن سياق منفصل، مع تعطيل الأدوات. تبحث هذه العملية فقط عن التزامات المتابعة المستنتجة. وهي لا تكتب في المحادثة المرئية ولا تطلب من الوكيل الرئيسي الاستدلال بشأن الاستخراج.
عندما يعثر OpenClaw على عنصر مرشح بدرجة ثقة عالية، فإنه يخزّن التزامًا يتضمن:
- معرّف الوكيل
- مفتاح الجلسة
- القناة الأصلية ووجهة الإيصال
- نافذة زمنية للاستحقاق
- رسالة تحقق قصيرة مقترحة
- بيانات وصفية غير توجيهية ليقرر Heartbeat ما إذا كان سيرسلها
يتم الإيصال عبر Heartbeat. عندما يحين موعد التزام، يضيف Heartbeat
الالتزام إلى دورة Heartbeat ضمن نطاق الوكيل والقناة نفسيهما.
يحذّر الموجّه صراحةً من أن البيانات الوصفية للالتزام غير موثوقة، ويوجّه
النموذج إلى عدم اتباع أي تعليمات فيها أو استخدام الأدوات بسببها. يمكن
للنموذج إرسال رسالة تحقق طبيعية واحدة أو الرد بـ HEARTBEAT_OK لتجاهلها.
إذا ضُبط Heartbeat باستخدام target: "none"، فستظل الالتزامات المستحقة
داخلية ولن ترسل رسائل تحقق خارجية. لا تعيد موجّهات إيصال الالتزامات
عرض نص المحادثة الأصلي، بل تعرض فقط رسالة التحقق المقترحة
والبيانات الوصفية، وتُشغَّل دورات Heartbeat الخاصة بالالتزامات المستحقة من دون أدوات OpenClaw.
لا يوصّل OpenClaw أبدًا التزامًا مستنتجًا فور تخزينه. يُضبط وقت الاستحقاق بحيث لا يقل عن فترة Heartbeat واحدة بعد إنشاء الالتزام، لذلك لا يمكن أن تتردد المتابعة في اللحظة نفسها التي استُنتجت فيها.
النطاق
تقتصر الالتزامات على سياق الوكيل والقناة المحددين اللذين أُنشئت فيهما. لا يوصّل وكيل آخر أو قناة أخرى أو جلسة غير مرتبطة متابعةً استُنتجت أثناء التحدث إلى وكيل معين في Discord.
هذا النطاق جزء من الميزة. ينبغي أن تبدو رسائل التحقق الطبيعية كأنها استمرار للمحادثة نفسها، لا كنظام تذكير عام.
الالتزامات مقارنةً بالتذكيرات
| الحاجة | الاستخدام |
|---|---|
| "ذكّرني الساعة 3 مساءً" | المهام المجدولة |
| "نبّهني بعد 20 دقيقة" | المهام المجدولة |
| "شغّل هذا التقرير كل يوم عمل" | المهام المجدولة |
| "لدي مقابلة غدًا" | الالتزامات |
| "ظللت مستيقظًا طوال الليل" | الالتزامات |
| "تابع إذا لم أرد على هذه المسألة المعلّقة" | الالتزامات |
تنتمي طلبات المستخدم الصريحة بالفعل إلى مسار المجدول. تقتصر الالتزامات على المتابعات المستنتجة: أي الحالات التي لم يطلب فيها المستخدم تذكيرًا، لكن المحادثة أوجدت بوضوح فرصةً مفيدة للتحقق مستقبلًا.
إدارة الالتزامات
استخدم CLI لفحص الالتزامات المخزنة ومسحها:
openclaw commitmentsopenclaw commitments --allopenclaw commitments --agent mainopenclaw commitments --status snoozedopenclaw commitments dismiss cm_abc123راجع openclaw commitments للحصول على مرجع الأوامر الكامل.
الخصوصية والتكلفة
يستخدم استخراج الالتزامات عملية تمرير عبر نموذج لغوي كبير (LLM)، لذا يؤدي تفعيله إلى إضافة استخدام للنموذج في الخلفية بعد الدورات المؤهلة. تكون العملية مخفية عن المحادثة المرئية للمستخدم، لكنها تستطيع قراءة التبادل الأخير اللازم لتحديد ما إذا كانت توجد متابعة.
الالتزامات المخزنة هي ذاكرة تشغيلية محلية لـ OpenClaw في قاعدة بيانات الحالة المشتركة SQLite، وليست ذاكرة طويلة الأجل. عطّل الميزة باستخدام:
openclaw config set commitments.enabled falseاستكشاف الأخطاء وإصلاحها
إذا لم تظهر المتابعات المتوقعة:
- تأكد من أن
commitments.enabledيساويtrue. - تحقق من
openclaw commitments --allبحثًا عن سجلات معلّقة أو متجاهلة أو مؤجلة أو منتهية الصلاحية. - تأكد من أن Heartbeat يعمل للوكيل.
- تحقق مما إذا كان
commitments.maxPerDayقد بلغ حده بالفعل لجلسة الوكيل تلك. - تذكّر أن الاستخراج يتخطى التذكيرات الصريحة، وينبغي أن تظهر بدلًا من ذلك ضمن المهام المجدولة.