عن المشروع

deja-vu هي طبقة ذاكرة محلية فقط لوكلاء البرمجة بالذكاء الاصطناعي. تقوم بفهرسة نصوص الجلسات التي يكتبها بالفعل أكثر من 34 وكيلاً—بما في ذلك Claude Code وCodex CLI وCursor وCopilot CLI وGemini CLI وGoose وغيرها الكثير—إلى القرص، وتجعل هذا السجل قابلاً للبحث عبر جميعها. الإصلاح الذي تم العثور عليه في وكيل واحد يصبح قابلاً للاسترجاع في أي وكيل آخر. القدرات الرئيسية: - البحث الرجعي: يستعلم عن غيغابايتات من السجل الموجود، بما في ذلك الجلسات من قبل تثبيت deja-vu. تعود الاستعلامات باللغة الطبيعية إلى مستويات الصلة؛ الوقت تلميح وليس مرشحاً. - الاستدعاء عبر الوكلاء عبر MCP: أداة `deja` MCP واحدة في وضع `recall` تجيب على أسئلة مثل "أصلحنا هذا قبل ثلاثة أسابيع" بغض النظر عن الوكيل الذي حلّها أصلاً. - البقاء عبر الضغط: على Claude Code وCodex، تلتقط الخطافات المهمة والملفات والأوامر عند بدء الضغط، ثم تعيدها مرة واحدة في الجلسة التالية. مقاسة على 43 عملية ضغط، تحتفظ الملخصات بـ 77% من القرارات ولكن فقط 0.2% من الأوامر؛ يستعيد deja-vu الباقي. - الاستدعاء عند نقطة العمل: قبل أن يعدّل وكيل ملفاً أو يشغّل أمراً، يُظهر deja-vu القرارات السابقة أو الاستدعاءات العاملة. يجيب خطاف PostToolUse بما تبع نفس الخطأ سابقاً. - فهرسة العمل: يسجّل الملفات المفتوحة والأوامر المشغّلة مع حالة الخروج ونطاقات التحرير الدقيقة—التفاصيل التي تتجاهلها الملخصات. - التنقيح: مفاتيح AWS ورموز API وJWTs وكتل المفاتيح الخاصة PEM ورموز الحامل وبيانات اعتماد URL والقيم عالية العشوائية تُزال في وقت الفهرسة. تشمل أوامر CLI `deja <query>` للبحث، و`deja blame <path>` لسجل مستوى الملف، و`deja fix <error>` لحلول الأخطاء السابقة، و`deja friction` للأخطاء المتكررة، و`deja ctx <query>` لملخص markdown، و`deja sync ssh` لنقل الذاكرة بين الأجهزة، و`deja stats --card` لملخص مرئي. يكتب `deja forget` شواهد قبور لمنع إعادة فهرسة الجلسات المحذوفة. التثبيت عبر سكريبت curl أو Homebrew أو Scoop أو Go install أو npx. يقوم `deja install --auto` بتوصيل استدعاء MCP في كل وكيل مكتشف وبناء الفهرس الأول. الاستدعاء الدلالي الاختياري متاح عبر `deja embed` مع Ollama محلي أو LM Studio أو نقطة نهاية متوافقة مع OpenAI؛ البحث المعجمي يعمل بدونه. يوفّر المستودع أدوات قياس أداء (LongMemEval-S وLoCoMo) وعدة أوامر فرعية `deja bench` لترتيب الاستدعاء وهضم السياق وبقاء الكتل وتكلفة الاستيعاب. تعمل جميع عمليات الفهرسة والبحث محلياً؛ تُستخدم الشبكة فقط بواسطة `deja update` و`deja sync ssh` وفحوصات الإصدار.