وكيل الترميز الخاص بك يتذكر كل شيء. لا حاجة لإعادة الشرح من جديد.
مبنيّ على iii engine
ذاكرة دائمة لـ Claude Code وGitHub Copilot CLI وCursor وGemini CLI وCodex CLI وHermes وOpenClaw وpi وOpenCode، ولأي عميل MCP.
🇬🇧 English • 🇨🇳 简体中文 • 🇹🇼 繁體中文 • 🇯🇵 日本語 • 🇰🇷 한국어 • 🇵🇹 Português • 🇧🇷 Português (Brasil) • 🇪🇸 Español • 🇩🇪 Deutsch • 🇫🇷 Français • 🇮🇹 Italiano • 🇳🇱 Nederlands • 🇵🇱 Polski • 🇨🇿 Čeština • 🇷🇴 Română • 🇭🇺 Magyar • 🇬🇷 Ελληνικά • 🇸🇪 Svenska • 🇩🇰 Dansk • 🇳🇴 Norsk • 🇫🇮 Suomi • 🇷🇺 Русский • 🇺🇦 Українська • 🇹🇷 Türkçe • 🇮🇱 עברית • 🇸🇦 العربية • 🇮🇳 हिन्दी • 🇧🇩 বাংলা • 🇵🇰 اردو • 🇹🇭 ไทย • 🇻🇳 Tiếng Việt • 🇮🇩 Bahasa Indonesia • 🇵🇭 Tagalog
يوسّع هذا الـ gist نمط LLM Wiki الذي صاغه Karpathy بإضافة تقييم الثقة، ودورة الحياة، والرسوم البيانية المعرفية، والبحث الهجين: و agentmemory هو تطبيق ذلك النمط.
التثبيت • البدء السريع • مقاييس الأداء • مقارنة بالمنافسين • الوكلاء • آلية العمل • MCP • العارض • مدعوم بـ iii • الإعدادات • API
--- ## التثبيت المتطلبات: - يتطلب الأمر Node.js الإصدار 20 أو أحدث مع npm وnpx (تحقّق بـ `node -v` و`npm -v` و`npx -v`). - يحتاج التثبيت الآلي لـ iii-engine على macOS/Linux أيضًا إلى `curl` وصدفة POSIX من نوع `sh` وأداة `tar`. قد لا تتضمنها الصور الدنيا مثل `node:20-slim`. - يتطلب نظام Windows الأصلي تثبيت ملف `iii.exe` الخاص بالإصدار المثبَّت v0.22.1 من iii-engine يدويًا. أما WSL2 أو Docker Desktop فهما المساران المدعومان الآخران. أمر التثبيت الجديد المعياري: ```bash npx -y @agentmemory/agentmemory@latest ``` التشغيل الأول هو إعداد تفاعلي: تختار الوكلاء المراد ربطهم (Claude Code وCursor وCodex وGemini CLI وOpenCode، ...)، وتختار مزوّد LLM أو تبقى بلا مفتاح، فيقوم الإعداد بتوليد ملف التكوين، وتشغيل خادم الذاكرة ومحرك iii المثبَّت الخاص به، ويعرض عليك تثبيته عالميًا بحيث يعمل أمر `agentmemory` المجرد في كل مكان بعد ذلك. تقبل `-y` مطالبة npx بتثبيت الحزمة، وتتجنّب `@latest` إصدارًا قديمًا مخزَّنًا مؤقتًا. يُتيح المزوّد ميزات LLM، لكن ضغط الملاحظات المكتوب بواسطة LLM لا يبدأ إلا عند ضبط `AGENTMEMORY_AUTO_COMPRESS=true` أيضًا. يُعطّل وضع عدم استخدام المفاتيح تضمينات المتجهات. تستخدم `memory_recall` (مسار `mem::search`) خوارزمية BM25، في حين يمكن لـ `memory_smart_search` أيضًا دمج تطابقات الرسم البياني البنيوية عندما تتوفر بيانات رسم بياني مسبقًا. للحصول على استرجاع دلالي مجاني على الجهاز نفسه، اضبط `EMBEDDING_PROVIDER=local` في `~/.agentmemory/.env` وأعد التشغيل. يُنزِّل أول طلب تضمين النموذج `Xenova/all-MiniLM-L6-v2`؛ ويعمل الاستدلال محليًا بعد ذلك التنزيل الأولي للنموذج. تستخدم بيئة التشغيل المحلية أربعة منافذ: `3111` لـ REST/MCP HTTP، و`3112` لتيارات iii، و`3113` للعارض، و`49134` لمقبس WebSocket الخاص بعامل iii. تعيش حالة iii الدائمة في `~/Library/Application Support/agentmemory` على macOS، وفي `$XDG_DATA_HOME/agentmemory` أو `~/.local/share/agentmemory` على Linux، وفي `%APPDATA%\agentmemory` على Windows. استخدم `--data-dirيعمل مع أي وكيل يتحدث MCP أو HTTP. خادم واحد، والذكريات مشتركة بين جميعها.
--- أنت تشرح نفس البنية المعمارية في كل جلسة. وتعيد اكتشاف نفس الأخطاء مرارًا. وتُعلِّم نفس التفضيلات من جديد. تتوقف الذاكرة المدمجة (CLAUDE.md، .cursorrules) عند حد 200 سطر وتصبح قديمة بمرور الوقت. يحل agentmemory هذه المشكلة. فهو يلتقط بصمت ما يفعله وكيلك، ويضغطه في ذاكرة قابلة للبحث، ويحقن السياق المناسب عند بدء الجلسة التالية. أمر واحد فقط. ويعمل عبر الوكلاء كافة. **ما الذي يتغيّر:** في الجلسة 1 تُعِدّ مصادقة JWT. وفي الجلسة 2 تطلب تحديد معدل الطلبات (rate limiting). يعرف الوكيل مسبقًا أن مصادقتك تستخدم وسيط jose في `src/middleware/auth.ts`، وأن اختباراتك تغطي التحقق من الرمز (token)، وأنك اخترت jose بدلًا من jsonwebtoken لتوافقه مع Edge، دون أي إعادة شرح أو نسخ ولصق. ```bash npx -y @agentmemory/agentmemory@latest ``` افتراضيًا، يخزّن agentmemory حالة iii-engine خارج المستودع الذي تشغّله منه: في `~/Library/Application Support/agentmemory` على macOS، وفي `$XDG_DATA_HOME/agentmemory` أو `~/.local/share/agentmemory` على Linux، وفي `%APPDATA%\agentmemory` على Windows. ويُعاد استخدام `./data/state_store.db` أو `./data/iii-config.yaml` القديمين إن وُجدا للنسخة 0 قبل الاعتماد على ذلك المسار الافتراضي للنظام. لاختيار موقع محدد صريحًا، مرّر `--data-dir| ### دقة الاسترجاع **coding-agent-life-v1** (مجموعة بيانات داخلية، قابلة لإعادة الإنتاج في بيئة معزولة) | المحوّل | P@5 | R@5 | معدل الإصابة ضمن أفضل 5 | زمن الاستجابة p50 | |---|---|---|---|---| | **agentmemory الهجين** | **0.240** | **1.000** | **15 / 15** | 14 ms | | خط أساس grep | 0.227 | 0.967 | 15 / 15 | 0 ms | معدل إصابة 100% ضمن أفضل 5 عند **سقف P@5 الرياضي** لهذه المجموعة (0.240، راجع بطاقة النتائج). يسترجع النظام الهجين كل جلسة مرجعية (gold)؛ بينما يفوّت grep جلسة واحدة من جلستين مرجعيتين في الاستعلام الزمني متعدد الجلسات. التحسّن هنا في **الاسترجاع + البعد الزمني**، لا في الدقة الكلية. هذا المقياس صغير وقليل الجلسات المرجعية؛ ويميّز المقياس الأكبر LongMemEval-S أدناه بشكل أفضل. التفصيل الكامل حسب النوع وملاحظة التصحيح: [`docs/benchmarks/2026-05-20-coding-agent-life-v1.md`](../docs/benchmarks/2026-05-20-coding-agent-life-v1.md). **LongMemEval-S** (ICLR 2025، 500 سؤال) | النظام | R@5 | R@10 | MRR | |---|---|---|---| | **agentmemory** | **95.2%** | **98.6%** | **88.2%** | | BM25 فقط (خيار احتياطي) | 86.2% | 94.6% | 71.5% | | ### توفير الرموز (Tokens) | الأسلوب | الرموز/سنويًا | التكلفة/سنويًا | |---|---|---| | لصق السياق الكامل | 19.5M+ | غير ممكن (يتجاوز النافذة) | | ملخَّص بواسطة LLM | ~650K | ~$500 | | **agentmemory** | **~170K** | **~$10** | | agentmemory + تضمينات محلية | ~170K | **$0** | |
| agentmemory | mem0 (63K ⭐) | Letta / MemGPT (24K ⭐) | Khoj (36K ⭐) | supermemory (29K ⭐) | TencentDB Agent Memory (22K ⭐) | MemPalace (54K ⭐) | oracleagentmemory | Hippo | مدمج (CLAUDE.md) | |
|---|---|---|---|---|---|---|---|---|---|---|
| النوع | محرك ذاكرة + خادم MCP | واجهة برمجية لطبقة الذاكرة | بيئة تشغيل كاملة للوكيل | ذكاء اصطناعي شخصي | واجهة برمجية للذاكرة + تطبيق | محور ذاكرة جماعي (وكيل LLM وسيط) | ذاكرة متجهية (مفتوحة المصدر) | محرك ذاكرة (قاعدة بيانات Oracle) | نظام ذاكرة | ملف ثابت |
| دقة الاسترجاع R@5 | 95.2% | 68.5% (LoCoMo) | 83.2% (LoCoMo) | غير متوفر | مُعلَن من الشركة نفسها | PersonaMem 76% (مُعلَن من الشركة نفسها) | ~96.6% (مُعلَن من الشركة نفسها) | 94.4% (مُعلَن من الشركة نفسها) | غير متوفر | غير متوفر (grep) |
| الالتقاط التلقائي | 12 خطافًا (بلا أي جهد يدوي) | استدعاءات add() يدوية |
تعديلات ذاتية من الوكيل | يدوي | استخراج من جانب الواجهة البرمجية | اعتراض عبر وكيل وسيط (باستبدال base-URL) | يدوي | استخراج عبر API | يدوي | تعديل يدوي |
| البحث | BM25 + المتجهات + الرسم البياني (دمج RRF) | المتجهات + الرسم البياني | متجهات (أرشيفية) | دلالي | متجهات + RAG | 4 أنواع من الأصول (محادثة / مهارة / Wiki / CodeGraph) | متجهات فقط | متجهات + دلالي | مرجَّح بالتلاشي | يحمّل كل شيء إلى السياق |
| تعدد الوكلاء | MCP + REST + حجوزات (leases) + إشارات | API (بلا تنسيق) | داخل بيئة تشغيل Letta فقط | لا | لا | أدوار جماعية + أصول مشتركة | لا | محدود النطاق فقط | مشترك بين وكلاء متعددين | ملفات لكل وكيل على حدة |
| الارتهان لإطار عمل محدد | لا يوجد (أي عميل MCP) | لا يوجد | مرتفع (يجب استخدام Letta) | مستقل | لا يوجد | وكيل وسيط يتقدّم كل استدعاء للنموذج | لا يوجد | Oracle Database | لا يوجد | تنسيق خاص بكل وكيل |
| الاعتماديات الخارجية | لا يوجد (SQLite + iii-engine) | Qdrant / pgvector | Postgres + قاعدة بيانات متجهية | متعددة | سحابة مُدارة | حزمة Docker (Core + Hub + Proxy) | مخزن متجهات | Oracle AI Database | لا يوجد | لا يوجد |
| دورة حياة الذاكرة | توحيد رباعي المستويات + تلاشي + نسيان تلقائي | استخراج سلبي (passive) | يديرها الوكيل | يدوي | نسيان تلقائي | مراجعة يدوية؛ والتوجيه التلقائي قيد التطوير | لا يوجد | غير مُحدَّد | تلاشي + توحيد | تقليم يدوي |
| كفاءة استخدام الرموز | ~1,900 رمز/جلسة (10$/سنويًا) | يتفاوت حسب التكامل | الذاكرة الأساسية داخل السياق | متفاوت | تسعير سحابي | غير مُحدَّد | بلا حد لعدد الرموز | معتمد على LLM (متفاوت) | متفاوت | أكثر من 22K رمز عند 240 ملاحظة |
| العارض اللحظي | نعم (المنفذ 3113) | لوحة تحكم سحابية | لوحة تحكم سحابية | واجهة ويب | لوحة تحكم سحابية | واجهة ويب للمحور (Hub) | لا | لا | لا | لا |
| استضافة ذاتية | نعم (افتراضيًا) | اختياري | اختياري | نعم | لا (سحابي فقط) | نعم (Docker) | نعم | نعم (Oracle DB) | نعم | نعم |
benchmark/COMPARISON.md). أما أرقام mem0 وLetta فهي أرقامهما المنشورة على LoCoMo (مجموعة بيانات مختلفة)؛ وأرقام MemPalace وsupermemory وTencentDB (PersonaMem) وoracleagentmemory هي ادعاءات مُعلَنة من الشركات نفسها لم نُعِد إنتاجها بشكل مستقل (استخدمت عملية تشغيل oracleagentmemory نموذج GPT-5.5 مقابل قاعدة بيانات Oracle AI Database). عُرضت جنبًا إلى جنب للمقارنة التقريبية فقط، لا كمواجهة مباشرة على بيانات متطابقة. أعداد النجوم تقريبية وتتغير مع الوقت.
**داخلون جدد** تستحق المعرفة، مع مقارنة تفصيلية في [`benchmark/COMPARISON.md`](../benchmark/COMPARISON.md):
| النظام | ⭐ | الزاوية |
|--------|---|-------|
| Zep / Graphiti | 30K | رسم بياني معرفي زمني؛ يملك أقوى نتائج منشورة للاستعلامات الزمنية (LongMemEval 63.8%)، لكن بناء الرسم البياني يتم بشكل غير متزامن، فقد تتأخر الحقائق الجديدة |
| Cognee | 30K | استيعاب يحوّل المستندات إلى رسم بياني معرفي، مخصص لـ Python فقط، ومبني لاستخراج الكيانات البنيوية لا لالتقاط الجلسات |
لا يلتقط أي منها تلقائيًا من خطافات وكيل الترميز، ولا يقدّم عارضًا يُبنى أولاً للتشغيل المحلي، ولا يعمل بلا مفتاح — وهذا المزيج هو ما بُني agentmemory حوله.
---
صفحة العمّال: كل عامل متصل، بما في ذلك agentmemory نفسه، مع PID، وعدد الدوال، وبيئة التشغيل، وآخر ظهور.
التتبّعات: عرض شلالي / لهبي / تفصيلي بالخدمة لكل عملية ذاكرة.