> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Uso del computer

> Come Devin usa un ambiente desktop completo per interagire con le GUI, testare applicazioni e verificare visivamente le modifiche

Devin ha accesso a un ambiente desktop completo — non solo a un browser. Può muovere il mouse, fare clic sugli elementi dell'interfaccia, digitare sulla tastiera, catturare schermate e interagire con qualsiasi applicazione che gira sul desktop. Questa funzionalità è chiamata **Computer Use** e consente a Devin di testare e interagire con il tuo software esattamente come farebbe un essere umano.

Computer Use funziona sia nelle sessioni **Linux** (la piattaforma di sessione predefinita) sia nelle sessioni **Windows**. Per maggiori dettagli, vedi [Piattaforme supportate](#supported-platforms).

<video controls className="w-full aspect-video" src="https://mintcdn.com/cognitionai/lQBZeyJhpcluxU_P/images/computer-use-demo.mp4?fit=max&auto=format&n=lQBZeyJhpcluxU_P&q=85&s=6d33a326a338483ad74eb9e05f4a9d71" data-path="images/computer-use-demo.mp4" />

<div id="what-is-computer-use">
  ## Che cos’è Computer Use?
</div>

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 o Windows), incluse app Electron, IDE e GUI native della piattaforma
* **Interfacce basate su terminale** (programmi TUI, CLI interattive)
* **Qualsiasi interfaccia visiva** visualizzabile sul desktop

Devin vede lo schermo come un monitor da 1024×768 pixel e può eseguire azioni come cliccare, digitare, scorrere, trascinare e catturare schermate — proprio come un essere umano seduto al computer.

<div id="supported-platforms">
  ## Piattaforme supportate
</div>

| Piattaforma         | Supporto per Computer Use                                                                                                                                 |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Linux (predefinito) | Supportato — le sessioni vengono eseguite in un ambiente desktop Linux completo                                                                           |
| Windows             | Supportato — le sessioni negli [ambienti Windows](/it/onboard-devin/environment/windows-support) vengono eseguite in un ambiente desktop Windows completo |
| macOS               | Non supportato                                                                                                                                            |

L'esperienza di Computer Use è la stessa su Linux e Windows: Devin usa mouse e tastiera, acquisisce screenshot, 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). Per eseguire sessioni su Windows, configura un blueprint di Windows come descritto in [Supporto per Windows](/it/onboard-devin/environment/windows-support).

<div id="how-to-enable-it">
  ## Come abilitarla
</div>

Computer Use si controlla tramite l'interruttore **Enable desktop mode** nelle opzioni di personalizzazione della tua organizzazione.

1. Vai su [**Settings > Customization**](https://app.devin.ai/customization)
2. Nella sezione **Browser interaction**, attiva **Enable desktop mode**
3. Devin utilizzerà ora il suo ambiente desktop durante le sessioni

<Info>Desktop mode è disponibile in tutti i piani. Solo gli amministratori dell'organizzazione possono modificare questa impostazione.</Info>

<div id="when-computer-use-runs">
  ## Quando viene eseguito Computer Use
</div>

Una volta abilitata la modalità Desktop, Computer Use è disponibile in ogni sessione. Ci sono tre modi in cui può essere utilizzato:

<div id="after-creating-a-pr">
  ### Dopo aver creato una PR
</div>

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](/it/work-with-devin/testing-and-recordings) — Devin avvia la tua applicazione, usa Computer Use per interagire con il desktop, testa le modifiche e ti invia una registrazione.

<Frame>
  <img src="https://mintcdn.com/cognitionai/t3ELyAdF5CfeLLyT/images/test-the-app-button.png?fit=max&auto=format&n=t3ELyAdF5CfeLLyT&q=85&s=6e7cc949688beb051244c06844a7f509" alt="Pulsante Test the app" width="276" height="96" data-path="images/test-the-app-button.png" />
</Frame>

<div id="on-request-during-a-session">
  ### Su richiesta durante una sessione
</div>

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"

<div id="autonomously-when-appropriate">
  ### In modo autonomo quando opportuno
</div>

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.

<div id="what-devin-can-do-with-computer-use">
  ## Cosa può fare Devin usando il computer
</div>

<div id="test-web-applications-end-to-end">
  ### Testare applicazioni web end-to-end
</div>

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.

<div id="test-desktop-applications">
  ### Testare applicazioni desktop
</div>

È 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](/it/onboard-devin/environment/windows-support), 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.

<div id="visual-verification">
  ### Verifica visiva
</div>

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.

<div id="interact-with-complex-ui-flows">
  ### Interagire con flussi di UI complessi
</div>

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.

<div id="record-testing-sessions">
  ### Registrare le sessioni di test
</div>

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](/it/work-with-devin/testing-and-recordings) per tutti i dettagli sul flusso di lavoro di registrazione.

<div id="how-computer-use-works">
  ## Come funziona Computer Use
</div>

Quando Devin utilizza Computer Use durante una sessione, segue questo processo:

1. **Cattura uno screenshot** dello schermo corrente per capire cosa c'è a schermo
2. **Identifica gli elementi interattivi** — pulsanti, campi di testo, menu, collegamenti — e decide con cosa interagire
3. **Esegue un'azione** — clicca, scrive, scorre la pagina o usa scorciatoie da tastiera
4. **Attende e osserva** — cattura un altro screenshot per vedere il risultato dell'azione
5. **Ripete** finché l'attività non è completata

Questo ciclo screenshot-azione consente a Devin di adattarsi a qualunque cosa sia presente sullo schermo, gestendo contenuti dinamici, stati di caricamento, pop-up e finestre di dialogo inaspettate proprio come farebbe un essere umano.

<div id="computer-use-and-testing">
  ## Uso del computer e test
</div>

