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, bem como em máquinas Outposts — incluindo macOS — que tenham um desktop gráfico. Consulte Plataformas compatíveis para mais detalhes.
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.
Suportado — as sessões são executadas em um ambiente de desktop Linux completo
Windows
Suportado — as sessões em ambientes Windows são executadas em um ambiente de desktop Windows completo
Outposts (Linux)
Suportado quando a máquina tem uma sessão X em execução (DISPLAY definido para o worker, por exemplo, uma sessão de desktop ou Xvfb). Máquinas sem interface gráfica recebem uma mensagem de erro clara. Consulte Computer Use no Outposts.
Outposts (macOS)
Suportado — Devin usa a sessão de desktop existente da máquina. As capturas de tela exigem a permissão de Gravação de Tela; as ações de mouse/teclado também exigem a permissão de Acessibilidade. Consulte Computer Use no Outposts.
macOS (Devin Cloud)
Não disponível — as sessões do macOS são executadas apenas em Outposts
A experiência do Computer Use é a mesma em todas 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.
Quando Devin cria um PR, ele exibe o botão Test the app. Clicar nesse botão aciona o fluxo de testes 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ê.
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”
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.
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.
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, 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.
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.
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.
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 para obter todos os detalhes sobre o fluxo de trabalho de gravação.
Quando o Devin usa o Computer Use durante uma sessão, ele segue este processo:
Tira uma captura de tela da tela atual para entender o que está visível
Identifica elementos interativos — botões, campos de texto, menus, links — e decide com o que interagir
Realiza uma ação — clica, digita, rola ou usa atalhos de teclado
Espera e observa — tira outra captura de tela para ver o resultado da ação
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.
Computer Use é a base do fluxo de trabalho de testes e gravações do Devin. Quando o Devin testa sua aplicação após criar uma PR (pull request):
Configuração — Devin instala dependências, inicia seu app e prepara o ambiente
Planejamento de testes — Devin lê o diff e cria um plano de teste focado
Execução via Computer Use — Devin usa sua área de trabalho para interagir com seu app, seguindo o plano de teste passo a passo
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.
No Outposts, as sessões são executadas em máquinas que você gerencia. Por isso, o Devin usa o ambiente de desktop já disponível na máquina, em vez de provisionar um próprio. A ferramenta computer está disponível em todas as sessões no modo desktop. Se a máquina não for compatível com uma ação, ela falhará com um erro claro e acionável, em vez de a ferramenta simplesmente não estar disponível.
Linux: o worker deve ser executado com acesso a uma sessão gráfica — DISPLAY deve estar definido no ambiente do worker e apontar para um servidor X em execução. Em uma máquina sem interface gráfica, você pode iniciar um servidor manualmente (por exemplo, Xvfb :0 com um gerenciador de janelas) e exportar DISPLAY antes de iniciar o worker. Sem uma tela, as ações no computador retornam um erro explicando que não há uma área de trabalho gráfica disponível e como disponibilizá-la.macOS: o Devin reutiliza a sessão de área de trabalho existente da máquina. Duas permissões distintas do macOS (TCC) se aplicam ao processo que executa o worker do Devin:
Gravação da Tela — necessária para capturas de tela.
Acessibilidade — necessária para entradas sintéticas de mouse e teclado.
Conceda ambas ao processo que inicia o worker em Configuração do Sistema > Privacidade e Segurança ou pré-autorize-as com um perfil PPPC de MDM em frotas gerenciadas. Em seguida, reinicie o worker.Windows: o Devin usa a sessão de área de trabalho interativa existente da máquina. Diferentemente dos ambientes Windows gerenciados pelo Devin — nos quais o worker inicia e configura sua própria instância do Chrome —, em um Outpost do Windows, o worker deixa o gerenciamento do Chrome a seu cargo: instale o Chrome conforme descrito em dependências da máquina para usar os recursos do navegador, e o Devin interagirá com a área de trabalho como ela estiver.
É normal ter recursos disponíveis apenas parcialmente
Os recursos são verificados de forma independente, então o Devin degrada normalmente em vez de perder toda a funcionalidade:
Se a Gravação de Tela estiver concedida, mas a Acessibilidade não (uma configuração padrão comum), as capturas de tela funcionam, enquanto as ações de clicar/digitar/rolar retornam um erro informando exatamente qual permissão conceder.
Se não houver nenhum monitor disponível, todas as ações no computador retornam o motivo (por exemplo, DISPLAY não configurado) e o que é preciso alterar.
A gravação de tela de sessões de teste também exige o ffmpeg na máquina — consulte dependências da máquina.
Se o seu app exigir autenticação, configure os 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 para garantir que o Devin possa instalar as dependências e iniciar seu app sem problemas.
Para apps que você testa com frequência, crie uma Skill 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 para exemplos.
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.
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.
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.
Autenticação na configuração do ambiente
Inclua um script de login na sua configuração do ambiente para que o Devin inicie cada sessão já autenticado.
Automação com skills
Armazene scripts de login ou de entrada de dados em uma Skill para que o Devin possa executá-los automaticamente quando necessário.
Entrada de dados sistemática
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.
Armazene scripts de login no diretório .agents/skills/ do seu repositório para que sejam mantidos entre sessões
Use Segredos 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
Em conjunto com Segredos expostos como variáveis de ambiente, um script em .agents/skills/ pode injetar qualquer estado no navegador no início de cada sessão — não apenas cookies. Por exemplo, um script pode chamar page.evaluate() para gravar chaves no localStorage (flags de recursos, tokens de API, seleção de tenant) lidas de variáveis de ambiente, para que o navegador do Devin sempre seja iniciado no estado esperado pelo seu app. Para manter o estado que você capturou manualmente em vez de criá-lo por script, consulte Autenticação no navegador.
Devin não consegue encontrar um elemento da interface
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”.
Por padrão, Devin roda em um ambiente Linux. Se seu aplicativo só é executado no Windows, rode suas sessões em um ambiente Windows para que Devin possa testá-lo lá. Aplicativos exclusivos para macOS exigem uma máquina Outpost com macOS e uma sessão de desktop. 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.
Se Devin estiver interagindo de forma incorreta com sua interface, forneça uma entrada de Skill ou de 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.
Assistant
Responses are generated using AI and may contain mistakes.