À propos du projet
agent-browser est un CLI d'automatisation de navigateur, compilé en binaire natif Rust, spécifiquement conçu pour les agents IA. Il s'installe via npm, Homebrew ou Cargo, et télécharge Chrome depuis Chrome for Testing lors de la première utilisation. Les installations existantes de Chrome, Brave, Playwright et Puppeteer sont détectées automatiquement. Aucun Playwright ni Node.js n'est requis pour le daemon.
Le flux de travail principal repose sur des instantanés d'arbre d'accessibilité qui attribuent des références d'éléments stables (comme @e1, @e2), utilisées par les agents pour cliquer, remplir et lire du texte. Les sélecteurs CSS traditionnels et les localisateurs sémantiques (par rôle ARIA, texte, libellé, placeholder, alt, titre ou data-testid) sont également pris en charge. Les clics échouent rapidement lorsqu'un autre élément couvre la cible, signalant l'élément couvrant pour que les agents puissent le fermer et réessayer.
Les capacités clés incluent : ouvrir et naviguer dans des pages, prendre des captures d'écran (avec annotation, détection de changement et options de seuil), enregistrer des PDF, évaluer du JavaScript, se connecter via CDP et diffuser en WebSocket. La commande read récupère du texte lisible par agent depuis des URL sans lancer Chrome, prenant en charge la découverte llms.txt, l'extraction Markdown et la génération de plans.
L'exécution par lots exécute plusieurs commandes en une seule invocation pour éviter les frais de démarrage de processus par commande. Les fonctionnalités réseau incluent l'interception de requêtes, la simulation, l'enregistrement HAR et le filtrage de requêtes. La gestion des onglets prend en charge des identifiants stables (t1, t2), des libellés définis par l'utilisateur et des identifiants de cible CDP. Le changement de cadre, la gestion des boîtes de dialogue, l'accès au presse-papiers, le contrôle de la souris avec mouvement humain, les paramètres du navigateur (fenêtre d'affichage, émulation de périphérique, géolocalisation, mode hors ligne, en-têtes, identifiants, schéma de couleurs), les cookies et la gestion de localStorage/sessionStorage sont tous disponibles.
La commande diff compare des instantanés, des captures d'écran ou des URL pour détecter des changements visuels et structurels. Les outils de débogage incluent l'enregistrement de trace, le profilage Chrome DevTools et l'enregistrement vidéo avec fps configurable et superposition de curseur.
WebMCP (expérimental) permet des outils fournis par la page avec découverte automatique, récupération de schéma et invocation, avec des limites de sécurité pour le contenu de page non fiable. Une commande de chat IA fournit un contrôle de navigateur en langage naturel en mode monoshot ou interactif REPL.
Le projet est développé par Vercel Labs et disponible sur GitHub.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.