> ## 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 do Computador

> Como o Devin usa um ambiente de desktop completo para interagir com GUIs, testar aplicativos e verificar visualmente alterações

Devin tem acesso a um ambiente de desktop completo — não apenas a um navegador. Ele pode mover o mouse, clicar em elementos da interface, digitar no teclado, tirar capturas de tela e interagir com qualquer aplicativo que seja executado no desktop. Essa capacidade é chamada de **Computer Use** e permite que o Devin teste e interaja com seu software da mesma forma que um humano faria.

O Computer Use funciona tanto em sessões **Linux** (a plataforma de sessão padrão) quanto em sessões **Windows**. Consulte [Plataformas compatíveis](#supported-platforms) para mais detalhes.

<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">
  ## O que é Computer Use?
</div>

Computer Use concede ao Devin acesso direto a um ambiente de desktop gráfico com mouse e teclado. Isso vai além da simples automação de navegador — o Devin pode interagir com **qualquer aplicativo** que apareça na tela, incluindo:

* **Aplicativos web** no Chrome (clicar em botões, preencher formulários, navegar entre páginas)
* **Aplicativos desktop** que rodam na plataforma da sessão (Linux ou Windows), incluindo apps Electron, IDEs e GUIs nativas da plataforma
* **Interfaces baseadas em terminal** (programas TUI, CLIs interativas)
* **Qualquer interface visual** que possa ser exibida no desktop

O Devin vê a tela como um display de 1024×768 pixels e pode executar ações como clicar, digitar, rolar, arrastar e tirar capturas de tela — como um humano sentado em frente ao computador.

<div id="supported-platforms">
  ## Plataformas compatíveis
</div>

| Plataforma     | Suporte ao Computer Use                                                                                                                                   |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Linux (padrão) | Suportado — as sessões são executadas em um ambiente de desktop Linux completo                                                                            |
| Windows        | Suportado — as sessões em [ambientes Windows](/pt-BR/onboard-devin/environment/windows-support) são executadas em um ambiente de desktop Windows completo |
| macOS          | Não suportado                                                                                                                                             |

A experiência do Computer Use é a mesma em ambas as plataformas: Devin usa o mouse e o teclado, faz capturas de tela, usa o Chrome para apps da web e pode gravar suas sessões de teste. No Windows, Devin também pode testar aplicativos de desktop nativos do Windows (por exemplo, WPF, WinForms e outros apps que só funcionam no Windows). Para executar sessões no Windows, configure um blueprint do Windows conforme descrito em [suporte para Windows](/pt-BR/onboard-devin/environment/windows-support).

<div id="how-to-enable-it">
  ## Como ativar
</div>

O Computer Use é controlado pela opção **Enable desktop mode** nas opções de personalização da sua organização.

1. Acesse [**Configurações > Customization**](https://app.devin.ai/customization)
2. Na seção **Browser interaction**, ative **Enable desktop mode**
3. O Devin agora usará seu ambiente de desktop durante as sessões

<Info>O modo Desktop está disponível em todos os planos. Somente administradores da organização podem alterar essa configuração.</Info>

<div id="when-computer-use-runs">
  ## Quando o Computer Use é acionado
</div>

Depois que o modo Desktop é ativado, o Computer Use fica disponível em todas as sessões. Há três maneiras de ele ser usado:

<div id="after-creating-a-pr">
  ### Após criar um PR
</div>

Quando Devin cria um PR, ele exibe o botão **Test the app**. Clicar nesse botão aciona o [fluxo de testes](/pt-BR/work-with-devin/testing-and-recordings) completo — Devin inicia seu app, usa Computer Use para interagir com a área de trabalho, testa as alterações e envia uma gravação para você.

<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="Botão Test the app" width="276" height="96" data-path="images/test-the-app-button.png" />
</Frame>

<div id="on-request-during-a-session">
  ### Sob demanda durante uma sessão
</div>

Você pode pedir para o Devin testar a qualquer momento durante uma sessão — não é necessária nenhuma sintaxe especial, basta usar linguagem natural. Por exemplo:

* "Teste as alterações que você acabou de fazer e me envie uma gravação"
* "Abra o aplicativo no navegador e verifique se a página de login está funcionando"
* "Inicie o aplicativo para desktop e confira se o novo item de menu aparece"

<div id="autonomously-when-appropriate">
  ### De forma autônoma quando apropriado
</div>

Devin decide por conta própria quando a interação com a área de trabalho é a ferramenta certa para a tarefa. Se uma tarefa envolver clicar em elementos de UI, navegar em um aplicativo, preencher formulários ou verificar algo visualmente, Devin usará Computer Use sem que você precise solicitar isso explicitamente. Você não precisa dizer ao Devin *como* interagir com a tela — apenas *o que* deseja que ele faça.

<div id="what-devin-can-do-with-computer-use">
  ## O que o Devin pode fazer usando o computador
</div>

<div id="test-web-applications-end-to-end">
  ### Testar aplicações web de ponta a ponta
</div>

Devin pode iniciar seu app localmente, abri-lo no Chrome e percorrer fluxos de usuário completos — login, navegação, envio de formulários, checkout — verificando se tudo funciona conforme o esperado.

<div id="test-desktop-applications">
  ### Testar aplicativos desktop
</div>

Qualquer aplicativo executado na plataforma de sessão do Devin pode ser testado. Nas sessões Linux, isso inclui apps em Electron, aplicativos Java Swing/AWT, apps GTK/Qt e muito mais. Nas [sessões Windows](/pt-BR/onboard-devin/environment/windows-support), Devin também pode testar aplicativos nativos do Windows, como apps WPF e WinForms. Devin inicia o app, interage com a interface gráfica e verifica seu comportamento.

<div id="visual-verification">
  ### Verificação visual
</div>

Devin pode fazer capturas de tela em pontos específicos durante os testes para verificar se layouts, estilos e elementos da interface estão corretos. Ele pode comparar o que vê na tela com o comportamento esperado e sinalizar problemas visuais.

<div id="interact-with-complex-ui-flows">
  ### Interagir com fluxos complexos de UI
</div>

Alguns cenários de teste exigem interações de GUI em múltiplas etapas que vão além de chamadas simples de API ou automação de navegador — coisas como arrastar e soltar, menus de contexto, atalhos de teclado ou navegação entre várias janelas. O Computer Use dá conta de tudo isso.

<div id="record-testing-sessions">
  ### Registrar sessões de teste
</div>

Devin pode gravar sua tela enquanto executa testes, anotando momentos importantes no vídeo. A gravação é então processada e enviada para você, para que você possa ver o Devin interagindo com seu aplicativo e confirmar que as alterações funcionam. Consulte [Testes e gravações de vídeo](/pt-BR/work-with-devin/testing-and-recordings) para obter todos os detalhes sobre o fluxo de trabalho de gravação.

<div id="how-computer-use-works">
  ## Como o Computer Use funciona
</div>

Quando o Devin usa o Computer Use durante uma sessão, ele segue este processo:

1. **Tira uma captura de tela** da tela atual para entender o que está visível
2. **Identifica elementos interativos** — botões, campos de texto, menus, links — e decide com o que interagir
3. **Realiza uma ação** — clica, digita, rola ou usa atalhos de teclado
4. **Espera e observa** — tira outra captura de tela para ver o resultado da ação
5. **Repete** até que a tarefa seja concluída

Esse ciclo de captura de tela e ação permite que o Devin se adapte ao que estiver na tela, lidando com conteúdo dinâmico, estados de carregamento, pop-ups e diálogos inesperados da mesma forma que um humano faria.

<div id="computer-use-and-testing">
  ## Computer Use e Testes
</div>

Computer Use é a base do fluxo de trabalho de [testes e gravações](/pt-BR/work-with-devin/testing-and-recordings) do Devin. Quando o Devin testa sua aplicação após criar uma PR (pull request):

1. **Configuração** — Devin instala dependências, inicia seu app e prepara o ambiente
2. **Planejamento de testes** — Devin lê o diff e cria um plano de teste focado
3. **Execução via Computer Use** — Devin usa sua área de trabalho para interagir com seu app, seguindo o plano de teste passo a passo
4. **Gravação** — Todo o processo é capturado em vídeo com anotações e enviado para você revisar

A principal diferença entre Computer Use e o fluxo de trabalho **Testing & Recordings** é o escopo: **Computer Use** é a capacidade subjacente (interação com a área de trabalho), enquanto **Testing & Recordings** é o fluxo de trabalho estruturado que usa Computer Use para testar suas PRs e fornecer evidências em vídeo.

<div id="tips-for-getting-the-best-results">
  ## Dicas para Obter os Melhores Resultados
</div>

<CardGroup cols={2}>
  <Card title="Seja específico sobre o que testar" icon="bullseye">
    * "Abra o app, clique no botão Settings no canto superior direito, ative o modo escuro e verifique se todo o texto continua legível"
    * "Inicie o app Electron, crie um novo documento, digite algum texto e verifique se ele é salvo ao fechar a janela"
  </Card>

  <Card title="Diga ao Devin o que significa sucesso" icon="check">
    * "O painel deve mostrar três gráficos sem mensagens de erro"
    * "Após enviar o formulário, um banner verde de sucesso deve aparecer na parte superior da página"
  </Card>
</CardGroup>

<div id="pre-configure-access">
  ### Pré-configure o acesso
</div>

Se o seu app exigir autenticação, configure os [secrets](/pt-BR/product-guides/secrets) com antecedência para que o Devin possa fazer login sem precisar solicitar isso a você durante a sessão. Conclua a [configuração do ambiente](/pt-BR/onboard-devin/environment) para garantir que o Devin possa instalar as dependências e iniciar seu app sem problemas.

<div id="create-testing-skills">
  ### Crie skills de teste
</div>

Para apps que você testa com frequência, crie uma [Skill](/pt-BR/product-guides/skills) que instrua o Devin exatamente sobre como configurar e testar seu aplicativo. Isso economiza tempo em sessões repetidas e garante consistência nos testes. Veja [Testes e gravações de vídeo — sugestões de Skill](/pt-BR/work-with-devin/testing-and-recordings#skill-suggestions) para exemplos.

<div id="scripted-browser-use-via-playwright">
  ## Uso do navegador por scripts via Playwright
</div>

O navegador Chrome do Devin expõe um endpoint do **Chrome DevTools Protocol (CDP)** ao qual o Playwright pode se conectar. Devin pode escrever e executar scripts do Playwright para automatizar interações no navegador — como fluxos de login ou entrada sistemática de dados — no navegador que ele mesmo está executando. Você também pode escrever esses scripts por conta própria e fazer commit deles no seu repositório. Para a maioria das outras ações no navegador, recomenda-se usar o Computer Use nativo do Devin ou as ferramentas do navegador.

<div id="how-it-works">
  ### Como funciona
</div>

A instância do Chrome do Devin escuta conexões CDP na porta **29229**. Um script Playwright pode se conectar a esse navegador, executar ações (preencher formulários, clicar em botões, lidar com redirecionamentos) e depois se desconectar. Como o script se conecta ao navegador *existente* em vez de iniciar um novo, todas as alterações de estado — cookies, localStorage, tokens de autenticação — persistem após o término do script.

Isso significa que o Devin pode usar imediatamente a sessão autenticada: atualizar páginas, navegar e interagir com o app normalmente.

<div id="example-connecting-to-devins-browser">
  ### Exemplo: como se conectar ao navegador do 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()

    # Exemplo: navegar e fazer 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 realizado com sucesso!")
```

Depois que este script é executado, o navegador do Devin já está autenticado e pronto para uso — sem necessidade de interação manual.

<div id="when-to-use-this">
  ### Quando usar isso
</div>

<CardGroup cols={2}>
  <Card title="Fluxos de SSO / OAuth" icon="key">
    Automatize fluxos de login em várias etapas (por exemplo, Okta, Auth0, Google SSO) que seriam trabalhosos de executar manualmente, clique por clique, em toda sessão.
  </Card>

  <Card title="Autenticação na configuração do ambiente" icon="gear">
    Inclua um script de login na sua [configuração do ambiente](/pt-BR/onboard-devin/environment) para que o Devin inicie cada sessão já autenticado.
  </Card>

  <Card title="Automação com skills" icon="wand-magic-sparkles">
    Armazene scripts de login ou de entrada de dados em uma [Skill](/pt-BR/product-guides/skills) para que o Devin possa executá-los automaticamente quando necessário.
  </Card>

  <Card title="Entrada de dados sistemática" icon="table">
    Crie scripts para envios repetitivos de formulários ou entrada de dados em massa que seriam lentos e propensos a erros manualmente, no modo apontar e clicar.
  </Card>
</CardGroup>

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

* Armazene scripts de login no diretório `.agents/skills/` do seu repositório para que sejam mantidos entre sessões
* Use [Segredos](/pt-BR/product-guides/secrets) para armazenar credenciais — referencie-as por meio de variáveis de ambiente nos seus scripts
* O endpoint CDP é sempre `http://localhost:29229` — a porta é a mesma com ou sem o modo Desktop ativado
* Após a execução do script, o Devin pode usar o Computer Use ou as ferramentas do navegador para interagir com a sessão autenticada

<div id="troubleshooting">
  ## Solução de problemas
</div>

<div id="devin-cant-find-a-ui-element">
  ### Devin não consegue encontrar um elemento da interface
</div>

Se Devin não conseguir localizar um botão ou elemento na tela, tente ser mais específico nas suas instruções — descreva a localização do elemento, seu rótulo ou o contexto em torno dele. Por exemplo, "clique no botão **Salvar** azul no canto inferior direito do modal" é melhor do que "clique em Salvar".

<div id="the-app-doesnt-render-on-devins-desktop">
  ### O app não é exibido na área de trabalho do Devin
</div>

Por padrão, Devin roda em um ambiente Linux. Se seu aplicativo só é executado no Windows, rode suas sessões em um [ambiente Windows](/pt-BR/onboard-devin/environment/windows-support) para que Devin possa testá-lo lá. Aplicativos exclusivos para macOS não são compatíveis. Aplicativos web funcionam independentemente da plataforma, já que rodam no Chrome. Para apps de desktop, certifique-se de que eles tenham uma build para a plataforma em que suas sessões rodam.

<div id="devin-is-clicking-the-wrong-things">
  ### Devin está clicando nos lugares errados
</div>

Se Devin estiver interagindo de forma incorreta com sua interface, forneça uma entrada de [Skill](/pt-BR/product-guides/skills) ou de [Knowledge](/pt-BR/product-guides/knowledge) com instruções de navegação específicas para o seu aplicativo. Descrever os passos exatos ("clique no menu hambúrguer no canto superior esquerdo e, em seguida, clique em **Configurações** no menu suspenso") reduz ambiguidades.
