Come Connettere una Rete Neurale a un Browser Reale con Browser Harness
Chiunque abbia provato ad automatizzare il web con i modelli linguistici conosce questo problema. L'agente inizia allegramente a cliccare sui pulsanti, ma si blocca subito al primo campo di input non standard o a un captcha complicato. I framework tradizionali offrono un set rigido di strumenti: clicca, digita, scorri. Se l'azione richiesta non è nel codice dell'agente, il task fallisce.
Il team di browser-use ha proposto un approccio diverso nel progetto browser-harness. Invece di cercare di anticipare in anticipo tutti i possibili scenari delle pagine web, hanno creato un wrapper che connette un LLM al tuo browser reale tramite il Chrome DevTools Protocol (CDP) e dà al modello la possibilità di scrivere al volo le funzioni mancanti.
Qual è l'Idea dietro il Wrapper Auto-Apprendente
Un normale agente browser lavora in isolamento. Ottiene un browser headless isolato senza sessioni salvate, cookie o autorizzazioni. Di conseguenza, metà del tempo va sprecato cercando di effettuare il login.
Browser Harness si connette direttamente al tuo Chrome in esecuzione tramite la porta di debug. Il modello vede immediatamente le schede aperte, i tuoi profili e l'ambiente di lavoro.
La parte più interessante sta nella meccanica di gestione del codice:
- L'agente riceve un task, ad esempio scaricare gli ultimi venti video da un profilo social o compilare un modulo complesso con una zona per il drop di file.
- Il modello controlla il file locale
agent-workspace/agent_helpers.py. Se non c'è una funzione adatta per lavorare con l'elemento, l'agente scrive lui stesso uno script helper. - Lo script viene eseguito immediatamente nel contesto della pagina. Se funziona con successo, la funzione viene salvata nel workspace.
- Quando esegue il prossimo task simile, l'agente non reinventa la ruota ma usa l'helper scritto in precedenza.
Allo stesso tempo, il core della libreria stessa nella cartella src/browser_harness/ rimane protetta da modifiche. Il modello estende solo il proprio workspace locale, quindi il rischio di rompere la logica core è minimo.
Come Funziona l'Avvio
Il progetto è strettamente integrato con ambienti di sviluppo agentici come Claude Code o Codex. Per iniziare, basta fornire al tuo assistente un prompt di installazione già pronto:
Install or upgrade browser-harness to the latest stable version with uv using Python 3.12, register the skill from `browser-harness skill`, and connect it to my browser. Ask whether I want local browser recordings enabled; default to no and preserve my existing preference on upgrades. Follow https://github.com/browser-use/browser-harness/blob/main/install.md if setup or connection fails.
Dopo aver eseguito il comando, si aprirà la scheda chrome://inspect/#remote-debugging. Lì devi spuntare la casella remote debugging in modo che l'agente abbia accesso al WebSocket CDP:
Tutto lo stack è tenuto insieme da tre file chiari:
- Le istruzioni in
install.mdgestiscono la connessione iniziale al browser tramite la porta di debug. - Il file
SKILL.mddescrive i pattern di interazione con le pagine per l'LLM. - I moduli nella directory
src/browser_harness/mantengono un socket persistente e passano i comandi.
Cosa C'è all'Interno e Quali Tecnologie Sono Utilizzate
Sotto il cofano, il progetto usa Python 3.12 e il gestore di pacchetti uv. La gestione delle sessioni usa un WebSocket diretto verso CDP, senza wrapper pesanti come Selenium.
Questo approccio offre due vantaggi pratici:
- Latenza minima nella trasmissione degli eventi di input, nello scrolling e nei clic.
- Accesso completo a DOM, richieste di rete e storage del browser senza bisogno di configurare bridge aggiuntivi.
Se hai bisogno di eseguire decine di task in parallelo, i creatori offrono l'infrastruttura Browser Use Cloud con proxy già pronti, protezione anti-bot-detector e risoluzione captcha. Ma per esecuzioni locali quotidiane sul tuo browser, questo è più che sufficiente.
Scenari Pratici d'Uso
Dove un tale strumento fa davvero risparmiare tempo:
- Raccogliere dati da dashboard private dove non c'è API pubblica e è impostata l'autenticazione a due fattori. Autorizzi manualmente una volta e affidi l'esportazione routine dei report all'agente.
- Download massivi di file media. L'agente apre la pagina, scorre il feed, trova i selettori necessari del player video e salva i file in una cartella locale.
- Testare layout e scenari utente. L'agente percorre il journey dell'utente, scrive da solo i check mancanti e li memorizza negli helper.
- Compilare moduli ripetitivi nei sistemi CRM aziendali quando devi trasferire un batch di dati da un foglio di calcolo.
Vale la Pena Provarlo
Se usi attivamente strumenti CLI agentici come Claude Code e sei stanco di copiare manualmente dati dalle pagine al terminale, il progetto vale sicuramente la pena di essere provato. Il concetto in cui l'agente stesso espande il proprio toolkit attraverso helper persistenti sembra molto più sostenibile rispetto a gonfiare infinitamente lo system prompt.
Dagli svantaggi, noto che il progetto richiede attenzione alla sicurezza: dando a un LLM accesso al tuo browser principale, stai condividendo tutte le sessioni aperte. Quindi per gli esperimenti è più saggio creare un profilo Chrome separato senza carte di credito collegate e servizi critici. Inizia con scenari di parsing semplici, osserva come l'agente genera le sue prime funzioni in agent_helpers.py, e valuta quanto bene questo formato si adatta al tuo stack abituale.
Progetti correlati
