Na era dos agentes de IA, a acessibilidade às ferramentas está redefinindo o teto da produtividade. Enquanto a maioria dos desenvolvedores escrevia um scraper por site, pedia uma chave de API por serviço e caçava receitas de automação para cada app desktop, uma ferramenta open-source em Node.js chamada OpenCLI atacou o problema com uma ideia minimalista: transformar tudo em linha de comando.
O OpenCLI (GitHub: jackwener/opencli) já passou de 20.000 estrelas e figura entre os frameworks de CLI mais observados no ecossistema de ferramentas nativas de IA. Ele permite que agentes de IA operem centenas de sites e aplicações desktop da mesma forma que executam comandos no terminal — sem GUI, sem chaves de API, sem scripts complexos.
A Arquitetura Central
A filosofia de design do OpenCLI se resume em uma frase: determinismo vence inteligência. Nenhum middleware inteligente envolvendo o LLM, nenhum token queimado para “entender” uma página web — em vez disso, os adaptadores são escritos antecipadamente, tornando cada operação previsível e scriptável. A arquitetura tem três camadas:
- Camada do motor CLI: um runtime de linha de comando em Node.js que cuida do roteamento de comandos, formatação de saída e gerenciamento de plugins
- Camada de Browser Bridge: uma extensão para Chrome mais um daemon local que faz a ponte com suas sessões de navegador autenticadas
- Camada de adaptadores: mais de 100 adaptadores nativos para sites, além de adaptadores para apps Electron e pass-through para CLIs externos
A parte elegante desse design é reaproveitar o estado de login do seu navegador. Você nunca entrega credenciais a terceiros e nunca precisa solicitar chaves de API — o OpenCLI usa as sessões já autenticadas dentro do Chrome. Se você está logado no Zhihu, Xiaohongshu e Bilibili no seu navegador, o OpenCLI pode operá-los diretamente.
Instalação e Configuração
Passo 1: Instale a CLI em Node.js
npm install -g @jackwener/opencli
Verifique a instalação:
opencli --version
Passo 2: Instale a Extensão do Chrome (Opcional, mas Recomendado)
Baixe opencli-extension-v{version}.zip na página de Releases do GitHub, descompacte, abra chrome://extensions, ative o “Modo do desenvolvedor” e clique em “Carregar sem compactação” para selecionar a pasta extraída. Em seguida, rode o diagnóstico:
opencli doctor
Passo 3: Conecte o Navegador
Execute qualquer comando que dependa do navegador e o OpenCLI inicia automaticamente seu daemon e se conecta ao Chrome. Para gerenciar múltiplos perfis do Chrome:
opencli profile list
opencli profile rename <contextId> work
opencli profile use work
Adaptadores Nativos de Sites: Mais de 100 Sites a Um Comando de Distância
O OpenCLI vem com adaptadores para mais de 100 sites, abrangendo as principais plataformas nacionais e internacionais, extraindo dados estruturados sem nem precisar abrir um navegador:
Plataformas nacionais: social/conteúdo — Xiaohongshu, Zhihu, Bilibili, Weibo, Douban, Hupu, Tieba; comércio/vida — 1688, Xianyu, Boss Zhipin, Dianping, Xiaoe Tech; áudio/vídeo — podcasts Xiaoyuzhou, vídeos do Bilibili; acadêmico/políticas — Baidu Scholar, Wanfang, GitLaw.
Plataformas internacionais: social — Twitter/X, Reddit, HackerNews; conteúdo — YouTube, Spotify, Google Scholar; serviços de IA — Gemini, Claude.
O uso é simples:
# lista todos os comandos disponíveis
opencli list
# busca a página inicial do Hacker News
opencli hackernews top --limit 5
# busca os vídeos em alta no Bilibili
opencli bilibili hot --limit 10 -f json
# busca vagas no Boss Zhipin
opencli boss search "desenvolvedor de IA"
# busca o feed de recomendações do Xiaohongshu
opencli xiaohongshu feed
A flag -f alterna o formato de saída: table (padrão), json, yaml, md, csv — prontos para serem direcionados a outras ferramentas ou a um LLM.
Automação de Navegador: Agentes Operando Qualquer Site
Esta é a capacidade mais poderosa do OpenCLI. Por meio da extensão do Chrome mais o daemon, um agente de IA pode controlar diretamente o seu navegador autenticado: navegação para qualquer URL; leitura da página como um snapshot estruturado do DOM (a estrutura de texto da página, não capturas de tela); interação — clicar em botões, preencher formulários, selecionar opções, pressionar teclas; extração de dados interceptando as respostas de API da rede para obter os dados brutos subjacentes; e espera — por elementos, mudanças de texto ou conclusão de navegação.
Os comandos de navegador disponíveis incluem: open, state, click, type, fill, select, keys, wait, get, find, extract, frames, screenshot, scroll, back, eval, network, tab list/new/select/close, init, verify e close.
A configuração típica o combina com um pacote de skills para agentes:
npx skills add jackwener/opencli --skill opencli-adapter-author
Depois de instalado, você descreve a necessidade em linguagem natural e o agente controla os comandos do navegador por conta própria. Diga “verifique minhas notificações do Xiaohongshu” — o agente abre o navegador, navega até o Xiaohongshu, lê as notificações e retorna o resultado.
Essa capacidade resolve a dor central dos scrapers tradicionais e das configurações com Playwright/Puppeteer: a detecção anti-automação. Plataformas como Boss Zhipin e Zhihu detectam Chrome headless ou ambientes de automação via CDP e redirecionam ou bloqueiam. O OpenCLI controla o seu navegador Chrome real — o fingerprint é completamente genuíno e nunca é sinalizado como crawler.
Controle de Aplicativos Desktop
Por meio do Chrome DevTools Protocol e do AppleScript, o OpenCLI também controla aplicativos desktop Electron:
- Cursor IDE: controla o painel Composer e o Chat, extrai código
- OpenAI Codex: controle headless do agente Codex CLI
- ChatGPT desktop: automatiza o app ChatGPT para macOS
- Discord: mensagens, canais, gerenciamento de servidores
- Doubao: controla o app desktop de IA Doubao
- Notion: operações de notas (requer a CLI adicional ntn)
CLI Hub: Um Ponto de Entrada para Ferramentas Locais
O OpenCLI não é apenas um operador de sites — é também um hub de CLIs que descobre e executa as ferramentas de linha de comando já presentes na sua máquina:
# registra ferramentas locais
opencli external register gh
opencli external register docker
opencli external register obsidian
# a partir daí, descubra e invoque todas via opencli
As ferramentas suportadas incluem gh (GitHub CLI), docker, obsidian, longbridge, lark-cli, tg (Telegram), discord, wx (WeChat), vercel, ntn (Notion) e outras.
O Sistema de Skills para Agentes
O OpenCLI traz um sistema completo de skills para agentes de IA, atualmente com suporte a Claude Code, Cursor, OpenClaw e outros frameworks:
| Skill | Finalidade | Exemplo de prompt |
|---|---|---|
opencli-adapter-author | Operação de navegador + escrita de adaptadores | "Verifique minhas notificações do Xiaohongshu" / "Escreva um adaptador para a lista de em alta do Zhihu" |
opencli-autofix | Reparar adaptadores quebrados | "O adaptador da lista de em alta do Zhihu quebrou — corrija" |
opencli-browser | Referência de automação de navegador | "Preencha este formulário na página atual" |
opencli-usage | Referência de comandos e sites | "Quais comandos do Twitter o OpenCLI tem?" |
smart-search | Buscar capacidades existentes | "Encontre um adaptador de lista em alta do Bilibili" |
Instalação:
npx skills add jackwener/opencli
# ou instale uma skill específica conforme a necessidade
npx skills add jackwener/opencli --skill opencli-adapter-author
Plugins e Adaptadores Personalizados
Quando um adaptador nativo não atende, o OpenCLI oferece um sistema completo de plugins: crie plugins com opencli plugin create; instale plugins locais com opencli plugin install file://caminho; instale a partir do GitHub com opencli plugin install github:usuario/repo; exporte um adaptador oficial com opencli adapter eject <site>; e desenvolva novos adaptadores pelo fluxo opencli adapter author, em que o agente de IA pode automatizar todo o caminho, da análise do site à geração do adaptador.
Cenários Ideais e Limitações
Onde ele brilha: agregação diária de informações — um comando para as listas de em alta e novidades de todas as plataformas; automação orientada por agentes — IA operando o navegador em tarefas complexas de múltiplas etapas; fluxos de trabalho de desenvolvedores — um ponto de entrada unificado para gh, docker, obsidian e demais; e download de mídia — coleta em lote de imagens, vídeos, áudios e artigos entre plataformas.
Onde ele não se encaixa: requer Node.js 21 ou superior, o que exclui servidores mais antigos; a automação de navegador depende de um Chrome local, então servidores headless não conseguem exercer todo o conjunto de capacidades; as sessões de login expiram e precisam de reautenticação manual; e não é um scraper universal — cenários que exigem captchas complexos ou chamadas de alta frequência ainda demandam APIs dedicadas.
Conclusão
A ideia central do OpenCLI ecoa uma das correntes importantes da era da IA — todo software eventualmente será reescrito para agentes. Como observou Andrej Karpathy, a indústria de software passou quarenta anos adicionando uma GUI como camada de tradução humana para o computador; agentes de IA falam nativamente a linguagem de CLI e API, e a GUI é o obstáculo. O valor do OpenCLI não é ser mais uma ferramenta, mas demonstrar um paradigma: uma interface determinística vence a adivinhação inteligente. Em vez de gastar tokens ensinando um modelo a “entender” uma página toda vez, escreva o adaptador uma única vez e reduza a operação a um comando de CLI. Ele não consome nenhum token em runtime, produz saída estruturada estável, é limpo para scriptar, encadeia bem em pipes e se comporta bem em CI. Para desenvolvedores na era da IA, o OpenCLI é a ponte que liberta os agentes da caixa de chat para a verdadeira camada operacional — uma infraestrutura que vale a pena conhecer, seja para agregação diária ou para construir fluxos complexos de agentes.