كل شيء، على بُعد استدعاء أداة واحد
نظام السياق الرشيق يضع خريطة تغطية في الموجه، لا المحتوى. ما يجعل ذلك ممكنًا هو مجموعة أدوات الاسترجاع: أدوات قابلة للاستدعاء من النموذج، تُقدِّمها قدرةintrospect الدائمة التحميل عبر جسر CortexHost، وتصل إلى فهرس cortex في أجزاء من الثانية. كلها للقراءة فقط باستثناء memory_save.
memory_search
أداة الاسترجاع الأساسية: بحث FTS مُرتَّب عبر كل ما هو مُفهرَس. يُعيد مقتطفات مع مراجع — أتبعها بـmemory_get أو conversation_read للمحتوى الكامل.
memory_get
يجلب المحتوى الكامل خلف مرجع منmemory_search: يوم حلقات كامل، أو ملف معرفة، أو نص مهمة مع سجلها التفصيلي، أو كل سجلات محادثة.
مراجع
file: تُعيد الملف الفعلي — محصورًا في مساحة العمل، مع مقتطف من المقدمة والخاتمة بعد تجاوز 12 ألف حرف.
أشكال المراجع
conversation_list
يُعدِّد المحادثات السابقة، الأحدث أولًا: المعرِّف، القناة، العنوان، عدد الرسائل، آخر تحديث. هذا لم يكن موجودًا قط قبل v1.0.203 — لم يكن للنموذج سابقًا أي وسيلة لرؤية سجل محادثاته كقائمة. يُقدَّم من جدولconversations في الفهرس، لذا التعداد فوري.
conversation_read
يقرأ محادثة محددة — الرسائل و استدعاءات الأدوات ونتائجها داخلها — مع تقسيم صفحات. كما أنه يستعيد أدوار المحادثة الحالية التي طُويت في ملخص متدحرج ولم تعد في سياق النموذج (انظر ضغط السياق).
المخرج مُقتطَف؛ تطبع الأداة مرجع
file: بجانبه، وmemory_get على ذلك المرجع يُعيد البايتات الكاملة غير المقتطعة.
memory_save
أداة الكتابة الوحيدة: تحفظ بشكل دائم حقيقة واحدة مكتفية بذاتها في ملفات المعرفة طويلة المدى، مع إزالة التكرار. استخدمها للتفضيلات أو القرارات أو حقائق المشاريع أو تفاصيل الأشخاص — لا لحالة المهام العابرة. الحلقات وسجلات المهام تُسجَّل تلقائيًا.usage_report
إنفاق وولفيش الخاص على نماذج اللغة، مقروءًا من سجل الاستخدام المنظم: الطلبات، الرموز (إدخال/إخراج/ذاكرة مؤقتة)، والتكلفة — إجمالًا ولكل نموذج.wolffish_recall
أُبقي عليه كاسم بديل مستقر بإرغونومية أبسط — البحث بكلمة مفتاحية و/أو التثبيت على يوم واحد. يركب الآن على نفس فهرسmemory_search (كان سابقًا مسحًا خطيًا فوق ~80 ملفًا على القرص؛ ذلك المسار اختفى).
قدرة introspect تحمل أيضًا أدوات الحالة —
wolffish_status وwolffish_performance وwolffish_memory وwolffish_list_files — دون تغيير في إعادة التصميم هذه، بالإضافة إلى channel_status لاتصال Telegram/WhatsApp/داخل التطبيق الحي (أُصلحت في v1.0.203؛ كانت سابقًا مُعرَّفة لكن غير قابلة للتوجيه).مثال: “أرسل لي خطة الرحلة”
إشارة مُعرَّفة إلى شيء ليس في السياق — يبحث النموذج أولًا، ثم يتبع المرجع، ثم يُسلِّم:- “ماذا قالت سناء على WhatsApp؟” →
memory_search— رسائل القنوات الواردة مُفهرَسة أيضًا. - “ماذا فعلنا يوم 18؟” →
wolffish_recallمعdate: "2026-06-18". - “هل انتهت مهمة النسخ الاحتياطي تلك؟” →
memory_searchمعsources: "task". - “كم كلَّف اليوم؟” →
usage_report. - “ما رقم التأكيد الذي أعطيتك إياه سابقًا؟” (محادثة طويلة) →
conversation_readعلى المحادثة الحالية.
عقيدة الاستدعاء
الاسترجاع غير مدفوع بطلب صريح — عقد التشغيل (agents.core.md) يُوجِّه النموذج ليُقرِّر الاستدعاء من نية رسالتك، لا لينتظر “ابحث في ذاكرتك”:
- الإشارات المُعرَّفة إلى أشياء ليست في السياق — “خطة الرحلة”، “ذلك الملف”، “الإيميل الذي أرسلته لها”، “مثل المرة الماضية” — تعني أنك تعرف أنه يملكها. يبحث أولًا، سواء كانت من قبل ساعة أو من قبل أشهر.
- رائحة المهمة المتكررة — “أرسل إيميلًا إلى سارة”، “انشر التحديث”، “أنجز التقرير الأسبوعي” — بحث سريع عن حالات سابقة أولًا: قد يكون هناك نمط أو قالب أو قائمة مستلمين راسخة تتوقع منه إعادة استخدامها.
- أي شيء يمس التفضيلات (النبرة، التنسيق، المستلمون، الجداول، التسمية) — يفحص خلاصة التفضيلات المُتعلَّمة في الموجه؛ إذا لم تُغطِّه، يبحث قبل التخمين.
- مهام الحاضر الصِّرف — الطقس، عملية حسابية، بحث ويب جديد — لا تحتاج استدعاءً. يتصرف مباشرة.
ما الذي يُفهرَس
يُفهرِس cortex أحد عشر مصدرًا، بدقة القسم/الرسالة:
مُستبعد بالتصميم:
config.json (الأسرار)، whatsapp/auth، حالة Telegram، .debug، المجلدات النقطية، وnode_modules. الملفات الثنائية تُفهرَس كبيانات وصفية فقط، أبدًا لا المحتوى.
الفهرس مُرقَّم بإصدار المخطط: إعادة البناء الكاملة تحدث فقط عند ترقية الإصدار (~1.3 ثانية لمساحة عمل 2GB)؛ التشغيل العادي يُجري فرق mtime/الحجم تزايديًا في ~22 مللي ثانية.
نظام السياق الرشيق
لماذا يحمل الموجه خريطة بدلاً من المحتوى.
كيف تعمل الذاكرة
الحلقات والتجميع والمعرفة — طبقات الذاكرة خلف الفهرس.