Innhold Vis
Libretto er et open-source CLI-verktøy som løser et problem mange av oss som jobber med AI-agenter kjenner godt: browser-automatisering som feiler på en ny måte hver gang. Verktøyet ble laget av Saffron Health etter et år med smertefull vedlikehold av integrasjoner mot EHR- og betalingsportaler som manglet ordentlige APIer.
Ideen er enkel, men veldig praktisk. I stedet for å gi en AI-agent en prompt ved kjøretid og håpe at den finner ut av det, bruker Libretto kodingsagenter til å generere ekte Playwright-skript – skript du faktisk kan lese, kjøre, og debugge selv. Fra «kryss fingrene og håp» til deterministisk automatisering.
Verktøyet ble sluppet på Hacker News i april 2026 og plukket opp raskt av utviklermiljøet. 383 GitHub-stjerner og v0.6.6 allerede tilgjengelig. Det er nok til å ta en skikkelig titt.
Hva er egentlig problemet med AI-drevet browser-automatisering?
La meg forklare utfordringen. Tradisjonell browser-automatisering (tenk Selenium, Playwright) er deterministisk – du skriver et skript, det kjøres likt hver gang. Flott når det fungerer, men skjørt når nettsiden endrer seg litt.
Løsningen mange har prøvd er å gi en AI-agent tilgang til en live-browser og la den navigere. Problemet? Agenten tar nye valg ved hvert kjøring. Det som fungerte i går, kan feile i morgen – ikke fordi noe på siden endret seg, men fordi agenten valgte en annen strategi. Du ender opp med flaky automatisering som er vanskelig å debugge.
Libretto tar en annen vinkel. Bruk AI til å generere skriptet, ikke til å kjøre automatiseringen. Resultatet er et vanlig Playwright-skript du kan inspisere, versjonskontrollere, og kjøre tusen ganger med identisk resultat.
Hvordan fungerer Libretto i praksis?
Installasjon er standard Node-greier: npm install libretto etterfulgt av npx libretto setup for å konfigurere hvilken AI-modell du vil bruke. Konfigurasjonen lagres i .libretto/config.json.
Verktøyet gir kodingsagenten din fire hoveddeler å jobbe med:
- Sideinspeksjon: Tar token-effektive snapshots av live nettsider og gir agenten en komprimert oversikt over interaktive elementer og velgere – uten å fylle opp hele kontekstvinduet med rå HTML.
- Nettverkstrafikk-fangst: Registrerer HTTP-forespørsler og svar i strukturert format. Nyttig for å reverse-engineere underliggende APIer bak nettsider som ikke har offisielle integrasjoner.
- Brukerhandlings-opptak: Fanger klikk, skjemautfyllinger og navigering mens du demonstrerer arbeidsflyter manuelt – konverterer dem til Playwright-skript automatisk.
- Interaktiv debugging: Agenten kan undersøke ødelagte arbeidsflyter mot den faktiske siden og fikse dem autonomt.
Det er den siste delen som er interessant. I stedet for å skrive om skriptet fra bunnen av når noe feiler, kan agenten kjøre det eksisterende skriptet, se hva som gikk galt, og patche akkurat det stedet – mens resten forblir uendret.

Hvem er dette laget for?
Saffron Health bygde Libretto fordi de integrerte mot helseportaler og betalingssystemer uten ordentlige APIer. Det er en veldig spesifikk smerte – portaler som bare eksisterer som nettsider, men der du likevel trenger å hente ut data eller utføre handlinger automatisk.
Men bruksområdene er bredere enn det. Tenk på alle nettsider som burde hatt et API men ikke har det. Leverandørportaler. Offentlige tjenester. Interne bedriftssystemer fra 2009. Overalt der du manuelt logger inn og klikker rundt for å hente ut informasjon eller sende inn skjemaer.
For utviklere som allerede bruker Claude Code, Cursor, eller lignende kodingsagenter er Libretto designet som en naturlig utvidelse. Du setter opp Libretto som en skill i agenten din, og den kan bruke det som et verktøy når den trenger å interagere med nettsider. Se også Gemini Conductor, som løser en lignende utfordring med kontekst i AI-kodingsverktøy.
Er deterministisk automatisering verdt bryet?
Det korte svaret er ja, og her er tankegangen bak det.
AI-agenter er bra på å forstå kontekst og ta beslutninger. De er dårlige på å gjøre nøyaktig den samme tingen på nøyaktig den samme måten hver gang. Det siste er det du trenger for produksjonsautomatisering. Librettos tilnærming – bruk AI til å generere skriptet én gang, kjør det deterministisk etterpå – spiller på begge styrkene.
Det minner litt om kompilerte programmer versus tolkede. Du betaler oppstartskostnaden med AI-generering én gang og høster deterministisk ytelse alle gangene etter. Og siden outputen er et vanlig Playwright-skript, er du ikke låst til Librettos arkitektur. Du kan ta skriptet og kjøre det akkurat som du vil.

Tekniske detaljer – TypeScript, MIT-lisens
Kodebasen er skrevet i TypeScript (92,8% av koden), med resten fordelt på JavaScript og Shell-skript. Prosjektet er MIT-lisensiert, altså full frihet til kommersiell bruk. GitHub-repositoriet har 383 stjerner og er på versjon 0.6.6 per april 2026 – aktivt i utvikling med 1 156 commits.
Arkitekturen er delt i tre hoveddeler: CLI-kommandoene du interagerer med, en browser runtime som håndterer nettverk og gjenoppretting, og delt verktøy for konfigurasjon og LLM-kommunikasjon. Modulær nok til at du kan forstå hva som skjer.
Dokumentasjonen finner du på libretto.sh, og det er en demo-video tilgjengelig som viser verktøyet i aksjon. Discord og GitHub Discussions for de som vil spørre eller bidra.
Browser-automatisering er et av de feltene der det finnes mye støy og få løsninger som faktisk holder i produksjon over tid. Librettos tilnærming – la AI generere skriptet, la skriptet kjøre deterministisk – er pragmatisk og verdt å teste hvis du sliter med flaky automatisering. Hva tenker du? Har du prøvd lignende verktøy med godt resultat?