Agentes de IA no navegador: como usar o Browser Use
Crie agentes de IA com Browser Use: entenda a biblioteca Python, os modelos compatíveis e o Cloud, com um passo a passo inicial e cuidados de segurança.
Publicado em

Com o Browser Use, você cria agentes de IA para executar tarefas em sites sem tirar a automação da sua aplicação. A biblioteca de código aberto exige Python 3.11 ou superior; o Browser Use Cloud pode hospedar o navegador ou o agente inteiro. Comece por uma tarefa cujo resultado seja fácil de conferir, como consultar um registro em um portal, antes de permitir que o agente envie alterações.
Informações verificadas no README do Browser Use no GitHub e na documentação oficial citada em 2 de novembro de 2026. O passo a passo abaixo foi adaptado dessa documentação; não se trata de um teste prático de desempenho.
Como o Browser Use coloca agentes de IA no navegador
O Browser Use conecta um modelo de linguagem a um navegador. Assim, sua aplicação descreve um objetivo em vez de definir cada clique. A ferramenta atende a tarefas como localizar um registro no portal de um fornecedor, consultar um painel ou percorrer um formulário em que a próxima tela depende da resposta anterior. A biblioteca de código aberto fornece o agente: o software que escolhe e executa ações sucessivas para atingir esse objetivo. README da biblioteca
Pense no modelo de linguagem como o motorista, no Browser Use como os controles e as informações que orientam esse motorista, e no navegador como o veículo. A estrada continua sendo o site de outra pessoa. Por mais competente que seja, o motorista não consegue liberar uma via fechada nem concluir que a autorização para fazer uma entrega também permite uma compra sem relação com ela.
O ciclo funciona assim:
- Observar: coletar o estado atual da página, incluindo os elementos com os quais é possível interagir. O Browser Use também pode fornecer capturas de tela ao modelo.
- Decidir: o modelo de linguagem de grande porte, ou LLM, usa a tarefa e o estado atual para escolher a próxima ação.
- Agir: o navegador acessa páginas, clica, digita ou executa outra operação disponível.
- Observar de novo: a decisão seguinte considera a página já modificada. O ciclo continua até o agente parar ou um limite configurado interromper a execução.
O DOM, a árvore que estrutura os elementos de uma página, ajuda a identificar os controles que o agente pode usar; as capturas de tela acrescentam contexto visual. A documentação do Browser Use descreve tanto o processamento do DOM quanto as opções de visão. Por isso, dizer que ele é apenas um modelo olhando imagens dá uma ideia errada de como funciona. Controles do navegador, configurações do agente

