OpenCLI 站点适配器生成器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/generate-reusable-site-adapters-from-live-browser-behavior-with-opencli
技能介绍
你在解决什么问题
当你想把某个已登录网站接入自动化流程时,通常只能两种选择:要么手动把页面操作翻译成一堆脆弱的 Playwright 脚本,要么干脆放弃,让 agent 永远碰不到这类站点。前者的问题很明显:UI 一改版,脚本就得跟着改;登录态稍微变化,整个流程直接崩;同一个站点的不同功能还要反复写重复的导航逻辑。后者则让 agent 的能力边界被锁死在少数几个有官方 API 的网站上。
与此同时,你的环境里可能已经装了不少好用的本地 CLI 工具——gh、docker、ntn(Notion)、longbridge——它们散落在终端里,agent 却没法像调用一个普通命令那样统一使用。你需要一个机制,把浏览器里跑的复杂交互收敛成一个稳定的入口,同时把本地工具也纳入同一套调用协议。
这个技能是怎么工作的
核心能力可以拆成三块:观察、合成、暴露。
- 观察:通过 OpenCLI 的浏览器桥接扩展,读取你当前登录状态下的真实页面行为,而不是靠猜测去构造请求。
- 合成:把观察到的操作序列抽象成一个确定性适配器,它会固定选择器、等待条件和异常路径,而不是每次运行时重新摸索。
- 暴露:把适配器封装成可重复调用的 CLI 命令,后续 agent 只要带上参数就能直接使用,无需重复打开浏览器。
典型流程分为三步:
- 探索阶段:在浏览器里手动完成一次目标流程,OpenCLI 捕获操作事件和页面状态变化。
- 合成阶段:将捕获结果转换为适配器描述文件,这一过程要保留稳定的页面结构信息,同时过滤掉一次性噪音。
- 暴露阶段:适配器被注册为标准 CLI 命令,agent 拿到的就是一个可预测的调用接口,而非一段需要维护的脚本。
这种设计的好处在于,把容易出错的浏览器交互和 agent 的推理流程解耦了。以后即使页面结构调整,你只需要重新跑一次探索流程,而不需要去改 agent 的提示词或者工作流。
适用边界与注意点
- 这个技能依赖 OpenCLI 的浏览器桥接扩展,它只能观察你当前浏览器实例中的行为,无法跨标签页捕获不属于当前会话的内容。
- 合成的适配器是确定性描述,这意味着它不包含模糊匹配或自适应选择器的能力。如果页面上的元素位置频繁变化,你可能需要定期重新生成。
- 它本质上是一个命令封装层,不是万能浏览器控制器。涉及到浏览器新窗口弹窗、跨域跳转这类复杂场景时,仍需要你在 CLI 调用侧做额外处理。
- 本地二进制工具的适配依赖 OpenCLI 的 CLI Hub 机制,你需要手动注册二进制路径,它不会自动发现 PATH 里所有命令。
- 上游文档提到适配器覆盖了上百个站点,但这些适配器的实际效果取决于 OpenCLI 项目的维护节奏,遇到页面改版过快的站点,适配效果可能会打折扣。
使用场景
- 你把小红书的登录态浏览器操作封装成一个命令,让 agent 能稳定发布笔记并读取互动数据。
- 你为 Bilibili 写一个适配器,把视频信息获取与弹幕读取交给 agent 自动完成。
- 你把 Notion 工作区的操作通过 ntn CLI 接入,让 agent 能读写页面内容。
- 你为 Code 和 Cursor 这类 Electron 应用注册本地适配器,让 agent 能触发既定工作流。
适合人员
- 独立开发者:希望把常用网站操作封装成 agent 能复用的 CLI 命令,避免每次重新写脚本。
- 自动化工程师:负责维护多个浏览器自动化流程,需要确定性适配器来降低 UI 改版带来的维护成本。
- 技术团队负责人:想统一团队内部 agent 调用本地工具与网站操作的方式,减少重复造轮子。