عن المشروع

agent-browser هي واجهة سطر أوامر لأتمتة المتصفح مبنية كملف ثنائي أصلي بلغة Rust، مصممة خصيصًا لوكلاء الذكاء الاصطناعي. يتم تثبيتها عبر npm أو Homebrew أو Cargo، وتقوم بتنزيل Chrome من Chrome for Testing عند أول استخدام. يتم اكتشاف التثبيتات الموجودة لـ Chrome وBrave وPlaywright وPuppeteer تلقائيًا. لا يتطلب الأمر Playwright أو Node.js للخفي (daemon). تركز سير العمل الأساسي على لقطات شجرة الوصول التي تعين مراجع عناصر ثابتة (مثل @e1 و@e2)، والتي يستخدمها الوكلاء للنقر والتعبئة وقراءة النص. كما يتم دعم محددات CSS التقليدية والمحددات الدلالية (حسب دور ARIA أو النص أو التسمية أو النص البديل أو العنوان أو data-testid). تفشل النقرات مبكرًا عندما يغطي عنصر آخر الهدف، مع الإبلاغ عن العنصر المغطي ليتمكن الوكلاء من إزالته وإعادة المحاولة. تشمل القدرات الرئيسية: فتح الصفحات والتنقل فيها، والتقاط لقطات شاشة (مع خيارات التعليق التوضيحي وكشف التغيير والحد الأدنى)، وحفظ ملفات PDF، وتقييم JavaScript، والاتصال عبر CDP، وبث WebSocket. يجلب أمر القراءة (read) نصًا قابلًا للقراءة بواسطة الوكلاء من عناوين URL دون تشغيل Chrome، مع دعم اكتشاف llms.txt واستخراج Markdown وإنشاء المخططات التفصيلية. ينفذ التشغيل الدفعي أوامر متعددة في استدعاء واحد لتجنب تكلفة بدء تشغيل العملية لكل أمر. تشمل ميزات الشبكة اعتراض الطلبات، والمحاكاة، وتسجيل HAR، وتصفية الطلبات. تدعم إدارة التبويبات معرفات تبويب ثابتة (t1، t2)، وتسميات يحددها المستخدم، ومعرفات أهداف CDP. يتوفر تبديل الإطارات، ومعالجة مربعات الحوار، والوصول إلى الحافظة، والتحكم في الماوس مع حركة شبيهة بالبشر، وإعدادات المتصفح (منفذ العرض، ومحاكاة الأجهزة، والموقع الجغرافي، والوضع دون اتصال، والترويسات، وبيانات الاعتماد، ونظام الألوان)، وملفات تعريف الارتباط، وإدارة localStorage وsessionStorage. يقارن أمر diff اللقطات أو لقطات الشاشة أو عناوين URL للكشف عن التغييرات البصرية والهيكلية. تشمل أدوات التصحيح تسجيل التتبع، وتوصيف Chrome DevTools، وتسجيل الفيديو مع معدل إطارات قابل للتهيئة وتراكب المؤشر. يتيح WebMCP (تجريبي) الأدوات المقدمة من الصفحة مع الاكتشاف التلقائي وجلب المخطط والاستدعاء، مع حدود أمان للمحتوى غير الموثوق في الصفحة. يوفر أمر الدردشة بالذكاء الاصطناعي تحكمًا بالمتصفح باللغة الطبيعية في وضع لقطة واحدة أو وضع REPL التفاعلي. تم تطوير المشروع بواسطة Vercel Labs وهو متاح على GitHub.