عن المشروع

lore هي أداة سطر أوامر محلية ومستكشف ويب لكل ما يكتبه Claude Code على الجهاز. يحتفظ Claude Code بنصوص الجلسات والذاكرة وسجل المطالبات تحت دليل بيانات، مقسمة حسب المشروع، ويقوم نظام الاحتفاظ الافتراضي بحذف النصوص بعد 30 يومًا تقريبًا. تقوم lore بالاحتفاظ بمرآة تراكمية لهذه البيانات الخام، وفهرستها، وتوفير واجهة استعلام عبر سجل جلساتها الخاص. التثبيت والمنصات: يتطلب المشروع Bun فقط، دون الحاجة إلى rsync أو أي تبعيات في سلسلة الأدوات. يقوم التكامل المستمر بتشغيل مجموعة الاختبارات وتثبيت الملف الثنائي على macOS وLinux وWindows. تعمل جميع الأوامر على المنصات الثلاث، بما في ذلك المستكشف. الاستثناء الوحيد هو مشرف خادم lore، الذي يبقي المستكشف يعمل في الخلفية عبر وكيل مستخدم launchd، لذا فهو مخصص لنظام macOS فقط، ويوجه المستخدمين الآخرين إلى lore serve. يقوم نص التثبيت ببناء ملف ثنائي مجمد، ويرفض شجرة العمل غير النظيفة، ويقوم كل استدعاء بالإبلاغ عن إصداره والالتزام (commit) الخاص به عبر stderr. يقوم نص harness-corpus بأخذ لقطات من أشكال الـ daemon وتحويلها إلى تجهيزات اختبار بعد تحديث Claude Code. نموذج البيانات والفهرسة: الـ well هو مخزن لدليل واحد تحت مسار مشاريع Claude، مسمى من مساره المطلق مع تسوية الأحرف غير الأبجدية الرقمية، لذا فإن التسمية تكون ناقصة. كل جلسة هي سجل أحداث JSONL بدلاً من سجل دردشة، تتكون غالباً من حركة أدوات، وأغلفة تفكير، وأحداث harness، إلى جانب نصوص الوكلاء الفرعيين ونصوص سير العمل. يقوم أمر index بمسح الـ wells، وتحليل JSONL وبناء فهرس SQLite FTS5 مع مسارات spawns وworkflows، بشكل تدريجي حسب وقت التعديل والحجم. الفهرس هو أثر مشتق وقابل لإعادة البناء يتم تحديث إصداره بدلاً من ترحيله، ويرفض فتح قاعدة بيانات كتبت بواسطة إصدار أحدث من lore. الأوامر: يقوم archive بمحاكاة دليل بيانات Claude في أرشيف lore دون نقل عمليات الحذف من المصدر؛ يقوم wells بسرد المخازن مع المسارات الحقيقية والعلامات؛ يقوم sessions وsession بتتبع القوس الزمني لـ well أو تفريغ جلسة واحدة حسب المسار؛ يقوم search بالاستعلام من FTS5 عبر المسارات ويمكن أن يشمل العمود الفقري لسجل المطالبات؛ يقوم spawns بالإبلاغ عن النموذج لكل وكيل فرعي (المتحقق منه مقابل المطلوب) مع علامات الانحراف وتكلفة التشغيل؛ يقوم workflows بتلخيص عمليات التنسيق؛ يقوم polls بتحديد الجلسات التي تعيد قراءة ملف مخرجات مهمة خلفية في كل دورة، مع تحديد السعر؛ يقوم tools بحساب استدعاءات الأدوات والمهارات والأوامر؛ يقوم usage بتوصيف فئات الرموز المفوترة بالإضافة إلى التفكير حسب الـ well أو الجلسة أو النموذج أو اليوم أو الأسبوع أو الشهر مع ما يعادل سعر القائمة المؤرخ؛ يقوم trace بعرض جلسة واحدة كمعاملات وخطوات واستدعاءات أدوات وتوضيحات؛ يقوم agents بربط القائمة الحية بالفهرس؛ يقوم stats بالإبلاغ عن إجمالي المتن والمسارات والتحذيرات. يدعم كل أمر مخرجات المساعدة، ويقبل الكثير منها تصفية well تطابق السلاسل الفرعية بالإضافة إلى علامة للمطابقة التامة للقيمة. المستكشف: يقوم lore serve بعرض الفهرس كصفحات HTML يتم رندرتها على الخادم للجلسات والـ wells الحديثة، واستخدام الرموز، والـ wells والجلسات الفردية، ونتائج البحث، وملاحق الجلسات المكتوبة في رسائل الالتزام. يمكن لكل صفحة أيضاً الإجابة بتنسيق JSON، ويتم تركيب أفعال القراءة تحت مسار أمر مع مواصفات OpenAPI، ويعرض فعل api نفس المعالجات الموجودة في الأوامر. المنفذ الافتراضي هو 4949 وتتحكم خيارات المضيف في الربط، بما في ذلك عنوان Tailscale عند وجوده. طبقة الحكم: فوق واجهة سطر الأوامر الحتمية والخالية من النماذج، يوجد سير عمل wiki اختياري. يقوم wiki init بإنشاء مستودع git من ملفات markdown من قالب مدمج، وتقوم skills add بتثبيت مهارات لكل أمر حتى تكتشف جلسات Claude Code واجهة سطر الأوامر. إن استيعاب المواد الخام في الـ wiki، وترقية صفحات الـ wiki إلى مستندات ملتزم بها في git، والتدقيق في القواعد القديمة هي بروتوكولات تؤديها جلسة Claude تفاعلية عن طريق تشغيل واجهة سطر الأوامر؛ وهي موثقة في ملاحظات التصميم بدلاً من شحنها كأوامر، لذا فإن الأداة نفسها لا تحتاج إلى مفتاح API. يقوم فعل docs بفهرسة markdown الملتزم بها في المستودعات، ويقرأها من كائنات git بدلاً من أشجار العمل. التعامل مع البيانات: تقرأ الأداة دليل بيانات Claude، وبالنسبة لـ docs، تقرأ مخازن كائنات git تحت جذر الكود؛ وتكتب في دليل home الخاص بـ lore، ومستودع wiki اختياري، وفقط بالنسبة لمشرف macOS، ملف launchd plist واحد. لا يوجد نشاط شبكي يتجاوز عملية git fetch صريحة عند طلبها لفهرسة المستندات والمنفذ الذي يستمع إليه المستكشف؛ لا يتم رفع أي شيء ولا توجد استدعاءات لنماذج أو قياس عن بعد أو حسابات. يتم التكوين من خلال متغيرات بيئة تم التحقق منها مثل دليل Claude، وlore home، وcode dir، وwiki dir، وقوائم استبعاد docs والمساعدة. هناك نص Python منفصل وخالٍ من التبعيات يقرأ JSONL الخاص بالنصوص مباشرة ويبلغ عن استدعاءات الأدوات المرفوضة مقسمة حسب السبب وما فعلته الجلسة بعد ذلك، مع دليل تشغيل يصف كيفية مراجعتها. الحالة: أداة شخصية مبكرة نُشرت كما هي، محلية فقط، تحت رخصة MIT، دون خطة لتحويلها إلى منتج.