Lightpanda: متصفح بحجم 64 ميجابايت أسرع بـ 60 مرة من كروم
BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology
Transcript
00:00:00هذا LightPanda، متصفح عديم الواجهة مصمم لوكلاء الذكاء الاصطناعي ومكتوب بالكامل بلغة Zig، لذا لا يعتمد على WebKit أو Chromium، مما يجعله أسرع بـ 9 مرات ويستهلك ذاكرة أقل بـ 16 مرة من متصفح Chrome التقليدي.
00:00:12إنه يدعم بروتوكول مطوري Chrome، لذا يمكن استخدامه مع Puppeteer أو Playwright، لكنه لا يعرض أي بكسلات ولا يدعم واجهات برمجة تطبيقات الويب الشائعة مثل service workers و IndexedDB و CORS.
00:00:22فلماذا يُستخدم إذن في OpenClaw ومتصفح وكيل الخلايا؟ اضغط على زر الاشتراك ودعنا نكتشف ذلك.
00:00:30تم إصدار LightPanda حوالي عام 2024 على يد بيير وفرانسيس وكيت قبل وقت طويل من ظهور Claude Code، وفي الوقت الذي بدأ فيه ChatGPT يكتسب شعبية.
00:00:41بدأ كأداة لاستخراج بيانات الويب والأتمتة، ولكن بعد فترة وجيزة من انفجار شعبية الوكلاء، ركزوا على وكلاء الذكاء الاصطناعي وتمكنوا من الحصول على جولة تمويل بفضله.
00:00:51ولكن هل كان هذا مجرد تغيير سريع للعلامة التجارية بسبب شعبية الذكاء الاصطناعي أم أنه مفيد حقاً للوكلاء؟
00:00:56سنقوم باختبار ذلك من خلال بناء وكيلنا الخاص باستخدام Claude SDK مع أداة WebFetch مخصصة، وسنستخدم Chrome و LightPanda كمحركات لتصفح الويب ونقارن الاختلافات لمعرفة أيهما أفضل ولماذا.
00:01:09على الرغم من أن LightPanda يحتوي على خادم MCP وخدمته السحابية الخاصة، سنحاول القيام بالأمور محلياً قدر الإمكان.
00:01:16وسنمر بمثال أساسي لكيفية استخدام LightPanda أولاً قبل التوسع في إنشاء أداة WebFetch.
00:01:22لذا، إليك نص برمجي لدي يقوم بجلب مجموعة من الروابط من ويكيبيديا.
00:01:27والطريقة التي يعمل بها هي أنه سينشئ أولاً خادم LightPanda، ثم يتصل بذلك الخادم باستخدام Puppeteer.
00:01:32لدينا بعض التعليمات البرمجية هنا للتحقق من المدة التي ستستغرقها العملية، وسيذهب إلى ويكيبيديا ويمر عبر جميع الروابط في قسم المراجع ويطبعها.
00:01:40إذا أردت تخيل ذلك، فإن قسم المراجع موجود هنا في أسفل صفحة متصفح الويب.
00:01:44وكما ترون، أول رابط مرجعي هو رابط Device Atlas هذا، والذي يطابق الرابط الموجود هنا في الأسفل.
00:01:50لذا وجد LightPanda جميع الروابط في 344 مللي ثانية.
00:01:53وإذا جربنا نفس الشيء مع Chrome، فإنه يستغرق 392 مللي ثانية.
00:01:58لذا لا يوجد فرق كبير، لكن الأمور تتغير بشكل كبير عندما يكون لديك صفحات متعددة تريد استخراج بياناتها.
00:02:04إليك نص برمجي مشابه مع اختلاف رئيسي واحد.
00:02:07بدلاً من الحصول على روابط من صفحة ويكيبيديا واحدة، نقوم بذلك لـ 100 صفحة.
00:02:11لذا إذا ذهبنا إلى التعريف، يمكننا رؤية جميع الصفحات التي سيجلبها من متصفح الويب إلى HTTPS و JavaScript و Mongo و Python وغيرها الكثير.
00:02:19لذا إذا جربنا ذلك مع LightPanda، يتم إنجاز الأمر بالكامل في 18 ثانية.
00:02:23وإذا جربنا نفس الشيء مع Chrome، فإنه يستغرق حوالي 30 ثانية.
00:02:26وفي بعض الحالات، عندما قمت بتشغيل هذا، استغرق 60 ثانية.
00:02:29ولكن دعونا نرى كيف يختلف الأداء إذا تم تشغيله من خلال وكيل.
00:02:32هنا لدي وكيل بسيط جداً يستخدم Claude SDK وهناك أداة webfetch هنا تشغل هذا الأمر.
00:02:39فهو يلخص الفرق بين ArrayMap و Filter و Reduce في JavaScript ويذهب إلى هذه الروابط المحددة في MDN للعثور على معلومات حولها.
00:02:48في الأسفل لدينا حلقة الوكيل الخاصة بنا وهنا، نظراً لوجود أداة واحدة فقط، توجد جملة if للتحقق مما إذا كانت تلك الأداة المحددة قيد الاستخدام.
00:02:54لكن لو كان لدينا المزيد من الأدوات، لكان ذلك هو الحال.
00:02:56وهنا يتم استخدام وظيفة webfetch كلما كان هناك استدعاء لأداة.
00:03:00الآن، أسفل ذلك، لدينا بعض المقاييس ووظيفة هنا لحساب ذاكرة المتصفح.
00:03:04سيستخدم هذا المشروع LightPanda و Chrome باستخدام بروتوكول Chrome DevTools.
00:03:09لذا سنقوم بتشغيله على منفذ وسيتصل Puppeteer بذلك المنفذ قبل تشغيل الوكيل.
00:03:14يمكننا بدء الخادم باستخدام LightPanda serve ثم يمكننا تشغيل وكيلنا، الذي يجلب عناوين URL الثلاثة من MDN، ويعطي المعلومات لـ Claude.
00:03:22وهنا يعطينا رداً يوضح لنا الفرق بين Map و Filter و Reduce، بالإضافة إلى إرجاع المقاييس.
00:03:29الآن دعونا نجرب ذلك مع Chrome، مع التأكد من التخلص من أي تخزين مؤقت افتراضي لديه لأن LightPanda ليس متصفحاً كاملاً ولا يحتوي على نفس مستوى التخزين المؤقت الذي يمتلكه Chrome.
00:03:38لذا من العدل فقط إزالته من Chrome.
00:03:40ثم سنقوم بتشغيل نفس الشيء في Chrome، والذي يجلب أيضاً عناوين URL من MDN ويعطينا أيضاً إجابة من Claude.
00:03:46لكن هنا تكمن الأمور المختلفة بشكل جذري.
00:03:48إذا وضعنا النتائج جنباً إلى جنب، LightPanda هنا و Chrome هنا، كلاهما يقومان بثلاث عمليات جلب.
00:03:54لكن يمكننا أن نرى أن وقت الجلب لـ LightPanda كان أسرع بكثير، أسرع بمرتين تقريباً من Chrome.
00:03:59الوقت الإجمالي هو نفسه.
00:04:01لكن انظر هنا، ذاكرة المتصفح لـ LightPanda هي 66 ميجابايت فقط، بينما بالنسبة لـ Chrome، فهي 829.
00:04:07أكثر بـ 10 مرات من LightPanda وأيضاً ذاكرة الوكيل أصغر قليلاً بالنسبة لـ LightPanda، لكن محرك المتصفح لن يغير هذه القيمة كثيراً.
00:04:17بصراحة، يجب ألا تستخدم Chrome أبداً مرة أخرى للتصفح بدون واجهة.
00:04:20أعني، لماذا تفعل ذلك؟ LightPanda أصغر بـ 21 مرة من Chrome، وأسرع ويستخدم ذاكرة أقل بكثير.
00:04:28ولكن هناك سيناريو واحد قد ترغب فيه باستخدام Chrome بدلاً من LightPanda.
00:04:33إذا قمنا بتغيير الطلب من سؤال JavaScript إلى "اجلب لي خمسة عقارات من Airbnb في طوكيو"، فإن تشغيل ذلك باستخدام Chrome يعطينا النتائج المتوقعة.
00:04:42لكن إذا جربت نفس الشيء مع LightPanda، نرى أنه غير قادر على الحصول على القوائم من Airbnb.
00:04:47وهذا لأن Airbnb تطبيق صفحة واحدة (SPA)، في حين أن LightPanda يحتوي على محرك V8 لتنفيذ JavaScript.
00:04:54هذا فقط لتنفيذ مستوى اللغة.
00:04:57مثل async await و closures و promises وأشياء من هذا القبيل.
00:05:00ولكن بالنسبة لشيء أكثر تعقيداً مثل تطبيق الصفحة الواحدة هذا الخاص بـ Airbnb، فإن LightPanda يواجه صعوبة في عرض هذا والحصول على جميع المعلومات ذات الصلة.
00:05:07لذا بصرف النظر عن عدم القدرة على عرض تطبيقات SPA بشكل صحيح، وهو ما قد يغيرونه في المستقبل، لا أعلم.
00:05:13يعد LightPanda أداة رائعة أو إضافة جيدة لإضافتها إلى وكيل مخصص يحتاج إلى القيام بأي بحث على الويب أو أي جلب للويب.
00:05:20وبينما نتحدث عن تصفح الويب باستخدام وكيل، إذا كنت قد أردت يوماً أن يتحكم Claude Code في جلسة Chrome الخاصة بك قيد التشغيل بأمان.
00:05:27مع بيانات تسجيل دخولك وكل شيء، تحقق من هذا الفيديو حول تصحيح الأخطاء عن بُعد باستخدام خادم Chrome MCP.