Communitygithub.com

cli-anything-browser

Automação de navegador via linha de comando usando o servidor MCP DOMShell. Mapeia o DOM do Chrome como um sistema de arquivos.

O que é cli-anything-browser?

O cli-anything-browser é uma ferramenta de linha de comando que transforma a automação de navegador em uma experiência familiar de sistema de arquivos. Utilizando o servidor MCP DOMShell, ele permite que agentes de IA e desenvolvedores interajam com páginas web através de comandos como `ls`, `cd`, `cat`, `grep` e `click`. Isso elimina a necessidade de seletores CSS complexos ou scripts de automação pesados, oferecendo uma interface simples e expressiva. A ferramenta suporta navegação por páginas, exploração da árvore de acessibilidade, ações como clicar e digitar, e gerenciamento de sessões, incluindo um modo daemon para evitar latência de inicialização. É particularmente útil para agentes de IA que precisam interagir com a web de forma estruturada e confiável, fornecendo saída JSON para fácil análise e suporte a REPL interativo. Compatível com Chrome/Chromium com a extensão DOMShell e Python 3.10+, a ferramenta também inclui considerações de segurança robustas, como restrição de esquemas de URL e bloqueio opcional de redes privadas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-browser

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que cli-anything-browser faz?

Uma interface de linha de comando para automação de navegador usando o servidor MCP do DOMShell. Navegue por páginas web usando comandos de sistema de arquivos: ls, cd, cat, grep, click.

Instalação

Pré-requisitos

  1. Node.js e npx (para o servidor MCP DOMShell):

    # Instale o Node.js de https://nodejs.org/
    npx --version
    
  2. Chrome/Chromium com a extensão DOMShell:

    • Instale a extensão no Chrome
    • Certifique-se de que o Chrome está em execução antes de usar o CLI
  3. Python 3.10+

Instalar o CLI

cd browser/agent-harness
pip install -e .

Grupos de Comandos

page — Navegação de Página

  • page open <url> — Navegar para uma URL
  • page reload — Recarregar a página atual
  • page back — Voltar no histórico
  • page forward — Avançar no histórico
  • page info — Mostrar informações da página atual

fs — Comandos de Sistema de Arquivos (Árvore de Acessibilidade)

  • fs ls [caminho] — Listar elementos em um caminho
  • fs cd <caminho> — Mudar de diretório
  • fs cat [caminho] — Ler o conteúdo de um elemento
  • fs grep <padrão> [caminho] — Pesquisar por um padrão de texto
  • fs pwd — Imprimir o diretório de trabalho

act — Comandos de Ação

  • act click <caminho> — Clicar em um elemento
  • act type <caminho> <texto> — Digitar texto em um campo de entrada

session — Gerenciamento de Sessão

  • session status — Mostrar o estado da sessão
  • session daemon-start — Iniciar o modo daemon persistente
  • session daemon-stop — Parar o modo daemon

Exemplos de Uso

Navegação Básica

# Abrir uma página
cli-anything-browser page open https://exemplo.com.br

# Explorar a estrutura
cli-anything-browser fs ls /
cli-anything-browser fs cd /main
cli-anything-browser fs ls

# Voltar para a raiz
cli-anything-browser fs cd /

Pesquisa e Clique

cli-anything-browser fs grep "Login"
cli-anything-browser act click /main/button[0]

Preenchimento de Formulário

cli-anything-browser act type /main/input[0] "[email protected]"
cli-anything-browser act click /main/button[0]

Saída JSON

cli-anything-browser --json fs ls /

Modo Daemon (Uso Interativo Mais Rápido)

# Iniciar conexão persistente
cli-anything-browser session daemon-start

# Executar comandos (usa a conexão persistente)
cli-anything-browser fs ls /
cli-anything-browser fs cd /main

# Parar o daemon quando terminar
cli-anything-browser session daemon-stop

REPL Interativo

cli-anything-browser

Sintaxe de Caminhos

O DOMShell usa um caminho semelhante a sistema de arquivos para a Árvore de Acessibilidade:

/                           — Raiz (documento)
/main                       — Landmark principal
/main/div[0]                — Primeira div no main
/main/div[0]/button[2]      — Terceiro botão na primeira div
  • Índices de array são baseados em 0: button[0] é o primeiro botão
  • Use .. para subir um nível
  • Use / para a raiz

Orientações Específicas para Agentes

Saída JSON para Análise

Todos os comandos suportam a flag --json para saída legível por máquina:

cli-anything-browser --json fs ls /

Retorna:

{
  "path": "/",
  "entries": [
    {"name": "main", "role": "landmark", "path": "/main"}
  ]
}

Tratamento de Erros

O CLI fornece mensagens de erro claras para problemas comuns:

  • npx não encontrado: Instale o Node.js de https://nodejs.org/
  • DOMShell não encontrado: Execute npx @apireno/domshell --version
  • Falha na chamada MCP: Instale a extensão DOMShell do Chrome

Verifique o valor de retorno de is_available() antes de executar comandos.

Modo Daemon para Eficiência

Para fluxos de trabalho de agente com múltiplos comandos, use o modo daemon:

  1. Inicie o daemon: cli-anything-browser session daemon-start
  2. Execute comandos: Cada comando reutiliza a conexão MCP
  3. Pare o daemon: cli-anything-browser session daemon-stop

Isso evita a sobrecarga de inicialização a frio de 1 a 3 segundos para cada comando.

Links

Considerações de Segurança

IMPORTANTE: Ao usar este CLI com agentes de IA, esteja ciente das seguintes considerações de segurança:

Restrições de URL

O harness do navegador valida todas as URLs antes da navegação:

  • Esquema explícito obrigatório: As URLs devem incluir o esquema http:// ou https:// (URLs sem esquema, como exemplo.com.br, são rejeitadas)
  • Esquemas bloqueados: file://, javascript://, data://, vbscript://, about://, chrome:// e esquemas internos do navegador
  • Esquemas permitidos: Apenas http:// e https:// (configurável via CLI_ANYTHING_BROWSER_ALLOWED_SCHEMES)
  • Bloqueio de rede privada: Opcional via CLI_ANYTHING_BROWSER_BLOCK_PRIVATE=true (desativado por padrão)

Riscos de Conteúdo DOM

A Árvore de Acessibilidade inclui todos os elementos visíveis e ocultos de uma página. Sites maliciosos podem:

  • Criar rótulos ARIA com texto manipulador (por exemplo, "Ignore as instruções anteriores")
  • Usar elementos aria-hidden para injetar conteúdo não visível aos usuários
  • Criar estruturas DOM confusas que enganam a navegação

Mitigação: Ao interagir com sites não confiáveis, considere:

  1. Usar a flag --json para saída estruturada que é mais fácil de analisar com segurança
  2. Sanitizar ou filtrar o conteúdo DOM antes de incluí-lo em prompts
  3. Limitar a navegação a domínios confiáveis

Acesso à Rede Privada

Por padrão, o navegador pode acessar localhost e redes privadas (192.168.x.x, 10.x.x.x, etc.). Para bloquear:

export CLI_ANYTHING_BROWSER_BLOCK_PRIVATE=true
cli-anything-browser page open http://localhost:8080  # Será bloqueado

Isolamento de Sessão

Múltiplas sessões do navegador compartilham a mesma instância do Chrome. Cookies e estado de autenticação podem persistir entre sessões. Para operações sensíveis, considere:

  1. Usar o modo convidado ou anônimo do Chrome
  2. Limpar cookies entre sessões
  3. Usar perfis separados do Chrome para diferentes contextos de segurança

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

cli-anything-inkscape

>-

Habilidades Relacionadas