Sobre o projeto

OpenCLI é uma ferramenta de linha de comando que conecta sites, sessões de navegador, aplicativos Electron e ferramentas locais em interfaces determinísticas para humanos e agentes de IA. Ela oferece três principais superfícies de automação: adaptadores integrados para sites populares, controle de navegador por agentes de IA e um hub CLI para ferramentas locais. **Capacidades Principais** 1. **Adaptadores Integrados**: O OpenCLI vem com adaptadores para mais de 100 sites, incluindo Bilibili, Zhihu, Xiaohongshu, Reddit, HackerNews, Twitter/X, LinkedIn, Amazon, Upwork, Midjourney e muitos outros. Cada adaptador expõe comandos específicos do site, como `opencli bilibili hot`, `opencli twitter trending` ou `opencli hackernews top`. 2. **Controle de Navegador por Agentes de IA**: Instale a skill `opencli-browser` em agentes de IA (Claude Code, Cursor, etc.) para permitir que eles naveguem, cliquem, digitem, preencham formulários, extraiam dados e inspecionem qualquer página através da sua sessão do Chrome com login. O agente usa snapshots estruturados do DOM em vez de capturas de tela para interação confiável. 3. **CLI Hub**: Passagem unificada para ferramentas de linha de comando existentes, como `gh`, `docker`, `vercel`, `wrangler`, `obsidian`, `longbridge`, `lark-cli`, `ntn` (Notion), `dws` (DingTalk), `wecom-cli`, `tg`, `discord` e `wx`. Registre ferramentas personalizadas com `opencli external register`. 4. **Adaptadores para Aplicativos Desktop**: Controle aplicativos Electron como Cursor, Trae CN, Codex, Antigravity, ChatGPT App, ChatWise, Qoder, Discord, Doubao e Trae SOLO via Chrome DevTools Protocol. **Instalação** O OpenCLI requer Node.js >= 20.18.1. Instale via npm (`npm install -g @jackwener/opencli`) ou use o aplicativo desktop OpenCLIApp para macOS/Windows. Uma extensão do Chrome (Browser Bridge) conecta o OpenCLI ao seu navegador, disponível na Chrome Web Store ou por instalação manual. **Primitivas de Automação de Navegador** O comando `opencli browser` fornece primitivas para automação de navegador: `open`, `state`, `click`, `type`, `fill`, `select`, `keys`, `wait`, `get`, `find`, `extract`, `frames`, `screenshot`, `scroll`, `back`, `eval`, `network`, `tab list`, `tab new`, `tab select`, `tab close`, `init`, `verify` e `close`. As sessões são gerenciadas com nomes explícitos de sessão, e as abas podem ser alvo individualmente. **Desenvolvimento de Adaptadores** Escreva novos adaptadores de ponta a ponta usando a skill `opencli-adapter-author`. O fluxo de trabalho inclui reconhecimento do site, descoberta de endpoints, seleção de autenticação (PUBLIC/COOKIE/INTERCEPT/UI/LOCAL), decodificação de campos e verificação. O conhecimento do site persiste localmente para reutilização entre adaptadores. **Suporte a Download** Baixe imagens, vídeos e artigos de plataformas suportadas, incluindo Xiaohongshu, Bilibili, Twitter, Douban, Pixiv, 1688, Xiaoyuzhou (áudio e transcrições), Zhihu (artigos Markdown) e Weixin (artigos WeChat). Downloads de vídeo exigem `yt-dlp`. **Formatos de Saída** Todos os comandos suportam `--format` com `table` (padrão), `json`, `yaml`, `md` e `csv` para envio via pipe para jq, LLMs ou planilhas. **Plugins** Estenda o OpenCLI com plugins da comunidade via `opencli plugin install github:user/repo`. Os plugins disponíveis incluem GitHub Trending, agregador de tendências multiplataforma, artigos quentes do Juejin, VK wall/feed/search e publicador de artigos do X. **Configuração** Variáveis de ambiente controlam seleção de perfil, posicionamento da janela (primeiro plano/segundo plano), persistência de sessão, timeouts, endpoints CDP e registro verbose. Os códigos de saída seguem o padrão Unix `sysexits.h` para integração com CI/scripts. **Licença**: Apache-2.0