---
read_when:
    - تريد فهم الخلفية الافتراضية للذاكرة
    - تريد تكوين موفّري التضمينات أو البحث الهجين
summary: الخلفية الافتراضية للذاكرة المستندة إلى SQLite مع بحث بالكلمات المفتاحية وبحث متجهي وبحث هجين
title: محرك الذاكرة المدمج
x-i18n:
    generated_at: "2026-04-30T07:52:17Z"
    model: gpt-5.5
    provider: openai
    source_hash: aa1597a9a49a6f1124cedf49f6f5a4c336f76dd5998ced246affb9c2e8171f05
    source_path: concepts/memory-builtin.md
    workflow: 16
---

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

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

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

## البدء

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

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

```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`   | نعم             |                                    |
| DeepInfra | `deepinfra` | نعم             | الافتراضي: `BAAI/bge-m3`           |
| Ollama    | `ollama`    | لا              | محلي، عيّنه صراحةً                 |
| Local     | `local`     | نعم (أولًا)     | وقت تشغيل `node-llama-cpp` اختياري |

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

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

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

- **موقع الفهرس:** `~/.openclaw/memory/<agentId>.sqlite`
- **صيانة التخزين:** تُحَدّ ملفات SQLite WAL الجانبية بنقاط تحقق دورية وعند
  الإيقاف.
- **مراقبة الملفات:** تؤدي تغييرات ملفات الذاكرة إلى إعادة فهرسة مؤجلة زمنيًا (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)
