~/.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
لرؤية الأحجام الخام والمدرجة وحالة الاقتطاع.
الاستيراد من مساعدي البرمجة
يمكن لواجهة التحكم استيراد الذاكرة المحلية الموجودة من Codex وClaude Code. افتح Settings ← Import Memory، واختر الوكيل الوجهة، وراجع الملفات المكتشفة، ثم أكد الاستيراد. لا ينسخ OpenClaw سوى ذاكرة Markdown:- Codex: ملفا
MEMORY.mdوmemory_summary.mdالموحّدان ضمن~/.codex/memories(أوCODEX_HOME/memories). لا تُستورد ملفات التنفيذ الخام ونصوص الجلسات. - Claude Code: ملفات Markdown من دليل الذاكرة التلقائية لكل مشروع ضمن
~/.claude/projects/*/memory، بالإضافة إلىautoMemoryDirectoryالذي يضبطه المستخدم، عند وجوده. لا تُعد تعليمات المشروع والجلسات والإعدادات وبيانات الاعتماد جزءًا من هذا الإجراء المخصص للذاكرة فقط.
memory/imports/codex/ و
memory/imports/claude-code/ في مساحة عمل الوكيل المحدد. وتُفهرس
من أجل memory_search، وتتاح عبر memory_get؛ ولا تُدمج في
ملف التمهيد MEMORY.md الخاص بالوكيل. وتُترك ملفات المصدر بلا تغيير.
تعرض المعاينة تعارضات الوجهة. فعّل Replace existing imports لاستبدال
تلك الملفات؛ يؤدي التطبيق إلى إنشاء نسخة احتياطية موثقة قبل الاستيراد، ويحفظ
نسخًا على مستوى العناصر من الملفات المستبدلة في تقرير الترحيل.
الذكريات الحساسة للإجراءات
معظم الذكريات عبارة عن ملاحظات Markdown عادية. يؤثر بعضها في ما ينبغي للوكيل فعله لاحقًا؛ وفي تلك الحالات، سجّل متى يكون التصرف بناءً على الملاحظة آمنًا، وليس الحقيقة وحدها. سجّل حدود الإجراء هذه عندما تتعلق الملاحظة بما يلي:- متطلبات الموافقة أو الإذن،
- القيود المؤقتة،
- عمليات التسليم إلى جلسة أو سلسلة أو شخص آخر،
- شروط انتهاء الصلاحية،
- توقيت أمان التصرف،
- صلاحية المصدر أو المالك،
- تعليمات لتجنب إجراء مغرٍ.
- ما الذي يغيّر السلوك المستقبلي،
- متى تنطبق أو تحت أي شرط،
- متى تنتهي صلاحيتها، أو ما الذي يتيح اتخاذ الإجراء،
- ما الذي ينبغي للوكيل تجنب فعله،
- من هو المصدر أو المالك، إذا كان ذلك يؤثر في الثقة أو الصلاحية.
الالتزامات المستنتجة
بعض المتابعات المستقبلية ليست حقائق دائمة. فإذا ذكرت مقابلة غدًا، فقد تكون الذاكرة المفيدة هي «المتابعة بعد المقابلة»، لا «تخزين هذا إلى الأبد فيMEMORY.md».
الالتزامات هي ذكريات متابعة اختيارية قصيرة الأمد
لهذه الحالة. يستنتجها OpenClaw في مرور خلفي مخفي،
ويقصر نطاقها على الوكيل والقناة نفسيهما، ويسلّم المتابعات المستحقة عبر
Heartbeat. أما التذكيرات الصريحة، فتظل تستخدم المهام المجدولة.
أدوات الذاكرة
لدى الوكيل أداتان للعمل مع الذاكرة:memory_search— تعثر على الملاحظات ذات الصلة باستخدام البحث الدلالي، حتى عندما تختلف الصياغة عن الأصل.memory_get— تقرأ ملف ذاكرة محددًا أو نطاقًا من الأسطر.
memory-core).
البحث في الذاكرة
عند ضبط موفر تضمينات، يستخدمmemory_search بحثًا هجينًا:
تشابه المتجهات (المعنى الدلالي) مع مطابقة الكلمات المفتاحية (المصطلحات الدقيقة
مثل المعرّفات ورموز الشيفرة). يعمل هذا مباشرةً باستخدام مفتاح API
لأي موفر مدعوم.
يستخدم OpenClaw تضمينات OpenAI افتراضيًا. اضبط
agents.defaults.memorySearch.provider صراحةً لاستخدام Gemini أو Voyage أو
Mistral أو Bedrock أو DeepInfra أو GGUF محلي أو Ollama أو LM Studio أو GitHub Copilot أو
نقطة نهاية عامة متوافقة مع OpenAI.واجهات الذاكرة الخلفية
مدمجة (افتراضيًا)
تعتمد على SQLite. تعمل مباشرةً مع البحث بالكلمات المفتاحية وتشابه المتجهات
والبحث الهجين. ولا تتطلب تبعيات إضافية.
QMD
خدمة جانبية محلية أولًا تدعم إعادة الترتيب وتوسيع الاستعلام وإمكانية فهرسة
الأدلة خارج مساحة العمل.
Honcho
ذاكرة أصيلة للذكاء الاصطناعي وعابرة للجلسات، مع نمذجة المستخدم والبحث الدلالي
والوعي بتعدد الوكلاء. تتطلب تثبيت Plugin.
LanceDB
ذاكرة مدعومة بـ LanceDB مع تضمينات متوافقة مع OpenAI واستدعاء تلقائي
والتقاط تلقائي ودعم تضمينات Ollama المحلية. تتطلب تثبيت Plugin.
طبقة ويكي المعرفة
إذا أردت أن تتصرف الذاكرة الدائمة كقاعدة معرفة خاضعة للصيانة أكثر من كونها ملاحظات خامًا، فاستخدم Plugin المضمّنةmemory-wiki. فهي تجمع المعرفة
الدائمة في مخزن ويكي ببنية صفحات حتمية وادعاءات
وأدلة منظمة وتتبع للتناقض والحداثة ولوحات معلومات مُنشأة
وموجزات مجمعة وأدوات أصلية للويكي (wiki_status
وwiki_search وwiki_get وwiki_apply وwiki_lint).
لا تستبدل memory-wiki Plugin الذاكرة النشطة؛ إذ تظل Plugin الذاكرة النشطة
مسؤولة عن الاستدعاء والترقية وDreaming. وتضيف memory-wiki
طبقة معرفة غنية بالمصدر إلى جانبها.
ويكي الذاكرة
تجمع الذاكرة الدائمة في مخزن ويكي غني بالمصدر، مع الادعاءات
ولوحات المعلومات ووضع الجسر وتدفقات عمل ملائمة لـ Obsidian.
تفريغ الذاكرة التلقائي
قبل أن يلخّص Compaction محادثتك، يشغّل OpenClaw دورًا صامتًا يذكّر الوكيل بحفظ السياق المهم في ملفات الذاكرة. يكون هذا مفعّلًا افتراضيًا؛ اضبطagents.defaults.compaction.memoryFlush.enabled: false لإيقافه.
للإبقاء على دور التدبير هذا في نموذج محلي، اضبط تجاوزًا دقيقًا
لا ينطبق إلا على دور تفريغ الذاكرة (ولا يرث سلسلة
الرجوع الاحتياطي لنماذج الجلسة النشطة):
Dreaming
Dreaming هو مرور دمج خلفي اختياري للذاكرة. يجمع إشارات الاستدعاء قصيرة الأمد، ويقيّم المرشحين، ولا يرقّي إلا العناصر المؤهلة إلى الذاكرة طويلة الأمد (MEMORY.md):
- اختياري: معطل افتراضيًا.
- مجدول: عند تمكينه، يدير
memory-coreتلقائيًا مهمة Cron متكررة واحدة لجولة Dreaming كاملة. - مقيّد بحدود: يجب أن تجتاز الترقيات بوابات الدرجة وتكرار الاستدعاء وتنوع الاستعلامات.
- قابل للمراجعة: تُكتب ملخصات المراحل وإدخالات اليوميات في
DREAMS.mdللمراجعة البشرية.
الاستكمال المستند إلى أدلة والترقية المباشرة
يحتوي نظام Dreaming على مسارين مترابطين للمراجعة:- يعمل Dreaming المباشر من مخزن Dreaming قصير الأمد ضمن
memory/.dreams/، وهو ما تستخدمه المرحلة العميقة العادية لتحديد ما ينتقل إلىMEMORY.md. - يقرأ الاستكمال المستند إلى أدلة ملاحظات
memory/YYYY-MM-DD.mdالتاريخية كملفات أيام مستقلة، ويكتب مخرجات مراجعة منظمة فيDREAMS.md.
MEMORY.md يدويًا.
--stage-short-term المرشحين الدائمين المستندين إلى أدلة إلى مخزن
Dreaming قصير الأمد نفسه الذي تستخدمه المرحلة العميقة العادية بالفعل؛ ولا
يرقّيهم مباشرةً. ولذلك:
- يظل
DREAMS.mdسطح المراجعة البشري. - يظل المخزن قصير الأمد سطح الترتيب الموجّه للآلة.
- لا تكتب
MEMORY.mdسوى الترقية العميقة.
CLI
قراءة إضافية
- البحث في الذاكرة: مسار البحث والموفّرون والضبط.
- محرك الذاكرة المدمج: واجهة SQLite الخلفية الافتراضية.
- محرك ذاكرة QMD: عملية جانبية متقدمة تعتمد النهج المحلي أولًا.
- ذاكرة Honcho: ذاكرة قائمة على الذكاء الاصطناعي وعابرة للجلسات.
- ذاكرة LanceDB: Plugin مدعوم بـ LanceDB مع تضمينات متوافقة مع OpenAI.
- ويكي الذاكرة: مستودع معرفة مُجمّع وأدوات مخصّصة للويكي.
- Dreaming: ترقية في الخلفية من الاسترجاع قصير الأمد إلى الذاكرة طويلة الأمد.
- مرجع إعدادات الذاكرة: جميع خيارات الإعداد.
- Compaction: كيفية تفاعل الضغط مع الذاكرة.
- الذاكرة النشطة: ذاكرة الوكيل الفرعي لجلسات الدردشة التفاعلية.