ego (lite) n’est qu’un navigateur ; ego est votre agent personnel sur tous vos appareils.
Rejoindre la liste d'attente
ego lite vs Puppeteer

La meilleure alternative à Puppeteer

Puppeteer est une bibliothèque Node.js pour scripter Chrome en mode headless : vous écrivez le code de navigation, ajustez les sélecteurs, et corrigez le script à chaque refonte du site ciblé.

ego (lite) se passe du script. Votre agent lit directement votre Chrome connecté et écrit son propre JavaScript, terminant des tâches entières 3 à 4x plus vite que Puppeteer.

Utilisé par des développeurs de
GoogleAmazonShopifyTikTokHarvardStanfordUSCUCLA

Pourquoi ego (lite) vaut mieux que Puppeteer

Pour du scraping ponctuel, du remplissage de formulaire, des tests ou des tâches de back-office, le script a toujours été la partie coûteuse : l'écrire, puis le corriger à chaque fois que la page changeait sous vos pieds. ego (lite) transfère ce travail à l'agent que vous utilisez déjà (Claude Code, Codex ou Cursor) via le shell open source ego-browser.

De la tâche à la fin, plus vite

Le tracker de bugs de Puppeteer regorge de timeouts waitForSelector qui se déclenchent alors même que l'élément est bien présent dans le DOM, vous faisant perdre une après-midi à prouver qu'il s'agit d'un bug de timing et non de votre code.

ego (lite) supprime le ballet du wait-and-poll : votre agent lit la page sous forme de Snapshot compressé dès son chargement et agit dessus immédiatement, en regroupant plusieurs étapes dans un seul appel JavaScript par tour. Résultat : des tâches entières terminées 3 à 4x plus vite que Puppeteer.

Time to finish a task, shorter is better
81.8 sego (lite)
282.9 snavigateur pour agents IA
Data source - Task: scrape the main posts from the X account from the last 7 days

Multitâche parallèle, exécution plus rapide

Les développeurs Puppeteer qui dépassent le stade du script unique apprennent vite que la parallélisation implique de gérer son propre pool : options de lancement, contextes de navigateur, et une bibliothèque de file d'attente comme puppeteer-cluster pour plafonner la concurrence avant que Chrome n'engloutisse toute la RAM.

Dans ego (lite), il n'y a aucun pool à dimensionner. Chaque tâche obtient son propre Space dans un seul navigateur, et vous en ouvrez autant que vous voulez, chacun sur son propre profil Chrome importé. Aucun d'eux ne touche l'onglet que vous utilisez, et vous pouvez observer ou reprendre la main sur n'importe quel Space à tout moment.

Fini les allers-retours Moins de jetons consommés

Les scripts Puppeteer bruts ne consomment aucun jeton : ils n'appellent aucun modèle. Le coût apparaît dès que vous encapsulez Puppeteer pour un agent via un serveur MCP comme l'implémentation de référence Puppeteer MCP, car chaque action encapsulée devient un appel d'outil distinct qui renvoie du contexte au modèle, et faute d'outil de Snapshot d'accessibilité, elle s'appuie sur des captures d'écran pour vérifier son propre travail.

L'agent d'ego (lite) regroupe plusieurs actions en quelques lignes de JavaScript par tour, et combiné à l'entrée Snapshot, la même tâche se termine avec bien moins de jetons au total, mesurés par tâche.

