Appearance
OpenCLI
why
当希望智能助手从一个指定网站读取信息时,它可能会因为网站需要用户登录态、机器人检查等无法读取。比如:读取某个微博页面的内容、读取某个知乎页面的内容等。
如果其能操控已有用户登录态的浏览器,则可以直接打开网站,读取网站信息,而 OpenCLI 就是做了这样一个事。
OpenCLI 可以操作任意支持安装扩展的支持 CDP 的应用(浏览器/Electron 应用等),通过扩展(操作执行者)+ 网站适配器(特定网站支持的操作),来在网站上执行操作(读取、下载内容等)。
交互链路:Agent 可选 -> opencli 终端命令 -> 公共原子操作 + adapter 网站特定操作适配器 -> OpenCLI 浏览器扩展 -> 操作页面
本文主要记录 OpenCLI 的一些使用方法。
how
学习 OpenCLI 的方式:
- 下载其最新 README
- 发给 DeepSeek 并提问:使用 why/how/what 分析 OpenCLI,并给出 OpenCLI 的用户交互时序图
what
○ 准备 opencli 环境
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"