Che cos’è Computer Use?
Computer Use offre a Devin accesso diretto a un ambiente desktop grafico con mouse e tastiera. Questo va oltre la semplice automazione del browser — Devin può interagire con qualsiasi applicazione visualizzata sullo schermo, tra cui:- Applicazioni web in Chrome (clic sui pulsanti, compilazione di moduli, navigazione tra le pagine)
- Applicazioni desktop in esecuzione sulla piattaforma della sessione (Linux, Windows o macOS), incluse app Electron, IDE e GUI native della piattaforma
- Interfacce basate su terminale (programmi TUI, CLI interattive)
- Qualsiasi interfaccia visiva visualizzabile sul desktop
Piattaforme supportate
L’esperienza di Computer Use è la stessa su tutte le piattaforme: Devin usa mouse e tastiera, acquisisce schermate, esegue Chrome per le app web e può registrare le proprie sessioni di testing. Su Windows, Devin può inoltre testare applicazioni desktop native di Windows (ad es. WPF, WinForms e altre app che vengono eseguite solo su Windows); su macOS può testare app Mac e app iOS nel Simulatore. Per eseguire sessioni su un’altra piattaforma, configura un blueprint come descritto in Supporto per Windows o Supporto per macOS. Per un esempio end-to-end, vedi Creare un’app iOS con Devin.
Su macOS, Devin usa il tasto Command per le scorciatoie da tastiera (⌘C, ⌘V) anziché Control.
Come abilitarla
Computer Use si controlla tramite l’interruttore Computer use nelle impostazioni di Devin della tua organizzazione.- Vai su Settings > Devin
- Nella sezione Sessions, attiva Computer use
- Devin utilizzerà ora il suo ambiente desktop durante le sessioni
Desktop mode è disponibile in tutti i piani. Solo gli amministratori dell’organizzazione possono modificare questa impostazione.
Quando viene eseguito Computer Use
Una volta abilitata la modalità Desktop, Computer Use è disponibile in ogni sessione. Ci sono tre modi in cui può essere utilizzato:Dopo aver creato una PR
Quando Devin crea una PR, mostra un pulsante Test the app. Facendo clic su questo pulsante si avvia l’intero flusso di lavoro di test — Devin avvia la tua applicazione, usa Computer Use per interagire con il desktop, testa le modifiche e ti invia una registrazione.
Su richiesta durante una sessione
Puoi chiedere a Devin di eseguire test in qualsiasi momento durante una sessione — non è necessaria alcuna sintassi speciale, basta il linguaggio naturale. Ad esempio:- “Testa le modifiche che hai appena apportato e inviami una registrazione”
- “Apri l’app nel browser e verifica che la pagina di login funzioni”
- “Avvia l’app desktop e controlla che il nuovo elemento di menu sia visibile”
In modo autonomo quando opportuno
Devin decide in autonomia quando l’interazione con il desktop è lo strumento giusto per il compito da svolgere. Se un’attività richiede di fare clic su elementi dell’interfaccia, spostarsi all’interno di un’applicazione, compilare moduli o verificare qualcosa visivamente, Devin userà Computer Use senza che gli venga chiesto esplicitamente. Non è necessario dire a Devin come interagire con lo schermo — basta dirgli che cosa deve fare.Cosa può fare Devin usando il computer
Testare applicazioni web end-to-end
Devin può avviare la tua app in locale, aprirla in Chrome e cliccare attraverso flussi utente completi — accesso, navigazione, invio di form, checkout — verificando che tutto funzioni come previsto.Testare applicazioni desktop
È possibile testare qualsiasi applicazione eseguita sulla piattaforma delle sessioni di Devin. Nelle sessioni Linux, questo include app Electron, applicazioni Java Swing/AWT, app GTK/Qt e altro ancora. Nelle sessioni Windows, Devin può anche testare applicazioni native di Windows come le app WPF e WinForms. Devin avvia l’app, interagisce con la relativa interfaccia grafica e ne verifica il comportamento.Verifica visiva
Devin può scattare screenshot in punti specifici durante i test per verificare che layout, stile ed elementi dell’interfaccia utente appaiano corretti. Può confrontare ciò che vede sullo schermo con il comportamento atteso e segnalare eventuali problemi visivi.Interagire con flussi di UI complessi
Alcuni scenari di test richiedono interazioni con la GUI in più passaggi che vanno oltre le semplici chiamate API o l’automazione del browser — ad esempio drag-and-drop, menu contestuali, scorciatoie da tastiera o la navigazione tra più finestre. Computer Use gestisce tutto questo.Registrare le sessioni di test
Devin può registrare il proprio schermo mentre esegue i test, annotando i momenti salienti nel video. La registrazione viene quindi elaborata e inviata, così puoi guardare Devin mentre interagisce con la tua app e confermare che le modifiche funzionano. Consulta Testing & Video Recordings per tutti i dettagli sul flusso di lavoro di registrazione.Come funziona Computer Use
Quando Devin utilizza Computer Use durante una sessione, segue questo processo:- Cattura uno screenshot dello schermo corrente per capire cosa c’è a schermo
- Identifica gli elementi interattivi — pulsanti, campi di testo, menu, collegamenti — e decide con cosa interagire
- Esegue un’azione — clicca, scrive, scorre la pagina o usa scorciatoie da tastiera
- Attende e osserva — cattura un altro screenshot per vedere il risultato dell’azione
- Ripete finché l’attività non è completata
Uso del computer e test
Computer Use è alla base del flusso di lavoro di test e registrazioni di Devin. Quando Devin testa la tua applicazione dopo aver creato una pull request (PR):- Setup — Devin installa le dipendenze, avvia la tua app e prepara l’ambiente
- Pianificazione dei test — Devin legge il diff e crea un piano di test mirato
- Esecuzione tramite Computer Use — Devin usa il suo desktop per interagire con la tua app, seguendo il piano di test passo dopo passo
- Registrazione — L’intero processo viene acquisito in un video con annotazioni e poi inviato a te per la revisione
Computer Use su Outposts
In Outposts, le sessioni vengono eseguite su macchine gestite da te, quindi Devin utilizza l’ambiente desktop già presente sulla macchina anziché eseguirne il provisioning. Lo strumentocomputer è disponibile in ogni sessione in modalità desktop; se la macchina non supporta un’azione, questa non riesce e restituisce un errore chiaro e risolvibile, anziché rendere lo strumento indisponibile senza segnalarlo.
Requisiti per piattaforma
Linux: il worker deve essere eseguito con accesso a una sessione grafica:DISPLAY deve essere impostato nell’ambiente del worker e puntare a un server X in esecuzione. Su una macchina headless puoi avviarne uno autonomamente (ad es. Xvfb :0 insieme a un window manager) ed esportare DISPLAY prima di avviare il worker. Senza un display, le azioni sul computer restituiscono un errore che indica che non è disponibile alcun desktop grafico e spiega come fornirne uno.
macOS: Devin riutilizza la sessione desktop esistente della macchina. Al processo che esegue il worker Devin si applicano due autorizzazioni macOS distinte (TCC):
- registrazione schermo — richiesta per le schermate.
- Accessibilità — richiesta per l’input sintetico di mouse e tastiera.
Funzionalità parziali previste
Le funzionalità vengono verificate in modo indipendente, quindi Devin gestisce le limitazioni in modo graduale anziché perdere l’intero strumento:- Se la registrazione schermo è autorizzata ma l’accessibilità no (un’impostazione predefinita comune), le schermate funzionano, mentre le azioni di clic/digitazione/scorrimento restituiscono un errore che indica esattamente quale autorizzazione concedere.
- Se non è disponibile alcun display, ogni azione sul computer restituisce il motivo (ad es.
DISPLAYnon impostata) e cosa modificare.
ffmpeg sulla macchina — vedi dipendenze della macchina.
Suggerimenti per ottenere i risultati migliori
Sii specifico su cosa testare
- “Apri l’app, fai clic sul pulsante Impostazioni in alto a destra, attiva la modalità scura e verifica che tutto il testo rimanga leggibile”
- “Avvia l’app Electron, crea un nuovo documento, scrivi del testo e verifica che venga salvato quando chiudi la finestra”
Spiega a Devin come si presenta un esito positivo
- “La dashboard deve mostrare tre grafici senza messaggi di errore”
- “Dopo l’invio del modulo, deve apparire un banner verde di conferma nella parte superiore della pagina”
Pre-configura l’accesso
Se la tua app richiede autenticazione, configura in anticipo i secrets in modo che Devin possa accedere senza chiedertelo durante la sessione. Completa la configurazione dell’ambiente per garantire che Devin possa installare le dipendenze e avviare la tua app senza problemi.Crea skill per il testing
Per le app che testi spesso, crea una Skill che indichi a Devin esattamente come configurare e testare la tua applicazione. Questo consente di risparmiare tempo nelle sessioni ripetute e garantisce test coerenti. Consulta Testing & Video Recordings — Skill Suggestions per esempi.Uso del browser tramite script con Playwright
Il browser Chrome di Devin espone un endpoint Chrome DevTools Protocol (CDP) a cui Playwright può connettersi. Devin può scrivere ed eseguire script Playwright per automatizzare le interazioni con il browser, ad esempio i flussi di accesso o l’inserimento sistematico di dati, sul proprio browser già in esecuzione. Puoi anche scrivere questi script tu stesso e includerli nella tua repo. Per la maggior parte delle altre azioni nel browser, è consigliabile usare Computer Use o gli strumenti browser nativi di Devin.Come funziona
L’istanza Chrome di Devin resta in ascolto delle connessioni CDP sulla porta 29229. Uno script Playwright può collegarsi a questo browser, eseguire azioni (compilare moduli, fare clic sui pulsanti, gestire i reindirizzamenti) e poi disconnettersi. Poiché lo script si collega al browser esistente invece di avviarne uno nuovo, tutte le modifiche di stato — cookie, localStorage, token di autenticazione — vengono mantenute anche dopo la chiusura dello script. Questo significa che Devin può usare immediatamente la sessione autenticata: aggiornare le pagine, navigare e interagire normalmente con l’app.Esempio: collegamento al browser di Devin
Quando usare questa funzionalità
Flussi SSO / OAuth
Automatizza flussi di accesso in più passaggi (ad es. Okta, Auth0, Google SSO) che sarebbe noioso completare manualmente a ogni sessione.
Autenticazione per la configurazione dell'ambiente
Includi uno script di accesso nella tua configurazione dell’ambiente così Devin avvierà ogni sessione già autenticato.
Automazione basata sulle Skill
Salva script di accesso o di inserimento dati in una Skill così Devin può invocarli automaticamente quando necessario.
Inserimento dati sistematico
Crea script per l’invio ripetitivo di moduli o per l’inserimento massivo di dati, attività che con il semplice punta e clic sarebbero lente e soggette a errori.
Suggerimenti
- Salva gli script di accesso nella directory
.agents/skills/della tua repo in modo che persistano tra le sessioni - Usa Secrets per archiviare le credenziali — richiamale tramite variabili d’ambiente nei tuoi script
- L’endpoint CDP è sempre
http://localhost:29229— usa la stessa porta sia che Desktop mode sia abilitata sia che non lo sia - Dopo l’esecuzione dello script, Devin può usare sia Computer Use sia lo strumento browser nativo per interagire con la sessione autenticata
In combinazione con Secrets esposti come variabili d’ambiente, uno script in
.agents/skills/ può inserire qualsiasi stato a livello di browser all’inizio di ogni sessione — non solo i cookie. Ad esempio, uno script può chiamare page.evaluate() per scrivere chiavi localStorage (flag delle funzionalità, token API, selezione del tenant) lette dalle variabili d’ambiente, in modo che il browser di Devin si avvii sempre nello stato previsto dalla tua app. Per rendere persistente uno stato acquisito manualmente anziché tramite script, consulta Autenticazione del browser.
