- Projeto open source de automação de navegador recriado com agentes de IA em mente por Jason Huggins, que desenvolveu o Selenium há 21 anos
- O Vibium é uma infraestrutura de automação de navegador para agentes de IA, que gerencia o ciclo de vida do navegador e o protocolo WebDriver BiDi em um binário único, além de expor um servidor MCP
- O binário único em Go de 10 MB, Clicker, detecta e inicia o Chrome automaticamente, permitindo que modelos de IA ou clientes JS controlem o navegador por meio de um proxy BiDi e de um servidor MCP
- O cliente JS/TS oferece suporte a APIs síncronas e assíncronas, podendo ser usado imediatamente após a instalação com
npm install vibium
- Agentes LLM como o Claude Code podem adicionar recursos de controle de navegador com uma única linha de comando:
claude mcp add vibium
- É adequado tanto para automação com IA quanto para automação de testes, oferecendo um ambiente de controle de navegador sem configuração
Visão geral do Vibium
- O Vibium é uma infraestrutura de automação de navegador para agentes de IA e usuários humanos
- Integra gerenciamento de navegador, proxy WebDriver BiDi e servidor MCP em um único binário Go
- Compatível com diversos modelos LLM, como Claude Code, Codex e Gemini
- A estrutura funciona imediatamente sem processo de instalação, podendo ser usada em ambientes de agentes de IA ou de automação de testes
Componentes
- Clicker: binário Go de cerca de 10 MB que executa as seguintes funções
- Detecção automática do Chrome e execução em modo BiDi
- Encaminhamento de comandos por um servidor proxy BiDi baseado em WebSocket
- Comunicação com agentes LLM por meio de um servidor MCP
- Recurso de Auto-Wait para aguardar elementos antes de interagir
- Recurso de captura de tela
- Cliente JS/TS: fornecido como pacote npm, com suporte a APIs síncronas (
browserSync) e assíncronas (browser)
- Controle do navegador com comandos simples como
vibe.go(), vibe.find(), vibe.click() e vibe.quit()
- Inclui funções básicas de automação, como salvar capturas de tela, localizar elementos e clicar
Integração com agentes de IA
Instalação para usuários humanos
- Instalação automática com o comando
npm install vibium
- Baixa para o cache o binário Clicker, o Chrome for Testing e o chromedriver de acordo com a plataforma
- Linux:
~/.cache/vibium/, macOS: ~/Library/Caches/vibium/, Windows: %LOCALAPPDATA%\vibium\
- É possível pular o download do navegador com a variável de ambiente
VIBIUM_SKIP_BROWSER_DOWNLOAD=1
Suporte a plataformas
- Compatível com Linux x64, macOS (Intel/Apple Silicon) e Windows x64
Início rápido
Roteiro
- V1: foco no controle do navegador via MCP e cliente JS
- Planos para V2
- Clientes para Python e Java
- Cortex (camada de memória e navegação)
- Retina (recurso de extensão para gravação)
- Gravação de vídeo e localização de elementos com IA
1 comentários
Comentários do Hacker News
O Selenium causou uma grande mudança na minha carreira. Sou sinceramente grato por isso
Hoje em dia uso Playwright, mas estou curioso sobre a nova abordagem do Vibium
Fiquei curioso se o Vibium oferece suporte a injeção de JS, modificação do DOM e monitoramento/alteração de requisições de rede. Quase sempre uso esses recursos quando trabalho com Playwright
Interessante. Recentemente venho usando dev-browser e obtendo economia de contexto e ganho de velocidade. Com certeza vou testar o Vibium também
Como alguém que ganha a vida com automação de UI há mais de 10 anos, sou grato ao Selenium. Hoje o Playwright é o padrão de fato, mas o Selenium foi o driver de navegador original. Fiquei curioso sobre como o Vibium se diferencia do Playwright
Sou uma das pessoas que ajudaram a expandir os testes da Atlassian com Selenium no passado. Lembro de termos conversado há uns 13~15 anos. É bom ver que você ainda está ativo nessa área
Fiquei curioso se, ao migrar scripts antigos de Selenium para o Vibium, seria possível aproveitar o recurso de auto-recuperação (self-heal) em caso de falha nos testes
Fiquei curioso sobre como ele encontra seletores CSS quando o agente tira uma captura de tela com
browser_screenshote depois tenta clicar. Só com a imagem é difícil saber o tipo dos elementosbrowser_evaluatepara obter a árvore de acessibilidade via JS e permitir navegação com base nela. Para mais detalhes, veja o roadmap V2Para permitir que ferramentas como Claude usem automação de navegador com liberdade, seria necessário um recurso de bloqueio do navegador que permita apenas URLs específicas. Fiquei curioso se isso está no roadmap
browser_navigate. Um script de whitelist pode ser configurado em 5 minutos. Políticas mais complexas podem ser implementadas com cupcake e Rego. Referência: documentação de Hooks do Claude CodeEu estava pensando em criar algo parecido com o Skyvern, então fiquei curioso sobre por que você fez um novo Vibium em vez de uma extensão do Selenium
Fiquei curioso sobre como vocês lidam com o problema de sobrecarga de contexto (context bloat) entre o navegador e o LLM. Também perguntaram se há planos de expor arquivos de tracing como no Playwright ou permitir execução de JS