MOLI : le navigateur headless qui ne rend que ce que l’agent demande
📌 MOLI est un navigateur headless open source (licence Apache-2.0 ou MIT, au choix), écrit en Rust par l’équipe Lexmount et pensé dès la conception pour les agents d’IA : la structure et l’exécution des pages restent disponibles en permanence, mais la mise en page et les pixels ne sont calculés que lorsqu’on les lui demande.
Un agent qui ouvre une page web n’a presque jamais besoin d’une image rendue en continu. Il veut le DOM, le texte, les liens, l’état des formulaires, les réponses réseau. Chrome, lui, entretient toute une chaîne — arbre de boîtes, mise en page, peinture — cadencée à 60 images par seconde, même quand personne ne regarde. Moli inverse la logique : le DOM natif et les styles sont la source de vérité, et le reste ne s’exécute qu’à la demande. Extraire du Markdown ne déclenche aucune mise en page ; une capture d’écran reconstruit un arbre figé, produit une image, puis jette son état de rendu.
- ⚙️ Un seul binaire parle CDP, WebDriver Classic et WebDriver BiDi : Playwright ou Selenium se connectent directement, sans ChromeDriver ni geckodriver.
- 🖥️ Rendu à la demande : screenshots, PDF et screencast ne se calculent que si une opération y fait appel, via le flag
--layout. - 📉 Environ sept fois moins de mémoire que Chrome au repos et un tiers en pic, avec des démarrages à froid environ cinq fois plus rapides, mesurés en interne sur des charges RL.
- 🔬 Dans Lexbench, 92 MiB de pic mémoire médian par tâche contre 697 MiB pour Chrome, pour un temps CPU environ huit fois plus faible.
- 🧪 1,6 million de tests WPT validés et une fidélité DOM confirmée sur plus de mille sites Vue, React et Angular.
Le moteur ne surfe pas sur Chromium : il assemble des briques Rust éprouvées — html5ever pour le HTML, le V8 de rusty_v8 pour le JavaScript, Servo/Stylo pour les styles, Taffy et Parley pour la mise en page, Vello pour la peinture logicielle. La démonstration la plus parlante, c’est un jeu HTML5 fonctionnant sur requestAnimationFrame et au clavier, exécuté dans le navigateur et inspecté en direct via Chrome DevTools. Sur le benchmark cinq moteurs, Moli passe 81,9 % des 1 308 tâches comparables, derrière Chrome à 99,8 %, mais devant Kitesurf, Lightpanda et Obscura. Sur un parcours public de 192 pages, il rapporte même légèrement plus de contenu utile que Chrome headless (103 pages contre 101).
Les limites sont assumées : pas de fenêtre persistante, pas de compositeur GPU, pas de fidélité pixel-perfect ni de rendu haute fidélité pour Canvas, WebGL ou les médias. Pour les tâches qui n’ont besoin que de la structure et d’une capture occasionnelle, le compromis est cohérent. Et Moli fonctionne sans le cloud Lexmount, en local sur Linux, macOS et Windows ; Lexmount Browser n’est que l’enveloppe managée construite autour de lui.
Je trouve l’approche juste. Au lieu d’ajouter un SDK d’agent par-dessus un navigateur pour humains, Moli part du métier réel d’un agent et taille dedans. C’est ce qui rend le projet intéressant à suivre — et utilisable immédiatement en CLI ou en un curl pour l’installer.
Sources






