概述
在 AI Agent 时代,工具的可被访问性正在重新定义效率的上限。当大多数开发者还在为每个网站写爬虫、为每个 API 申请密钥、为每个桌面应用苦寻自动化方案时,一个开源的 Node.js 工具 OpenCLI 正以一种极简的思路解决问题——把一切变成命令行。
OpenCLI(GitHub: jackwener/opencli)目前已在 GitHub 上获得超过 20,000 星标,成为 AI 原生工具生态中最受关注的 CLI 框架之一。它让 AI Agent 无需 GUI、无需 API Key、无需写复杂脚本,就能像操作终端命令一样操控数百个网站和桌面应用。
OpenCLI 的核心架构
OpenCLI 的设计哲学可以概括为一句话:确定性胜过智能。不给大模型加"智能中间层",不消耗 Token 去"理解"网页,而是预先写好适配器,让一切变得可预测、可脚本化。
它的架构由三层组成:
- CLI 引擎层:Node.js 编写的命令行运行时,负责命令路由、输出格式化、插件管理
- Browser Bridge 层:Chrome 扩展 + 本地守护进程(Daemon),桥接已登录的浏览器会话
- 适配器层:100+ 预置站点适配器,外加 Electron 应用适配器和外部 CLI 透传
这种设计的精妙之处在于:复用你的浏览器登录态。你不需要把密码交给任何第三方,不需要申请 API Key,OpenCLI 直接借用 Chrome 中已登录的会话去执行操作。你在浏览器里登了知乎、小红书、B站,OpenCLI 就能直接操作它们。
安装与配置
第一步:安装 Node.js CLI
npm install -g @jackwener/opencli验证安装:
opencli --version第二步:安装 Chrome 扩展(可选,但推荐)
从 GitHub Releases 页面下载 opencli-extension-v{version}.zip,解压后打开 chrome://extensions,开启"开发者模式",点击"加载已解压的扩展程序"选择解压后的文件夹即可。
安装后运行诊断:
opencli doctor第三步:连接浏览器
运行任何需要浏览器的命令,OpenCLI 会自动启动 Daemon 并连接 Chrome。如果使用多个 Chrome Profile,可以这样管理:
opencli profile list
opencli profile rename <contextId> work
opencli profile use work内置站点适配器:100+ 网站一键可及
OpenCLI 内置了超过 100 个站点的适配器,覆盖国内外主流平台,不需要浏览器也能获取结构化数据:
国内平台
- 社交/内容:小红书、知乎、B站、微博、豆瓣、虎扑、贴吧
- 电商/生活:1688、闲鱼、Boss 直聘、大众点评、小鹅通
- 音频/视频:小宇宙(播客)、B站视频
- 学术/政策:百度学术、万方、GitLaw 政策
海外平台
- 社交:Twitter/X、Reddit、HackerNews
- 内容:YouTube、Spotify、Google Scholar
- AI 服务:Gemini、Claude
使用方式非常简单:
# 查看所有可用命令
opencli list
# 获取 Hacker News 热榜
opencli hackernews top --limit 5
# 获取 B站热门视频
opencli bilibili hot --limit 10 -f json
# 搜索 Boss 直聘职位
opencli boss search "AI 开发"
# 获取小红书推荐内容
opencli xiaohongshu feed支持 -f 参数切换输出格式:table(默认)、json、yaml、md、csv,可直接 pipe 给其他工具或 LLM。
浏览器自动化:AI Agent 操作任意网站
这是 OpenCLI 最强大的能力。通过 Chrome 扩展 + Daemon,AI Agent 可以直接操控你的已登录浏览器:
- 导航:打开任意 URL
- 读取页面:获取结构化 DOM 快照(不是截图,是文本化的页面结构)
- 交互:点击按钮、填写表单、选择选项、按键盘
- 提取数据:拦截网络 API 响应,获取最原始的数据
- 等待:等待元素出现、文本变化、页面跳转完成
可用浏览器命令包括:open、state、click、type、fill、select、keys、wait、get、find、extract、frames、screenshot、scroll、back、eval、network、tab list/new/select/close、init、verify、close。
典型的使用场景是配合 AI Agent 的技能包:
npx skills add jackwener/opencli --skill opencli-adapter-author安装后,你只需用自然语言描述需求,AI Agent 就会自动调用浏览器命令去执行。比如 "帮我看一下小红书的消息通知"——Agent 会打开浏览器、导航到小红书、读取通知并返回结果。
这套能力解决了传统爬虫和 Playwright/Puppeteer 方案的核心痛点:网站反自动化检测。BOSS 直聘、知乎等平台会检测到 headless Chrome 或 CDP 自动化环境并主动跳转。OpenCLI 复用你真实的 Chrome 浏览器,浏览器指纹完全真实,不会被识别为爬虫。
桌面应用控制
通过 Chrome DevTools Protocol(CDP)和 AppleScript,OpenCLI 可以控制 Electron 桌面应用:
- Cursor IDE:控制 Composer 面板、Chat、提取代码
- OpenAI Codex:无头驱动 Codex CLI Agent
- ChatGPT 桌面版:自动化操作 ChatGPT macOS 应用
- Discord:消息、频道、服务器管理
- 豆包 Doubao:控制豆包 AI 桌面应用
- Notion:笔记操作(需额外安装 ntn CLI)
CLI Hub:统一本地工具入口
OpenCLI 不仅是网站操作工具,它还是一个 CLI Hub——可以统一发现和执行你电脑上已有的命令行工具:
# 注册本地工具
opencli external register gh
opencli external register docker
opencli external register obsidian
# 之后就可以统一通过 opencli 发现和调用支持的工具包括:gh(GitHub CLI)、docker、obsidian、longbridge、lark-cli、tg(Telegram)、discord、wx(微信)、vercel、ntn(Notion)等。
AI Agent 技能体系
OpenCLI 为 AI Agent 设计了完整的技能包,目前支持 Claude Code、Cursor、OpenClaw 等 AI 框架:
| 技能名称 | 用途 | 示例 Prompt |
|---|---|---|
opencli-adapter-author | 浏览器操作 + 适配器编写 | "帮我查看小红书通知" / "给知乎热榜写个适配器" |
opencli-autofix | 修复失效的适配器 | "知乎热榜适配器坏了,修复它" |
opencli-browser | 浏览器自动化参考 | "帮我在这个页面填表" |
opencli-usage | 命令和站点参考 | "OpenCLI 有哪些 Twitter 命令?" |
smart-search | 搜索已有能力 | "找一个 B站热榜适配器" |
安装方式:
npx skills add jackwener/opencli
# 或按需安装特定技能
npx skills add jackwener/opencli --skill opencli-adapter-author插件系统与自定义适配器
当内置适配器不满足需求时,OpenCLI 提供了完整的插件体系:
- 创建插件:
opencli plugin create - 安装本地插件:
opencli plugin install file://path - 安装 GitHub 插件:
opencli plugin install github:user/repo - Eject 官方适配器:
opencli adapter eject <site> - 编写新适配器:使用
opencli adapter author工作流,AI Agent 可以自动完成从站点分析到适配器生成的全流程
适用场景与局限性
最佳适用场景
- 日常信息聚合:一键获取所有平台的热榜和动态
- AI Agent 驱动的自动化:让 AI 操控浏览器完成复杂的多步骤任务
- 开发者工作流:统一 gh、docker、obsidian 等工具入口
- 多媒体下载:从各平台批量下载图片、视频、音频、文章
局限性
- 需要 Node.js >= 21:对低版本服务器不友好
- 浏览器自动化依赖本地 Chrome:无头服务器上无法发挥完整能力,需要桌面环境配合
- 登录态管理:浏览器 Cookie 过期后需要手动重新登录
- 并非万能爬虫:对于需要复杂人机验证或高频率调用的场景,仍需专用 API
总结
OpenCLI 的核心理念呼应了 AI 领域的重要趋势——一切软件都将为 Agent 重写。正如 AI 专家 Andrej Karpathy 所言,过去 40 年软件行业在"给计算机加上 GUI 这层人类翻译",而 AI Agent 天生就说 CLI/API 的语言,GUI 反而是障碍。
OpenCLI 的价值不在于它是一个工具,而在于它提供了一个范式:确定性接口 > 智能猜测。与其让大模型每次花 Token 去"理解"一个网页,不如提前写好适配器,把操作简化为 CLI 命令。它不消耗任何 Token 运行,输出结构稳定,可脚本化、可管道化、CI 友好。
对于 AI 时代的开发者来说,OpenCLI 是将 AI Agent 从"聊天框"解放到"真实操作层"的关键桥梁。无论你是用它做日常信息聚合,还是构建复杂的 AI Agent 工作流,它都将是不容忽视的基础设施。
标签:OpenCLI, AI Agent, CLI工具, 开源项目, 浏览器自动化, 开发工具
