📦 Opencli BrowserUse

v1.0.0

当 agent 需要通过 opencli 驱动真实的 Chrome 窗口——检查页面、填写表单、点击登录流程或临时提取数据时。涵盖……

0· 12·0 当前·0 累计
by @liberalchang (chang)
下载技能包
最后更新
2026/4/22
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
可疑
medium confidence
该技能的目的(通过 opencli 驱动真实 Chrome 窗口)是合理的,但清单遗漏了关键运行时要求,且运行时指令允许广泛访问浏览器页面内容和网络抓包 —— 技能内部不一致,若使用不当可能泄露敏感数据。
评估建议
安装或启用此技能前: 1)确认已安装 opencli CLI 并配置好所需的 Chrome 扩展/调试端口——技能元数据未声明,但运行时文档要求。 2)本技能权限极高:可读取页面 DOM 与网络流量(含会话令牌或私密表单数据)。勿在已登录敏感账户时运行;建议使用独立浏览器配置或测试账户。 3)请要求技能作者在 manifest 中声明所需二进制文件/环境变量,并说明敏感数据处理方式。 4)如必须使用,应限制 Agent 自主调用能力,或每次运行前强制用户确认。...
详细分析 ▾
用途与能力
SKILL.md 反复要求 agent 运行 opencli CLI 并与已启动的 Chrome + 扩展交互(如 'opencli doctor'、'opencli browser ...'、提及 Chrome debug port),但注册表元数据未声明任何必需二进制文件、安装步骤或配置路径。一个合法的基于 opencli 的浏览器驱动至少应将 opencli(和/或 Chrome/Chromium)声明为运行时依赖,并记录所需的扩展或 debug-port 配置;这些声明的缺失属于不一致。
指令范围
指令本身始终围绕既定用途(驱动实时浏览器)。它们明确鼓励检查页面状态、捕获网络请求、运行 JS eval(只读)并验证写入。这些操作必然让智能体读取页面 DOM、表单内容及网络载荷(可能含会话标识或个人数据)。这对浏览器驱动技能属预期行为,但意味着智能体将接触敏感用户数据;SKILL.md 除使用最佳实践外,未对此施加额外约束或警告。
安装机制
这是一个仅含指令的技能,没有安装规范或代码文件,从而将磁盘写入风险降至最低。然而,由于它依赖外部 CLI(opencli)和浏览器/扩展配置,manifest 本应声明这些运行时需求。
凭证需求
SKILL.md 引用了环境变量(OPENCLI_WINDOW_FOCUSED、OPENCLI_LIVE)和外部浏览器状态,但 declared requires.env 为空。更重要的是,skill 的运行时行为(DOM 读取、网络捕获)可能暴露高度敏感的数据——cookies、auth tokens、页面内容——而元数据中未声明任何需求/同意或警告。未声明的二进制文件/环境变量与缺失的敏感数据处理声明,与 manifest 明显不匹配。
持久化与权限
always:false 并使用默认的自主调用设置(用户可调用,agent 可自主调用)。这是平台默认行为,本身不是问题。注意:由于该技能允许 agent 控制浏览器并捕获网络/页面状态,自主调用会提高风险;若允许 agent 无需人工审批即可调用此技能,请谨慎操作。
安全有层次,运行前请审查代码。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/4/22

opencli-browser 1.0.0 – 初始版本 - 通过 opencli 让 agent 对实时 Chrome 窗口进行结构化控制。 - 提供 selector-first 目标约定、复合表单字段支持及弹性元素引用。 - 自动处理失效引用恢复、结构化错误报告与网络/API 捕获。 - 输出机器可读信封,描述每次操作的置信度与匹配质量。 - 内置 agent 安全与鲁性规则:先检查、链式上下文感知操作、关键写入需验证。 - 不用于 adapter 开发——该流程请使用 opencli-adapter-author。

无害

安装命令

