Sessions and memory
الالتزامات المستنتجة
الالتزامات هي ذكريات متابعة قصيرة الأجل. عند تفعيلها، يمكن لـ OpenClaw أن يلاحظ أن محادثة أنشأت فرصة تحقق مستقبلية وأن يتذكر إعادتها لاحقًا.
أمثلة:
- تذكر أن لديك مقابلة غدًا. قد يتحقق OpenClaw منك بعدها.
- تقول إنك منهك. قد يسألك OpenClaw لاحقًا عمّا إذا كنت قد نمت.
- يقول الوكيل إنه سيتابع بعد تغيّر شيء ما. قد يتتبع OpenClaw تلك الحلقة المفتوحة.
الالتزامات ليست حقائق دائمة مثل MEMORY.md، وليست تذكيرات دقيقة.
إنها تقع بين الذاكرة والأتمتة: يتذكر OpenClaw التزامًا مرتبطًا
بالمحادثة، ثم يوصله Heartbeat عندما يحين موعده.
تفعيل الالتزامات
الالتزامات متوقفة افتراضيًا. فعّلها في الإعدادات:
openclaw config set commitments.enabled true
openclaw 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 commitments
openclaw commitments --all
openclaw commitments --agent main
openclaw commitments --status snoozed
openclaw commitments dismiss cm_abc123
راجع openclaw commitments لمرجع الأمر.
الخصوصية والتكلفة
يستخدم استخراج الالتزامات مرحلة LLM، لذلك يضيف تفعيلها استخدامًا خلفيًا للنموذج بعد الدورات المؤهلة. تكون المرحلة مخفية عن المحادثة المرئية للمستخدم، لكنها تستطيع قراءة التبادل الأخير اللازم لتقرير ما إذا كانت هناك متابعة.
الالتزامات المخزنة هي حالة OpenClaw محلية. إنها ذاكرة تشغيلية، وليست ذاكرة طويلة الأجل. عطّل الميزة باستخدام:
openclaw config set commitments.enabled false
استكشاف الأخطاء وإصلاحها
إذا لم تظهر المتابعات المتوقعة:
- تأكد من أن
commitments.enabledهيtrue. - تحقق من
openclaw commitments --allبحثًا عن سجلات معلقة أو متجاهلة أو مؤجلة أو منتهية الصلاحية. - تأكد من أن Heartbeat يعمل للوكيل.
- تحقق مما إذا كان
commitments.maxPerDayقد بلغ حده بالفعل لتلك الجلسة الخاصة بالوكيل. - تذكر أن التذكيرات الدقيقة يتجاوزها استخراج الالتزامات ويجب أن تظهر ضمن المهام المجدولة بدلًا من ذلك.