ما الذي يوفّره
- البحث بالكلمات المفتاحية عبر فهرسة النص الكامل باستخدام FTS5 (وتسجيل BM25).
- البحث المتجهي عبر التضمينات من أي موفّر مدعوم.
- البحث الهجين الذي يجمع بينهما للحصول على أفضل النتائج.
- دعم CJK عبر التقسيم إلى رموز ثلاثية للصينية واليابانية والكورية.
- تسريع sqlite-vec للاستعلامات المتجهية داخل قاعدة البيانات (اختياري).
بدء الاستخدام
يستخدم المحرك المدمج تضمينات OpenAI افتراضيًا. إذا كانOPENAI_API_KEY أو
models.providers.openai.apiKey مهيّأً بالفعل، فسيعمل البحث المتجهي
من دون أي إعداد إضافي للذاكرة.
لتعيين موفّر صراحةً:
local.modelPath إلى ملف GGUF:
موفّرو التضمينات المدعومون
عيّن
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
يمكنك أيضًا فهرسة ملفات Markdown خارج مساحة العمل باستخدام
memorySearch.extraPaths. راجع
مرجع الإعدادات.متى يُستخدم
المحرك المدمج هو الخيار المناسب لمعظم المستخدمين:- يعمل مباشرةً من دون أي تبعيات إضافية.
- يتعامل بكفاءة مع البحث بالكلمات المفتاحية والبحث المتجهي.
- يدعم جميع موفّري التضمينات.
- يجمع البحث الهجين أفضل ما في نهجي الاسترجاع.
استكشاف الأخطاء وإصلاحها
هل بحث الذاكرة معطّل؟ تحقّق باستخدامopenclaw memory status. إذا لم يُكتشف أي موفّر،
فعيّن واحدًا صراحةً أو أضف مفتاح API.
هل لم يُكتشف الموفّر المحلي؟ تأكد من وجود المسار المحلي ثم شغّل:
local نفسه.
عيّن memorySearch.provider: "local" عندما تريد تضمينات محلية.
هل النتائج قديمة؟ شغّل openclaw memory index --force لإعادة البناء. قد تفوّت
أداة المراقبة التغييرات في حالات نادرة جدًا.
هل يتعذر تحميل sqlite-vec؟ يعود OpenClaw تلقائيًا إلى حساب تشابه جيب التمام
داخل العملية. يعرض openclaw memory status --deep مخزن المتجهات المحلي
بشكل منفصل عن موفّر التضمينات، لذا تشير Vector store: unavailable إلى تحميل sqlite-vec، بينما تشير Embeddings: unavailable
إلى جاهزية الموفّر أو المصادقة أو النموذج. راجع السجلات لمعرفة خطأ التحميل
المحدد.