on-device-browser-agent — أتمتة المتصفح بالذكاء الاصطناعي على الجهاز باستخدام WebLLM. لا سحابة، لا مفاتيح API، خصوصية كاملة. | Kitploit
runanywhereai/on-device-browser-agenton-device-browser-agent
أتمتة المتصفح بالذكاء الاصطناعي على الجهاز باستخدام WebLLM. لا سحابة، لا مفاتيح API، خصوصية كاملة.
296297منذ 20 أيام
اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.
المتصفح المحلي - أتمتة الويب بالذكاء الاصطناعي على الجهاز
إضافة كروم تستخدم WebLLM لتشغيل أتمتة الويب بالذكاء الاصطناعي بالكامل على الجهاز. لا واجهات برمجة تطبيقات سحابية، لا مفاتيح API، خصوصية كاملة.
عرض توضيحي
https://github.com/user-attachments/assets/898cc5c2-db77-4067-96e6-233c5da2bae5
الميزات
- ذكاء اصطناعي على الجهاز: يستخدم WebLLM مع تسريع WebGPU للاستدلال المحلي لنماذج اللغة الكبيرة
- نظام متعدد الوكلاء: وكلاء المخطط والملاح لتنفيذ المهام بذكاء
- أتمتة المتصفح: التنقل، النقر، الكتابة، استخراج البيانات من صفحات الويب
- الخصوصية أولاً: كل الذكاء الاصطناعي يعمل محلياً، لا تغادر بياناتك جهازك
دعم العمل دون اتصال: يعمل دون اتصال بعد تنزيل النموذج الأوليبدء سريع
المتطلبات الأساسية
- Chrome 124+ (مطلوب لـ WebGPU في service workers)
- Node.js 18+ و npm
- GPU مع دعم WebGPU (معظم وحدات معالجة الرسومات الحديثة تعمل)
التثبيت
-
استنساخ المستودع وتثبيت التبعيات:
cd local-browser
npm install
-
بناء الإضافة:
-
التحميل في Chrome:
- افتح
chrome://extensions
- فعّل "Developer mode" (أعلى اليمين)
- انقر "Load unpacked"
- اختر مجلد
dist من هذا المشروع
-
التشغيل الأول:
- انقر على أيقونة الإضافة في شريط الأدوات
- في التشغيل الأول سيتم تنزيل نموذج الذكاء الاصطناعي (~1 جيجابايت)
- سيتم تخزينه مؤقتاً للاستخدام المستقبلي
الاستخدام
- انتقل إلى أي صفحة ويب
- انقر على أيقونة إضافة Local Browser
- اكتب مهمة مثل:
- "ابحث عن 'WebGPU' على ويكيبيديا واستخرج الفقرة الأولى"
- "اذهب إلى example.com وأخبرني بما يوجد هناك"
- "اعثر على مربع البحث وابحث عن 'أخبار الذكاء الاصطناعي'"
- شاهد الذكاء الاصطناعي ينفذ المهمة خطوة بخطوة
التطوير
وضع التطوير
هذا يراقب التغييرات ويعيد البناء تلقائياً.
هيكل المشروع
local-browser/
├── manifest.json # بيان إضافة كروم (MV3)
├── src/
│ ├── background/ # Service worker
│ │ ├── index.ts # نقطة الدخول ومعالجة الرسائل
│ │ ├── llm-engine.ts # غلاف WebLLM
│ │ └── agents/ # نظام الوكلاء الذكيين
│ │ ├── base-agent.ts
│ │ ├── planner-agent.ts
│ │ ├── navigator-agent.ts
│ │ └── executor.ts
│ ├── content/ # نصوص المحتوى
│ │ ├── dom-observer.ts # استخراج حالة الصفحة
│ │ └── action-executor.ts
│ ├── popup/ # واجهة المستخدم المنبثقة (React)
│ │ ├── App.tsx
│ │ └── components/
│ └── shared/ # الأنواع والثوابت المشتركة
└── dist/ # مخرجات البناء
كيف يعمل
- يدخل المستخدم مهمة في واجهة النافذة المنبثقة
- الوكيل المخطط (Planner Agent) يحلل المهمة وينشئ استراتيجية عالية المستوى
- الوكيل الملاح (Navigator Agent) يفحص DOM الحالي للصفحة ويقرر الإجراء التالي
- نص المحتوى ينفذ الإجراء (نقر، كتابة، استخراج، إلخ)
- تستمر الحلقة حتى تكتمل المهمة أو تفشل
نظام الوكلاء
تستخدم الإضافة بنية وكيلين مستوحاة من Nanobrowser:
- PlannerAgent: تخطيط استراتيجي، ينشئ نهجاً خطوة بخطوة
- NavigatorAgent: تنفيذ تكتيكي، يختار إجراءات محددة بناءً على حالة الصفحة
كلا الوكيلين ينتجان JSON منظم يتم تحليله وتنفيذه.
إعدادات النموذج
النموذج الافتراضي: Qwen2.5-1.5B-Instruct-q4f16_1-MLC (~1 جيجابايت)
نماذج بديلة (مكونة في src/shared/constants.ts):
Phi-3.5-mini-instruct-q4f16_1-MLC (~2 جيجابايت، استدلال أفضل)
Llama-3.2-1B-Instruct-q4f16_1-MLC (~0.7 جيجابايت، أصغر)
استكشاف الأخطاء وإصلاحها
WebGPU غير مدعوم
- قم بتحديث Chrome إلى الإصدار 124 أو أحدث
- تحقق من
chrome://gpu للتأكد من حالة WebGPU
- بعض وحدات معالجة الرسومات قد لا تدعم WebGPU
فشل تحميل النموذج
- تأكد من وجود مساحة كافية على القرص (~2 جيجابايت فارغة)
- تحقق من وحدة تحكم المتصفح بحثاً عن أخطاء
- حاول مسح تخزين الإضافة وإعادة التحميل
الإجراءات لا تنفذ
- بعض الصفحات تمنع نصوص المحتوى (chrome://، صفحات الإضافات)
- جرب على صفحة ويب عادية مثل wikipedia.org
الإضافة لا تعمل بعد تحديث Chrome
- اذهب إلى
chrome://extensions
- انقر على زر إعادة التحميل للإضافة
القيود
- نطاق إثبات المفهوم: هذا برهان مفهوم، وليس برنامجاً إنتاجياً
- لا رؤية بصرية: يستخدم تحليل DOM نصي فقط (لا فهم للقطات الشاشة)
- علامة تبويب واحدة: يعمل فقط مع علامة التبويب النشطة حالياً
- إجراءات أساسية: يدعم التنقل، النقر، الكتابة، الاستخراج، التمرير، الانتظار
- حجم النموذج: النماذج الأصغر قد تواجه صعوبة في المهام المعقدة
التقنيات المستخدمة
- WebLLM: استدلال نموذج اللغة الكبير على الجهاز باستخدام WebGPU
- React: واجهة المستخدم المنبثقة
- TypeScript: تطوير آمن من حيث الأنواع
- Vite + CRXJS: تجميع إضافات كروم
- Chrome Extension Manifest V3: بنية إضافات حديثة
الإسناد
- Nanobrowser - أتمتة ويب متعددة الوكلاء (رخصة MIT)
- WebLLM - استدلال نموذج اللغة الكبير في المتصفح (رخصة Apache-2.0)
تراخيص التبعيات
| الحزمة | الترخيص |
|---|
| @mlc-ai/web-llm | Apache-2.0 |
| React | MIT |
| Vite | MIT |
| @crxjs/vite-plugin | MIT |
| TypeScript | Apache-2.0 |
الترخيص
MIT License - انظر ملف LICENSE للتفاصيل.