OpenCLI – 开源 AI 命令行工具,网站一键转为命令行接口
OpenCLI 是一款性的开源命令行工具,它能够将任何网站乃至 Electron 桌面应用程序“接口化”,使其能够被命令行轻松操控。该工具巧妙地通过 Chrome 浏览器扩展与本地运行的守护进程协同工作,充分利用用户已登录的浏览器会话权限,从而免去了繁琐的 API 密钥配置。OpenCLI 现已支持 B站、知乎、Cursor、Notion、微信等超过 30 个主流平台,并提供 explore、synthesize 和 cascade 这三个专为 AI 设计的命令。这些命令能够自动探索平台 API、生成适配器代码,并探测认证机制,真正实现了“万物皆可 CLI”的宏伟愿景,让 AI Agent 能够统一驾驭各类软件。
OpenCLI 的核心能力概览
- 网站的命令行化:将 B站、知乎、小红书、Twitter/X 等数十个网站转化为可执行的命令行命令,用户可以方便地查看热榜、搜索内容、下载数据等。
- Electron 应用的命令行化:借助 Chrome DevTools Protocol,OpenCLI 能够操控 Cursor、Notion、Discord、ChatGPT、微信等桌面应用,实现诸如发送消息、读取应用内信息、执行自动化交互等功能。
- 外部 CLI 工具的集成枢纽:整合 gh、docker、kubectl、obsidian 等现有命令行工具,提供统一的命令发现、自动安装以及命令参数的无缝传递执行能力。
- AI 原生的智能发现引擎:通过 explore 命令,OpenCLI 能够自动挖掘网站的隐藏 API;synthesize 命令可以自动生成调用这些 API 所需的适配器代码;而 cascade 命令则能智能探测平台的认证策略。这些功能使得 AI Agent 能够自主学习并操作新的平台。
- 多格式结构化数据输出:支持输出 JSON、YAML、Markdown、CSV、Table 等多种数据格式,方便 AI Agent 直接解析和处理,为数据分析和自动化流程奠定基础。
- 便捷的内容下载与导出:用户可以轻松下载小红书的图文视频、B站的视频内容、Twitter 的媒体文件、知乎的文章等,并将它们保存到本地。
- 无需配置的安全架构:OpenCLI 巧妙地复用了 Chrome 浏览器中已登录的账户状态,无需用户手动输入或配置任何 API 密钥,大大简化了使用流程并提升了安全性。
OpenCLI 的关键要素与使用前提
- 定位:OpenCLI 定位为一款通用的命令行枢纽,同时也是一款面向 AI 的原生运行时环境。
- 核心功能:其核心能力在于将各类网站、Electron 桌面应用以及本地命令行工具,统一转化为标准化的命令行接口。
- 技术架构:工具的运作流程大致为:命令行接口 → 本地守护进程 (运行于 localhost:19825) → WebSocket 通信 → Chrome 浏览器扩展 → 浏览器/应用程序。
- 认证机制:通过直接复用 Chrome 浏览器已有的登录会话,实现零配置、无 API 密钥的认证方式。
- AI 专属命令:包含 explore(用于 API 发现)、synthesize(用于生成适配器代码)和 cascade(用于探测认证策略)。
- 输出格式支持:可输出 JSON、YAML、Markdown、CSV、Table 等多种格式。
- 浏览器要求:必须安装并运行 Chrome 浏览器,并且已成功登录到目标网站。
- 浏览器扩展安装:需要安装 OpenCLI Browser Bridge 浏览器扩展,可以通过开发者模式加载。
- 网络通信:本地守护进程通过 WebSocket 与 Chrome 浏览器进行通信。
- 视频下载依赖:若要下载 B站 等流媒体平台的视频,需要额外安装 yt-dlp 工具。
OpenCLI 的突出优势
- 广泛的平台覆盖能力:OpenCLI 能够同时支持网站(如 B站、知乎、Twitter)、Electron 桌面应用(如 Cursor、Notion、Discord)以及本地 CLI 工具(如 gh、docker),真正实现了“万物皆可 CLI”的愿景。
- AI 原生设计理念:内置 explore、synthesize、cascade 三个核心命令,使 AI Agent 能够自主发现 API、生成适配器并探测认证机制,无需人工介入编写代码即可操控新平台。
- 统一与标准化:将所有支持的平台转化为统一的 CLI 接口,并支持 JSON、YAML、Markdown 等结构化输出,极大地便利了 AI Agent 的编排和跨应用工作流的构建。
- 安全且值得信赖:用户的账户凭证始终保留在本地浏览器内,所有通信通过本地守护进程进行,不经过任何第三方服务器,显著降低了凭证泄露的风险。
- 动态可扩展性:支持热加载 .ts 或 .yaml 格式的适配器,社区用户可以共享自定义命令,持续丰富和扩展工具的生态系统。
如何着手使用 OpenCLI
- 环境准备:确保已安装 Node.js 版本 20.0.0 或更高版本,并且 Chrome 浏览器已安装并成功登录到您想要操作的目标网站。
- 安装 OpenCLI:通过 npm 全局安装命令行工具,执行命令 npm install -g @jackwener/opencli。
- 安装浏览器扩展:从 GitHub Releases 页面下载 opencli-extension.zip 文件,解压后在 Chrome 扩展管理页面启用开发者模式,然后加载解压后的扩展文件夹。
- 验证安装状态:运行 opencli doctor 命令,该命令将检查浏览器扩展和本地守护进程的连接状态,并能自动诊断和修复潜在问题。
- 查看可用命令列表:执行 opencli list,即可浏览 OpenCLI 内置支持的网站和应用程序的命令列表。
- 执行命令行操作:命令的基本格式为 opencli <平台> <操作>。例如,要获取 B站 热榜的 JSON 数据,可以执行 opencli bilibili hot -f json;要向 Cursor 发送消息,则执行 opencli cursor send “hello”。
- 生成自定义适配器:对于尚未支持的新网站,可以通过执行 opencli generate https://example.com –goal “hot” 来一键完成 API 探索、适配器生成和注册的过程。
- 集成外部 CLI 工具:可以直接调用如 opencli gh pr list 或 opencli docker ps 等命令。OpenCLI 会自动处理命令的传递,甚至支持对未安装的工具进行自动安装。
OpenCLI 的项目源码仓库
- GitHub 仓库地址:https://github.com/jackwener/opencli
OpenCLI 与同类竞品的技术比较
| 对比维度 | OpenCLI | Playwright | Puppeteer |
|---|---|---|---|
| 核心定位 | 通用命令行枢纽及 AI 原生运行时 | 浏览器自动化测试框架 | 无头 Chrome 浏览器控制库 |
| 主要功能 | 将网站、Electron 应用、本地 CLI 工具统一转化为命令行接口 | 端到端网页测试与自动化操作 | 通过程序化方式控制 Chrome 浏览器实例 |
| 技术架构 | CLI → Daemon → WebSocket → Chrome 扩展 | 脚本直接驱动浏览器实例 | Node.js 库通过 DevTools Protocol 与浏览器通信 |
| 使用门槛 | 零配置,直接复用浏览器登录状态 | 需要编写测试脚本并进行环境配置 | 需要编写代码并熟悉浏览器相关的 API |
| AI Agent 支持度 | 原生集成 explore/synthesize/cascade 命令,内置 AI 工作流 | 需要额外二次封装,无内置 AI 工作流 | 需要自行开发 AI 相关功能,无专用 AI 命令 |
| Electron 应用支持 | 原生支持,通过 CDP 直接操控 | 支持度有限,需额外配置 | 支持,但需手动处理应用启动及端口连接 |
| 本地 CLI 集成 | 支持 gh、docker 等外部 CLI 工具的无缝传递 | 不支持 | 不支持 |
OpenCLI 的典型应用场景
- AI Agent 的自动化助手:赋能 AI 智能地操控浏览器和桌面应用,执行跨平台的复杂任务,例如自动化信息收集、表单填写以及内容发布等。
- 数据抓取与实时监控:能够定时抓取 B站 热榜、知乎热门话题、股票实时行情、新闻资讯等,并将数据以结构化形式输出,便于后续分析或即时推送。
- 内容创作的辅助工具:该工具可以自动下载小红书的笔记、知乎的文章、Twitter 的媒体文件,方便用户将这些内容导入 Notion 或 Cursor 进行整理和二次创作。
- 跨应用工作流的编排:支持将不同平台的操作串联起来,例如从雪球获取股票数据,利用 AI 进行分析,然后将结果发送到飞书群,或者从 B站 提取视频字幕并进行总结,最后写入到文档中。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...


粤公网安备 44011502001135号