Claude Code · ego lite
>/ego-browser Add the first product to the cart, then check checkout loads
Bash(
ego-browser nodejs <<'EOF' await openOrReuseTab('localhost:3000') await click('.product-card') await click('.add-to-cart') await click('a[href="/checkout"]') cliLog('checkout loaded') EOF
)
Output:
[t=4480ms] checkout loaded
Done. Both steps work.
─── 1 tool call · 1.1k tokens ───
Claude Code · Puppeteer MCP
>Add the first product to the cart, then check checkout loads
puppeteer - puppeteer_navigate (MCP)(url: "localhost:3000")
Screenshot
[image: screenshot://home]
1.6k tokens sent so far
Storefront rendered. Opening the first product.
puppeteer - puppeteer_click (MCP)(selector: ".product-card:first-child")
Result
Clicked selector
3.1k tokens sent so far
Product page is up. Now the Add to cart button.
puppeteer - puppeteer_click (MCP)(selector: ".add-to-cart")
Result
Clicked selector
4.9k tokens sent so far
Added, probably. There's no accessibility snapshot to confirm it, so a screenshot is the only way to check.
puppeteer - puppeteer_click (MCP)(selector: "a[href='/checkout']")
Result
Clicked selector
6.8k tokens sent so far
Checking whether the checkout page actually rendered.
puppeteer - puppeteer_screenshot (MCP)(name: "checkout")
Screenshot
[image: screenshot://checkout]
9.2k tokens sent so far
Hard to tell from a screenshot alone. Probing the DOM directly.
puppeteer - puppeteer_evaluate (MCP)(script: "document.querySelector('.checkout-form') !== null")
Result
true
11.2k tokens sent so far
Confirmed. Reading the console for any errors along the way.
puppeteer - console://logs
Console
… +12 lines (ctrl+o to expand)
13.6k tokens sent so far
─── 7 tool calls · 13.6k tokens ───
The same task, the same model. Left: one batched JavaScript call in ego lite, 1.1k tokens total. Right: Puppeteer MCP, 7 round trips, tokens climb to 13.6k.

Le même Chrome, natif pour les agents

Puppeteer lance un Chrome vierge, sans cookies ni sessions, donc tout ce qui se trouve derrière une connexion oblige à scripter le flux d'authentification en espérant que le site ne déclenche pas de captcha ou de demande de 2FA face à un navigateur qu'il ne reconnaît pas. Ce mur du profil vierge est la raison la plus fréquente pour laquelle un script qui fonctionne en dev échoue sur le site réel.

Basé sur Chromium, ego (lite) importe toute votre configuration Chrome en un clic. Vos agents héritent de vos sessions connectées, de vos cookies et de vos extensions sans jamais rester bloqués.

Import du profil Chrome dans ego lite : configuration en un clic avec toutes vos connexions

ego lite vs Puppeteer

Comparaison des fonctionnalités entre ego (lite) et Puppeteer.
Fonctionnalitéego litePuppeteer
Comment le travail se faitDécrivez la tâche : votre agent pilote le navigateurÉcrire et maintenir des scripts Node.js
Gère les changements de pageL'agent relit le Snapshot et s'adapteLes sélecteurs cassent ; vous corrigez le script
Sites déjà connectés (SSO, 2FA)Hérite de votre vrai profil Chrome et de vos sessionsProfil vierge ; scripter la connexion, exporter les cookies
ConfigurationInstallez l'application, exécutez /ego-browser dans votre agentProjet Node, npm install, configuration de lancement
Tâches en parallèleLes Spaces isolent les tâches dans un seul navigateur, aucun pool à dimensionnerGérer soi-même les pools de navigateurs, les contextes et la mémoire
Fonctionne avec des agents IAConçu pour eux : Claude Code, Codex, Cursor via ego-browserPas nativement ; nécessite des wrappers MCP ou du code de liaison sur mesure
Navigateur du quotidienOui : humains et agents partagent un même navigateur, dans des Spaces séparésNon, outil d'automatisation headless
Idéal pour les suites de tests CINon : des tâches d'agent interactives, pas du code de test versionnéOui : déterministe, scriptable, adapté à la CI
Compétences réutilisables (bientôt disponible)Distille les exécutions réussies en compétences réutilisables ; jusqu'à 5 fois plus rapide sur des tâches complexes à mesure que l'agent les répète (bêta limitée)Aucun équivalent intégré
PrixGratuit, sans abonnementGratuit, open source
Dernière mise à jour 28 juil. 2026

Une transition en douceur

Vous ne portez pas vos scripts Puppeteer vers ego (lite). Vous arrêtez d'en écrire. Prenez les tâches que vous scriptiez, ou que vous avez renoncé à scripter, et confiez-les à votre agent.

  1. Télécharger ego (lite)

    Téléchargez ego (lite) et importez votre profil Chrome. Les connexions que vos scripts n'arrivaient jamais à franchir viennent avec.

  2. Lancez votre première tâche avec /ego-browser

    Collez dans votre agent

    /ego-browser Ouvrez ego.app et vérifiez la page à la recherche d'erreurs console

    Lancez /ego-browser dans Claude Code, Codex ou Cursor.

  3. Regardez-le travailler
    Vue d'ensemble des Spaces ego lite avec quatre tâches de navigateur exécutées côte à côte : Claude Code suivant l'action Apple sur Yahoo Finance, Codex filtrant des voitures par année sur cars.com, Hermes terminant une tâche de back-office SaaS, un utilisateur scrapant X, et une main appuyant sur + pour ouvrir un autre Space

    Choisissez une tâche que vous scripteriez habituellement, comme extraire une page d'annonces ou remplir un formulaire de back-office, et décrivez-la à l'agent en une phrase.

Gardez Puppeteer là où le script gagne vraiment : les suites CI déterministes et les jobs planifiés à gros volume. ego (lite) couvre le travail de navigateur interactif, qui change chaque semaine.

Quand utiliser chaque outil

Choisissez ego (lite) quand

  • La tâche change chaque semaine. Un agent s'adapte aux changements de page au lieu de casser sur un sélecteur obsolète.
  • Vous avez besoin d'un vrai état de connexion : scraper vos propres comptes, remplir des formulaires de back-office, tester derrière un SSO.
  • Vous n'avez jamais trouvé le temps de le scripter. Décrivez la tâche à Claude Code, Codex ou Cursor, et c'est fait.
  • Vous voulez plusieurs tâches tournant en parallèle dans des Spaces, sans dimensionner de pool de navigateurs ni surveiller la mémoire.

Choisissez Puppeteer quand

  • Vous avez besoin de scripts déterministes et reproductibles, versionnés dans un dépôt et exécutés en CI.
  • Vous faites tourner des jobs planifiés à gros volume : des milliers d'exécutions identiques où un agent ajouterait du coût, pas de la valeur.
  • Vous avez besoin d'une exécution headless sur des serveurs sans environnement de bureau.
  • Vous générez des PDF ou des captures d'écran de façon programmatique. C'est le cœur de métier de Puppeteer.

Donnez à votre agent un vrai navigateur

Gratuit, fonctionne sur votre Mac, importe votre profil Chrome en un clic. Compatible avec Claude Code, Codex, Cursor et tout agent CLI qui écrit du code.

Vous hésitez encore ? Découvrez comment Puppeteer se compare aux autres outils de cette catégorie.

FAQ

Puppeteer est la bibliothèque d'automatisation Node.js de l'équipe Chrome, qui pilote Chrome et Firefox via le DevTools Protocol et WebDriver BiDi. Elle est mature, rapide, gratuite, et reste un choix courant pour scripter des scrapers Chrome uniquement, générer des PDF ou faire du test headless, même si Playwright a pris l'avantage dans l'adoption générale des frameworks de test. Son propre tracker de bugs documente une vraie instabilité de waitForSelector autour de la navigation et des reconnexions, et les équipes qui le font tourner à grande échelle finissent par gérer des pools de navigateurs, des contextes et de la mémoire à la main. Pour du code d'automatisation ajusté à la main et versionné en CI, Puppeteer reste néanmoins excellent. La comparaison ci-dessous porte sur ce qui se passe quand c'est un agent IA, et non un script, qui navigue.

Pour le travail de navigateur piloté par un agent IA, oui : il supprime entièrement la couche script et exécute les tâches dans votre vrai Chrome connecté, ce qui en fait l'une des rares alternatives à Puppeteer conçues pour les agents plutôt que pour plus de scripting. Pour du code d'automatisation déterministe et versionné en CI, Puppeteer reste le meilleur outil. Beaucoup de développeurs utilisent les deux : Puppeteer pour les pipelines, ego (lite) pour tout ce qu'ils n'ont jamais eu le temps de scripter.

Les trois sont des bibliothèques d'automatisation d'abord scriptées, et le choix entre playwright vs puppeteer ou puppeteer vs selenium dépend surtout de ce que vous testez et dans quel langage. Puppeteer gagne quand vous êtes Chrome uniquement en Node et voulez une API légère au niveau DevTools. Playwright prend généralement l'avantage pour les nouvelles suites de tests : couverture multi-navigateurs, attente automatique, et un test runner plus robuste. Selenium vs Puppeteer est plus serré, et selenium ou puppeteer, lequel choisir, dépend surtout du langage et de la configuration CI plutôt que des capacités brutes : l'atout de Selenium est le standard W3C WebDriver et le support le plus large de langages et de navigateurs historiques, au prix de plus de code répétitif. ego (lite) ne participe pas du tout à ce débat, puisque c'est un navigateur pour agents IA où un agent IA fait la navigation au lieu que l'un des trois la scripte. Voir nos pages ego (lite) vs Playwright et ego (lite) vs Selenium pour ces comparaisons.

Les wrappers MCP autour de Puppeteer donnent à un agent l'accès au navigateur, mais chaque action est un aller-retour d'outil séparé vers le modèle, et le navigateur reste un profil vierge en dessous. ego (lite) regroupe les actions en JavaScript et hérite de votre vrai état de connexion, si bien que le coût en jetons par tâche reste faible et que l'agent ne se heurte jamais à un mur SSO que le wrapper ne peut pas franchir.

Les sélecteurs sont liés au balisage exact d'une page : noms de classe, ordre du DOM, structure ARIA. Une refonte, un test A/B ou une mise à jour de framework sur le site ciblé change ce balisage, et vos appels waitForSelector se mettent à expirer, souvent de façon intermittente, exactement le type d'instabilité signalé de façon répétée sur le propre tracker de Puppeteer. L'agent d'ego (lite) ne s'accroche à aucun sélecteur fixe. Il lit la page actuelle sous forme de Snapshot à chaque fois et raisonne sur ce qui s'y trouve réellement, si bien qu'une refonte est quelque chose auquel il s'adapte à la prochaine exécution, plutôt que quelque chose qui casse le script.

Non. Faire passer Puppeteer à l'échelle au-delà d'un script unique implique en général de monter un pool (puppeteer-cluster, generic-pool, ou votre propre file d'attente) pour plafonner la concurrence avant que l'usage mémoire de Chrome ne devienne incontrôlable. Les Spaces d'ego (lite) tournent dans un seul processus de navigateur déjà ouvert, donc exécuter cinq tâches à la fois ne veut pas dire cinq instances de navigateur à surveiller.

Oui. Tout agent CLI capable d'écrire du code se connecte via le shell ego-browser sous licence MIT : Claude Code, Codex, Cursor, Gemini CLI, OpenCode, et vos agents internes personnalisés.

Oui. Gratuit, sans abonnement, et le shell ego-browser est open source.