自动化与运维 browser-automationcliweb-scrapingform-fillingplaywrightchrome-extensionnetwork-interception

OpenCLI 浏览器驱动技能

让 AI 代理通过你的已登录 Chrome 浏览器,以结构化命令驱动真实网页,完成导航、填表、点击与数据提取。

FollowSkills 评估 · FSRS-2.0
不推荐
47/ 100 五分制 2.4 / 5
1 2 3 4 5 6
1信任安全10 / 25 · 2.0/5

技能教代理通过Chrome DevTools协议控制真实浏览器,可读写页面数据、模拟登录态。文档明确要求agent使用结构化命令而非eval进行写操作,且bind不拥有用户窗口、不关闭用户标签,体现了权限敬畏。但缺少对敏感数据(如密码、cookie)处理的明确说明,也未提及回滚或恢复机制。依赖本地daemon和Chrome扩展,安全性依赖于安装来源。作者未验证,但可能靠文档和项目维护习惯增强信任。因此信任为10/25:主要风险(权限和确认)可见但隔离和回滚不完整。

2可靠稳定8 / 20 · 2.0/5

SKILL.md自洽且详尽,包含错误码和match_level等反馈机制,能引导agent正确处理异常。但这些是静态文本描述,无法确认实际CLI行为。文档中的命令和例子可能已过时或未同步。静态审查未执行任何命令,无法验证关键路径。也没有看到针对这个技能路径的专用测试。因此可靠性为8/10(静态审查上限):happy path可能可行,但边界情况和失败反馈的证据薄弱。

3适用触发11 / 15 · 3.7/5

技能适用于需要驱动真实浏览器的场景,如检查通知、填表、提取数据等。文档明确区分了与opencli-adapter-author技能的边界,并提供了数值引用和CSS选择器的目标契约,便于触发。环境方面,项目支持中文文档和多个中国网站适配器(如B站、知乎、小红书),表明对中国用户友好。但技能本身主要依赖本地Chrome和扩展,不依赖海外服务,对中国大陆网络可达性较好。不过具体触发条件(何时使用)仍是语义上的,未测试。因此适应性为11/15:场景明确但边界和触发条件证据有限。

4规范维护10 / 15 · 3.3/5

SKILL.md信息架构清晰,有前置条件、会话生命周期、目标契约、错误处理表等,且有成本指南和示例配方,便于渐进披露。README提供了安装说明和技能目录,并注明Apache-2.0许可。但专用技能文档本身没有显式版本号或变更日志,维护责任仅在README中隐含。已知限制未明确列出(如跨源iframe最佳努力,但未提及其它限制)。因此规范为10/15:可读可用但有隐藏假设和治理缺口。

5有效结果5 / 15 · 1.7/5

静态审查无法验证技能的实际效果。文档宣称能完成多种任务并提供了示例,但没有可验证的第三方执行证据。虽然存在e2e测试,但针对的是'adapter'和'article download',并非本技能的核心浏览器驱动路径。因此有效性为5/7(静态上限):核心任务可能完成,但输出可用性和对比收益的证据有限。

6证据核验3 / 10 · 1.5/5

静态审查只能看到文档和测试文件,无法执行命令验证。CI工作流存在且有e2e测试,但这些测试覆盖的是其他技能路径(如article download、auth failure),不直接覆盖本技能的核心驱动功能。因此可验证性为3/5:有可审计的测试但覆盖薄弱。

证据充分度: 评估于 2026年8月7日 审查版本 399c0de2a76e
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 该技能可以驱动真实浏览器并模拟登录态,可能访问敏感数据(如个人账户信息)。务必确认代理在执行前获得用户明确许可,并限制权限。
  • 文档未说明密码、cookie等敏感数据的处理方式,也没有回滚机制。建议在敏感操作前进行确认。
  • 技能依赖本地Chrome和扩展,安装来源需可信。建议从官方商店或GitHub Releases获取。
  • 静态评估未验证实际行为,实际使用前应在隔离环境中测试。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

OpenCLI 浏览器技能赋予 AI 代理通过命令行接口(CLI)驱动真实 Chrome 窗口的能力。代理可以导航到网址、检查页面结构、填写表单、点击元素、提取数据,并拦截网络请求。技能强调选择器优先的目标合同,附带回执的结构化输出,以及处理动态 DOM 漂移的弹性机制。它专为人工智能代理设计,通过结构化信封提供精确匹配和错误代码,实现自主可靠的操作。该技能支持绑定现有标签页、后台浏览器窗口、跨源 iframe、复合表单控件(日期、下拉框、文件)以及网络流量检查。

