Planeia o lançamento

Liga o teu agente de código ao teu Chrome

Duas formas de dar ao teu agente um browser que vês: Chrome DevTools MCP com auto-connect ou um perfil CDP dedicado na porta 9222 — e a verificação rápida.

Configuração recomendada: para obteres os melhores resultados com o LaunchRepo, recomendamos vivamente que uses sempre o Claude Code CLI ou o Codex CLI num terminal, em vez da aplicação de desktop do Claude ou do Codex. É o fluxo de trabalho que recomendamos, não uma garantia de permissões diferentes nem de execução sem interrupções.

Usa o Chrome DevTools MCP através da depuração remota do Chrome, com uma versão LTS atual do Node.js, o npm e o Google Chrome. O painel local guarda os teus registos; o teu agente controla o Chrome. Começa com um worker e mantém a ligação MCP aberta durante toda a execução. Não uses transportes por extensão do browser nem integrações alternativas de controlo do browser.

Escolhe a tua configuração

Verifica node --version, npm --version e chrome://version. No Windows, usa Node/npm e Chrome nativos do Windows; o WSL precisa de uma configuração de ligação própria.

Ligar o Chrome que já usas

  1. No Chrome 144+, abre chrome://inspect/#remote-debugging e ativa a depuração remota. Se esse controlo não existir, usa um dos perfis dedicados permitidos abaixo.
  2. Regista o Chrome DevTools MCP nas definições MCP do teu agente. Este exemplo JSON genérico é para macOS/Linux; o teu agente pode usar outro formato de configuração:
{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest", "--autoConnect", "--no-usage-statistics", "--no-performance-crux"]
    }
  }
}

No Windows, usa "command": "cmd" e estes argumentos:

["/c", "npx", "-y", "chrome-devtools-mcp@latest", "--autoConnect", "--no-usage-statistics", "--no-performance-crux"]
  1. Desencadeia uma ação inofensiva no browser e aprova o pedido de ligação do Chrome na janela pretendida. Depois faz o teste abaixo.

A primeira chamada descarrega o pacote. Depois da configuração, fixa uma versão testada. Consulta a configuração e a configuração de clientes oficiais.

Perfil dedicado: escolhe o teu sistema operativo

Corre a partir do teu espaço de trabalho privado, fora de pastas partilhadas ou sincronizadas. Mantém o perfil ignorado pelo Git: contém sessões iniciadas. Inicia tu próprio sessão nas contas necessárias. O Chrome 136+ exige um perfil que não seja o predefinido para estas flags de depuração.

macOS

mkdir -p .browser/chrome
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
  --remote-debugging-address=127.0.0.1 \
  --remote-debugging-port=9222 \
  --user-data-dir="$PWD/.browser/chrome" about:blank

Windows PowerShell

