Sessions and memory

نظرة عامة على الذاكرة

OpenClaw يتذكر الأشياء عبر كتابة ملفات Markdown عادية في مساحة عمل وكيلك. النموذج لا "يتذكر" إلا ما يتم حفظه على القرص — لا توجد حالة مخفية.

كيف يعمل

لدى وكيلك ثلاثة ملفات مرتبطة بالذاكرة:

  • MEMORY.md — ذاكرة طويلة الأمد. حقائق وتفضيلات وقرارات دائمة. يتم تحميلها عند بداية كل جلسة رسالة مباشرة.
  • memory/YYYY-MM-DD.md — ملاحظات يومية. سياق وملاحظات جارية. يتم تحميل ملاحظات اليوم والأمس تلقائيًا.
  • DREAMS.md (اختياري) — يوميات Dream وملخصات مسح Dreaming للمراجعة البشرية، بما في ذلك إدخالات الاستكمال التاريخي المؤسَّسة.

توجد هذه الملفات في مساحة عمل الوكيل (افتراضيًا ~/.openclaw/workspace).

ما الذي يوضع أين

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 لمعرفة الأحجام الخام مقابل المحقونة وحالة الاقتطاع.

الالتزامات المستنتجة

بعض المتابعات المستقبلية ليست حقائق دائمة. إذا ذكرت مقابلة غدًا، فقد تكون الذاكرة المفيدة هي "تحقق بعد المقابلة"، لا "احفظ هذا إلى الأبد في MEMORY.md."

الالتزامات هي ذكريات متابعة اختيارية وقصيرة العمر لهذه الحالة. يستنتجها OpenClaw في تمريرة خلفية مخفية، ويقصرها على الوكيل والقناة نفسهما، ويسلم تسجيلات الوصول المستحقة عبر Heartbeat. التذكيرات الصريحة لا تزال تستخدم المهام المجدولة.

أدوات الذاكرة

لدى الوكيل أداتان للعمل مع الذاكرة:

  • memory_search — تعثر على الملاحظات ذات الصلة باستخدام البحث الدلالي، حتى عندما تختلف الصياغة عن الأصل.
  • memory_get — تقرأ ملف ذاكرة محددًا أو نطاقًا من الأسطر.

تُوفر كلتا الأداتين من خلال Plugin الذاكرة النشطة (الافتراضي: memory-core).

Plugin الرفيق Memory Wiki

إذا أردت أن تتصرف الذاكرة الدائمة كقاعدة معرفة مُدارة أكثر من كونها مجرد ملاحظات خام، فاستخدم Plugin المضمن memory-wiki.

يجمع memory-wiki المعرفة الدائمة في خزنة ويكي تتضمن:

  • بنية صفحات حتمية
  • ادعاءات وأدلة منظمة
  • تتبع التناقضات والحداثة
  • لوحات معلومات مولدة
  • ملخصات مجمعة لمستهلكي الوكيل/وقت التشغيل
  • أدوات أصلية للويكي مثل wiki_search وwiki_get وwiki_apply وwiki_lint

لا يستبدل Plugin الذاكرة النشطة. لا يزال Plugin الذاكرة النشطة يملك الاستدعاء، والترقية، وDreaming. يضيف memory-wiki طبقة معرفة غنية بالمصدرية إلى جانبه.

راجع Memory Wiki.

البحث في الذاكرة

عند تكوين موفر تضمينات، يستخدم memory_search بحثًا هجينًا — يجمع بين تشابه المتجهات (المعنى الدلالي) ومطابقة الكلمات المفتاحية (المصطلحات الدقيقة مثل المعرفات ورموز الكود). يعمل هذا مباشرة بمجرد أن يكون لديك مفتاح API لأي موفر مدعوم.

للحصول على تفاصيل حول كيفية عمل البحث، وخيارات الضبط، وإعداد الموفرين، راجع البحث في الذاكرة.

خلفيات الذاكرة

طبقة ويكي المعرفة

تفريغ الذاكرة التلقائي

قبل أن يلخص Compaction محادثتك، يشغّل OpenClaw دورًا صامتًا يذكّر الوكيل بحفظ السياق المهم في ملفات الذاكرة. هذا مفعّل افتراضيًا — لا تحتاج إلى تكوين أي شيء.

لإبقاء دور الصيانة هذا على نموذج محلي، عيّن تجاوزًا دقيقًا لنموذج تفريغ الذاكرة:

json
{  "agents": {    "defaults": {      "compaction": {        "memoryFlush": {          "model": "ollama/qwen3:8b"        }      }    }  }}

ينطبق التجاوز فقط على دور تفريغ الذاكرة ولا يرث سلسلة بدائل الجلسة النشطة.

Dreaming

Dreaming هو تمريرة دمج خلفية اختيارية للذاكرة. يجمع الإشارات قصيرة الأمد، ويسجل المرشحين، ويرقّي فقط العناصر المؤهلة إلى الذاكرة طويلة الأمد (MEMORY.md).

صُمم للحفاظ على الذاكرة طويلة الأمد عالية الإشارة:

  • اختياري: معطل افتراضيًا.
  • مجدول: عند تمكينه، يدير memory-core تلقائيًا مهمة Cron متكررة واحدة لمسح Dreaming كامل.
  • بعتبات: يجب أن تجتاز الترقيات بوابات الدرجة، وتكرار الاستدعاء، وتنوع الاستعلامات.
  • قابل للمراجعة: تُكتب ملخصات المراحل وإدخالات اليوميات إلى DREAMS.md للمراجعة البشرية.

لسلوك المراحل، وإشارات التسجيل، وتفاصيل يوميات Dream، راجع Dreaming.

الاستكمال المؤسَّس والترقية المباشرة

أصبح لدى نظام Dreaming الآن مساران مترابطان للمراجعة:

  • Dreaming المباشر يعمل من مخزن Dreaming قصير الأمد ضمن memory/.dreams/ وهو ما تستخدمه المرحلة العميقة العادية عند تقرير ما يمكن أن يتخرج إلى MEMORY.md.
  • الاستكمال المؤسَّس يقرأ ملاحظات memory/YYYY-MM-DD.md التاريخية كملفات أيام مستقلة ويكتب مخرجات مراجعة منظمة في DREAMS.md.

الاستكمال المؤسَّس مفيد عندما تريد إعادة تشغيل ملاحظات أقدم وفحص ما يراه النظام دائمًا دون تحرير MEMORY.md يدويًا.

عند استخدام:

bash
openclaw memory rem-backfill --path ./memory --stage-short-term

لا تتم ترقية المرشحين الدائمين المؤسَّسين مباشرة. بل تُهيأ في مخزن Dreaming قصير الأمد نفسه الذي تستخدمه المرحلة العميقة العادية بالفعل. وهذا يعني:

  • يبقى DREAMS.md سطح المراجعة البشرية.
  • يبقى المخزن قصير الأمد سطح الترتيب المواجه للآلة.
  • لا يزال MEMORY.md لا يُكتب إلا عبر الترقية العميقة.

إذا قررت أن إعادة التشغيل لم تكن مفيدة، يمكنك إزالة الآثار المهيأة دون لمس إدخالات اليوميات العادية أو حالة الاستدعاء العادية:

bash
openclaw memory rem-backfill --rollbackopenclaw memory rem-backfill --rollback-short-term

CLI

bash
openclaw memory status          # Check index status and provideropenclaw memory search "query"  # Search from the command lineopenclaw memory index --force   # Rebuild the index

قراءة إضافية

ذو صلة

Was this useful?