--- name: project-browser-agent description: "Vision agent generico per navigazione web autonoma — tools/browser-agent/" metadata: type: project --- Script standalone (`tools/browser-agent/browser_agent.py`) — pilota un Chrome dedicato guardando screenshot e decidendo l'azione tramite Claude Vision, in loop (screenshot → decisione → azione → screenshot successivo). Indipendente dal vault/vault-mcp e dagli esperti persistenti (`expert-data`/`expert-flussi`/`expert-domotica`) — non un subagente né un esperto, non serve invocazione esplicita nello stesso senso. **Come gira**: profilo Chrome dedicato `~/.config/chrome-debug-agent`, porta CDP 9223 (separata da quella usata in passato per Elon, ormai storica). Modello `anthropic/claude-sonnet-4-5` via OpenRouter — chiave letta dal `.env` di root (`Dropbox/adrian/.env`), non da quello locale alla cartella. **Guardrail**: no acquisti/prenotazioni/azioni irreversibili; dichiara `done` solo con dati effettivamente visibili a schermo; dichiara `fail` su captcha invece di tentare di aggirarlo. **Gotcha noto**: siti con protezioni aggressive (es. Skyscanner) richiedono un warm-up manuale del profilo la prima volta (bypasso captcha a mano una tantum, poi il profilo resta "caldo"). **Debug**: screenshot di ogni step salvati in `/tmp/browser_agent_debug/step_NN.png`. **Stato**: funzionante, servizio attivo (vedi `memory/MEMORY.md`).