Computer Use è alla base del flusso di lavoro di [test e registrazioni](/it/work-with-devin/testing-and-recordings) di Devin. Quando Devin testa la tua applicazione dopo aver creato una pull request (PR):

1. **Setup** — Devin installa le dipendenze, avvia la tua app e prepara l'ambiente
2. **Pianificazione dei test** — Devin legge il diff e crea un piano di test mirato
3. **Esecuzione tramite Computer Use** — Devin usa il suo desktop per interagire con la tua app, seguendo il piano di test passo dopo passo
4. **Registrazione** — L'intero processo viene acquisito in un video con annotazioni e poi inviato a te per la revisione

La differenza principale tra Computer Use e il flusso di lavoro Testing & Recordings è l'ambito: **Computer Use** è la funzionalità alla base (interazione con il desktop), mentre **Testing & Recordings** è il flusso di lavoro strutturato che usa Computer Use per testare le tue PR e fornire prove video.

<div id="tips-for-getting-the-best-results">
  ## Suggerimenti per ottenere i risultati migliori
</div>

<CardGroup cols={2}>
  <Card title="Sii specifico su cosa testare" icon="bullseye">
    * "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"
  </Card>

  <Card title="Spiega a Devin come si presenta un esito positivo" icon="check">
    * "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"
  </Card>
</CardGroup>

<div id="pre-configure-access">
  ### Pre-configura l'accesso
</div>

Se la tua app richiede autenticazione, configura in anticipo i [secrets](/it/product-guides/secrets) in modo che Devin possa accedere senza chiedertelo durante la sessione. Completa la [configurazione dell'ambiente](/it/onboard-devin/environment) per garantire che Devin possa installare le dipendenze e avviare la tua app senza problemi.

<div id="create-testing-skills">
  ### Crea skill per il testing
</div>

Per le app che testi spesso, crea una [Skill](/it/product-guides/skills) 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](/it/work-with-devin/testing-and-recordings#skill-suggestions) per esempi.

<div id="scripted-browser-use-via-playwright">
  ## Uso del browser tramite script con Playwright
</div>

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.

<div id="how-it-works">
  ### Come funziona
</div>

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.

<div id="example-connecting-to-devins-browser">
  ### Esempio: collegamento al browser di Devin
</div>

```python theme={null}
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp("http://localhost:29229")
    context = browser.contexts[0]
    page = context.pages[0] if context.pages else context.new_page()

    # Esempio: naviga ed effettua il login
    page.goto("https://example.com/login")
    page.fill('input[name="email"]', "user@example.com")
    page.fill('input[name="password"]', "password")
    page.click('button[type="submit"]')
    page.wait_for_url("**/dashboard")
    print("Login successful!")
```

Dopo l'esecuzione di questo script, il browser di Devin è autenticato e pronto all'uso — senza alcuna interazione manuale.

<div id="when-to-use-this">
  ### Quando usare questa funzionalità
</div>

<CardGroup cols={2}>
  <Card title="Flussi SSO / OAuth" icon="key">
    Automatizza flussi di accesso in più passaggi (ad es. Okta, Auth0, Google SSO) che sarebbe noioso completare manualmente a ogni sessione.
  </Card>

  <Card title="Autenticazione per la configurazione dell'ambiente" icon="gear">
    Includi uno script di accesso nella tua [configurazione dell'ambiente](/it/onboard-devin/environment) così Devin avvierà ogni sessione già autenticato.
  </Card>

  <Card title="Automazione basata sulle Skill" icon="wand-magic-sparkles">
    Salva script di accesso o di inserimento dati in una [Skill](/it/product-guides/skills) così Devin può invocarli automaticamente quando necessario.
  </Card>

  <Card title="Inserimento dati sistematico" icon="table">
    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.
  </Card>
</CardGroup>

<div id="tips">
  ### Suggerimenti
</div>

* Salva gli script di login nella directory `.agents/skills/` della tua repo in modo che persistano tra le sessioni
* Usa [Secrets](/it/product-guides/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 gli strumenti del browser per interagire con la sessione autenticata

<div id="troubleshooting">
  ## Risoluzione dei problemi
</div>

<div id="devin-cant-find-a-ui-element">
  ### Devin non riesce a trovare un elemento dell'interfaccia
</div>

Se Devin non riesce a individuare un pulsante o un elemento dell'interfaccia sullo schermo, prova a essere più specifico nelle istruzioni: descrivi la posizione dell'elemento, la sua etichetta o il contesto circostante. Ad esempio, "fai clic sul pulsante **Salva** blu in basso a destra nella finestra modale" è meglio di "fai clic su Salva".

<div id="the-app-doesnt-render-on-devins-desktop">
  ### L'app non viene visualizzata sul desktop di Devin
</div>

Per impostazione predefinita, Devin utilizza un ambiente Linux. Se la tua applicazione funziona solo su Windows, esegui le tue sessioni in un [ambiente Windows](/it/onboard-devin/environment/windows-support) in modo che Devin possa testarla lì. Le applicazioni solo per macOS non sono supportate. Le applicazioni web funzionano indipendentemente dalla piattaforma, poiché vengono eseguite in Chrome. Per le app desktop, assicurati che dispongano di una build per la piattaforma su cui vengono eseguite le tue sessioni.

<div id="devin-is-clicking-the-wrong-things">
  ### Devin fa clic sugli elementi sbagliati
</div>

Se Devin interagisce in modo errato con la tua interfaccia utente, fornisci una voce di [Skill](/it/product-guides/skills) o [Knowledge](/it/product-guides/knowledge) con istruzioni di navigazione specifiche per la tua app. Descrivi i passaggi esatti ("clicca sul menu hamburger in alto a sinistra, poi clicca su **Impostazioni** nel menu a tendina") per ridurre l'ambiguità.
