Show HN: Libretto – Making AI browser automations deterministic
TL;DR Highlight
Libretto, open-sourced by Saffron Health, provides AI coding agents with a real-time browser and token-efficient CLI, enabling the creation and maintenance of robust browser automation scripts.
Who Should Read
Developers who are struggling with maintaining browser automation tools like Playwright or Puppeteer due to frequent site structure changes. It's particularly useful for teams looking to leverage AI agents to create self-healing automation workflows.
Core Mechanics
- Libretto equips AI coding agents (Claude, GPT, etc.) with a functioning Chromium browser and a CLI tool for analyzing pages efficiently in terms of tokens. This allows agents to write or modify automation scripts while observing real websites.
- The four core features are 'Live page inspection with minimal context,' 'Reverse engineering of site internal APIs through network traffic capture,' 'Recording user actions and replaying them as automation scripts,' and 'Interactive debugging on real sites.'
- Saffron Health developed this tool to maintain browser integration with healthcare software and open-sourced it under the MIT license for other teams facing similar challenges.
- Installation is completed with a single command: `npm install libretto`. Running `npx libretto setup` automatically downloads Chromium, detects AI providers (detecting environment variables like OPENAI_API_KEY), and sets up the default model.
- It supports four AI providers – OpenAI, Anthropic, Gemini, and Vertex – and allows you to switch between them at any time using the command `npx libretto ai configure <provider>`.
- The design philosophy is interesting. It views automation code itself as a 'means of optimization' and aims for a 'self-healing' structure where AI agents repeatedly fix broken code to make it work the next time.
- Teams currently using Playwright can adopt Libretto by replacing their internal implementation. User experience suggests it can handle complex structures like iframe mazes and referrer links.
Evidence
- A developer who had already invested weeks in building a similar internal tool noted that the timing of discovering Libretto coincided with their internal presentation, and they are considering replacing their Playwright-based automation of complex platforms like iframe mazes with Libretto.
- Another developer who built a similar internal tool commented that Libretto aligns with their philosophy that 'automation code is just a means to an end, and maintenance is the agent's responsibility,' and expressed willingness to test a replacement.
- Concerns were raised regarding healthcare data (PHI, Protected Health Information). A comment asked if Claude's demo used an Anthropic BAA (Business Associate Agreement, a contract for HIPAA compliance). It was pointed out that this must be verified for use in the healthcare field.
- A question was asked about the differences between Libretto and Playwright CLI, but there hasn't been an official response yet. Libretto is specialized in the workflow of agents 'writing and self-repairing' scripts, differentiating it from Playwright CLI, which is a simple automation execution tool.
- A question was raised about the license, and while the website confirmed it was MIT, it was pointed out that the LICENSE.md file was missing from the repository. Teams considering open-source adoption should take note.
How to Apply
- If you're experiencing issues with automation scripts breaking with every site update, you can adopt Libretto to build a self-healing pipeline where an AI agent automatically detects and fixes broken scripts. Set up the environment with `npx libretto setup`, attach a real browser to the agent, and run a repetitive modification loop.
- When you need to integrate with third-party services (e.g., healthcare software, legacy enterprise portals) that don't have directly documented APIs, you can use Libretto's network traffic capture feature to analyze requests during actual browser operation and reverse engineer the APIs.
- When you need to create new automation scripts from scratch, you can use Libretto's 'user action recording' feature to perform the desired actions directly in the browser and then automatically generate a script that can be replayed. This can significantly reduce manual coding time.
- If you're already running Playwright-based automation, you can introduce Libretto as a maintenance layer without immediately replacing existing scripts. Libretto's AI analysis can serve as a complement in cases that are difficult to handle with Playwright alone, such as nested iframes or referrer-based routing.
Code Example
# Installation
npm install libretto
# Initial setup: Chromium download + AI provider auto-detection + default model fixing
npx libretto setup
# Workspace status check
npx libretto status
# Explicitly switch AI provider (advanced settings)
npx libretto ai configure openai
npx libretto ai configure anthropic
npx libretto ai configure gemini
npx libretto ai configure vertexTerminology
Related Papers
Show HN: adamsreview – better multi-agent PR reviews for Claude Code
Claude Code에서 최대 7개의 병렬 서브 에이전트가 각각 다른 관점으로 PR을 리뷰하고, 자동 수정까지 해주는 오픈소스 플러그인이다. 기존 /review나 CodeRabbit보다 실제 버그를 더 많이 잡는다고 주장하지만 커뮤니티에서는 복잡도와 실효성에 대한 회의론도 나왔다.
How Fast Does Claude, Acting as a User Space IP Stack, Respond to Pings?
Claude Code에게 IP 패킷을 직접 파싱하고 ICMP echo reply를 구성하도록 시켜서 실제로 ping에 응답하게 만든 실험으로, 'Markdown이 곧 코드이고 LLM이 프로세서'라는 아이디어를 네트워크 스택 수준까지 밀어붙인 재미있는 사례다.
Show HN: Git for AI Agents
AI 코딩 에이전트(Claude Code 등)가 수행한 모든 툴 호출을 자동으로 추적하고, 어떤 프롬프트가 어느 코드 줄을 작성했는지 blame까지 가능한 버전 관리 도구다.
Principles for agent-native CLIs
AI 에이전트가 CLI 도구를 더 잘 사용할 수 있도록 설계하는 원칙들을 정리한 글로, 에이전트가 CLI를 도구로 활용하는 빈도가 높아지면서 이 설계 방식이 실용적으로 중요해지고 있다.
Agent-harness-kit scaffolding for multi-agent workflows (MCP, provider-agnostic)
여러 AI 에이전트가 서로 역할을 나눠 협업할 수 있도록 조율하는 scaffolding 도구로, Vite처럼 설정 없이 빠르게 멀티 에이전트 파이프라인을 구성할 수 있다.
Show HN: Tilde.run – Agent sandbox with a transactional, versioned filesystem
AI 에이전트가 실제 프로덕션 데이터를 건드려도 롤백할 수 있는 격리된 샌드박스 환경을 제공하는 도구로, GitHub/S3/Google Drive를 하나의 버전 관리 파일시스템으로 묶어준다.