Sessions and memory

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

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

كيف يعمل

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

  • MEMORY.md — ذاكرة طويلة الأمد. حقائق وتفضيلات وقرارات دائمة. يتم تحميلها عند بدء كل جلسة DM.
  • memory/YYYY-MM-DD.md (أو memory/YYYY-MM-DD-<slug>.md) — ملاحظات يومية. سياق جارٍ وملاحظات. يتم تحميل ملاحظات اليوم والأمس تلقائيًا، كما يتم الآن التقاط المتغيرات ذات الـ slug مثل تلك التي يكتبها خطاف ذاكرة الجلسة المضمن عند /new أو /reset إلى جانب ملف التاريخ فقط.
  • DREAMS.md (اختياري) — يوميات Dreaming وملخصات مسح 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 لرؤية الأحجام الخام مقابل الأحجام المحقونة وحالة الاقتطاع.

الذكريات الحساسة للإجراء

يمكن كتابة معظم الذكريات كملاحظات Markdown عادية. لكن بعض الذكريات تؤثر فيما ينبغي أن يفعله الوكيل لاحقًا. بالنسبة لتلك الذكريات، سجّل متى يكون التصرف بناءً على الملاحظة آمنًا، وليس الحقيقة نفسها فقط.

سجّل حد الإجراء هذا عندما تتضمن الملاحظة:

  • متطلبات موافقة أو إذن،
  • قيودًا مؤقتة،
  • تسليمات إلى جلسة أو سلسلة أو شخص آخر،
  • شروط انتهاء صلاحية،
  • توقيتًا يكون التصرف فيه آمنًا،
  • سلطة المصدر أو المالك،
  • تعليمات لتجنب إجراء مغرٍ.

الذاكرة المفيدة الحساسة للإجراء توضح:

  • ما الذي يغير السلوك المستقبلي،
  • متى أو تحت أي شرط تنطبق،
  • متى تنتهي صلاحيتها، أو ما الذي يفتح الإجراء،
  • ما الذي ينبغي أن يتجنب الوكيل فعله،
  • من هو المصدر أو المالك، إذا كان ذلك يؤثر في الثقة أو السلطة.

يمكن للذاكرة حفظ سياق الموافقة، لكنها لا تفرض السياسة. استخدم إعدادات موافقة OpenClaw، والعزل، والمهام المجدولة للتحكم التشغيلي الصارم.

مثال:

md
The API migration is being designed in another session. Future turns should not edit the API implementation from this thread; use findings here only as design input until the migration plan lands.

مثال آخر:

md
A report from an untrusted source needs review before promotion. Future turns should treat it as evidence only; do not store it as durable memory until a trusted reviewer confirms the contents.

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

هذا ليس مخططًا مطلوبًا لكل ذاكرة. يمكن أن تبقى الحقائق البسيطة موجزة. استخدم الحدود الحساسة للإجراء عندما يمكن أن يؤدي فقدان سياق التوقيت، أو السلطة، أو انتهاء الصلاحية، أو أمان التصرف إلى أن يفعل الوكيل الشيء الخطأ لاحقًا.

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

بعض المتابعات المستقبلية ليست حقائق دائمة. إذا ذكرت مقابلة غدًا، فقد تكون الذاكرة المفيدة هي "تحقق بعد المقابلة"، وليس "خزّن هذا إلى الأبد في 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 للمراجعة البشرية.

لسلوك المراحل، وإشارات التسجيل، وتفاصيل يوميات Dreaming، راجع 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?
On this page

On this page