技能通过 opencli browser 命令驱动实时 Chrome 会话:打开网址、获取页面状态快照(带数字引用)、按 CSS 或语义定位器查找元素、点击、输入、填充、选择、上传文件、拖放、按键、滚动、等待条件、提取 Markdown 内容、评估只读 JavaScript(包括跨源 iframe)、捕获并检查网络请求,以及管理标签页和会话。所有命令都会返回结构化 JSON 信封,包含匹配计数、置信度等级和机器可读错误代码。

  1. 需要 AI 代理自动填写你已登录的网页表单并提交,例如回复邮件或在社交平台发布内容。
  2. 需要从依赖登录或需要交互的网站上抓取数据(如个人时间线、私人通知、分页列表),并优先通过拦截其内部 API 而非 DOM 抓取。
  3. 需要 AI 代理驱动你已打开的标签页,并在不中断登录状态的情况下执行多步骤流程,例如同时处理多个标签页任务。
  4. 需要调试网站自动化:通过 `--compare-sources` 对比 DOM 与可访问性树快照的差异,或解决元素选择器失效的问题。
  5. 需要让 AI 代理从长文章中分块提取内容,或交互式地选择 React 自定义下拉菜单(如日期选择器或分类选择器)。

这个 Skill 有哪些优点和局限?

优点
  • 利用您已登录的浏览器,无需复制 cookie 或重复登录。
  • 每个命令返回结构化的 JSON 信封,包含置信度和可操作的错误代码,非常适合自主代理。
  • 通过数字引用和指纹识别,对 DOM 变化具有弹性。
  • 网络拦截优先于 DOM 抓取,更可靠且资源消耗更低。
  • 支持绑定现有标签页、后台窗口和跨源 iframe。
局限
  • 需要安装多个组件:OpenCLI 运行时、Browser Bridge 扩展和技能本身。
  • 依赖 Chrome 的调试端口,容易受到 1Password 等干扰扩展的影响。
  • 自动化可能很脆弱;某些站点需要自定义适配器,这超出了本技能的范围。
  • 缺少内置测试套件;可靠性依赖 `opencli doctor` 诊断。
  • 使用 `eval` 执行只读 JavaScript,无法直接提交表单;必须通过结构化命令操作。

如何安装这个 Skill?

  1. 安装 OpenCLI:推荐使用桌面应用(opencli.info/download),或通过 npm 全局安装 npm install -g @jackwener/opencli(需 Node.js >= 20)。
  2. 安装 Browser Bridge 扩展:从 Chrome Web Store 安装,或从 GitHub Releases 下载 zip 并手动加载到 chrome://extensions。
  3. 将技能安装到你的 AI 代理:运行 npx skills add jackwener/opencli --skill opencli-browser
  4. 验证安装:运行 opencli doctor,确保输出为绿色。

如何使用这个 Skill?

确保 Chrome 正在运行且 opencli doctor 通过。向你的 AI 代理描述任务,例如“帮我查看我的小红书通知”或“帮我填写这个表单”。代理会运行诸如 opencli browser <session> stateclicktype 等命令。例如,打开一个会话:opencli browser work open https://example.com。对于需要登录的页面,先手动导航并登录,然后使用 opencli browser <session> bind 将该标签页绑定到会话,接着让代理使用 stateclicktype 等命令。

这个 Skill 与同类方案有什么区别?

与 Playwright 或 Puppeteer 等通用浏览器自动化库相比,OpenCLI 专为 AI 代理设计,提供结构化输出、错误代码和会话管理,并可与您自己喜欢的浏览器集成。它不提供自己的测试运行器;您需要自行集成。

常见问题

我需要为每个网站编写适配器吗?
不需要,此技能可直接驱动原始浏览器,适用于任何网站。适配器是可选的,用于封装常用操作(如 `opencli reddit read`),可在需要时通过单独的 `opencli-adapter-author` 技能创建。
此技能如何处理登录?
它使用您已登录的浏览器。您可以手动打开页面并登录,然后使用 `bind` 将标签页绑定到会话;或者,如果网站已有适配器,适配器会处理登录状态。无需存储 cookies。
如果我遇到 DOM 漂移或元素找不到怎么办?
技能使用数字引用和指纹识别来应对轻度漂移。对于严重变化,它返回明确的错误代码,如 `stale_ref` 或 `selector_not_found`,并建议使用 `find` 或 `wait` 获取新引用。
此技能可以自动化桌面应用吗?
可以,通过 OpenCLI 的 CDP 支持,可以自动化 Electron 应用,如 Cursor 或 ChatGPT 桌面版,但本技能主要面向浏览器页面。请参阅 OpenCLI 文档了解桌面适配器。

同仓库的其他 Skills

均来自 jackwener/OpenCLI

相关 Skills