一、这个项目是什么?
jackwener/OpenCLI 的核心 Slogan 是:「Make Any Website into CLI & Use your logged-in browser by AI agent.」
它由独立开发者 jackwener 创建,目前 GitHub 共 1318 次提交,最新版本 v1.8.0,npm 包名 @jackwener/opencli。被阮一峰科技爱好者周刊收录推荐(Issue #9309 开源自荐),获得大量开发者关注。
简单来说,OpenCLI 解决了 AI Agent 时代的一个核心痛点:大模型看得见世界,却摸不着互联网。 你可以让它写代码、做方案,但让它去小红书看真实种草、去 B 站查热门视频、去知乎挖舆论,它瞬间”失明”。OpenCLI 用一套统一的 CLI 接口,把任意网站、Electron 桌面应用和本地工具全部标准化,让人和 AI Agent 共用同一套工具目录。
二、这个项目适合哪些人?
- AI 开发者 / Agent 用户:想让 Claude Code、Cursor、Codex 等 Agent 能够操作任意网站的开发者
- 效率工具爱好者:想在终端里完成以前要开浏览器才能做的事(刷热榜、查数据、下载资源)
- 自动化工程师:需要稳定、可脚本化的网页数据获取方案,不想被反爬折腾
- 爬虫开发者:不需要写爬虫代码,一条命令搞定数据获取,登录态自动复用
- 命令行重度用户:不想离开终端,想把所有常用网站都纳入 CLI 工作流
三、核心能力:三层自动化接口
第一层:内置适配器 — 100+ 平台开箱即用
OpenCLI 内置了大量经过验证的适配器,覆盖国内外主流平台,不需要任何配置,装完直接用。
国内平台
- B站(Bilibili):热门视频、评论、视频搜索、视频下载、视频 AI 摘要(v1.8.0 新增)
- 知乎:热榜内容,支持 JSON 输出
- 小红书:创作者笔记列表、爬取分析
- 抖音:发布内容、删除动态
- 微博:热榜、用户搜索、导出指定用户博文(按时间范围)
- 虎扑:社区内容
- 豆瓣:内容抓取
- 1688:电商数据
- 微信读书(weread):书籍搜索、书内搜索、笔记导出
- 飞书(lark):消息、文档、表格、日历、任务管理
- 即刻:社区动态
国际平台
- GitHub:trending 榜单(通过插件)
- Twitter/X:热榜内容
- Reddit:热帖内容
- HackerNews:热门帖子
- YouTube:视频数据
- Amazon:商品数据
- LinkedIn:个人资料、工作经历读取、消息发送(v1.8.0 新增)
- ChatGPT Desktop:Electron 应用适配
AI 工具
- Gemini:AI 工具适配
- NotebookLM:Google AI 笔记
- Flomo:浮墨笔记(v1.8.0 新增 memos reader)
- 有道云笔记:共享笔记读取(v1.8.0 新增)
- Chess:国际象棋(v1.8.0 新增写命令)
第二层:浏览器自动化 — 让 AI Agent 操作任意网站
这是 OpenCLI 最核心的能力。通过 Browser Bridge(Chrome/Chromium 扩展 + 本地守护进程),OpenCLI 能复用你已登录的 Chrome 会话,让 AI Agent 像人一样在浏览器里操作任意网页。
不需要 API Token,不需要存储密码,甚至不需要写代码。浏览器里怎么操作,AI 就能怎么操作。
在 Claude Code、Cursor 等 Agent 中安装 opencli-browser Skill 后,Agent 就能:
- Navigate:打开任意网页
- Click:点击任意按钮或链接
- Type/Fill:填写表单、输入搜索词
- Extract:从页面中提取结构化数据
- Wait:等待页面加载或元素出现
- Inspect:检查页面元素状态
全程不需要 LLM 参与操作,Browser Bridge 直接做确定性控制。
第三层:本地工具统一入口 — 把 gh、docker 变成子命令
OpenCLI 还可以把你系统上已有的 CLI 工具注册进来,变成 opencli gh、opencli docker 的形式,通过 opencli install <name> 安装外部 CLI。
支持的外部工具包括:gh、docker、obsidian、tg(电报)、discord 等。换句话说,OpenCLI 成了你终端里的「万能入口」——一个 opencli,打包所有工具。
四、核心命令一览
探索与生成
opencli list:列出所有可用命令opencli explore <url>:探索网站,发现 API 和存储结构opencli probe <target>:探测目标站点能力opencli synthesize <target>:从探索结果生成 CLI 定义opencli generate <url>:一站式:探索→生成→注册opencli record <url>:从浏览器会话录制 API 调用
验证与测试
opencli validate <target>:验证 CLI 定义是否正确opencli verify <target>:验证 + 冒烟测试(端到端)opencli cascade <url>:策略级联,找到最简单的工作方式
管理与诊断
opencli doctor:诊断浏览器桥接连接状态opencli plugin:管理 opencli 插件opencli daemon:管理本地守护进程opencli completion <shell>:输出 shell 补全脚本opencli browser:浏览器控制(导航、点击、输入、提取、等待)
输出格式
所有命令支持多种输出格式,可自由切换:
table:表格形式(人类可读)json:JSON 格式(程序处理)yaml:YAML 格式md:Markdown 格式csv:CSV 格式
遵循 Unix 退出码约定,可方便集成到 CI/CD 流程中。
五、安装与配置
前置要求
- Node.js ≥ 21.0.0
- Chrome/Chromium 浏览器(用于 Browser Bridge 模式)
安装步骤
npm install -g @jackwener/opencli opencli --version # 验证安装
配置浏览器桥接(可选,浏览器自动化需要)
- 从 Chrome 应用商店安装「OpenCLI Browser Extension」或下载发布包手动加载
- 运行
opencli setup,自动从 Chrome 中检测并配置 Playwright MCP Bridge 扩展 token - 运行
opencli doctor验证桥接连接状态
集成到 AI Agent
在 Agent 的系统提示词(如 .cursorrules、CLAUDE.md)中加入:
"You have a tool called opencli. Run opencli list to see available commands to browse the web."
六、技术架构解析
四层架构
- CLI 本体(Node.js):命令解析、适配器调度、输出格式化
- Browser Bridge(Chrome 扩展):接收 WebSocket 指令,在隔离的 Chrome 窗口中执行操作
- 守护进程(Daemon):后台常驻,负责扩展与 CLI 之间的通信协调
- 适配器层(Adapters):每个网站/工具对应一个适配器,定义输入输出规范
隐私设计
OpenCLI 最大的隐私优势在于「零凭证存储」:
- 所有浏览器命令直接复用本地 Chrome 的登录态,凭据不离开浏览器语境
- 通过轻量级 Browser Bridge 扩展在本地建立 WebSocket 通道(仅限 localhost)
- 不需要保存任何账号密码,不需要申请任何 API Token
- Chrome 扩展有独立 CSP 安全策略和隐私政策
测试体系
OpenCLI 拥有完整的三层测试体系:
- 单元测试(src/**/*.test.ts):32 个测试文件
- E2E 集成测试(tests/e2e/):子进程运行真实 CLI,验证 API 健康度
- Adapter 测试(clis/**/*.test.ts):每个适配器的独立测试
七、自定义适配器开发
OpenCLI 支持用 opencli-adapter-author Skill 开发新适配器,工作流包含四个步骤:
- 站点侦察(Recon):探索网站结构,发现可用的 API 端点
- 字段解码:分析请求/响应字段含义
- 代码编写:按 OpenCLI 规范编写适配器代码
- 验证发布:用 validate + verify 命令跑通冒烟测试
官方提供了大量参考案例(references/ 目录),社区也开发了多个插件,如 opencli-plugin-github-trending(浏览 GitHub Trending)。
八、和同类工具的对比
vs MCP(Model Context Protocol)
MCP 侧重于定义 Agent 与工具之间的通信协议,适合工具比较固定的场景。OpenCLI 则更侧重于「把一切网站变成 CLI」,天然覆盖 MCP 难以触达的网页操作层。
vs Playwright / Puppeteer
Playwright 和 Puppeteer 是底层浏览器自动化库,需要写代码才能使用。OpenCLI 在它们之上封装了一层 CLI 接口,一条命令完成操作,不需要写代码。
vs CLI-Anything
CLI-Anything 的定位是「让所有开源软件被 Agent 驱动」,一行命令把任意开源软件 CLI 化(主要针对桌面应用如 GIMP、Blender)。OpenCLI 则专注于「把网站和浏览器会话变成 CLI」,两者定位互补。
vs Browserbase Skills
Browserbase Skills 同样是给 Claude Code 装上浏览器自动化能力,但它依赖 Browserbase 云服务(需要账号、付费)。OpenCLI 完全本地化,靠 Browser Bridge 复用本地 Chrome,完全免费。
九、实际使用体验
根据多位博主的实测反馈:
上手速度:从 npm 安装到跑通第一条命令,5 分钟内可以完成。最大的门槛是浏览器扩展的配置,但 opencli setup 命令已经大幅简化了这个过程。
稳定性:内置适配器体验稳定,因为它们是针对具体网站的 API 结构提前写好的,不需要每次动态探索。但对登录态要求严格,如果 Chrome 里没登录目标网站,部分命令会拿不到数据。
对 AI Agent 的价值:这是 OpenCLI 最独特的价值。对于 Claude Code 这类 Agent,opencli-browser Skill 让它真正获得了「操作浏览器」的能力,可以完成「帮我去 B 站看一下今天有哪些科技区热门视频」这类以前完全无法完成的任务。
更新速度:v1.8.0 更新日志显示,单次 release 增加了 Flomo、LinkedIn 消息、有道云笔记、微信读书内搜索等 10+ 新适配器,以及大量安全加固。开发非常活跃。
十、总结
OpenCLI 的核心价值在于「统一」:
- 对人类用户来说,它是终端里的万能入口,一条命令搞定所有网站的查询和操作
- 对AI Agent来说,它提供了确定性、可脚本化的浏览器操作能力,弥补了 LLM「看得见但摸不着」的最后一块短板
- 对开发者来说,它是扩展性极强的框架,适配器开发有完整的 Skill 指导和参考案例
在 AI Agent 时代,工具调用的稳定性比工具调用的酷炫更重要。OpenCLI 正是沿着这个方向,把浏览器自动化从「玄学操作」变成了「确定性的 CLI 接口」。
GitHub 地址:https://github.com/jackwener/OpenCLI
npm 包:npm install -g @jackwener/opencli
