Skip to content

OpenCLI

why

当希望智能助手从一个指定网站读取信息时,它可能会因为网站需要用户登录态、机器人检查等无法读取。比如:读取某个微博页面的内容、读取某个知乎页面的内容等。

如果其能操控已有用户登录态的浏览器,则可以直接打开网站,读取网站信息,而 OpenCLI 就是做了这样一个事。

OpenCLI 可以操作任意支持安装扩展的支持 CDP 的应用(浏览器/Electron 应用等),通过扩展(操作执行者)+ 网站适配器(特定网站支持的操作),来在网站上执行操作(读取、下载内容等)。

交互链路:Agent 可选 -> opencli 终端命令 -> 公共原子操作 + adapter 网站特定操作适配器 -> OpenCLI 浏览器扩展 -> 操作页面

本文主要记录 OpenCLI 的一些使用方法。

how

学习 OpenCLI 的方式:

  1. 下载其最新 README
  2. 发给 DeepSeek 并提问:使用 why/how/what 分析 OpenCLI,并给出 OpenCLI 的用户交互时序图

what

○ 准备 opencli 环境

浏览器

可优先使用 CloakHQ/CloakBrowser,供助手使用的隐身浏览器,使助手浏览页面时不会被检测到。

vscode 自带的 Integrated Browser 也可以。

sh
# 浏览器中安装 OpenCLI 插件 https://github.com/jackwener/opencli/releases

# 安装 opencli
pnpm i -g @jackwener/opencli

# 检查 opencli 守护进程(自动启动)是否正常连通插件
opencli doctor

# 查看守护进程日志
curl http://localhost:19825/status
curl http://localhost:19825/logs

○ CLI 网站操作

sh
# 保存微信公众号文章为 md
opencli weixin download --url https://mp.weixin.qq.com/s/nkhDVXdaw_U_v-87XoJe2g

# 导出知乎文章为 Markdown
opencli zhihu download "https://zhuanlan.zhihu.com/p/xxx" --output ./zhihu

# 下载 Twitter 用户的所有媒体
opencli twitter download elonmusk --limit 100 --output ./twitter_media

○ 智能助手操作浏览器

sh
# 确保 opencli 正常工作,然后安装 opencli-adapter-author 技能
# https://github.com/jackwener/OpenCLI/blob/main/skills/opencli-adapter-author/SKILL.md
npx skills add jackwener/opencli --skill opencli-adapter-author

# 命令助手:帮我查看小红书的最新通知

# 命令助手内部执行诸如这些命令
opencli browser work open https://xiaohongshu.com
opencli browser work state                     # 获取 DOM 快照
opencli browser work click --selector "a[href='/notifications']"
opencli browser work extract --selector ".notifications-list"

○ 智能助手创建网站适配器

○ 智能助手操作命令行工具(统一化入口为 opencli)

实际为命令透传

sh
# 企业微信,发送消息
opencli wecom-cli msg send --to user "hello"

# 微信本地数据导出(wx-cli)
opencli wx search "OpenCLI"
访问量 PV:Blocked用户数 UV:Blocked