Para quem está fundando uma empresa e desenvolve um assistente de compras, uma tarefa útil seria “encontre o status de envio deste pedido”. Para aceitar o resultado, é preciso conferir se o pedido e o status estão corretos, com um registro que comprove a origem da informação. Um parágrafo convincente produzido pelo agente não substitui essa conferência.
Browser Use de código aberto: o que é preciso instalar
A instalação básica reúne o pacote Python browser-use, um navegador para controlar e acesso a um modelo compatível. A biblioteca usa a licença MIT. O README exige Python 3.11 ou superior, enquanto o guia de início rápido usa Python 3.12. Você pode executar o agente no seu próprio processo e escolher um navegador local ou remoto. README e instalação
“Local” indica onde o processo ou o navegador é executado. Se você escolher uma API de modelo remoto, as observações ainda serão enviadas a esse serviço. Um navegador local não torna todo o sistema local.
Quais modelos podem controlar o navegador?
O Browser Use oferece adaptadores para vários provedores, sem obrigar você a usar o modelo da própria empresa:
- Browser Use BU2:
ChatBrowserUse(model="bu-2-0"), comBROWSER_USE_API_KEY. - Modelos da OpenAI:
ChatOpenAI, comOPENAI_API_KEY. - Modelos Claude da Anthropic:
ChatAnthropic, comANTHROPIC_API_KEY. - Modelos Gemini do Google:
ChatGoogle, comGOOGLE_API_KEY. - Modelos locais via Ollama:
ChatOllama, conectado ao seu serviço de modelo local.
A documentação de modelos compatíveis também lista integrações com DeepSeek, Mistral, Microsoft Azure OpenAI, Amazon Web Services Bedrock e OpenRouter. Confira quais modelos o provedor oferece atualmente; um identificador encontrado em um exemplo antigo não deve ser tratado como recomendação.
Ter um adaptador não é garantia de qualidade. A mesma documentação alerta que alguns modelos Qwen geram um esquema de ações incorreto, ou seja, instruções em um formato que o agente não consegue executar. Para essa integração, a recomendação atual é qwen-vl-max. Antes de ampliar as responsabilidades do modelo, avalie seu comportamento nas páginas e nos resultados de que você realmente precisa.
A interface Browser Use Web UI
O Browser Use Web UI é um projeto separado, com uma interface web feita em Gradio para interagir com o agente. Ele tem instalação e dependências próprias. Para integrar o Browser Use a uma aplicação, comece pela documentação atual da biblioteca Python; não misture a configuração do repositório Web UI com o SDK do serviço hospedado.
O que o Browser Use Cloud oferece
O Browser Use Cloud permite terceirizar a infraestrutura do navegador, o agente inteiro ou ambos. A escolha muda a quantidade de código que fica sob sua operação. O guia de início rápido do Cloud distingue essas opções de forma explícita:
Ao usar seu próprio agente, Browser(use_cloud=True) seleciona o navegador hospedado do Browser Use e exige BROWSER_USE_API_KEY. Esse navegador gerenciado acrescenta recursos para reduzir a detecção de automação, proxies e visualização ao vivo. O README também descreve recursos para lidar com CAPTCHAs, com a ressalva explícita de que os resultados dependem do site e do desafio. Guia do navegador no Cloud, README
O CDP, sigla de Chrome DevTools Protocol, é a conexão de controle remoto usada na opção de infraestrutura descrita pela documentação. Assim, um navegador hospedado pode atender a um código que continua sendo executado por você.
Na opção totalmente hospedada, o pacote é browser-use-sdk, e não browser-use. Os exemplos atuais do Cloud usam a API V4 e a importação Python from browser_use_sdk.v4 import BrowserUse. Seu programa envia uma tarefa e recupera o resultado, em vez de executar localmente o ciclo de Agent. Guia de início rápido do agente hospedado
Para quem desenvolve, essa é uma escolha de implantação. Para quem opera, a responsabilidade continua a mesma: definir o que o agente pode acessar e quais evidências comprovam que o trabalho foi concluído.
Quando vale escolher uma alternativa ao Browser Use?
Escolha qual camada precisa ficar sob seu controle. O Browser Use é um bom ponto de partida quando a tarefa se limita a sites e você quer um ciclo de agente de navegador pronto, com liberdade para escolher o modelo. Uma API de controle de computador faz sentido quando você quer desenvolver a partir da interface de ações que ela oferece ou precisa ir além das páginas web.
A OpenAI também oferece uma Agents API separada, com navegador hospedado pela OpenAI. Portanto, a regra de que “controlar um computador por IA sempre exige hospedar seu próprio navegador” já não serve como orientação. O Browserbase também tem produtos de agentes além da infraestrutura de navegadores.
Browser Use e Browserbase não são necessariamente escolhas excludentes: o Browser Use aceita um cdp_url, e o Browserbase fornece uma URL de conexão CDP. Essas interfaces documentadas abrem caminho para combinar a biblioteca de agentes com esse ambiente de execução, embora este artigo não afirme ter testado a integração. Configurações de conexão do Browser Use
Mantenha uma API confiável ou um script de navegador com sequência fixa se ele já resolve a tarefa. Um formulário estável não ganha nada quando se pede a um modelo que redescubra sempre a mesma sequência. O guia de agentes que controlam computadores aprofunda a escolha de como exercer esse controle; o artigo sobre navegadores para agentes de IA compara a infraestrutura.
Os riscos que continuam sob responsabilidade da sua aplicação
O limite mais difícil de estabelecer em produção é o que o navegador autenticado pode fazer. Hospedá-lo em outro lugar não torna confiáveis as instruções das páginas nem elimina as consequências de um envio feito por engano.
Injeção de prompt no conteúdo das páginas
A injeção de prompt ocorre quando um conteúdo lido pelo agente tenta redirecionar suas instruções. Em um portal, esse conteúdo pode ser uma observação inserida por um cliente que manda o agente enviar um relatório para outro destino. Trate a observação como dado, mesmo que ela se apresente como uma instrução do administrador.
Use contas dedicadas, com apenas as permissões necessárias para a tarefa. Restrinja a navegação com allowed_domains do Browser Use e faça sua aplicação ou ambiente de execução exigir aprovação para ações com consequências relevantes. Um site permitido ainda pode exibir conteúdo malicioso gerado por usuários; por isso, uma lista de domínios, sozinha, não estabelece confiança. Restrições do navegador, orientações de segurança para controle de computador

