Per verificare una pagina, compilare un form o raccogliere dati, un agente AI ha bisogno di un browser. agent-browser di Vercel (licenza Apache-2.0) è una CLI nativa scritta in Rust che gli dà un browser tutto suo, da guidare un comando alla volta.
Come funziona
La CLI invia i comandi a un processo in background (daemon) che controlla il browser tramite il Chrome DevTools Protocol. Per impostazione predefinita usa Chrome for Testing, scaricato al primo avvio e separato dal Chrome che usi tu. Il ciclo tipico:
agent-browser open example.com
agent-browser snapshot -i # elementi interattivi, ognuno con un riferimento
agent-browser click @e1 # agisce sul riferimento dello snapshot
agent-browser get url # controlla il risultato
agent-browser close
Lo snapshot descrive la pagina come testo compatto, una riga per elemento, ad esempio - link "Learn more" [ref=e1]. Secondo il sito del progetto occupa qualche centinaio di token contro le migliaia del DOM completo. I riferimenti valgono solo per lo snapshot che li ha prodotti: dopo una navigazione se ne fa uno nuovo. Un dettaglio utile: se l'elemento è nascosto, disabilitato o coperto, il click fallisce con un errore invece di fingere di essere riuscito.
Installazione
npm install -g agent-browser
agent-browser install # scarica Chrome for Testing (solo la prima volta)
Su Linux agent-browser install --with-deps installa anche le librerie di sistema; senza installare nulla si può provare con npx agent-browser open example.com. Sono supportati Windows x64, macOS e Linux. Per la diagnosi c'è agent-browser doctor.
Per Claude Code si aggiunge la skill:
npx skills add vercel-labs/agent-browser
La skill installata è minima: dice all'agente di eseguire agent-browser skills get core, così le istruzioni corrispondono sempre alla versione della CLI installata. In alternativa basta una riga nel CLAUDE.md: "Usa agent-browser per l'automazione del browser; prima del primo uso esegui agent-browser skills get core".
Comandi principali
| Area | Comandi |
|---|---|
| Navigazione | open, back, forward, reload, close |
| Interazione | click, fill, type, press, find role button click --name "Invia" |
| Attesa | wait <selettore>, wait --text "Benvenuto", wait --url "**/dash" |
| Output | screenshot (anche --full e --annotate), pdf, read |
| Debug | network requests, cookies, storage local, trace start, a11y (audit accessibilità axe-core) |
Sessioni e profili
--session nomecrea browser indipendenti (cookie, storage e login separati): più agenti possono lavorare in parallelo.--restoresalva e ripristina lo stato della sessione in~/.agent-browser/sessions/; conAGENT_BROWSER_ENCRYPTION_KEYlo stato è cifrato.--profile Defaultparte da una copia in sola lettura di un profilo Chrome esistente (su Windows con Chrome chiuso); un percorso di cartella crea invece un profilo persistente dedicato.--headedmostra la finestra invece di lavorare in background.
Sicurezza
Le protezioni sono tutte da attivare esplicitamente, ed è bene farlo:
--allowed-domains "example.com,*.example.com": blocca navigazioni e risorse verso altri domini (i CDN vanno inclusi, altrimenti le pagine si rompono);--action-policy policy.json: vieta categorie di azioni, per esempioeval,downloadeupload;--confirm-actions eval,download: richiede conferma per le azioni a rischio;--content-boundaries: delimita il contenuto della pagina con marcatori, per difendersi dai testi che tentano di dare ordini all'agente;- auth vault:
agent-browser auth saveconserva le credenziali cifrate, così le password non passano mai nel contesto del modello.
agent-browser o Claude in Chrome?
Claude in Chrome è l'estensione di Anthropic che Claude Code usa con claude --chrome (e /chrome per stato e permessi). Lavora nel tuo Chrome (o Edge e altri browser Chromium), in una finestra visibile, con i tuoi login già attivi; davanti a una pagina di accesso o a un CAPTCHA si ferma e chiede a te. Richiede un piano Anthropic diretto (Pro, Max, Team o Enterprise) e non funziona con le sole chiavi API.
| agent-browser | Claude in Chrome | |
|---|---|---|
| Browser | Chrome for Testing separato (o profilo dedicato) | Il tuo Chrome reale |
| Login | Da fare nella sessione, copia di profilo o auth vault | Già presenti: quelli dell'utente |
| Visibilità | Headless di default, --headed per vederlo | Sempre visibile, in tempo reale |
| Parallelismo | Più sessioni isolate | Un gruppo di schede per sessione |
| Agenti | Qualsiasi agente che esegue comandi shell | Claude Code (CLI e VS Code) |
| Uso tipico | Test, CI, scraping, verifiche ripetibili | Debug dal vivo, siti che richiedono il tuo account |
In sintesi: quando l'agente deve lavorare al posto tuo dentro i tuoi account, Claude in Chrome è la scelta più naturale, ma ha accesso a tutto ciò a cui hai accesso tu. Quando serve un ambiente isolato e ripetibile, senza esporre la tua sessione personale, agent-browser è più sicuro e si automatizza meglio.
Per approfondire gli strumenti simili: playwright-cli e Playwright e AI.