将网站、浏览器会话、Electron 应用和本地工具转化为确定性命令行接口的 AI-native CLI Hub。
OpenCLI 是一个面向人类与 AI Agent 的统一命令行中心。其核心机制是通过本地 Daemon 与 Chrome 扩展配合,复用浏览器的已登录状态,将网站操作转化为零 LLM 消耗的确定性 CLI 命令。项目内置 100+ 主流站点适配器(如 Bilibili、Reddit、HackerNews、Twitter/X、Amazon、Gemini、Claude 等),支持文章抓取与 Markdown 转换。针对 AI 编码助手(Claude Code、Cursor),OpenCLI 提供了底层的浏览器自动化原语(opencli browser)和标准化的 Skill 描述文件,使 Agent 能够执行点击、输入、数据提取等复杂网页交互。此外,它支持通过 CDP 协议直接控制 Cursor、ChatGPT、Notion 等 Electron 桌面应用,并能作为统一入口聚合和管理本地分散的 CLI 工具(gh、docker、obsidian 等)。整个系统基于 TypeScript (ESM) 构建,运行于 Node.js ≥ 21,具备完善的插件体系、多浏览器 Profile 桥接和适配器自动开发工作流。
核心能力
- 站点适配与内容提取:100+ 内置适配器,确定性执行,零 token 消耗,支持管道化与 CI 集成
- 浏览器自动化原语:open、state、click、type、select、wait、extract、network 等底层操作
- 桌面应用控制:通过 CDP 协议驱动 Electron 应用
- CLI 统一入口:发现、自动安装与透传执行外部 CLI
- 安全机制:凭证始终不离开浏览器进程
架构要点
- 通信层:本地 Daemon(HTTP 端口 19825)+ Chrome 扩展 + WebSocket + CDP 四层桥接
- 适配器层:YAML 定义 + TypeScript 实现,通过 cli-manifest.json 统一注册
- Agent Skill 系统:SKILL.md 标准化描述供 AI 编码助手加载
- 模块导出:registry-api、browser/cdp、browser/page、download、pipeline 等子模块
- 构建与测试:TypeScript (tsc) 编译,vitest 覆盖 unit/extension/adapter/e2e 四类测试