عن المشروع

CrawlViz هو زاحف ويب بحثي يركز على الموضوع. على عكس الزواحف التقليدية ذات البحث بالعرض أولاً التي تستكشف جميع الصفحات المرتبطة، يقرر CrawlViz في الوقت الفعلي، رابطاً برابط، أي الصفحات تستحق الزيارة لتلبية موضوع محدد. يستخدم سلسلة تقييم من مرحلتين: نموذج تضمين جمل محلي منخفض التكلفة يقيّم كل رابط مرشح، ولا تُرسل إلا عينة محدودة الميزانية من الروابط ذات الثقة المتوسطة إلى LLM للحكم على الصلة. هذا يبقي التكلفة وزمن الاستجابة منخفضين. بُني النظام حول ناقل أحداث asyncio داخل العملية مع 57 حدثاً مختلفاً مصنفاً بالنوع، مما يفصل الجلب والاستخراج وإزالة التكرار والتقييم والأولوية والتحويل والتصدير وإعادة المحاولة والتسجيل إلى خطوط أنابيب مستقلة. تحل بوابة جاهزية قائمة على Future في كل عقدة حالة تسابق، مما يسمح لخط أنابيب التقييم بالتقاط عقدة بمجرد إنشائها دون تقييم محتوى غير مكتمل. الواجهة الأمامية تطبيق React يعرض رسم الزحف البياني مباشرة عبر WebSocket ويدعم التنقل للخلف عبر سجل الأحداث بمساعدة نقاط التحقق عبر sourcing الأحداث. إعداد الزحف تصريحي: البذور والنطاقات واستراتيجية التقييم وحقول الاستخراج وشروط التوقف تُعرّف في مخطط JSON يتم التحقق منه مقابل مخطط Pydantic. CrawlViz ليس موزعاً؛ إنه تطبيق asyncio أحادي العملية بحالة في الذاكرة. الاستمرارية محلية عبر SQLite. تتضمن مجموعة اختبارات الواجهة الخلفية 123 اختباراً تغطي خطوط الأنابيب ومخطط المخطط وتوصيلات الأحداث، لكن دون اختبارات تكامل شاملة أو مع LLM حي. يتضمن المشروع دراسة حالة على wikimd.org، بدأت من "Type 2 Diabetes"، واستكشفت 539 عقدة من أصل 50,828 رابطاً محدداً (~1%) وأنتجت رسماً بيانياً يتجمع في موضوعات فرعية: المضاعفات والعلاجات وعلم الأوبئة. الإعداد محفوظ في templates/wikiMD.json. التوثيق واسع، مع تعمق في البنية والتنفيذ وخط أنابيب الأحداث والتقييم الدلالي والمرونة والخوارزميات وبروتوكول البحث ودليل المطور وقرارات التصميم. يتوفر تقرير مشروع أكاديمي كامل بصيغة PDF.