# ذاكرة مستضافة ذاتيًا لوكلاء الذكاء الاصطناعي: ذكرى خادم MCP مفتوح المصدر

> تمنح ذكرى وكلاء مثل Claude Code وCodex وCursor ذاكرة واحدة مشتركة مستضافة ذاتيًا عبر MCP. كيف تعمل، وكيف تثبّتها، وما حدودها.

*2026-10-21T07:03:35Z*

# ذاكرة مستضافة ذاتيًا لوكلاء الذكاء الاصطناعي: ذكرى خادم MCP مفتوح المصدر

إن كنت تريد **ذاكرة مستضافة ذاتيًا لوكلاء الذكاء الاصطناعي** يتشاركها Claude Code وCodex وCursor ووكلاؤك الخاصون، فهذا ما صُممت له [ذكرى](https://zekra.dev) (Zekra). هي خدمة ذاكرة مفتوحة المصدر يصل إليها الوكلاء عبر MCP. ما تتعلمه جلسة واحدة تعرفه الجلسة التالية مسبقًا.

![واجهة ذكرى](/uploads/sites/1f62359e-3d1f-4722-a08b-85474da4ffa1/media/zekra-self-hosted-memory-og-ar.png)

## المشكلة

كل جلسة وكيل تبدأ فارغة. تشرح قرارات المشروع نفسها مرة أخرى، ولا يعلم الوكيل الثاني شيئًا مما اكتشفه الأول. تتكدس الملاحظات في ملفات لا يقرأها أحد، وتتعارض المعلومات القديمة مع الجديدة.

ثلاث مشكلات تصيب الذاكرة البسيطة:

- **التكرار.** تُخزَّن المعلومة نفسها عشر مرات فيعيدها الاسترجاع كلها.
- **المعلومات المتقادمة.** تبقى «نستخدم MySQL» و«انتقلنا إلى Postgres» معًا. تناولتُ ذلك في [الذكريات القديمة في وكلاء الذكاء الاصطناعي](https://zekra.dev/ar/blog/stale-memories-ai-agents-invalidate-supersede-decay).
- **غياب المشاركة.** كل أداة تحتفظ بملاحظاتها الخاصة.

## كيف تعمل

**الحفظ.** يستدعي الوكيل `memory_retain`. تحوّل ذكرى النص إلى تضمين، وتبحث عن أقرب جيرانه، ثم تتخذ قرار الكتابة: ADD أو UPDATE أو INVALIDATE أو NOOP. تُحدَّث المعلومة المتعارضة بدل تكرارها. لا يُحذف شيء حذفًا نهائيًا: يُبطل `forget` الذاكرة دون مسحها، ويبقى التاريخ قابلًا للاستعلام.

**الاسترجاع.** يمزج `memory_recall` بين المتجهات الكثيفة وBM25 متعدد اللغات بدمج RRF، ثم يطبّق دفعة للأهمية وإعادة ترتيب وتوسيعًا بخطوة واحدة عبر الكيانات. وتعود النتائج مع مصادرها.

**الأدمغة.** نطاق مستقل لكل مشروع أو فريق، مع صلاحيات لكل وكيل ورموز وصول (`cbt_...`) تُفرض من جهة الخادم.

**الرسم المعرفي.** تُستخرج الكيانات والعلاقات المصنفة من الذكريات، مع استعلامات الاجتياز والجيران والمسار والأنطولوجيا.

**وفي الحزمة أيضًا:** موصّلات مصادر البيانات (`text` و`markdown` و`crawler` و`github` و`sql` و`webhook`)، ومحادثة مع «دماغ» تجيب مع الاستشهاد بالمصادر، وفجوات المعرفة، وخزنة أسرار، وسجل نشاط، ولوحة ويب.

**التخزين:** PostgreSQL مع VectorChord وBM25 وpgvector، وذاكرة تخزين مؤقت Redis، وطبقة باردة لتخزين الكائنات.

## لقطات وفيديو

شاهد العرض: [ذكرى على YouTube](https://youtu.be/3JgGFrS1mx8). التعليق الصوتي مولَّد بالذكاء الاصطناعي.

## البدء

من ملف README:

```bash
curl -fsSL https://app.zekra.dev/install.sh | sh     # installs the `zekra` CLI
zekra auth login --token <cbt_...>
zekra mcp:install claude-code                        # or claude-desktop | codex | gemini | cursor
```

بعدها اطلب من وكيلك حفظ قرار ما، ثم استرجعه من جلسة جديدة. تشمل أدوات MCP: `memory_retain` و`memory_recall` و`memory_get` و`memory_forget` و`memory_share` و`memory_edit` و`graph_*` و`memory_gaps` و`brain_*` و`secret_*` و`datasource_*`. تذكر الوثائق 24 أداة عبر `zekra` CLI و31 عبر `zekra-mcp`؛ راجع [الوثائق](https://zekra.dev/ar/docs) للمجموعة الدقيقة.

ولتشغيلها بنفسك اتبع [دليل الاستضافة الذاتية](https://github.com/fadymondy/zekra/blob/main/docs/self-hosting.md) في المستودع.

## حدود صريحة

- الاستضافة الذاتية تعني أن تشغّل PostgreSQL مع إضافات VectorChord وRedis وخادم تضمين. ليست أمر تثبيت من سطر واحد.
- ترخيص ذكرى AGPL-3.0-only. إن شغّلت نسخة معدّلة كخدمة شبكية فعليك إتاحة مصدرها لمستخدميها.
- لم أنشر اختبارات أداء للاسترجاع، فلا أدّعي دقة معينة.
- الوكيل هو من يقرر ما يحفظه. ذكرى لا تقرأ الأفكار.

## أسئلة شائعة

**أي الوكلاء يستطيع استخدام ذكرى؟** أي عميل MCP. يثبّت سطر الأوامر إعدادات الخادم لـ Claude Code وClaude Desktop وCodex وGemini وCursor.

**هل أستطيع استضافتها بنفسي؟** نعم. هي مفتوحة المصدر بترخيص AGPL-3.0-only وتعمل على PostgreSQL مع VectorChord وRedis وخادم تضمين TEI.

**ماذا يحدث عندما تتغير معلومة؟** يختار قرار الكتابة بين ADD وUPDATE وINVALIDATE وNOOP، فتُحدَّث المعلومة المتعارضة بدل تكرارها. ولا يُحذف شيء حذفًا نهائيًا.

**هل تعمل بالعربية؟** يعتمد الاسترجاع على فهرس BM25 متعدد اللغات ونموذج تضمين متعدد اللغات، والمنتج مبني للعربية والإنجليزية. ولم أنشر اختبار أداء.

**هل تغني عن سياق وكيلي؟** لا. هي مخزن مشترك يقرأ منه الوكيل ويكتب إليه عبر الأدوات.

## الخطوات التالية

- إعدادها مع Claude Code: [ذاكرة Claude Code تبقى بعد انتهاء الجلسة](/ar/blog/claude-code-memory-across-sessions-mcp)
- كيف بُنيت: [ذكرى على ToGO، دراسة حالة](https://to-go.dev/ar/blog/zekra-togo-case-study)
- القصة: [لماذا بنيت ذكرى](https://fadymondy.com/ar/blog/why-i-built-zekra)
- الكود: [github.com/fadymondy/zekra](https://github.com/fadymondy/zekra)
- Product Hunt: [Zekra](https://www.producthunt.com/products/zekra)
- المجتمع: [Discord](https://discord.gg/99JBJd6FsR)

---

Source: https://zekra.dev/ar/blog/self-hosted-ai-agent-memory-server
