---
read_when:
    - تريد فهم الواجهة الخلفية الافتراضية للذاكرة
    - تريد إعداد مزوّدي التضمين أو البحث الهجين
summary: الواجهة الخلفية الافتراضية للذاكرة المعتمدة على SQLite مع البحث بالكلمات المفتاحية، والبحث المتجهي، والبحث الهجين
title: محرك الذاكرة المدمج
x-i18n:
    generated_at: "2026-04-25T13:45:05Z"
    model: gpt-5.4
    provider: openai
    source_hash: 9ccf0b70bd3ed4e2138ae1d811573f6920c95eb3f8117693b242732012779dc6
    source_path: concepts/memory-builtin.md
    workflow: 15
---

محرك الذاكرة المدمج هو الواجهة الخلفية الافتراضية للذاكرة. وهو يخزّن فهرس الذاكرة لديك في
قاعدة بيانات SQLite لكل وكيل على حدة، ولا يحتاج إلى أي تبعيات إضافية للبدء.

## ما الذي يوفّره

- **البحث بالكلمات المفتاحية** عبر فهرسة النص الكامل FTS5 (تقييم BM25).
- **البحث المتجهي** عبر التضمينات من أي مزوّد مدعوم.
- **البحث الهجين** الذي يجمع بين الاثنين للحصول على أفضل النتائج.
- **دعم CJK** عبر تقسيم trigram للغات الصينية واليابانية والكورية.
- **تسريع sqlite-vec** لاستعلامات المتجهات داخل قاعدة البيانات (اختياري).

## البدء

إذا كان لديك مفتاح API لـ OpenAI أو Gemini أو Voyage أو Mistral، فإن المحرك المدمج
يكتشفه تلقائيًا ويفعّل البحث المتجهي. لا حاجة إلى إعدادات.

لتعيين مزوّد صراحةً:

```json5
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai",
      },
    },
  },
}
```

من دون مزوّد تضمين، لا يتوفر سوى البحث بالكلمات المفتاحية.

لفرض استخدام مزوّد التضمين المحلي المدمج، ثبّت حزمة وقت التشغيل الاختيارية
`node-llama-cpp` بجوار OpenClaw، ثم وجّه `local.modelPath`
إلى ملف GGUF:

```json5
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "local",
        fallback: "none",
        local: {
          modelPath: "~/.node-llama-cpp/models/embeddinggemma-300m-qat-Q8_0.gguf",
        },
      },
    },
  },
}
```

## مزوّدو التضمين المدعومون

| المزوّد | المعرّف | اكتشاف تلقائي | ملاحظات |
| -------- | --------- | ------------- | ----------------------------------- |
| OpenAI   | `openai`  | نعم           | الافتراضي: `text-embedding-3-small`   |
| Gemini   | `gemini`  | نعم           | يدعم الوسائط المتعددة (الصورة + الصوت) |
| Voyage   | `voyage`  | نعم           |                                     |
| Mistral  | `mistral` | نعم           |                                     |
| Ollama   | `ollama`  | لا            | محلي، عيّنه صراحةً               |
| Local    | `local`   | نعم (أولًا)   | وقت تشغيل `node-llama-cpp` اختياري   |

يختار الاكتشاف التلقائي أول مزوّد يمكن تحليل مفتاح API الخاص به، بالترتيب
المعروض. عيّن `memorySearch.provider` لتجاوز ذلك.

## كيف تعمل الفهرسة

يفهرس OpenClaw الملفين `MEMORY.md` و`memory/*.md` إلى مقاطع (~400 رمز مع
تداخل 80 رمزًا) ويخزّنها في قاعدة بيانات SQLite لكل وكيل على حدة.

- **موقع الفهرس:** `~/.openclaw/memory/<agentId>.sqlite`
- **مراقبة الملفات:** تؤدي التغييرات على ملفات الذاكرة إلى إعادة فهرسة مؤجلة (1.5 ثانية).
- **إعادة الفهرسة التلقائية:** عند تغيير مزوّد التضمين أو النموذج أو إعدادات
  تقسيم المقاطع، يُعاد بناء الفهرس بالكامل تلقائيًا.
- **إعادة الفهرسة عند الطلب:** `openclaw memory index --force`

<Info>
يمكنك أيضًا فهرسة ملفات Markdown خارج مساحة العمل باستخدام
`memorySearch.extraPaths`. راجع
[مرجع الإعدادات](/ar/reference/memory-config#additional-memory-paths).
</Info>

## متى يُستخدم

المحرك المدمج هو الخيار المناسب لمعظم المستخدمين:

- يعمل مباشرةً بدون أي تبعيات إضافية.
- يتعامل جيدًا مع البحث بالكلمات المفتاحية والبحث المتجهي.
- يدعم جميع مزوّدي التضمين.
- يجمع البحث الهجين بين أفضل ميزات طريقتي الاسترجاع.

فكّر في التبديل إلى [QMD](/ar/concepts/memory-qmd) إذا كنت تحتاج إلى إعادة ترتيب النتائج، أو
توسيع الاستعلام، أو تريد فهرسة أدلة خارج مساحة العمل.

وفكّر في [Honcho](/ar/concepts/memory-honcho) إذا كنت تريد ذاكرة عبر الجلسات مع
نمذجة تلقائية للمستخدم.

## استكشاف الأخطاء وإصلاحها

**هل تم تعطيل البحث في الذاكرة؟** تحقّق من `openclaw memory status`. إذا لم يتم
اكتشاف أي مزوّد، فعيّن واحدًا صراحةً أو أضف مفتاح API.

**هل لم يتم اكتشاف المزوّد المحلي؟** أكّد أن المسار المحلي موجود وشغّل:

```bash
openclaw memory status --deep --agent main
openclaw memory index --force --agent main
```

تستخدم أوامر CLI المستقلة وGateway معًا المعرّف نفسه للمزوّد `local`.
إذا كان المزوّد مضبوطًا على `auto`، فسيتم النظر في التضمينات المحلية أولًا فقط
عندما يشير `memorySearch.local.modelPath` إلى ملف محلي موجود.

**هل النتائج قديمة؟** شغّل `openclaw memory index --force` لإعادة البناء. قد
تفوت المراقبة التغييرات في بعض الحالات الطرفية النادرة.

**هل لا يتم تحميل sqlite-vec؟** يرجع OpenClaw تلقائيًا إلى تشابه جيب التمام
داخل العملية. تحقّق من السجلات لمعرفة خطأ التحميل المحدد.

## الإعدادات

لإعداد مزوّد التضمين، وضبط البحث الهجين (الأوزان، وMMR، والتلاشي
الزمني)، والفهرسة على دفعات، والذاكرة متعددة الوسائط، وsqlite-vec، والمسارات الإضافية، وجميع
مقابض الإعدادات الأخرى، راجع
[مرجع إعدادات الذاكرة](/ar/reference/memory-config).

## ذو صلة

- [نظرة عامة على الذاكرة](/ar/concepts/memory)
- [البحث في الذاكرة](/ar/concepts/memory-search)
- [Active Memory](/ar/concepts/active-memory)
