Para agentes & LLMs
O Clearcote é organizado para que ferramentas automatizadas consigam navegar, integrar e contribuir com a mesma facilidade que uma pessoa.
Coloque o projeto inteiro no seu agente
Um clique copia a documentação — todas as páginas, achatadas em um único bloco pronto para usar no prompt. Cole no Claude, no Codex ou no Cursor para ter o contexto completo do projeto.
Resumo legível por máquina
Um resumo conciso do projeto, em texto puro, fica em /llms.txt, e a documentação completa, achatada em um único arquivo pronto para prompt, está em /llms-full.txt. O repositório também inclui um AGENTS.md que descreve a estrutura e as convenções para quem quer contribuir.
{
"name": "Clearcote",
"kind": "anti-detect Chromium browser (the open build is open source)",
"base": "ungoogled-chromium — open build 149 (v0.1.0-pre.22), licensed build 153.0.8010.36-r28",
"identity_model": "engine-level, coherent seed persona + per-site render noise",
"automation": "SDK (npm/PyPI/NuGet package clearcote) returning Playwright objects; CDP endpoint for Puppeteer and others",
"platforms": ["windows-x64", "linux-x64"],
"license": "BSD-3-Clause (open build + SDKs); the licensed build adds unpublished patches",
"repo": "https://github.com/clearcotelabs/clearcote-browser",
"verify": "open build: GPG-signed SHA256SUMS + pinned key; every SDK download: SHA-256",
"control_via": "SDK options, or chromium command-line switches (args) on the open build"
}Receita mínima de integração
- Instale o SDK (
pip install clearcote/npm i clearcote) — ele baixa e verifica o navegador. - Derive uma seed de
fingerprintdeterminística a partir da identidade em nome da qual você está agindo. - Atrás de um proxy, passe
geoip=Truepara que fuso horário, idioma e WebRTC acompanhem o IP de saída. - Para frameworks que esperam uma URL CDP (browser-use, Stagehand, Crawl4AI), use
serve()ouclearcote serveem vez disso.
from clearcote import launch
task_id = "1234"
SEED = "agent:" + task_id # stable, reproducible identity per task
browser = launch(fingerprint=SEED, geoip=True, humanize=True)
page = browser.new_page()
page.goto("https://example.com")Controlar o binário do build aberto diretamente com executablePath também funciona, mas o build licenciado só inicia pelo SDK, e uma inicialização direta perde os padrões do SDK — veja Playwright & Puppeteer. Para uma identidade de maior fidelidade, inicie um perfil real capturado em vez de uma seed: launch(profile="auto") escolhe, na biblioteca de perfis (build licenciado), um que combine com esta máquina; ou passe fingerprint_profile="profile.json" (Node: fingerprintProfile). Não combine um perfil com uma seed de fingerprint.
Agente de IA no navegador
O Clearcote traz um agente de IA opcional (opt-in) que controla uma página real de forma autônoma. Ele observa a página ao vivo, pergunta a um LLM configurado pelo usuário o que fazer em seguida e age por meio do framework Actor do Chrome, com eventos de entrada reais e confiáveis em vez de script injetado. Ele vem desativado por padrão (fica inativo a menos que você forneça uma chave de agente ou os switches do agente) e usa a sua própria chave: aponte-o para qualquer endpoint compatível com OpenAI / OpenRouter. Campos de senha são ocultados antes de qualquer coisa ser enviada ao modelo. Use launch_agent() (um contexto persistente) — esse é o caminho suportado.
Pelo SDK, launch_agent (Node: launchAgent) retorna um BrowserContext persistente, e run_agent_task(page, goal, max_steps=...) (Node: runAgentTask) o controla, retornando { success, finalText, steps, stepsJson }. Passe um diretório de perfil como primeiro argumento (userDataDir no Node) para reaproveitar um perfil; sem ele, cada chamada cria uma nova pasta de perfil temporária, que não é removida ao fechar. Somente Python & Node.
import os
from clearcote import launch_agent, run_agent_task
# Returns a persistent BrowserContext.
ctx = launch_agent(
agent_llm_key=os.environ["OPENROUTER_API_KEY"], # required: the SDK does not read env vars (the CLI does)
agent_model="openai/gpt-4o-mini",
)
page = ctx.new_page()
page.goto("https://example.com")
result = run_agent_task(
page,
goal="Find the pricing page and read the cheapest plan",
model="openai/gpt-4o-mini", # optional per-task override
max_steps=20,
)
print(result["success"], result["finalText"], result["steps"])As opções de inicialização do agente correspondem diretamente a switches do binário: agent_llm_url / agentLlmUrl (--agent-llm-url), agent_llm_key / agentLlmKey (--agent-llm-key), agent_model / agentModel (--agent-model) e agent_typing / agentTyping. Uma tarefa roda assim que o agente tem uma URL (OpenRouter por padrão), uma chave e um modelo. O agente pede ao modelo uma resposta em JSON em texto puro, então o endpoint não precisa suportar tool calls; o agent_tool_mode / agentToolMode (--agent-tool-mode, CLI --tool-mode) é aceito, mas por enquanto não tem efeito.
O agent_typing / agentTyping ajusta o ritmo de digitação do agente: human (padrão) digita com timing de keydown/keyup por tecla e mantém a digitação de textos longos tecla por tecla, fast é o ritmo rápido do motor e instant digita tudo de uma vez. O padrão evita os dois indícios de digitação — timing uniforme, com precisão de máquina, e texto longo colado instantaneamente (o que não gera nenhum evento de tecla).
CLI clearcote-agent
O mesmo agente está disponível como CLI para execuções rápidas e fáceis de automatizar em scripts. Passe um objetivo avulso ou entre em um REPL interativo. A chave do modelo vem de --key ou das variáveis de ambiente $OPENROUTER_API_KEY / $CLEARCOTE_AGENT_KEY.
# One-shot: run a single goal against a URL, then exit
clearcote-agent --goal "Accept cookies and list the top 3 headlines" --url https://example.com
# Interactive REPL: keep the browser open and issue goals one at a time
clearcote-agent -i
# Use a custom endpoint/model, persistent profile, proxy and step cap
clearcote-agent --llm-url http://localhost:8000/v1 --model local/model \
--profile ~/.clearcote/agent-profile --proxy http://user:pass@host:8080 \
--max-steps 12 --goal "Open the dashboard" --url example.com
# Provide the key explicitly (otherwise read from the environment)
clearcote-agent --key sk-or-... --json \
--goal "Search for 'clearcote' and open the first result" --url https://example.comAs opções da CLI incluem --llm-url, --model, --max-steps, --profile, --headless, --executable, --fingerprint, --proxy, --timezone e --json. Um host sem protocolo passado em --url passa a usar HTTPS.
Onde procurar
- Flags de fingerprint — a referência completa de switches (também fácil de processar por máquina).
- Playwright & Puppeteer — padrões de inicialização drop-in.
- Exemplos — receitas para copiar e colar: SDK, perfil, proxy, canvas bridge, CI e agente.
- Agente de IA no navegador — controle autônomo de páginas (opt-in) e a CLI
clearcote-agent. - Servidor MCP — controle o Clearcote a partir do Claude Desktop, do Cursor ou do Cline.
- Deploy —
clearcote serve: uma única URL CDP, com uma identidade separada por conexão. - Recomendações — quais configurações ativar e quais deixar como estão.
- Verificação — confirme o binário antes de executá-lo.
- Repositório do código-fonte — patches, pipeline de build, AGENTS.md.
Crie identidades determinísticas: derive a seed de um ID estável (tenant, conta, tarefa) para que o mesmo ator sempre receba o mesmo fingerprint do navegador — reproduzível e fácil de depurar.