Libretto : Génération Déterministe d'Automatisation de Navigateur pour les Agents d'IA de Programmation

Libretto est une boîte à outils pour créer des intégrations web robustes qui donne à votre agent de codage un navigateur en direct et un CLI économe en tokens. Il passe d'agents d'IA en temps d'exécution qui fonctionnent comme des boîtes noires à une "IA en temps de développement" où les scripts sont générés à l'avance sous forme de code réel que vous pouvez lire, modifier, versionner et déboguer.
Fonctionnalités clés et approche
Libretto adopte une approche hybride combinant l'automatisation d'interface utilisateur Playwright avec des requêtes réseau/API directes au sein de la session du navigateur pour une meilleure fiabilité et une évasion de la détection des bots. Cela répond aux limitations des outils d'IA en temps d'exécution qui reposent sur l'analyse DOM personnalisée, ce qui peut être peu fiable sur des sites web anciens ou complexes comme les systèmes de santé.
L'outil a été construit après un an de maintenance d'automatisations de navigateur pour les intégrations de portails EHR et payeurs dans une startup de santé, où le débogage des automatisations échouées prenait beaucoup de temps. Il aborde quatre problèmes principaux des outils d'IA en temps d'exécution :
- Dépendance à l'analyse DOM personnalisée qui est peu fiable sur les sites web complexes
- Coûts élevés dus à de nombreux appels d'IA et incapacité à mettre en cache les actions de manière fiable
- Manque d'interprétabilité en temps d'exécution
- Aide limitée pour générer de nouvelles automatisations ou déboguer les échecs
Utilisation pratique
L'installation se fait via npm : npm install libretto. La configuration initiale nécessite : npx libretto setup qui installe la compétence, télécharge Chromium et épingle le modèle de capture par défaut. Vous pouvez vérifier la préparation de l'espace de travail avec npx libretto status et modifier manuellement le modèle d'analyse de capture avec npx libretto ai configure <openai | anthropic | gemini | vertex>.
Libretto est conçu pour être utilisé comme une compétence via votre agent de codage avec des invites d'exemple incluant :
- Génération de script en une seule fois : "Utilisez la compétence Libretto. Allez sur LinkedIn et scrapez les 10 premiers posts pour le contenu, qui l'a posté, le nombre de réactions, les 25 premiers commentaires et les 25 premiers reposts."
- Construction interactive de script : "Je vais vous montrer un workflow dans l'EHR eclinicalworks pour obtenir l'ID d'assurance primaire d'un patient. Utilisez la compétence libretto pour le transformer en un script playwright qui prend le nom et la date de naissance du patient en entrée pour récupérer l'ID d'assurance."
- Convertir l'automatisation du navigateur en requêtes réseau : "Nous avons un script de navigateur à ./integration.ts qui automatise l'accès à Hacker News et récupère les 10 premiers posts. Convertissez-le en scripts réseau directs à la place."
- Réparer les intégrations cassées : "Nous avons un script de navigateur à ./integration.ts qui est censé aller sur Availity et effectuer une vérification d'éligibilité pour un patient. Mais j'obtiens une erreur de sélecteur cassé quand je l'exécute. Réparez-le."
Le CLI peut également être utilisé directement avec des commandes comme npx libretto open <url> pour lancer des sessions. Toutes les commandes acceptent --session <name> pour cibler des sessions spécifiques.
Les fonctionnalités supplémentaires incluent l'enregistrement des actions manuelles de l'utilisateur pour aider les agents à générer et mettre à jour les scripts, le débogage pas à pas, le mode lecture seule optionnel pour empêcher les agents de soumettre ou modifier accidentellement des données, et la génération de code qui suit les abstractions et conventions existantes dans votre référentiel de codage.
📖 Read the full source: HN AI Agents
👀 See Also

Mémoire persistante pour Claude : Stack local avec MCP, récupération en 39 ms, réduction de tokens de 82 %
Un développeur a construit une couche mémoire persistante pour Claude en utilisant une recherche vectorielle locale (Qdrant + Qwen3) et une intégration MCP, atteignant 82 % de réduction de tokens, 39 ms de récupération à chaud, et la cristallisation des sessions via des nœuds L4.

OmniCoder-9B affiné démontre de solides performances pour le codage agentique sur des systèmes dotés de 8 Go de VRAM.
Un utilisateur de Reddit a testé OmniCoder-9B, une version affinée de Qwen3.5-9B sur des traces Opus, avec OpenCode et a rapporté des vitesses de plus de 40 tokens par seconde en utilisant la quantification GGUF Q4_K_M avec une longueur de contexte de 100k sur un système avec 8 Go de VRAM.

Claude pour le travail de design : Comment arrêter de répéter les mêmes arguments de goût à chaque session
Un développeur utilisant Claude pour des projets clients décrit le problème central : Claude n'a aucune mémoire des décisions de design rejetées, ce qui conduit à des résultats génériques et à une identité de marque incohérente.

Agent de revue PR open source PrixAI détecte 10/10 bugs plantés à un coût 6 fois inférieur à CodeRabbit
Un utilisateur de Reddit a créé PrixAI, un agent de revue de code open source qui utilise des modèles d'inférence locaux/peu coûteux pour égaler les fonctionnalités de CodeRabbit à un coût 6 fois moindre, détectant les 10 problèmes intentionnellement plantés dans une PR de test.