Répertoire d'outils
Catégories
on-device-browser-agent — Automatisation de navigateur IA sur appareil avec WebLLM. Pas de cloud, pas de clés API, entièrement privé. | Kitploit
Outils / GitHub / runanywhereai / on-device-browser-agent
runanywhereai/on-device-browser-agent on-device-browser-agent Automatisation de navigateur IA sur appareil avec WebLLM. Pas de cloud, pas de clés API, entièrement privé.
296 29 7 il y a 21 joursDécouvrez les outils les plus utilisés par notre communauté.
7 derniers jours 30 derniers jours
Local Browser - Automatisation Web IA sur Appareil
Une extension Chrome qui utilise WebLLM pour exécuter de l'automatisation Web alimentée par IA entièrement sur l'appareil. Pas d'API cloud, pas de clés API, entièrement privé.
Démo
https://github.com/user-attachments/assets/898cc5c2-db77-4067-96e6-233c5da2bae5
Fonctionnalités
IA sur l'appareil : Utilise WebLLM avec accélération WebGPU pour l'inférence LLM locale
Système multi-agent : Agents Planificateur + Navigateur pour l'exécution intelligente de tâches
Automatisation du navigateur : Naviguer, cliquer, taper, extraire des données de pages Web
Confidentialité d'abord : Toute l'IA s'exécute localement, aucune donnée ne quitte votre appareil
Support hors ligne : Fonctionne hors ligne après le téléchargement initial du modèle
Démarrage rapide
Prérequis
Chrome 124+ (requis pour WebGPU dans les service workers)
Node.js 18+ et npm
GPU avec prise en charge de WebGPU (la plupart des GPU modernes fonctionnent)
Installation
Cloner et installer les dépendances :
cd local-browser
npm install
Compiler l'extension :
Charger dans Chrome :
Ouvrir chrome://extensions
Activer le "Mode développeur" (en haut à droite)
Cliquer sur "Charger l'extension non empaquetée"
Sélectionner le dossier dist de ce projet
Premier lancement :
Cliquer sur l'icône de l'extension dans votre barre d'outils
Le premier lancement téléchargera le modèle IA (~1 Go)
Il est mis en cache pour une utilisation ultérieure
Utilisation
Naviguer vers n'importe quelle page Web
Cliquer sur l'icône de l'extension Local Browser
Saisir une tâche comme :
"Rechercher 'WebGPU' sur Wikipédia et extraire le premier paragraphe"
"Aller sur example.com et me dire ce qu'il y a"
"Trouver la zone de recherche et chercher 'Actualités IA'"
Regarder l'IA exécuter la tâche étape par étape
Développement
Mode développement Ceci surveille les changements et reconstruit automatiquement.
Structure du projet local-browser/
├── manifest.json # Chrome extension manifest (MV3)
├── src/
│ ├── background/ # Service worker
│ │ ├── index.ts # Entry point & message handling
│ │ ├── llm-engine.ts # WebLLM wrapper
│ │ └── agents/ # AI agent system
│ │ ├── base-agent.ts
│ │ ├── planner-agent.ts
│ │ ├── navigator-agent.ts
│ │ └── executor.ts
│ ├── content/ # Content scripts
│ │ ├── dom-observer.ts # Page state extraction
│ │ └── action-executor.ts
│ ├── popup/ # React popup UI
│ │ ├── App.tsx
│ │ └── components/
│ └── shared/ # Shared types & constants
└── dist/ # Build output
L'utilisateur saisit une tâche dans l'interface de la popup
L'Agent Planificateur analyse la tâche et crée une stratégie de haut niveau
L'Agent Navigateur examine le DOM de la page actuelle et décide de la prochaine action
Le script de contenu exécute l'action (clic, saisie, extraction, etc.)
La boucle continue jusqu'à ce que la tâche soit terminée ou échoue
Système d'agents L'extension utilise une architecture à deux agents inspirée de Nanobrowser :
PlannerAgent : Planification stratégique, crée une approche étape par étape
NavigatorAgent : Exécution tactique, choisit des actions spécifiques en fonction de l'état de la page
Les deux agents produisent du JSON structuré qui est analysé et exécuté.
Configuration du modèle Modèle par défaut : Qwen2.5-1.5B-Instruct-q4f16_1-MLC (~1 Go)
Modèles alternatifs (configurés dans src/shared/constants.ts) :
Phi-3.5-mini-instruct-q4f16_1-MLC (~2 Go, meilleur raisonnement)
Llama-3.2-1B-Instruct-q4f16_1-MLC (~0,7 Go, plus petit)
Dépannage
WebGPU non pris en charge
Mettre à jour Chrome vers la version 124 ou ultérieure
Vérifier chrome://gpu pour confirmer l'état de WebGPU
Certains GPU peuvent ne pas prendre en charge WebGPU
Échec du chargement du modèle
Assurez-vous d'avoir assez d'espace disque (~2 Go libres)
Vérifiez la console du navigateur pour les erreurs
Essayez d'effacer le stockage de l'extension et de recharger
Les actions ne s'exécutent pas
Certaines pages bloquent les scripts de contenu (chrome://, pages d'extension)
Essayez sur une page Web normale comme wikipedia.org
L'extension ne fonctionne pas après une mise à jour de Chrome
Aller dans chrome://extensions
Cliquer sur le bouton de rechargement de l'extension
Limitations
Portée POC : Ceci est une preuve de concept, pas un logiciel de production
Pas de vision : Utilise une analyse DOM uniquement textuelle (pas de compréhension de captures d'écran)
Onglet unique : Fonctionne uniquement avec l'onglet actuellement actif
Actions de base : Prend en charge la navigation, le clic, la saisie, l'extraction, le défilement, l'attente
Taille du modèle : Les modèles plus petits peuvent avoir du mal avec des tâches complexes
Pile technologique
WebLLM : Inférence LLM sur l'appareil avec WebGPU
React : Interface de la popup
TypeScript : Développement typé
Vite + CRXJS : Empaquetage d'extension Chrome
Chrome Extension Manifest V3 : Architecture d'extension moderne
Crédits Ce projet est inspiré par :
Nanobrowser - Automatisation Web multi-agent (Licence MIT)
WebLLM - Inférence LLM dans le navigateur (Licence Apache-2.0)
Licences des dépendances Paquet Licence @mlc-ai/web-llm Apache-2.0 React MIT Vite MIT @crxjs/vite-plugin MIT TypeScript Apache-2.0
Licence Licence MIT - Voir le fichier LICENSE pour les détails.