Cos'è
Browser Use è una libreria open-source, scritta principalmente in Python, che permette a modelli di linguaggio (LLM) di controllare un browser reale per svolgere attività sul web. Il progetto è ospitato su GitHub all'indirizzo browser-use/browser-use ed è rilasciato sotto licenza MIT. È stato creato da Magnus Müller e Gregor Žunič, due studenti di data science dell'ETH di Zurigo, all'interno dell'acceleratore Student Project House, con un primo prototipo realizzato tra la fine del 2024 e l'inizio del 2025.
L'obiettivo dichiarato è rendere i siti web "accessibili" agli agenti artificiali: invece di richiedere script dettagliati che interagiscono con selettori DOM specifici, Browser Use permette di descrivere un compito in linguaggio naturale e lascia che sia il modello a decidere le azioni successive, come cliccare un pulsante, compilare un modulo o estrarre dati. Il progetto ha ottenuto una notevole visibilità nella comunità degli sviluppatori AI ed è parte del batch invernale 2025 di Y Combinator.
Il problema che risolve
L'automazione tradizionale del browser si basa su strumenti come Selenium, Puppeteer o Playwright, che richiedono di scrivere codice imperativo con selettori precisi per ogni elemento con cui interagire. Questo approccio funziona, ma è fragile: un aggiornamento del layout, una modifica agli ID o una nuova struttura della pagina possono interrompere gli script e imporre costose attività di manutenzione. Inoltre, la gestione di flussi multi-step, autenticazioni, stati di sessione e contenuti dinamici rende la scalabilità dell'automazione complessa.
Browser Use affronta questo problema spostando la logica decisionale sul modello di linguaggio. L'utente definisce l'obiettivo in forma dichiarativa, mentre il sistema si occupa di interpretare lo stato della pagina, pianificare le azioni ed eseguirle. Questo riduce la dipendenza da selettori statici e rende l'automazione più adattabile a siti che cambiano frequentemente, pur richiedendo supervisione e valutazione dei risultati.
Come funziona
Browser Use si appoggia a Playwright per controllare un'istanza reale del browser, solitamente Chromium. Il flusso operativo può essere riassunto in pochi passaggi:
- Definizione del compito: lo sviluppatore crea un agente specificando un obiettivo in linguaggio naturale, ad esempio "trova il prezzo più basso per un volo Milano-Tokio il prossimo mese".
- Osservazione dello stato: il sistema cattura lo stato corrente della pagina. A differenza di soluzioni esclusivamente basate su screenshot, Browser Use converte la pagina in una rappresentazione testuale strutturata degli elementi interattivi, che risulta più leggibile per il modello.
- Pianificazione e azione: l'LLM riceve lo stato della pagina e restituisce l'azione successiva da eseguire, come navigare a un URL, cliccare un elemento, inserire testo o scorrere la pagina.
- Esecuzione e iterazione: Playwright esegue l'azione, il browser aggiorna lo stato e il ciclo ricomincia fino al completamento del compito o al raggiungimento di un limite prestabilito.
L'installazione avviene tramite pip o uv, con Python 3.11 o superiore. È necessario installare anche i browser di Playwright. Il codice minimo per avviare un agente richiede poche righe: si istanzia la classe Agent con un compito e un modello LLM, quindi si invoca il metodo run(). La versione 0.13 ha introdotto un nuovo agente beta con un core scritto in Rust, pensato per migliorare prestazioni e affidabilità su compiti più complessi.
Caratteristiche principali
- API ad alto livello: la classe
Agentconsente di avviare automazioni con un compito testuale e un modello LLM, senza scrivere manualmente la sequenza di azioni. - Supporto a molteplici modelli: è compatibile con provider diversi, tra cui OpenAI, Anthropic, Google, DeepSeek, Ollama per l'esecuzione locale e altri servizi compatibili con API simili.
- Integrazione con Playwright: sfrutta un browser reale, gestendo JavaScript, caricamento dinamico, autenticazioni e sessioni persistenti.
- Profili di browser: permette di riutilizzare profili utente reali, conservando cookie e login, il che è utile per automatizzare servizi che richiedono autenticazione.
- Estensibilità: supporta strumenti personalizzati (
custom tools) che estendono le capacità dell'agente oltre le azioni native del browser. - Interfaccia web opzionale: esiste un progetto complementare,
browser-use/web-ui, che offre un'interfaccia grafica basata su Gradio per interagire con l'agente e visualizzare il browser in tempo reale. - CLI e integrazioni: oltre alla libreria Python, sono disponibili un'interfaccia a riga di comando e integrazioni con agenti di coding come Claude Code, Cursor e Codex tramite skill o server MCP.
- Offerta cloud: Browser Use Cloud fornisce browser gestiti, proxy, rotazione IP, capacità anti-rilevamento e gestione della scalabilità, mantenendo la libreria open-source come punto di partenza.
Casi d'uso concreti
Browser Use si applica a qualsiasi scenario in cui un agente debba interagire con il web in modo autonomo:
- Ricerca e raccolta dati: estrarre prezzi, notizie, informazioni da directory o portali pubblici, riassumendo i contenuti in formato strutturato.
- Compilazione moduli e invio: precompilare form su siti istituzionali, portali di candidatura o piattaforme di e-commerce.
- Test end-to-end: verificare flussi utente complessi su applicazioni web senza scrivere test script tradizionali.
- Automazione di attività ripetitive: controllare posta, notifiche o dashboard, specialmente quando combinato con profili autenticati.
- Prototipazione di agenti: sperimentare flussi agentici per prodotti che devono interagire con servizi web esistenti privi di API pubbliche.
È importante sottolineare che l'autonomia dell'agente è proporzionale alla chiarezza del compito assegnato e alla qualità del modello utilizzato: compiti ambigui o siti con meccanismi anti-bot possono richiedere interventi manuali o l'uso della versione cloud con funzionalità avanzate.
Punti di forza e limiti
Tra i punti di forza, Browser Use offre un'API semplice, una curva di apprendimento ridotta rispetto all'automazione tradizionale e un ecosistema in rapida crescita. La combinazione tra rappresentazione testuale strutturata e browser reale lo rende generalmente più robusto di soluzioni basate solo su screenshot. Inoltre, la possibilità di eseguire modelli locali tramite Ollama lo rende interessante per chi cerca privacy e controllo sui dati.
I limiti principali riguardano l'affidabilità su siti fortemente dinamici, la dipendenza dalla qualità e dal costo dell'LLM scelto, e il consumo di risorse quando si eseguono molti agenti in parallelo. Le pagine con CAPTCHA, protezioni anti-bot avanzate o interfacce fortemente grafiche possono richiedere configurazioni aggiuntive o il servizio cloud. Infine, l'evoluzione rapida del progetto implica che la documentazione e le API possano subire modifiche frequenti.
Alternative e contesto
Browser Use opera in un settore in espansione, quello degli agenti di navigazione web. Tra le alternative e i progetti correlati si possono citare:
- Playwright / Selenium / Puppeteer: strumenti di automazione classica, più verbosi ma deterministici e adatti a test strutturati.
- Stagehand: SDK TypeScript per agenti browser che utilizza istruzioni in linguaggio naturale.
- Nanobrowser: estensione open-source per Chrome che automatizza il browser con workflow multi-agente e modelli LLM personalizzabili.
- OpenAI Operator e servizi simili: soluzioni commerciali integrate in browser o piattaforme specifiche, spesso con meno controllo da parte dello sviluppatore.
- Agent-browser di Vercel: CLI nativa in Rust per l'automazione del browser orientata agli agenti AI.
Browser Use si distingue per la sua natura open-source, la popolarità nella comunità e l'equilibrio tra semplicità d'uso e flessibilità, pur convivendo con un mercato in cui soluzioni commerciali e alternative specializzate competono su prestazioni, costo e facilità di integrazione.
In sintesi
Browser Use è una delle librerie open-source più seguite nell'ambito dell'automazione web guidata da intelligenza artificiale. Permette di affidare a un LLM il controllo di un browser reale, riducendo la necessità di script dettagliati e offrendo un approccio più flessibile rispetto all'automazione tradizionale. Nato come progetto universitario, è cresciuto rapidamente fino a diventare uno strumento di riferimento per sviluppatori, ricercatori e startup che sperimentano con agenti autonomi sul web.
Non si tratta di una soluzione priva di sfide: l'affidabilità, i costi dei modelli e la gestione di siti protetti restano aspetti da valutare caso per caso. Tuttavia, per chi cerca un punto di ingresso pratico nel mondo degli agenti browser, Browser Use rappresenta una scelta consolidata, ben documentata e attivamente sviluppata.
Risorse
- Repository GitHub: https://github.com/browser-use/browser-use
- Documentazione ufficiale: https://docs.browser-use.com
- Servizio cloud: https://cloud.browser-use.com
- Web UI: https://github.com/browser-use/web-ui
