Sobre el proyecto

OpenCLI es una herramienta de línea de comandos que une sitios web, sesiones de navegador, aplicaciones Electron y herramientas locales en interfaces deterministas tanto para humanos como para agentes de IA. Proporciona tres superficies principales de automatización: adaptadores integrados para sitios populares, control del navegador por agentes de IA y un centro CLI para herramientas locales. **Capacidades principales** 1. **Adaptadores integrados**: OpenCLI incluye adaptadores para más de 100 sitios, incluyendo Bilibili, Zhihu, Xiaohongshu, Reddit, HackerNews, Twitter/X, LinkedIn, Amazon, Upwork, Midjourney y muchos más. Cada adaptador expone comandos específicos del sitio como `opencli bilibili hot`, `opencli twitter trending` o `opencli hackernews top`. 2. **Control del navegador por agentes de IA**: Instala la habilidad `opencli-browser` en agentes de IA (Claude Code, Cursor, etc.) para que naveguen, hagan clic, escriban, llenen formularios, extraigan datos e inspeccionen cualquier página a través de tu sesión de Chrome con sesión iniciada. El agente usa instantáneas estructuradas del DOM en lugar de capturas de pantalla para una interacción confiable. 3. **Centro CLI**: Paso directo unificado para herramientas de línea de comandos existentes como `gh`, `docker`, `vercel`, `wrangler`, `obsidian`, `longbridge`, `lark-cli`, `ntn` (Notion), `dws` (DingTalk), `wecom-cli`, `tg`, `discord` y `wx`. Registra herramientas personalizadas con `opencli external register`. 4. **Adaptadores de aplicaciones de escritorio**: Controla aplicaciones Electron como Cursor, Trae CN, Codex, Antigravity, ChatGPT App, ChatWise, Qoder, Discord, Doubao y Trae SOLO mediante el Protocolo de DevTools de Chrome. **Instalación** OpenCLI requiere Node.js >= 20.18.1. Instala vía npm (`npm install -g @jackwener/opencli`) o usa la aplicación de escritorio OpenCLIApp para macOS/Windows. Una extensión de Chrome (Browser Bridge) conecta OpenCLI a tu navegador, disponible desde Chrome Web Store o instalación manual. **Primitivas de automatización del navegador** El comando `opencli browser` proporciona primitivas para la automatización del 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` y `close`. Las sesiones se gestionan con nombres de sesión explícitos y las pestañas se pueden apuntar individualmente. **Desarrollo de adaptadores** Escribe nuevos adaptadores de principio a fin usando la habilidad `opencli-adapter-author`. El flujo de trabajo incluye reconocimiento del sitio, descubrimiento de endpoints, selección de autenticación (PUBLIC/COOKIE/INTERCEPT/UI/LOCAL), decodificación de campos y verificación. El conocimiento del sitio se guarda localmente para reutilizarlo en todos los adaptadores. **Soporte de descargas** Descarga imágenes, videos y artículos de plataformas compatibles, incluyendo Xiaohongshu, Bilibili, Twitter, Douban, Pixiv, 1688, Xiaoyuzhou (audio y transcripciones), Zhihu (artículos en Markdown) y Weixin (artículos de WeChat). Las descargas de video requieren `yt-dlp`. **Formatos de salida** Todos los comandos admiten `--format` con `table` (predeterminado), `json`, `yaml`, `md` y `csv` para canalizar a jq, LLMs u hojas de cálculo. **Complementos** Extiende OpenCLI con complementos de la comunidad mediante `opencli plugin install github:user/repo`. Los complementos disponibles incluyen GitHub Trending, agregador de tendencias multiplataforma, artículos populares de Juejin, muro/feed/búsqueda de VK y publicador de artículos de X. **Configuración** Las variables de entorno controlan la selección de perfil, la colocación de ventanas (primer plano/fondo), la persistencia de sesión, los tiempos de espera, los endpoints de CDP y el registro detallado. Los códigos de salida siguen `sysexits.h` de Unix para la integración en CI/scripts. **Licencia**: Apache-2.0