点击复制
官方npx clawhub@latest install opencli-browser
镜像加速npx clawhub@latest install opencli-browser --registry https://cn.longxiaskill.com

技能文档

该 CLI 的第一读者是 agent,而非人类。每条子命令都会返回一个结构化信封,精确告知匹配了什么、置信度如何、未匹配时该怎么做。依赖这些信封——不要猜测。 本技能用于驱动实时浏览器完成 agent 任务。若要在 ~/.opencli/clis// 下构建可复用适配器,请改用 opencli-adapter-author

---

前置条件

``bash opencli doctor ` doctor 变绿前,一切免谈。常见失败:Chrome 未运行、扩展未安装、调试端口被 1Password 等扩展占用。doctor 输出会指出具体原因。

---

窗口生命周期

  • opencli browser 命令已在调用间保持自动化会话。窗口持续开启,直到执行 opencli browser close 或空闲超时。
  • --focus(或 OPENCLI_WINDOW_FOCUSED=1)将自动化窗口置于前台,用于实时观察页面。
  • --live(或 OPENCLI_LIVE=1)主要用于浏览器支持的适配器命令,如 opencli xiaohongshu note ...。命令返回后仍保持适配器自动化窗口开启,便于检查最终页面状态。

---

心智模型

  • Selector-first 目标协议。 每条交互命令(clicktypeselectget text/value/attributes)均接受一个 ,它要么state/find 返回的数字引用,要么是 CSS 选择器。用 --nth 消除多个 CSS 匹配的歧义。
  • 每个信封都会报告 matches_nmatch_level match_levelexactstablereidentified——CLI 已替你应对轻度 DOM 漂移,但等级告诉你该有多自信。
  • 先紧凑输出,按需再取完整载荷。 state 是预算友好的快照;get html --as json 支持 --depth/--children-max/--text-maxnetwork 返回形状预览,用 --detail 重新获取单条 body。若直接吐出巨型载荷,你在浪费本不必浪费的上下文。
  • 结构化错误可被机器读取。 失败时 CLI 输出 {error: {code, message, hint?, candidates?}}。按 code 分支,而非字符串匹配。

---

关键规则

  • 行动前先 inspect。 先跑 statefind。绝不要跨会话硬记引用或选择器——索引仅对应当前快照。
  • 一旦拥有数字引用,优先用它。 数字引用能轻度抵御 DOM 漂移,因为 CLI 会给每个标记元素打指纹。手写的 CSS 选择器在站点重渲染时立刻失效。
  • 每次写入后读 match_level exact = 一切正常;stable = 元素相同但部分软属性漂移——操作仍生效;reidentified = 原引用已消失,CLI 找到唯一替代;请再次确认击中了正确元素。
  • 表单控件用 compound 字段。 不要正则猜日期格式,也不要 state 两次去抓完整 选项列表。compound 信封内含格式字符串、最多 50 条完整选项、options_total 用于溢出,以及 accept/multiple
  • 关键写入要验证。 type 后跑 get value select 后跑 get value。自动完成、React 受控输入、掩码字段都会悄悄吞字,CLI 无法替你检测。
  • 页面变化后遵循 state → 动作 → state 导航、表单提交、SPA 路由切换都会使引用失效,拍新快照,不要复用过渡前的引用。
  • && 链式调用。 链式序列在同一 shell 内运行,第一条命令获取的引用第二条仍可用;分多次 shell 调用会丢失刚建好的会话上下文。
  • eval 只读。 把 JS 包在 IIFE 里并返回 JSON。若要改动*页面,请用结构化 click / type / select / keys 命令——它们产出结构化输出与指纹,eval 不会。
  • 优先 network 而非屏幕抓取。 若目标页面通过 JSON API 获取数据,该 API 几乎总比渲染后的 DOM 可靠。先捕获一次,查看形状,再用 --detail 取所需 body。

---

目标协议(click / type / select / get text|value|attributes

`` ::=

数据来源ClawHub ↗ · 中文优化:龙虾技能库