$launchrepoChrome = @(
  "$env:ProgramFiles\Google\Chrome\Application\chrome.exe",
  "${env:ProgramFiles(x86)}\Google\Chrome\Application\chrome.exe",
  "$env:LOCALAPPDATA\Google\Chrome\Application\chrome.exe"
) | Where-Object { Test-Path $_ } | Select-Object -First 1
if (-not $launchrepoChrome) { throw 'Locate Google Chrome first' }
New-Item -ItemType Directory -Force '.browser/chrome' | Out-Null
$launchrepoProfile = (Resolve-Path '.browser/chrome').Path
Start-Process -FilePath $launchrepoChrome -ArgumentList "--remote-debugging-address=127.0.0.1 --remote-debugging-port=9222 --user-data-dir=`"$launchrepoProfile`" about:blank"

Linux

launchrepo_chrome=$(command -v google-chrome || command -v google-chrome-stable)
if [ -z "$launchrepo_chrome" ]; then
  echo "Install or locate Google Chrome first."
else
  mkdir -p .browser/chrome
  "$launchrepo_chrome" \
    --remote-debugging-address=127.0.0.1 \
    --remote-debugging-port=9222 \
    --user-data-dir="$PWD/.browser/chrome" about:blank
fi

Mantém aberto o terminal de arranque. Nos argumentos MCP, substitui --autoConnect por --browserUrl=http://127.0.0.1:9222; nunca combines os dois. Mantém a porta local e nunca a exponhas publicamente por túnel. Verifica o listener: lsof -nP -iTCP:9222 -sTCP:LISTEN no macOS, ss -ltnp 'sport = :9222' no Linux ou Get-NetTCPConnection -State Listen -LocalPort 9222 | Select-Object LocalAddress, OwningProcess no Windows. Só são aceitáveis endereços de loopback. Se outro programa ocupar a porta, escolhe uma livre e atualiza as duas configurações. Nunca mates browsers não relacionados nem apagues locks de perfis ativos.

Permissões do macOS

Verifica a app que lança o MCP: Terminal, iTerm ou a tua app de editor/agente. Se o macOS negar acesso a ficheiros protegidos do Chrome:

  1. Abre Definições do Sistema → Privacidade e Segurança → Acesso total ao disco.
  2. Adiciona essa app anfitriã real com +, autentica-te e ativa-a.
  3. Sai completamente da app e volta a abri-la, liga de novo e repete o teste.

Isto é uma verificação de permissões, não um requisito universal do CDP. Se a ligação funcionar, não concedas acesso mais amplo sem necessidade. Uma ligação só por CDP normalmente não precisa das permissões de Acessibilidade, Automatização ou Gravação do ecrã. A aprovação de ligação do próprio Chrome é um controlo à parte e pode voltar a aparecer depois de um reinício.

Testar a ligação

Pede ao agente que abra https://example.com num separador novo, leia o título e o cabeçalho principal e identifique o separador. Observa essa janela. Um processo MCP a correr não prova nada por si só. A seguir, inicia sessão no diretório-alvo e confirma a identidade real no destino; um OAuth bem-sucedido não prova, por si só, que estás autenticado. Verifica a caixa de correio dentro das permissões acordadas.

Depois pede ao agente que avalie navigator.webdriver nesse mesmo separador. Tem de ser false. Se for true, falta --autoConnect na tua entrada MCP (ou --browserUrl, para um perfil dedicado) e o Chrome DevTools MCP lançou o seu próprio Chrome de automação. Verificações anti-bot como o Cloudflare Turnstile ficam então eternamente a «verificar» e nunca mostram um desafio que possas resolver. Corrige a entrada, reinicia a sessão do agente e repete o teste. Nunca escondas a flag com flags ou scripts de camuflagem.

Guarda apenas passou/falhou e notas não sensíveis no onboarding.json ou no SESSION.md. Não copies cookies, links de autenticação nem transcrições do browser. Resolve tu o CAPTCHA/2FA. Depois de um timeout ao Submeter, verifica a plataforma antes de tentar de novo. Se se mexer a janela errada, para e verifica a ligação. Sem este teste, estas instruções não podem certificar a tua combinação concreta de sistema operativo e agente.

Dois workers e limpeza de janelas

O planeador da execução começa com 10 submissões e um worker de browser. Um segundo worker é uma opção avançada que escolhes tu, só depois de testados browsers controlados em separado. Nesse caso precisa da sua própria plataforma atribuída, perfil do Chrome, porta e ligação MCP. Por exemplo, usa .browser/worker-1 na 9222 e .browser/worker-2 na 9223. Testa cada um de forma independente. Se o anfitrião não conseguir encaminhar os workers para ligações separadas, fica com um.

Dá a cada submissão uma janela dedicada. Depois da confirmação, guarda a evidência e o resultado e fecha apenas essa janela e os separadores de login/verificação que lhe pertencem. Mantém abertas as janelas pessoais, as caixas de entrada partilhadas, o painel, os formulários por guardar e as passagens para humano. Se o MCP não conseguir fechar a janela, fecha os separadores que lhe pertencem e regista a limpeza que fica a teu cargo. Preserva o perfil; volta a ligar se fechar a última janela desligar o MCP. O guia de onboarding explica o passo seguinte.

O kit que estes guias descrevem

O LaunchRepo é um repositório privado que o teu próprio agente de código executa: 299 playbooks de diretórios, os scripts do espaço de trabalho, o tracker e o painel local. Pagas uma vez e lanças todos os teus produtos.

Ver preço