متصفح Obscura مفتوح المصدر ينافس كروم في تشغيل وكلاء الذكاء الاصطناعي باستهلاك أقل للذاكرة

ظهر مشروع برمجي مفتوح المصدر باسم متصفح Obscura يقدم محركًا لتصفح الويب دون واجهة رسومية، صُمم أساسًا لوكلاء الذكاء الاصطناعي ومهام جمع بيانات المواقع واختبارها. يعتمد على لغة Rust ومحرك V8 لتشغيل JavaScript، ويستطيع التعامل مع أدوات أتمتة معروفة مثل Puppeteer وPlaywright عبر بروتوكول Chrome DevTools Protocol. ما يميزه ليس نافذة تصفح جديدة للمستخدم العادي، بل محاولة تنفيذ أعمال المتصفح الآلية باستخدام موارد أقل من تشغيل نسخة كاملة من Chromium.
يعرض متصفح Obscura في مستودعه على GitHub أرقامًا تضع استهلاك الذاكرة عند نحو 30 ميجابايت، مقابل أكثر من 200 ميجابايت لمتصفح Chrome في المقارنة التي نشرها المطور. وتذكر الوثائق زمن تحميل يقارب 85 ميلي ثانية في أحد الاختبارات، مقابل نحو 500 ميلي ثانية لكروم. هذه نتائج منشورة من المشروع نفسه، وليست اختبارًا مستقلًا على الأجهزة أو المواقع نفسها؛ لذا لا يصح تحويلها إلى وعد بأن كل صفحة ستفتح بهذه السرعة.
ما الذي يفعله Obscura بالضبط؟
المتصفح عديم الواجهة الرسومية، أو Headless Browser، يزور صفحات الإنترنت ويشغّل الأكواد ويقرأ المحتوى دون عرض نافذة عادية على الشاشة. تحتاج إليه أداة تراقب أسعار المنتجات، أو تختبر صفحة تسجيل دخول، أو تجمع بيانات منشورة من موقع، أو وكيل ذكاء اصطناعي يتنقل بين صفحات متعددة لإنجاز مهمة. في هذه الحالات يكون المطلوب التحكم في الصفحة برمجيًا، لا إظهار شريط العناوين والتبويبات للمستخدم.
يستهدف متصفح Obscura هذه المهام مباشرة. يستطيع تنزيل الصفحة، واستخراج الروابط أو النصوص أو HTML، وتشغيل تعبيرات JavaScript، وانتظار تحميل المحتوى الديناميكي. وتُظهر أمثلة المستودع كيفية التقاط صور للصفحات وتسجيل المشهد المرئي وتصدير ملفات PDF. ويقدم متصفح Obscura خادم CDP يسمح لبرامج الأتمتة بالاتصال به بدل تشغيل Chrome في الخلفية.
ومن المهم التمييز بين استخدام محرك V8 وبين الاعتماد على Chrome نفسه. يستخدم Obscura محرك JavaScript المعروف، لكنه يقدم منظومة مستقلة لتحميل الصفحات ومعالجة DOM وعرض CSS. ولهذا لا يعد نسخة مصغرة رسمية من جوجل كروم، كما لا يعني التوافق مع بروتوكول CDP تطابق دعمه لكل وظائف Chromium أو جميع واجهات الويب.
الأرقام التي يضعها المشروع أمام كروم
تتضمن صفحة GitHub مقارنة مباشرة بين المحركين، وهي مفيدة لفهم ما يحاول المطور تحسينه، لكن ظروف الاختبار مهمة. فالذاكرة تختلف باختلاف الموقع، وحجم JavaScript، وعدد الصفحات المفتوحة، وما إذا كان التصيير الرسومي يعمل. ولا يقدم الجدول المنشور وحده ضمانًا لأداء موحد على جميع البيئات.
| المعيار | Obscura بحسب المشروع | Chrome Headless بحسب المشروع |
|---|---|---|
| استهلاك الذاكرة | 30 ميجابايت | أكثر من 200 ميجابايت |
| حجم الملف التنفيذي | نحو 70 ميبيبايت | أكثر من 300 ميجابايت |
| زمن تحميل الصفحة في المقارنة العامة | 85 ميلي ثانية | نحو 500 ميلي ثانية |
| تشغيل Puppeteer وPlaywright | مدعوم | مدعوم |
لمعرفة مدى واقعية هذه الأرقام في الاستخدام الفعلي، يحتاج المطور إلى إعادة الاختبار على المواقع التي يتعامل معها، وقياس استهلاك الذاكرة أثناء التشغيل المستمر لا عند بداية العملية فقط. ويوفر المشروع مستودعًا منفصلًا لاختبارات الأداء والتوافق، يمكن الرجوع إليه بدل الاكتفاء بالجدول المختصر.
هل يستطيع التقاط الصور وتصدير PDF دون Chromium؟
نعم، وفق الوثائق الحالية. تتضمن إصدارات متصفح Obscura الجاهزة محرك تصيير محليًا يستطيع رسم عناصر الصفحة، والتقاط لقطات شاشة كاملة، وإخراج ملفات PDF بصيغة صور نقطية. ويتعامل مع أنماط CSS شائعة مثل Flexbox وGrid والجداول وبعض الحركات، كما يتيح بث صورة الصفحة أثناء عمل وكيل الأتمتة.
لكن المطور يوضح أن محرك الرسم لا يزال يتطور، وأن بعض تفاصيل CSS وواجهات الويب وتشغيل الوسائط والخطوط قد تختلف عن Chromium. لذلك قد يكون متصفح Obscura مناسبًا لاستخراج البيانات والتصوير في مشاريع كثيرة، بينما تظل الاختبارات البصرية الحساسة أو المواقع ذات الواجهات المعقدة بحاجة إلى مقارنة فعلية قبل استبدال Chrome.
وكلاء الذكاء الاصطناعي وبروتوكول CDP
عندما يطلب المستخدم من وكيل ذكاء اصطناعي البحث في موقع، أو فتح مجموعة روابط، أو استخراج عناصر من صفحة، يحتاج الوكيل إلى بيئة تصفح يستطيع التحكم فيها. يقدم Obscura واجهة CDP مألوفة لمطوري أدوات الأتمتة، ما يسمح بالاستفادة من شفرة تعتمد أصلًا على Puppeteer أو Playwright، بدل كتابة طريقة اتصال مختلفة تمامًا.
يوفر متصفح Obscura أيضًا توثيقًا للتكامل مع MCP، وهو مسار يتيح ربط أدوات التصفح ببيئات الوكلاء. هذا لا يعني أن متصفح Obscura يشغّل نموذج ذكاء اصطناعي أو يفكر نيابة عن المستخدم؛ وظيفته تنفيذ إجراءات التصفح التي تطلبها التطبيقات، مع إعادة النتائج إليها. أما التخطيط واتخاذ القرارات فيقعان على عاتق الوكيل أو البرنامج المتصل به.
وقد تناولنا في شرح وكيل Codex البرمجي الفرق بين نموذج الذكاء الاصطناعي والأدوات التي يعتمد عليها لتنفيذ المهام. ويقع Obscura في جانب أدوات التنفيذ، وليس في جانب النماذج اللغوية.
وضع التخفي وحدود الحماية
يضم المشروع وضعًا اختياريًا يسمى Stealth، يتطلب بناء النسخة بالمكونات المناسبة ثم تفعيله عند التشغيل. تتحدث الوثائق عن تغيير بعض بصمات المتصفح، وإخفاء مؤشرات الأتمتة، وحجب أدوات تعقب. هذه الخصائص يمكن أن تساعد في اختبار المواقع أو التعامل مع بيئات مختلفة، لكنها لا تضمن تجاوز أنظمة مكافحة الروبوتات، ولا تلغي شروط استخدام المواقع أو القيود القانونية على جمع البيانات.
ومن زاوية الأمان، يذكر المستودع أن الوصول إلى عناوين الشبكات المحلية والخاصة محظور افتراضيًا في أوامر جلب الصفحات لتقليل مخاطر طلبات SSRF. ويمكن السماح بذلك بخيار صريح عند اختبار خادم محلي. كما تنصح أمثلة تشغيل خادم CDP عبر Docker باستخدام رمز وصول وربط المنفذ بعنوان loopback بدل نشره للإنترنت بلا حماية.
ما الذي يربطه بمشروع Cloudflare Kitesurf؟
يشير مطور متصفح Obscura إلى أن مشروع Kitesurf لدى Cloudflare استفاد من نموذجه الأولي. وفي الشرح الهندسي الذي نشرته Cloudflare، تتناول الشركة بناء متصفح موجه للوكلاء يعمل داخل بيئة Workers، بدل الاعتماد على تشغيل Chromium كاملًا. الإشارة هنا إلى استفادة تقنية من الأفكار أو الشفرة في مرحلة أولية، وليست إعلانًا عن استحواذ Cloudflare على المشروع أو دمج المنتجين في تطبيق واحد.
والمقارنة مع المتصفحات ذات المساعد المدمج قد تكون مضللة. فمثلًا يركز متصفح Comet من Perplexity على تجربة تصفح مرئية للمستخدم؛ أما Obscura فيستهدف أساسًا التطبيقات والبرامج التي تريد أتمتة الصفحات.
كيف يمكن تجربة المشروع؟
تتاح حزم متصفح Obscura الجاهزة لأنظمة Linux وmacOS وWindows، مع تعليمات للبناء من المصدر واستخدام Docker. ويتيح مستودع Obscura الرسمي على GitHub أمثلة لجلب عنوان صفحة، واستخراج روابطها، وحفظ لقطة شاشة، وتشغيل خادم CDP. الترخيص Apache-2.0، بينما يجري العمل أيضًا على خدمة استضافة منفصلة تحمل اسم Obscura Cloud؛ ولا ينبغي الخلط بين المحرك المفتوح المصدر والخدمة المستقبلية.
- نزّل الحزمة الموافقة لنظام التشغيل والمعمارية من صفحة الإصدارات.
- ابدأ بطلب بسيط لاستخراج عنوان صفحة، ثم جرّب صفحة تستخدم JavaScript.
- اختبر توافق أدوات Puppeteer أو Playwright التي تعتمد عليها قبل استبدال المتصفح القديم.
- قارن نتائج استخراج المحتوى واستهلاك الذاكرة على مواقعك الفعلية، لا على نتائج الاختبار المنشورة فقط.
في الاستخدامات التي تتطلب تصويرًا متطابقًا مع Chrome أو دعمًا شاملًا لواجهات الويب، قد يظل Chromium الخيار الأكثر أمانًا حاليًا. أما المهام الآلية الكثيفة التي تستفيد من توفير الموارد، فقد يكون متصفح Obscura جديرًا بالتجربة، خصوصًا مع وجود شفرة مفتوحة وتكامل مع أدوات الأتمتة الشائعة. والحسم هنا يكون بنتائج الاختبار داخل مشروعك، لا بجدول المقارنة وحده.
لا يسمح بنقل هذا المحتوى من سوالف دون الاشارة برابط مباشر





