agent-browser
par inferen-shagent-browser permet à des agents IA de contrôler un navigateur basé sur Playwright via inference.sh. Ouvrez des pages, utilisez des références d’éléments @e pour cliquer, saisir du texte, faire glisser-déposer, téléverser des fichiers, extraire du contenu et capturer des captures d’écran ou de la vidéo. Idéal pour l’automatisation web, l’extraction de données et les workflows de navigation pilotés par agents.
Vue d’ensemble
Qu’est-ce qu’agent-browser ?
agent-browser est une compétence d’automatisation de navigateur conçue pour des agents IA s’exécutant sur la plateforme inference.sh. Elle utilise Playwright en interne et expose une interface simple basée sur du JSON pour que les agents puissent :
- Ouvrir et parcourir des pages web dans un véritable navigateur
- Interagir avec les éléments en utilisant des références stables
@e - Cliquer, taper, effectuer des glisser-déposer et téléverser des fichiers
- Extraire des données structurées pour le scraping et la recherche
- Capturer des captures d’écran et enregistrer des vidéos de sessions
Au lieu d’écrire manuellement du code Playwright, vous appelez agent-browser via le CLI infsh (ou depuis un agent capable d’exécuter des commandes Bash). La compétence orchestre la session de navigateur, renvoie des descriptions de page adaptées aux machines et permet à votre agent de piloter l’interaction étape par étape.
À qui s’adresse agent-browser ?
agent-browser s’adresse principalement :
- Aux développeurs qui connectent des agents IA à de vrais sites web
- Aux ingénieurs en automatisation qui ont besoin de workflows de navigation reproductibles
- Aux équipes data et recherche qui font du scraping ciblé ou des études basées sur l’interface
- Aux concepteurs de workflows qui utilisent inference.sh comme couche d’orchestration
La compétence est particulièrement adaptée si vous utilisez déjà inference.sh, ou êtes prêt à l’utiliser, et souhaitez que le navigateur soit un outil contrôlé, accessible à vos agents.
Quels problèmes cela résout-il ?
agent-browser vous aide à traiter des tâches fréquentes d’automatisation de navigateur :
- Automatiser les workflows de connexion, navigation et formulaires
- Scraper du contenu structuré nécessitant une interaction (formulaires de recherche, filtres, pagination)
- Exécuter des parcours « type tests » pilotés par agent sur des sites en production
- Enregistrer des vidéos d’une session de navigation automatisée pour revue
La compétence masque la complexité du scripting Playwright et expose à l’agent un ensemble d’actions de plus haut niveau basées sur les références d’éléments @e, ce qui contribue à garder les interactions stables sur plusieurs étapes.
Quand agent-browser est-il un bon choix ?
Utilisez agent-browser lorsque :
- Vous exécutez des agents via inference.sh et avez besoin qu’ils naviguent sur le web
- Vous souhaitez la fiabilité de Playwright sans écrire de code Playwright
- Vos flux se résument à ouvrir des pages, interagir avec des éléments et lire des résultats
Ce n’est pas forcément un bon choix si :
- Vous ne pouvez pas utiliser le CLI
infshni des outils de type Bash - Vous avez besoin de fonctionnalités Playwright très avancées au-delà de ce que la compétence expose
- Votre cas d’usage est entièrement basé sur des API et ne nécessite pas de vrai navigateur
Si vous avez besoin d’un contrôle très fin des internes du navigateur ou de frameworks au-delà de ce que la compétence propose, vous préférerez peut‑être écrire directement des scripts Playwright. Pour l’automatisation typique pilotée par agents, agent-browser fournit une interface plus simple et plus haut niveau.
Utilisation
Prérequis
Avant d’utiliser agent-browser, assurez-vous de disposer de :
- Un environnement dans lequel vous pouvez exécuter des commandes Bash
- Le CLI inference.sh (
infsh) installé - Un compte inference.sh accessible depuis le CLI
Le Quick Start de la compétence nécessite explicitement le CLI infsh. Vous pouvez suivre les instructions d’installation officielles du CLI dans le dépôt :
- Documentation d’installation du CLI :
https://raw.githubusercontent.com/inference-sh/skills/refs/heads/main/cli-install.md
Une fois infsh installé et configuré, vous pouvez invoquer la compétence agent-browser depuis votre terminal ou depuis tout outil d’agent capable d’exécuter des commandes infsh.
Installation et activation de la compétence
agent-browser est distribuée dans le dépôt inferen-sh/skills. Dans la plupart des environnements basés sur inference.sh, vous n’avez pas besoin d’installer un package npm séparé ; vous devez simplement vous assurer que la compétence est disponible, puis l’appeler via infsh.
Étapes de configuration typiques :
- Installer le CLI inference.sh
- Suivez
cli-install.mddans le dépôt.
- Suivez
- S’authentifier
- Exécutez :
infsh login - Suivez les instructions pour vous authentifier auprès de inference.sh.
- Exécutez :
- Vérifier la disponibilité de la compétence
- Assurez-vous que votre environnement inference.sh a accès à l’application/compétence
agent-browsersoustools/utilities/agent-browserdans le dépôtinferen-sh/skills.
- Assurez-vous que votre environnement inference.sh a accès à l’application/compétence
Si vous vous intégrez à un écosystème de « skills » plus large qui prend en charge npx skills add, vous pouvez également connecter ce dépôt comme source, mais le flux de référence pour utiliser agent-browser passe par infsh app run.
Workflow de base d’automatisation du navigateur
La documentation de la compétence décrit un schéma constant en 4 étapes :
- Open – Démarrer une session de navigateur et naviguer vers une URL.
- Interact – Utiliser les références d’éléments
@erenvoyées pour cliquer, taper, faire glisser ou téléverser. - Re-snapshot – Demander un instantané mis à jour pour obtenir de nouvelles références
@eaprès une navigation ou des changements du DOM. - Close – Terminer la session ; éventuellement récupérer un enregistrement vidéo si l’option est activée.
Ce schéma permet à votre agent de maintenir un modèle mental de l’état de la page. Chaque appel envoie une entrée JSON et reçoit en retour un JSON structuré, que vous réinjectez dans la boucle de raisonnement de votre agent.
Exemple de démarrage rapide
Pour voir agent-browser en action avec une simple ouverture de page, suivez le schéma Quick Start du dépôt :
infsh login
# Ouvrir une page et récupérer les éléments interactifs
infsh app run agent-browser --function open --input '{"url": "https://example.com"}' --session new
Ce que cela fait :
--function openindique à agent-browser de lancer une nouvelle page de navigateur à l’URL fournie.--session newcrée une nouvelle session pour que les actions suivantes réutilisent le même état de navigateur.- La compétence renvoie un JSON qui inclut généralement des descriptions d’éléments et des références
@eque votre agent pourra utiliser dans des appelsinteractultérieurs.
Travailler avec les références d’éléments @e
Une caractéristique clé d’agent-browser est son usage des références @e. Au lieu d’exiger des sélecteurs CSS ou du XPath, la compétence renvoie des identifiants comme @e:button-1 (le format exact dépend de l’implémentation) accompagnés de descriptions lisibles par un humain.
Votre agent :
- Lit la liste des éléments disponibles et leurs descriptions.
- Choisit la référence
@eappropriée (par exemple, le bouton étiqueté « Search »). - Appelle une fonction d’interaction (comme click ou fill) en utilisant cette référence
@e.
Cette conception est optimisée pour les agents IA, qui peuvent raisonner à partir des descriptions plutôt qu’à partir des détails bas niveau du DOM. Elle contribue aussi à rendre les interactions plus robustes même si les sélecteurs sous‑jacents changent, tant que les descriptions restent interprétables.
Exemple : open, click et resnapshot
Un flux multi‑étapes typique peut ressembler à ceci (modèle général ; adaptez aux fonctions spécifiques) :
# 1. Démarrer une session et ouvrir une page
OPEN_RESULT=$(infsh app run agent-browser \
--function open \
--session new \
--input '{"url": "https://example.com"}')
# 2. Utiliser OPEN_RESULT dans la logique de votre agent pour choisir une ref @e (par ex. @e:search-button)
# 3. Interagir avec cet élément
INTERACT_RESULT=$(infsh app run agent-browser \
--function interact \
--session "$INF_SH_SESSION" \
--input '{"action": "click", "element": "@e:search-button"}')
# 4. Re-snapshot après le clic pour récupérer les éléments mis à jour
SNAPSHOT_RESULT=$(infsh app run agent-browser \
--function snapshot \
--session "$INF_SH_SESSION" \
--input '{}')
Les noms des fonctions autres que open peuvent varier : consultez toujours la version la plus récente de SKILL.md et la documentation associée dans tools/utilities/agent-browser pour connaître les signatures de fonctions exactes et le schéma des entrées.
Captures d’écran et enregistrement vidéo
agent-browser peut capturer des artefacts visuels de la session de navigation :
- Captures d’écran – Utiles pour déboguer le comportement de l’agent ou conserver des preuves visuelles.
- Vidéo – Lorsque vous fermez la session avec l’enregistrement activé, la compétence peut renvoyer ou référencer un fichier vidéo du flux automatisé complet.
Ces fonctionnalités se configurent via les options d’entrée de la compétence. Pour les détails sur l’activation de l’enregistrement et l’accès aux sorties, consultez la définition SKILL.md et toute documentation complémentaire sous tools/utilities/agent-browser dans le dépôt.
Conseils d’intégration pour les agents et workflows
Pour tirer le meilleur parti d’agent-browser dans vos workflows d’automatisation ou de recherche :
- Conservez les IDs
--session: assurez-vous que votre agent stocke l’identifiant de session entre les appels pour que plusieurs actions s’exécutent dans le même navigateur. - Analysez soigneusement la sortie JSON : utilisez un parsing JSON robuste dans l’environnement d’exécution de votre agent ; les listes d’éléments et métadonnées peuvent être riches.
- Ralentissez les interactions si nécessaire : si une page est lente ou très dynamique, veillez à ce que votre agent tienne compte des délais et attende l’apparition des éléments entre les étapes lorsque la configuration de la compétence le permet.
- Journalisez les actions clés : gardez une trace des appels
open,interactetclosesi vous avez besoin d’auditer ou de déboguer le comportement de navigation de votre agent.
FAQ
Quel est le lien entre agent-browser, inference.sh et Playwright ?
agent-browser est une compétence qui s’exécute dans l’écosystème inference.sh. Lorsque vous l’appelez via infsh app run, elle utilise Playwright comme moteur d’automatisation de navigateur sous‑jacent. Vous n’appelez pas Playwright directement ; vous travaillez plutôt avec les fonctions de plus haut niveau de la compétence et les références d’éléments @e.
Comment installer agent-browser ?
Vous n’installez pas agent-browser comme binaire autonome ni comme package npm. À la place :
- Installez le CLI inference.sh (
infsh) en suivant les instructions officielles decli-install.md. - Connectez‑vous avec
infsh login. - Assurez-vous que votre environnement a accès à la compétence
agent-browserdans le dépôtinferen-sh/skills(soustools/utilities/agent-browser).
À partir de là, vous pouvez invoquer immédiatement la compétence via infsh app run agent-browser.
Ai-je besoin de compétences en programmation pour utiliser agent-browser ?
Une familiarité de base avec la ligne de commande et JSON est fortement recommandée. Vous n’avez pas besoin d’écrire des scripts Playwright, mais vous devez être à l’aise avec :
- L’exécution de commandes
infsh - Le passage de JSON via
--input - L’analyse de la sortie JSON dans votre agent ou vos scripts
Pour des workflows plus avancés (logique conditionnelle, boucles, gestion d’erreur), des notions générales de scripting ou de programmation sont utiles.
Puis-je utiliser agent-browser en dehors d’inference.sh ?
La compétence est conçue spécifiquement pour inference.sh et décrite comme « Browser automation for AI agents via inference.sh ». La manière prise en charge et documentée de l’exécuter passe par le CLI infsh. Si vous avez besoin d’une bibliothèque autonome, il sera sans doute plus adapté d’utiliser Playwright directement dans le langage de votre choix.
agent-browser convient-il au scraping web à grande échelle ?
agent-browser peut être utilisé pour du scraping ciblé, en particulier lorsque les pages nécessitent des interactions ou du rendu JavaScript. Cependant, pour du scraping à très grande échelle, vous devez prendre en compte :
- Les limites de compte et la tarification inference.sh
- Le respect des conditions d’utilisation des sites cibles et de leur robots.txt
- Les questions de performance, de concurrence et de limitation de débit
Pour du scraping à plus petite échelle ou intégré dans un workflow spécifique piloté par agent, agent-browser est très adapté. Pour du crawling massif sur de nombreux sites, une pile de scraping dédiée sera probablement plus appropriée.
Comment fonctionne la gestion de session ?
La gestion de session est pilotée via l’option --session lorsque vous appelez infsh app run. Un schéma courant consiste à :
- Utiliser
--session newlors du premier appel àopen - Réutiliser cet ID de session pour les appels ultérieurs
interactetsnapshot - Appeler la fonction de fermeture appropriée pour terminer la session et, si nécessaire, récupérer la vidéo
Consultez toujours la version actuelle de SKILL.md pour connaître les options exactes et les sorties relatives à la gestion de session.
Où trouver la spécification complète des fonctions et entrées ?
La référence de base pour agent-browser se trouve dans le dépôt :
SKILL.mdà la racine du dépôtinferen-sh/skills- Le répertoire
tools/utilities/agent-browserpour les détails d’implémentation, exemples et documentation complémentaire
Consultez ces fichiers pour voir la liste actuelle des fonctions, les entrées JSON attendues et les formats de sortie, puis concevez votre agent ou vos scripts en fonction de ces définitions.
