Ir para a documentação

O WebBrowser coloca a aplicação diante de você e do agente

O WebBrowser é uma superfície Chromium viva dentro do Canvas. Um CodingAgent conectado pode observar, interagir, aguardar, depurar e testar a página que você também está vendo.

Veja a demonstração do WebBrowser no Kavor (abre em uma nova aba) em outra aba para acompanhar o comportamento visual enquanto lê este guia.

O browser como ferramenta de desenvolvimento

Para desenvolver uma aplicação web, o CodingAgent precisa mais do que editar arquivos. Ele precisa abrir a aplicação, interagir com ela, esperar estados reais e investigar o que aconteceu no browser.

Com uma Connection entre CodingAgent e WebBrowser, o agente pode trabalhar com uma superfície ampla de operações mediadas pelo Kavor:

  • observar: ler o estado da página, obter um snapshot de acessibilidade e capturar screenshots;
  • interagir: clicar, preencher campos, inserir texto, pressionar teclas, selecionar opções, marcar controles, rolar, arrastar, enviar arquivos e responder a diálogos;
  • sincronizar: aguardar seletor, texto, URL, carregamento, inatividade de rede ou uma condição específica;
  • depurar: consultar mensagens do console, requests de rede e corpos de respostas retidos;
  • testar: reproduzir um bug, executar um fluxo E2E e preservar uma evidência visual do resultado;
  • isolar cenários: bloquear, continuar ou simular respostas de rede durante um teste controlado;
  • organizar páginas: abrir, selecionar e fechar abas, acompanhar downloads e lidar com desafios de autenticação.

O objetivo não é esconder o browser atrás de uma automação. É tornar o estado e as ações verificáveis enquanto o agente trabalha.

Um loop prático para uma aplicação web

Comece com um WebBrowser e um CodingAgent no mesmo componente. Se a aplicação roda localmente, conecte também o Terminal que inicia o servidor. Um loop pequeno pode ser:

File / Specification — CodingAgent — WebBrowser
                              │
                           Terminal

Peça ao agente para:

  1. descobrir o estado atual da página antes de agir;
  2. reproduzir o caminho que falha;
  3. coletar evidência no console, na rede ou em um screenshot;
  4. alterar o código com o escopo definido;
  5. aguardar o novo estado e repetir o fluxo;
  6. registrar o resultado e os riscos restantes em uma Sticky Note.

Um prompt inicial pode ser:

Abra a aplicação no WebBrowser conectado. Primeiro observe a página e reproduza o fluxo sem alterar código. Depois descreva a causa provável, proponha a menor mudança e valide o caminho completo com evidência visual e de console.

O mesmo browser para o humano

Você também pode usar o WebBrowser como uma página normal dentro do Workspace: abrir uma documentação, assistir a um vídeo ou deixar uma página de referência aberta enquanto os agents trabalham.

YouTube e outras páginas comuns são usos naturais. Serviços de streaming como Netflix podem exigir autenticação, DRM, permissões ou condições específicas do sistema; por isso, o Kavor não promete reprodução garantida para um serviço particular.

Uma superfície compartilhada, não um browser invisível

O agente e o humano compartilham a mesma página viva. Isso tem consequências boas e importantes:

  • você consegue ver as ações e intervir;
  • o agente não possui uma janela privada que esconda o que está fazendo;
  • abas persistentes e páginas apresentadas pertencem ao perfil próprio do browser do Kavor, compartilhado entre seus WebBrowsers;
  • extensões, histórico e cookies do seu Chrome externo não são reaproveitados automaticamente;
  • o conteúdo da página é tratado como não confiável e não pode redefinir as instruções do agente.

O WebBrowser também não é um serviço de browser remoto nem uma permissão geral para operar o filesystem da máquina.

Limites e cuidados

Primeiro observe, depois aja

Antes de controlar uma página, o agente deve consultar o estado atual. Refs obtidas em um snapshot são temporárias e podem deixar de existir depois de navegação ou alteração do DOM. Quando isso acontecer, é preciso obter um novo snapshot em vez de insistir na referência antiga.

Ações sensíveis continuam humanas

CAPTCHAs, passkeys, permissões do site, certificados e prompts de autenticação podem exigir sua intervenção. O agente pode detectar ou aguardar essas situações, mas não deve fingir que uma ação humana aconteceu.

Regras de rede são temporárias

Bloqueios e respostas simuladas valem para o cenário controlado e para a geração de página correspondente. Limpe as regras ao terminar o teste; elas não são uma configuração permanente da aplicação.

O perfil aceita certificados de desenvolvimento

Para alcançar servidores locais e ambientes de desenvolvimento, o perfil dedicado aceita certificados autoassinados, expirados e emitidos por autoridades privadas. Essa escolha também reduz a proteção contra uma rede hostil que apresente um certificado inválido. Use o perfil com consciência antes de autenticar em serviços sensíveis.

A página pode continuar viva fora da tela

Ao trocar de Workspace na mesma janela, o Kavor preserva a página apresentada. Um CodingAgent conectado pode continuar operando esse estado mesmo enquanto outro Workspace está visível. Fechar a aba, excluir o Node ou encerrar a sessão encerra essa continuidade.

Frames e páginas podem ser parciais

O snapshot de acessibilidade pode omitir conteúdo de frames cross-origin. Uma resposta de rede pode ter sido descartada quando o histórico limitado avançou. O agente deve reportar a evidência observada, não inventar o que não conseguiu inspecionar.

Connection e Guardrail

O par direto CodingAgent + WebBrowser coloca o browser no componente alcançável do agente. O grafo pode incluir uma Specification, Files, Terminal, Sticky Note e outros CodingAgents por caminhos válidos, mas uma proximidade visual ou uma menção em mensagem não cria acesso.

O WebBrowser não possui um Guardrail específico próprio hoje. Isso não remove os limites de cada recurso que participa do mesmo grafo: um File read-only continua read-only, uma sessão de Terminal mantém seus controles e uma Specification continua obedecendo seu lifecycle.

Continue

Última revisão 8 de set. de 2026Verificado com Kavor 1.6.2Compartilhe feedback sobre a documentação