Sessions and memory
محرك الذاكرة المدمج
المحرك المدمج هو الواجهة الخلفية الافتراضية للذاكرة. وهو يخزّن فهرس ذاكرتك في قاعدة بيانات SQLite خاصة بكل وكيل، ولا يحتاج إلى أي تبعيات إضافية لبدء الاستخدام.
ما الذي يوفّره
- البحث بالكلمات المفتاحية عبر فهرسة النص الكامل باستخدام FTS5 (وتسجيل BM25).
- البحث المتجهي عبر التضمينات من أي موفّر مدعوم.
- البحث الهجين الذي يجمع بينهما للحصول على أفضل النتائج.
- دعم CJK عبر التقسيم إلى رموز ثلاثية للصينية واليابانية والكورية.
- تسريع sqlite-vec للاستعلامات المتجهية داخل قاعدة البيانات (اختياري).
بدء الاستخدام
يستخدم المحرك المدمج تضمينات OpenAI افتراضيًا. إذا كان OPENAI_API_KEY أو
models.providers.openai.apiKey مهيّأً بالفعل، فسيعمل البحث المتجهي
من دون أي إعداد إضافي للذاكرة.
لتعيين موفّر صراحةً:
{ agents: { defaults: { memorySearch: { provider: "openai", }, }, },}من دون موفّر تضمينات، لا يتوفر سوى البحث بالكلمات المفتاحية.
لفرض استخدام تضمينات GGUF محلية، ثبّت Plugin الرسمي لموفّر llama.cpp،
ثم وجّه local.modelPath إلى ملف GGUF:
openclaw plugins install @openclaw/llama-cpp-provider{ agents: { defaults: { memorySearch: { provider: "local", fallback: "none", local: { modelPath: "~/.node-llama-cpp/models/embeddinggemma-300m-qat-Q8_0.gguf", }, }, }, },}موفّرو التضمينات المدعومون
| الموفّر | المعرّف | ملاحظات |
|---|---|---|
| Bedrock | bedrock |
يستخدم سلسلة بيانات اعتماد AWS |
| DeepInfra | deepinfra |
الافتراضي: BAAI/bge-m3 |
| Gemini | gemini |
يدعم الوسائط المتعددة (الصور + الصوت) |
| GitHub Copilot | github-copilot |
يستخدم اشتراكك في Copilot |
| LM Studio | lmstudio |
محلي/مستضاف ذاتيًا |
| محلي | local |
@openclaw/llama-cpp-provider |
| Mistral | mistral |
|
| Ollama | ollama |
محلي/مستضاف ذاتيًا |
| OpenAI | openai |
الافتراضي: text-embedding-3-small |
| متوافق مع OpenAI | openai-compatible |
نقطة نهاية عامة /v1/embeddings |
| Voyage | voyage |
عيّن memorySearch.provider للانتقال من OpenAI إلى موفّر آخر.
كيفية عمل الفهرسة
يفهرس OpenClaw الملف MEMORY.md والملفات المطابقة للنمط memory/*.md في مقاطع (400 رمز مع
تداخل مقداره 80 رمزًا افتراضيًا)، ويخزنها في قاعدة بيانات SQLite خاصة بكل وكيل.
- موقع الفهرس: قاعدة بيانات الوكيل المالك في
~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite - صيانة التخزين: تُضبط حدود الملفات الجانبية لـ SQLite WAL عبر نقاط تحقق دورية وعند إيقاف التشغيل.
- مراقبة الملفات: تؤدي التغييرات في ملفات الذاكرة إلى إعادة فهرسة مؤجلة (الافتراضي 1.5 ثانية).
- إعادة الفهرسة تلقائيًا: يُعاد بناء الفهرس تلقائيًا عند تغيير موفّر التضمينات أو النموذج أو إعداد تقسيم المقاطع أو المصادر المهيّأة أو النطاق.
- إعادة الفهرسة عند الطلب:
openclaw memory index --force
متى يُستخدم
المحرك المدمج هو الخيار المناسب لمعظم المستخدمين:
- يعمل مباشرةً من دون أي تبعيات إضافية.
- يتعامل بكفاءة مع البحث بالكلمات المفتاحية والبحث المتجهي.
- يدعم جميع موفّري التضمينات.
- يجمع البحث الهجين أفضل ما في نهجي الاسترجاع.
فكّر في الانتقال إلى QMD إذا كنت تحتاج إلى إعادة الترتيب أو توسيع الاستعلام، أو كنت تريد فهرسة أدلة خارج مساحة العمل.
فكّر في Honcho إذا كنت تريد ذاكرة مشتركة بين الجلسات مع نمذجة تلقائية للمستخدم.
استكشاف الأخطاء وإصلاحها
هل بحث الذاكرة معطّل؟ تحقّق باستخدام openclaw memory status. إذا لم يُكتشف أي موفّر،
فعيّن واحدًا صراحةً أو أضف مفتاح API.
هل لم يُكتشف الموفّر المحلي؟ تأكد من وجود المسار المحلي ثم شغّل:
openclaw memory status --deep --agent mainopenclaw memory index --force --agent mainتستخدم أوامر CLI المستقلة وGateway معرّف الموفّر local نفسه.
عيّن memorySearch.provider: "local" عندما تريد تضمينات محلية.
هل النتائج قديمة؟ شغّل openclaw memory index --force لإعادة البناء. قد تفوّت
أداة المراقبة التغييرات في حالات نادرة جدًا.
هل يتعذر تحميل sqlite-vec؟ يعود OpenClaw تلقائيًا إلى حساب تشابه جيب التمام
داخل العملية. يعرض openclaw memory status --deep مخزن المتجهات المحلي
بشكل منفصل عن موفّر التضمينات، لذا تشير Vector store: unavailable إلى تحميل sqlite-vec، بينما تشير Embeddings: unavailable
إلى جاهزية الموفّر أو المصادقة أو النموذج. راجع السجلات لمعرفة خطأ التحميل
المحدد.
الإعدادات
لإعداد موفّر التضمينات وضبط البحث الهجين (الأوزان وMMR والتضاؤل الزمني) والفهرسة الدفعية وذاكرة الوسائط المتعددة وsqlite-vec والمسارات الإضافية وجميع خيارات الإعداد الأخرى، راجع مرجع إعدادات الذاكرة.