Ferramentas de navegador

Os participantes podem olhar uma página web e operá-la, num navegador que o AutoDev mantém para a execução. Ficam desligadas até você ligar, usam um perfil próprio, e algumas ações sempre pedem um gate.

O que são #

As ferramentas de navegador deixam um participante ver e operar uma página web que não tem API, CLI nem servidor MCP para usar no lugar. São cinco, e o participante chega a elas pelas ferramentas que o AutoDev serve a ele:

Toda chamada responde com a página como ela ficou depois: uma captura de 1280 por 800, o título e o endereço. O participante age por pixel nessa imagem. Só endereços http e https abrem.

O participante olha e decide com o próprio modelo, na própria assinatura. As capturas são enviadas a esse modelo, como o código que ele lê.

Um navegador dura a execução inteira e fecha quando ela termina, então um login, uma aba aberta e uma posição de rolagem passam de uma chamada à seguinte.

Ligue-as #

Elas ficam desligadas até você ligar, porque uma capacidade que opera interfaces não é um padrão. Abra o destino Config e, na seção Computer use, defina capability.computerUse.enabled, ou rode isto no projeto:

powershell
autodev config set capability.computerUse.enabled true

Enquanto estão desligadas, um participante que chama uma ferramenta de navegador é avisado de que o uso do computador está desligado para o projeto, e de que deve pedir a você esse passo. Todas as chaves de configuração lista as chaves.

As ferramentas precisam de Chrome ou Edge na máquina. Quando nenhum é encontrado, defina AUTODEV_BROWSER com o caminho de um.

Um perfil próprio #

O navegador roda num perfil do próprio AutoDev, guardado na máquina, na pasta browser-profile/ do estado do projeto que fica na máquina. Não é o seu navegador do dia a dia: nada nele lê seus cookies, seu histórico nem suas senhas salvas, e o seu navegador não é aberto nem controlado. Onde o estado fica diz onde essa pasta está. autodev new-run a deixa onde está, então os logins sobrevivem a uma execução.

O arquivo de configuração pode nomear uma pasta sua em capability.computerUse.browserProfile. autodev config set recusa essa chave, porque um caminho ali é o seu próprio perfil de navegador, e leva todos os seus cookies para uma sessão automatizada.

Entre num site #

O login é seu, uma vez por site, e fica no perfil para toda execução seguinte. Um participante nunca digita uma senha: ele recusa um campo de senha, e um campo rotulado como código ou chave.

No painel, abra o destino Config e pressione Log in to a site… na seção Computer use. O painel pede o endereço. Por um terminal:

powershell
autodev browser login <url>

O endereço precisa ser uma URL completa http:// ou https://, e ela abre no navegador do próprio AutoDev, visível, naquela página. Entre lá e depois feche a janela. Uma execução iniciada enquanto ela está aberta a usa e a fecha quando termina.

Se uma execução já tem esse navegador aberto e visível, a página abre numa nova aba dele, e você fecha essa aba depois do login, porque a próxima chamada da execução continua na aba mais nova. Se a execução o tem oculto, não há janela para entrar: entre depois que a execução terminar, ou defina capability.computerUse.headless como false. autodev browser login tem os detalhes.

Oculto por padrão #

O navegador roda sem janela. capability.computerUse.headless como false mostra a janela enquanto o participante trabalha, na seção Computer use ou com autodev config set. Mudar isso durante uma execução troca o navegador na chamada seguinte. Deixe a janela em paz enquanto uma chamada roda.

O que um participante pode e não pode fazer #

Um participante pode olhar uma página, clicar, digitar, pressionar as teclas acima e rolar. Ele trabalha só neste navegador: nada mais da área de trabalho está ao alcance.

O que ele não faz sozinho é decidido a partir da página, não do que o participante diz estar fazendo. O AutoDev lê o papel e o rótulo do elemento sob o ponteiro, ou do campo que tem o foco, e classifica a ação. Pagamentos, mudanças de conta, ações destrutivas, publicação, envio de mensagem e ações de administrador são as classes bloqueadas. Um rótulo que se pareça com uma delas basta: os padrões são amplos de propósito, porque um clique bloqueado custa um gate, e um errado custa algo que ninguém aprovou. Rolar nunca é bloqueado.

Uma ação bloqueada volta ao participante como um bloqueio que nomeia o controle. O caminho é um gate que o nomeia, e, com o gate aprovado, o participante chama de novo com o id dele. Uma aprovação é usada uma vez, e libera só o controle que nomeia. Um gate segue as suas configurações de gate como qualquer outro, e por padrão o AutoDev aprova os gates que lhe são mostrados, então defina gateMode como gated quando quiser que cada um destes espere por você. Seu primeiro objetivo trata dos gates.

Um campo secreto nunca recebe digitação, seja o que for aprovado: um campo de senha, ou um rotulado como senha, código, chave ou token. O participante pede que você digite, ou você entra antes, como acima.

Cada ação de um participante, e cada ação recusada, é gravada no log de eventos. Um aviso que um participante deixa também pode reter as ferramentas de navegador até você respondê-lo, e A thread compartilhada diz como uma retenção é liberada.