Sessions and memory
نظرة عامة على الذاكرة
يتذكر OpenClaw الأشياء عن طريق كتابة ملفات Markdown عادية في مساحة عمل وكيلك
(الافتراضي هو ~/.openclaw/workspace). لا يتذكر النموذج إلا ما يُحفظ
على القرص؛ ولا توجد حالة مخفية.
آلية العمل
لدى وكيلك ثلاثة ملفات مرتبطة بالذاكرة:
MEMORY.md— الذاكرة طويلة الأمد. الحقائق والتفضيلات والقرارات الدائمة. يُحمَّل في بداية الجلسة.memory/YYYY-MM-DD.md(أوmemory/YYYY-MM-DD-<slug>.md) — الملاحظات اليومية. السياق الجاري والملاحظات. تُحمَّل تلقائيًا الملاحظات المؤرخة لليوم والأمس عند تنفيذ/newأو/resetدون وسائط؛ كما تُلتقط النسخ ذات المعرّف النصي، مثل تلك التي يكتبها خطاف ذاكرة الجلسة المضمّن، إلى جانب الملف الذي يحتوي اسمه على التاريخ فقط.DREAMS.md(اختياري) — يوميات الأحلام وملخصات جولات Dreaming للمراجعة البشرية، بما في ذلك إدخالات الاستكمال التاريخي المستندة إلى مصادر.
موضع كل نوع من المعلومات
يمثّل MEMORY.md الطبقة الموجزة والمنقّحة: الحقائق والتفضيلات الدائمة، والقرارات
المستمرة، والملخصات القصيرة التي ينبغي أن تكون متاحة في بداية
الجلسة. وهو ليس نصًا خامًا للجلسة، ولا سجلًا يوميًا، ولا أرشيفًا شاملًا.
تمثّل ملفات memory/YYYY-MM-DD.md طبقة العمل: الملاحظات اليومية المفصلة،
والمشاهدات، وملخصات الجلسات، والسياق الخام الذي قد يظل مفيدًا
لاحقًا. تُفهرس هذه الملفات لاستخدامها مع memory_search وmemory_get، لكنها لا
تُدرج في مطالبة التهيئة عند كل دور.
بمرور الوقت، يستخلص الوكيل المواد المفيدة من الملاحظات اليومية ويضعها في
MEMORY.md، ويزيل الإدخالات القديمة من الذاكرة طويلة الأمد. تنفّذ تعليمات مساحة العمل
المولّدة وتدفق Heartbeat ذلك دوريًا؛ ولا تحتاج إلى
تعديل MEMORY.md يدويًا لكل تفصيل.
إذا تجاوز حجم MEMORY.md ميزانية ملف التهيئة، يُبقي OpenClaw الملف
سليمًا على القرص، لكنه يقتطع النسخة المدرجة في السياق. اعتبر ذلك
إشارة إلى نقل المواد المفصلة إلى memory/*.md، والاحتفاظ بملخص
دائم فقط في MEMORY.md، أو رفع حدود التهيئة إذا كنت تريد تخصيص
ميزانية أكبر للمطالبة. استخدم /context list أو /context detail أو openclaw doctor
لعرض الأحجام الخام والمدرجة وحالة الاقتطاع.
الذكريات الحساسة للإجراءات
معظم الذكريات عبارة عن ملاحظات Markdown عادية. يؤثر بعضها في ما ينبغي للوكيل فعله لاحقًا؛ لذا سجّل في هذه الحالات متى يكون التصرف بناءً على الملاحظة آمنًا، وليس الحقيقة وحدها.
سجّل حد الإجراء هذا عندما تتضمن الملاحظة:
- متطلبات الموافقة أو الإذن،
- قيودًا مؤقتة،
- عمليات تسليم إلى جلسة أو سلسلة محادثة أو شخص آخر،
- شروط انتهاء الصلاحية،
- توقيتًا آمنًا للتصرف،
- سلطة المصدر أو المالك،
- تعليمات لتجنب إجراء مغرٍ.
توضّح الذاكرة المفيدة الحساسة للإجراءات ما يلي:
- ما الذي يغيّر السلوك المستقبلي،
- متى ينطبق ذلك أو تحت أي شرط،
- متى تنتهي صلاحيته، أو ما الذي يجيز التصرف،
- ما الذي ينبغي للوكيل تجنب فعله،
- من هو المصدر أو المالك، إذا كان ذلك يؤثر في الثقة أو السلطة.
يمكن للذاكرة الحفاظ على سياق الموافقة، لكنها لا تفرض السياسة. استخدم إعدادات الموافقة في OpenClaw، والعزل، والمهام المجدولة لتطبيق ضوابط تشغيلية صارمة.
مثال:
يجري تصميم ترحيل واجهة API في جلسة أخرى. ينبغي للأدوار المستقبليةألا تعدّل تنفيذ واجهة API من سلسلة المحادثة هذه؛ واستخدام النتائج هنا فقطكمدخلات للتصميم إلى أن تُعتمد خطة الترحيل.مثال آخر:
يحتاج تقرير من مصدر غير موثوق إلى المراجعة قبل اعتماده. ينبغي للأدوار المستقبليةالتعامل معه كدليل فقط؛ وعدم تخزينه كذاكرة دائمة إلى أنيؤكد مراجع موثوق محتوياته.هذا ليس مخططًا مطلوبًا لكل ذكرى؛ إذ يمكن أن تظل الحقائق البسيطة موجزة. استخدم الحدود الحساسة للإجراءات عندما يؤدي فقدان التوقيت أو السلطة أو انتهاء الصلاحية أو سياق أمان التصرف إلى قيام الوكيل بإجراء خاطئ لاحقًا.
استخدم الالتزامات للمتابعات المستنتجة قصيرة الأجل. واستخدم المهام المجدولة للتذكيرات الدقيقة، والفحوصات الموقّتة، والعمل المتكرر. ويمكن للذاكرة مع ذلك تلخيص السياق الدائم المحيط بأي من المسارين.
الالتزامات المستنتجة
ليست كل المتابعات المستقبلية حقائق دائمة. إذا ذكرت مقابلة
غدًا، فقد تكون الذاكرة المفيدة هي «تابع الأمر بعد المقابلة»، لا «احفظ
هذا إلى الأبد في MEMORY.md».
الالتزامات هي ذكريات متابعة اختيارية وقصيرة الأجل لهذه الحالة. يستنتجها OpenClaw في مرور مخفي في الخلفية، ويقصر نطاقها على الوكيل والقناة نفسيهما، ويرسل المتابعات المستحقة عبر Heartbeat. أما التذكيرات الصريحة فتظل تستخدم المهام المجدولة.
أدوات الذاكرة
لدى الوكيل أداتان للعمل مع الذاكرة:
memory_search— تعثر على الملاحظات ذات الصلة باستخدام البحث الدلالي، حتى عندما تختلف الصياغة عن النص الأصلي.memory_get— تقرأ ملف ذاكرة محددًا أو نطاقًا من الأسطر.
توفّر Plugin الذاكرة النشطة كلتا الأداتين (الافتراضي: memory-core).
البحث في الذاكرة
عند تهيئة موفّر تضمينات، يستخدم memory_search بحثًا هجينًا:
تشابه المتجهات (المعنى الدلالي) مع مطابقة الكلمات المفتاحية (المصطلحات الدقيقة
مثل المعرّفات ورموز الشيفرة). يعمل هذا مباشرةً باستخدام مفتاح API
لأي موفّر مدعوم.
راجع البحث في الذاكرة لمعرفة آلية عمل البحث وخيارات الضبط وإعداد الموفّر.
الواجهات الخلفية للذاكرة
تعتمد على SQLite. تعمل مباشرةً مع البحث بالكلمات المفتاحية، وتشابه المتجهات، والبحث الهجين. ولا تتطلب تبعيات إضافية.
أداة جانبية محلية أولًا، تدعم إعادة الترتيب وتوسيع الاستعلام، ويمكنها فهرسة الأدلة خارج مساحة العمل.
ذاكرة أصيلة للذكاء الاصطناعي وعابرة للجلسات، مع نمذجة المستخدم والبحث الدلالي والوعي بوكلاء متعددين. تتطلب تثبيت Plugin.
ذاكرة مدعومة بـ LanceDB مع تضمينات متوافقة مع OpenAI، واسترجاع والتقاط تلقائيين، ودعم تضمينات Ollama المحلية. تتطلب تثبيت Plugin.
طبقة ويكي المعرفة
إذا أردت أن تتصرف الذاكرة الدائمة كقاعدة معرفة تخضع للصيانة
أكثر من كونها ملاحظات خامًا، فاستخدم Plugin المضمّنة memory-wiki. فهي تجمع المعرفة
الدائمة في مستودع ويكي ذي بنية صفحات حتمية، وادعاءات وأدلة
منظمة، وتتبع للتناقضات وحداثة المعلومات، ولوحات معلومات مولّدة،
وموجزات مجمّعة، وأدوات أصلية للويكي (wiki_status،
wiki_search، وwiki_get، وwiki_apply، وwiki_lint).
لا تستبدل memory-wiki Plugin الذاكرة النشطة؛ إذ تظل Plugin الذاكرة النشطة
مسؤولة عن الاسترجاع والترقية وDreaming. وتضيف memory-wiki
طبقة معرفة غنية بمعلومات المصدر إلى جانبها.
التفريغ التلقائي للذاكرة
قبل أن تلخّص Compaction محادثتك،
يشغّل OpenClaw دورًا صامتًا يذكّر الوكيل بحفظ السياق المهم
في ملفات الذاكرة. يكون هذا مفعّلًا افتراضيًا؛ اضبط
agents.defaults.compaction.memoryFlush.enabled: false لتعطيله.
لإبقاء دور الصيانة هذا على نموذج محلي، اضبط تجاوزًا دقيقًا لا ينطبق إلا على دور تفريغ الذاكرة (ولا يرث سلسلة النماذج الاحتياطية للجلسة النشطة):
{ "agents": { "defaults": { "compaction": { "memoryFlush": { "model": "ollama/qwen3:8b" } } } }}Dreaming
يمثّل Dreaming مرورًا اختياريًا للدمج في الخلفية من أجل الذاكرة. فهو يجمع
إشارات الاسترجاع قصيرة الأجل، ويقيّم العناصر المرشحة، ولا يرقّي إلى
الذاكرة طويلة الأمد (MEMORY.md) إلا العناصر المؤهلة:
- اختياري: معطّل افتراضيًا.
- مجدول: عند تمكينه، تدير
memory-coreتلقائيًا مهمة Cron دورية واحدة لإجراء جولة Dreaming كاملة. - مقيّد بحدود: يجب أن تجتاز الترقيات بوابات الدرجة وتكرار الاسترجاع وتنوع الاستعلامات.
- قابل للمراجعة: تُكتب ملخصات المراحل وإدخالات اليوميات في
DREAMS.mdللمراجعة البشرية.
راجع Dreaming للاطلاع على سلوك المراحل وإشارات التقييم وتفاصيل يوميات الأحلام.
الاستكمال المستند إلى مصادر والترقية المباشرة
يحتوي نظام Dreaming على مسارين مترابطين للمراجعة:
- Dreaming المباشر يعمل من مخزن Dreaming قصير الأجل ضمن
memory/.dreams/، وهو ما تستخدمه المرحلة العميقة العادية لتحديد ما يُنقل إلىMEMORY.md. - الاستكمال المستند إلى مصادر يقرأ ملاحظات
memory/YYYY-MM-DD.mdالتاريخية بوصفها ملفات أيام مستقلة، ويكتب مخرجات مراجعة منظمة فيDREAMS.md.
يفيد الاستكمال المستند إلى مصادر في إعادة تشغيل الملاحظات القديمة وفحص ما
يعدّه النظام دائمًا، من دون تعديل MEMORY.md يدويًا.
openclaw memory rem-backfill --path ./memory --stage-short-termيجهّز الخيار --stage-short-term العناصر الدائمة المرشحة والمستندة إلى مصادر في مخزن
Dreaming قصير الأجل نفسه الذي تستخدمه المرحلة العميقة العادية بالفعل؛ ولا
يرقّيها مباشرةً. وبذلك:
- يظل
DREAMS.mdواجهة المراجعة البشرية. - يظل المخزن قصير الأجل واجهة الترتيب المخصصة للآلة.
- لا تكتب في
MEMORY.mdسوى عملية الترقية العميقة.
للتراجع عن إعادة تشغيل من دون المساس بإدخالات اليوميات العادية أو حالة الاسترجاع الطبيعية:
openclaw memory rem-backfill --rollbackopenclaw memory rem-backfill --rollback-short-termCLI
openclaw memory status # التحقق من حالة الفهرس والموفّرopenclaw memory search "query" # البحث من سطر الأوامرopenclaw memory index --force # إعادة بناء الفهرسقراءات إضافية
- البحث في الذاكرة: مسار البحث والموفّرون والضبط.
- محرك الذاكرة المدمج: الواجهة الخلفية الافتراضية المستندة إلى SQLite.
- محرك ذاكرة QMD: أداة جانبية متقدمة ومحلية أولًا.
- ذاكرة Honcho: ذاكرة أصيلة للذكاء الاصطناعي وعابرة للجلسات.
- ذاكرة LanceDB: Plugin مدعومة بـ LanceDB مع تضمينات متوافقة مع OpenAI.
- ويكي الذاكرة: مستودع معرفة مجمّع وأدوات أصلية للويكي.
- Dreaming: الترقية في الخلفية من الاسترجاع قصير الأجل إلى الذاكرة طويلة الأمد.
- مرجع تهيئة الذاكرة: جميع خيارات التهيئة.
- Compaction: كيفية تفاعل Compaction مع الذاكرة.
- Active Memory: ذاكرة الوكيل الفرعي لجلسات الدردشة التفاعلية.