OpenCLI 完全指南:把任意网站、桌面应用和本地工具变成统一命令行

概述

在 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(默认)、jsonyamlmdcsv,可直接 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工具, 开源项目, 浏览器自动化, 开发工具

滚动至顶部