Um prompt que diz “pergunte antes de enviar” não cria uma barreira efetiva de permissão. Se sua integração não consegue interceptar a ação de forma confiável, deixe-a fora das permissões do agente e peça a uma pessoa que a conclua. O guia de injeção de prompt explica como vincular a aprovação à ação exata que está sendo autorizada.
Logins, armazenamento de sessão e logs
Um login salvo dá acesso à conta. O Browser Use pode reutilizar o Chrome com Browser.from_system_chrome() ou carregar cookies e armazenamento local salvos com Browser(storage_state="auth.json"). Proteja esse arquivo de estado como uma credencial, mantenha-o fora do controle de versão e evite usar um perfil pessoal de navegador em uma tarefa de negócio sem supervisão. Documentação de autenticação
Há uma limitação específica na migração: o README informa que a sincronização de perfis locais transfere cookies, mas não armazenamento local, IndexedDB ou extensões. IndexedDB é outro mecanismo de armazenamento de dados no navegador. Já os perfis do Cloud podem preservar cookies, armazenamento local e estado de login entre navegadores na nuvem. Essa persistência não significa que a sincronização local copiou todos os mecanismos de armazenamento. Alguns sites exigirão um novo login. Ressalva sobre a sincronização
Mantenha perfis separados para cada usuário final. Antes de lidar com dados privados de portais, confira também o que chega às entradas do modelo, às capturas de tela e aos históricos de conversa salvos. O Browser Use oferece controles para capturas de tela e salvamento de conversas; configure-os de forma deliberada. Configurações do agente
Limites de requisições e novas tentativas sem resultado confirmado
Ter capacidade disponível para um navegador na nuvem não dá acesso ilimitado ao site de destino. Planeje separadamente os limites do serviço de modelo, a capacidade e os limites de requisições do Browser Use Cloud, e as restrições de tráfego ou desafios impostos pelo próprio site.
Limite o trabalho simultâneo por site, aumente o intervalo entre tentativas quando ele pedir uma pausa e interrompa a repetição de tentativas bloqueadas. Nos erros da API do Cloud, confira se a falha é de capacidade ou de frequência de requisições e respeite a orientação recebida sobre quando tentar novamente. Limites do Cloud
Acima de tudo, não repita um envio só porque o tempo de espera do cliente se esgotou. Confira primeiro a execução existente e o registro no destino. Um timeout pode deixar você sem confirmação de uma ação que já aconteceu.
Browser Use na prática: uma primeira execução com a documentação
Comece com uma página pública e uma tarefa apenas de leitura. Isso permite confirmar que o pacote, o navegador e o modelo conseguem se conectar sem envolver login ou transação de negócio. Os comandos seguem o guia de início rápido da biblioteca de código aberto; o exemplo usa o ambiente Python 3.12 desse guia e a seleção explícita do modelo BU2 indicada no README.
Como configurar o Browser Use em Python
Instale o pacote e o navegador
No macOS ou Linux, com Python e pip disponíveis, abra um shell Bash em uma nova pasta de projeto:
Bashpip install uv uv venv --python 3.12 source .venv/bin/activate uv pip install browser-use uvx browser-use installO último comando instala o navegador. No Windows, use o comando de ativação do ambiente indicado no guia de início rápido no lugar de
source.Configure a credencial do modelo
Crie uma chave de API do Browser Use no painel indicado pelo guia de início rápido. No mesmo shell Bash, informe a chave sem exibi-la:
Bashread -rsp "Browser Use API key: " BROWSER_USE_API_KEY printf '\n' export BROWSER_USE_API_KEYEssa chave habilita o serviço do modelo escolhido. Ela não transfere automaticamente o navegador para o Cloud.
Execute uma tarefa simples, apenas de leitura
Salve este código como
agent.py:Pythonimport asyncio from browser_use import Agent, ChatBrowserUse async def main(): agent = Agent( task=( "Open https://example.com and report the page heading. " "Do not follow links or submit anything." ), llm=ChatBrowserUse(model="bu-2-0"), ) history = await agent.run() print(history.final_result()) if __name__ == "__main__": asyncio.run(main())Depois, execute:
Bashpython agent.pyConfira por conta própria se o título informado corresponde ao da página. A instrução da tarefa serve como restrição inicial para este exemplo inofensivo; em produção, as restrições precisam ser impostas fora do prompt.
Se a execução falhar, leia o erro antes de trocar de modelo: a instalação do navegador, a autenticação do modelo e o acesso ao site são pontos de falha diferentes. Quando funcionar, mantenha as versões das dependências usadas e avance para uma conta de teste no site pretendido.
Onde está o exagero nas promessas?
Uma execução concluída pelo agente não comprova que a transação de negócio foi concluída. A documentação de saída do Browser Use deixa essa distinção explícita: is_done() indica que o agente emitiu uma ação de conclusão; is_successful() expressa a avaliação do próprio agente. Resultados externos importantes ainda precisam ser verificados no sistema de destino. Significado dos resultados de saída
Em uma alteração de endereço, confira o endereço salvo. Em um download de relatório, examine o arquivo e o período a que ele se refere. Em um envio, registre a confirmação do sistema de destino e esclareça qualquer resultado incerto antes de tentar novamente.
O mesmo cuidado vale para a promessa de que “funciona em qualquer site”. Os recursos de um navegador gerenciado podem reduzir obstáculos de acesso, mas o README do projeto não promete evitar ou resolver todos os CAPTCHAs. Um modelo melhor também não pode conceder permissões que a conta do usuário não tem. Desenvolva a integração com base no comportamento real do site, inclusive no ponto em que uma pessoa precisa assumir o controle.
Por onde começar na próxima segunda-feira
Para quem tem perfil técnico e está fundando uma empresa, o primeiro piloto útil é uma tarefa bem delimitada de consulta a um portal, com uma resposta clara. Use uma conta de teste separada, identifique as páginas permitidas e registre como você vai conferir os dados retornados. Documente as falhas, além das execuções concluídas.
Só avance para a preparação de formulários depois de entender essas falhas. Deixe o envio com uma pessoa até que sua aplicação consiga exigir aprovação, inspecionar o resultado salvo e se recuperar de erros sem duplicar a ação. Se uma API compatível ou um script estável já cobre o fluxo de trabalho, mantenha essa integração mais simples.
Para receber orientações práticas sobre como criar fluxos de trabalho confiáveis com IA, assine a newsletter.
- Publicado
- Categoria
- Build
- Idioma








