Vibium - un outil d’automatisation de navigateur pour l’IA et les humains
(github.com/VibiumDev)- Projet open source d’automatisation de navigateur redéveloppé en pensant aux agents IA par Jason Huggins, qui avait créé Selenium il y a 21 ans
- Vibium est une infrastructure d’automatisation de navigateur pour les agents IA, qui gère le cycle de vie du navigateur et le protocole WebDriver BiDi dans un binaire unique, tout en exposant un serveur MCP
- Clicker, un binaire Go unique de 10 Mo, détecte et lance automatiquement Chrome, et permet à des modèles d’IA ou à des clients JS de contrôler le navigateur via un proxy BiDi et un serveur MCP
- Le client JS/TS prend en charge à la fois des API synchrones et asynchrones, et peut être utilisé immédiatement après installation avec
npm install vibium - Des agents LLM comme Claude Code peuvent ajouter des capacités de contrôle du navigateur avec une seule commande
claude mcp add vibium - Adapté à la fois à l’automatisation par IA et à l’automatisation de tests, il fournit un environnement de contrôle du navigateur sans configuration
Présentation de Vibium
- Vibium est une infrastructure d’automatisation de navigateur pour les agents IA et les utilisateurs humains
- Un binaire Go unique regroupe la gestion du navigateur, un proxy WebDriver BiDi et les fonctions de serveur MCP
- Compatible avec divers modèles LLM comme Claude Code, Codex et Gemini
- Son architecture fonctionne immédiatement sans procédure d’installation, ce qui la rend exploitable pour les agents IA comme pour les environnements d’automatisation de tests
Composants
- Clicker : binaire Go d’environ 10 Mo, qui assure les fonctions suivantes
- Détection automatique de Chrome et lancement en mode BiDi
- Transmission des commandes via un serveur proxy BiDi fondé sur WebSocket
- Communication avec les agents LLM via un serveur MCP
- Fonction Auto-Wait pour attendre les éléments avant interaction
- Fonction de capture de captures d’écran
- Client JS/TS : fourni sous forme de paquet npm, avec prise en charge des API synchrones (
browserSync) et asynchrones (browser)- Contrôle du navigateur avec des commandes simples comme
vibe.go(),vibe.find(),vibe.click()etvibe.quit() - Inclut les fonctions d’automatisation de base comme l’enregistrement de captures d’écran, la recherche d’éléments et le clic
- Contrôle du navigateur avec des commandes simples comme
Intégration avec les agents IA
- Commande pour ajouter le contrôle du navigateur à Claude Code :
claude mcp add vibium -- npx -y vibium- Chrome est téléchargé automatiquement, sans configuration supplémentaire
- Liste des commandes fournies
browser_launch: lancer le navigateurbrowser_navigate: aller vers une URLbrowser_find: rechercher un élément via un sélecteur CSSbrowser_click: cliquer sur un élémentbrowser_type: saisir du textebrowser_screenshot: capturer le viewportbrowser_quit: fermer le navigateur
Installation pour les utilisateurs humains
- Installation automatique avec la commande
npm install vibium- Télécharge dans le cache, selon la plateforme, le binaire Clicker, Chrome for Testing et chromedriver
- Linux :
~/.cache/vibium/, macOS :~/Library/Caches/vibium/, Windows :%LOCALAPPDATA%\vibium\
- La variable d’environnement
VIBIUM_SKIP_BROWSER_DOWNLOAD=1permet d’ignorer le téléchargement du navigateur
Prise en charge des plateformes
- Prise en charge de Linux x64, macOS (Intel/Apple Silicon) et Windows x64
Démarrage rapide
- Exemple d’utilisation de la bibliothèque
import { browser } from "vibium"; const vibe = await browser.launch(); await vibe.go("https://example.com"); const el = await vibe.find("a"); await el.click(); await vibe.quit(); - Exemple d’intégration avec Claude Code
- Après l’installation, il est possible de piloter le navigateur avec une commande comme « Go to example.com and click the first link »
Feuille de route
- V1 : priorité au contrôle du navigateur via MCP et le client JS
- Plan V2
- Clients Python et Java
- Cortex (couche mémoire et navigation)
- Retina (fonctionnalités d’extension pour l’enregistrement)
- Enregistrement vidéo et recherche d’éléments assistée par IA
1 commentaires
Commentaires Hacker News
Selenium a eu un impact majeur sur ma carrière. Un immense merci, sincèrement
J’utilise Playwright ces temps-ci, mais la nouvelle approche de Vibium m’intrigue
Je me demande si Vibium prend en charge l’injection de JS, la modification du DOM, ainsi que la surveillance et la modification des requêtes réseau. Avec Playwright, j’utilise presque toujours ces fonctionnalités
Intéressant. J’utilisais récemment dev-browser, ce qui m’apportait une meilleure conservation du contexte et plus de vitesse. Je compte clairement tester Vibium aussi
En tant que personne qui vit de l’automatisation d’interface depuis plus de 10 ans, merci à Selenium. Aujourd’hui, Playwright est de facto le standard, mais Selenium a été le pilote de navigateur originel. Je me demande en quoi Vibium diffère de Playwright
Je suis la personne qui avait aidé Atlassian à étendre ses tests avec Selenium à l’époque. Je me souviens de nos échanges d’il y a 13 à 15 ans. Ravi de voir que vous êtes toujours actif dans ce domaine
Je me demande si la migration d’anciens scripts Selenium vers Vibium permettra de profiter d’une fonction de self-heal en cas d’échec des tests
Je me demande comment l’agent trouve le sélecteur CSS quand il capture l’écran avec
browser_screenshotpuis doit cliquer. Avec une simple capture d’écran, il est difficile de connaître le type des élémentsbrowser_evaluatepour récupérer l’arbre d’accessibilité en JS et permettre l’exploration à partir de là. Voir la roadmap V2 pour plus de détailsPour laisser un outil comme Claude utiliser librement l’automatisation du navigateur, il faut une fonction de verrouillage du navigateur n’autorisant que certaines URL. Je me demande si c’est sur la roadmap
browser_navigate. Un script de whitelist se configure en 5 minutes. Pour des politiques plus complexes, on peut utiliser cupcake et Rego. Référence : documentation Claude Code HooksJ’envisageais de créer quelque chose de similaire à Skyvern, mais je me demande pourquoi vous avez choisi de créer un nouveau Vibium plutôt qu’une extension de Selenium
Je me demande comment vous gérez le problème de surcharge de contexte (context bloat) entre le navigateur et le LLM. La question porte aussi sur une éventuelle exposition de fichiers de tracing comme dans Playwright, ou sur la possibilité d’autoriser l’exécution de JS