عن المشروع

WebSight هو مشروع مفتوح المصدر لتحليلات الويب يضع الخصوصية في المقام الأول. هدفه المعلن هو تزويد أصحاب المواقع بالأرقام التي يحتاجونها دون تحويل الزوار إلى منتج: فهو لا يستخدم ملفات تعريف الارتباط، ولا يقوم بالتتبع عبر المواقع، ولا يجمع أي بيانات شخصية. يتوفر المشروع كتطبيق مستضاف أو كبرنامج يمكنك تشغيله بالكامل على بنيتك التحتية الخاصة. التتبع والإعداد تم تصميم المتتبع ليكون خفيف الوزن: حيث يوصف السكربت الأساسي بأنه أقل من 1 كيلوبايت، ويتم تحميله بشكل غير متزامن (async) ومؤجل (deferred). يمكن إجراء التكامل بطريقتين؛ أبسطهما هي علامة script مؤجلة واحدة تشير إلى المتتبع المستضاف، مع تسمية الموقع المستهدف عبر سمة data-site. وتتطابق سمات data-* الأخرى بشكل مباشر مع خيارات الحزمة، لتغطي أموراً مثل وضع الاستمرارية، وأخذ عينات Core Web Vitals، واستثناءات المسارات لمسارات المسؤول أو فحص الحالة. بدلاً من ذلك، يمكن دمج حزمة npm تسمى websight في عملية البناء، حيث توفر استدعاء init مكتوباً (typed) بالإضافة إلى وظائف track و identify للأحداث المخصصة؛ ويمكن استدعاء track و identify قبل init حيث يتم وضعها في قائمة انتظار حتى يبدأ المتتبع في العمل. كما يتوفر تكامل مع React من خلال مكون Analytics مخصص ليتم تركيبه في التخطيط الرئيسي (root layout). قدرات التحليلات تذكر وثيقة README وجود لوحة تحكم فورية مع حضور مباشر للزوار يتم تحديثه فور وصول الأحداث بدلاً من التأخير، وكرة أرضية ثلاثية الأبعاد دوارة توضح أماكن تواجد القراء الحاليين. تعتمد ميزة إعادة تشغيل الجلسات على rrweb وتوصف بأنها محجوبة الخصوصية، ويتم تفعيلها لكل موقع من لوحة التحكم. ولتحليل السلوك، يغطي المشروع الأحداث المخصصة، ومسارات التحويل (conversion funnels)، والأهداف، ومجموعات الاحتفاظ (retention cohorts)، بالإضافة إلى الفلاتر والشرائح التي يمكن تقسيمها حسب المصدر أو الدولة أو الجهاز أو الحملة. كما تتوفر ميزات Core Web Vitals والتقاط أخطاء JavaScript ويتم تحميلها عند الطلب. موقف الخصوصية التتبع بدون ملفات تعريف ارتباط وبدون حالة (stateless) هو الوضع الافتراضي المعلن. وتزعم وثيقة README أن هذا النهج متوافق مع GDPR و CCPA و PECR دون الحاجة لموافقة الزوار. يمكن إنشاء روابط مشاركة عامة لأي موقع مع إمكانية حمايتها بكلمة مرور. المشروع مرخص بموجب رخصة MIT وقابل للاستضافة الذاتية بالكامل. البنية والاستضافة الذاتية WebSight عبارة عن تطبيق Next.js واحد مدعوم بقاعدة بيانات Supabase Postgres. يتواجد المتتبع في الدليل العام (public directory) للتطبيق، لذا لا يلزم تشغيل خدمة منفصلة: تطبيق Next.js واحد يشير إلى مشروع Supabase واحد. تتضمن خطوات الاستضافة الذاتية في README استنساخ المستودع، ونسخ ملف مثال البيئة وتعبئة مفاتيح Supabase ورابط التطبيق، وتثبيت التبعيات، ثم البناء والتشغيل. يتم تطبيق عمليات الترحيل (migrations) الموجودة تحت supabase/migrations باستخدام Supabase CLI، وبعد ذلك يمكن نشر التطبيق على Vercel أو أي مستضيف Node آخر. وتشير الوثيقة إلى وجود دليل كامل للاستضافة الذاتية عبر الإنترنت يتضمن متغيرات البيئة وتنبيهات حول geo/CDN. تتضمن الحزمة التقنية المذكورة في README كلاً من Next.js 16، و React 19، و TypeScript، و Tailwind CSS v4، و Supabase لـ Postgres، و Recharts، و three-globe للكرة الأرضية ثلاثية الأبعاد، و rrweb لإعادة تشغيل الجلسات؛ أما المتتبع نفسه فيوصف بأنه خالٍ من التبعيات (zero-dependency) ومبني باستخدام tsup. المجتمع والترخيص المشروع يرحب بالبلاغات (Issues) وطلبات السحب (pull requests)، مع استضافة التوثيق على موقع الوثائق الخاص بالمشروع. المشروع مرخص بموجب MIT، ويوصف بأنه مجاني للاستخدام ومجاني للاستضافة الذاتية.