mcpField
O
opencli-browser

opencli-browser

github.com/jackwenerAgent 工作流30.7k20.3k 次安装2 天前更新
代码仓库

关于 opencli-browser

供 Agent 使用 OpenCLI 操作浏览器的技能,涵盖页面检查、交互、数据提取、网络信息和 Chrome 标签页管理。它采用会话隔离,并以结构化结果呈现操作状态。

主要功能

  1. 01检查页面状态与元素
  2. 02按语义目标执行交互
  3. 03提取文本、值和 HTML
  4. 04查看网络请求与脚本信息
  5. 05管理标签页及 Chrome API

适用场景

  1. 01自动执行浏览器搜索和表单操作
  2. 02检查页面内容并截取屏幕
  3. 03分析站点请求与响应数据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jackwener/opencli --skill opencli-browser

安装后在 Claude Code 中输入/opencli-browser确认已加载。

详细介绍

面向 Agent 的浏览器工具

根据任务选择合适的能力。使用 opencli list <query> 发现命令; 使用 opencli browser <command> --help -f json 查看准确参数。 诊断连接问题时运行 opencli doctor。

范围和结果

页面命令需要 --session <name>。在同一任务中重复使用该名称;不同 会话会隔离页面操作。需要时,使用 --profile <name> 选择 Chrome 配置文件。 选项可以跟在命令参数之后:

opencli browser open https://example.com --session research
opencli browser state --session research
opencli browser click --role button --name Search --session research
opencli browser close --session research

默认输出为一个 JSON 值:{ "ok": true, "data": ... }。 失败时返回 { "ok": false, "error": { "code": "...", "message": "...", "hint": "..." } } 并以非零退出码结束。诊断日志输出到 stderr。network --follow 和 console --follow 会逐行流式输出一个封装对象。帮助、版本和 shell 补全是检查/导出接口;结构化帮助使用 --help -f json。

读取返回的数据和错误字段。当 error.outcome 为 unknown 时,重试写入操作前先检查 受影响的状态。

页面目标和交互

  • state 返回 URL 和交互元素引用。--diagnostics 还会报告 页面标题和可用的初始状态全局变量;--source ax 用于选择 AX 树。
  • find 用于定位元素。交互目标可以使用引用、CSS 选择器或 --role、--name、--label、--text、--testid 等语义标志。
  • 使用 --nth 来处理有意匹配到多个结果的情况。引用过期时,读取最新 状态或重新定位元素;引用描述的是已观察到的页面。
  • fill 会替换字段内容并验证其值;type 会输入文本。其他操作 包括 click、select、check、upload、drag、keys 和 dialog。
  • get text|value|attributes|html、extract、screenshot 和 eval 可用于获取页面数据。 eval 会在页面中执行 JavaScript,并可能改变状态。
  • wait xhr|selector|text|download 用于等待预期条件。超时时间和匹配规则请查阅帮助。
  • tab list|new|select|close 用于管理会话标签页。--tab 接受这些命令返回的页面标识; 它们不同于 Chrome 原生数字 ID。
  • frames 会列出框架目标;eval --frame 会在所选框架中执行代码。

bind --session research 会附加到当前用户标签页。绑定会话允许导航, 但会阻止创建、选择和关闭标签页。unbind 会解除绑定,但不会关闭用户标签页。自有会话会保留租用的标签页,直到执行 close 或空闲超时。--window foreground|background 用于控制自有窗口。

网络和脚本

opencli browser network --session research
opencli browser network --detail RequestKey --session research
opencli browser network --static --session research

network 会返回捕获到的请求键和响应结构。--detail 会读取 缓存的请求;--filter 会筛选结构;--raw 会公开响应正文。 --static 会从已加载的脚本中添加 Acorn AST 候选项,并提供源码位置、 方法、查询/正文参数名称以及已观察到的请求证据。EXPR 表示尚未解析的表达式。静态候选项并未执行,也未被证实为 API。 请检查 analysisComplete、脚本错误、被省略的脚本和 networkSource。 实时捕获结果为空时,可能会复用近期缓存;报告的来源信息会对此加以区分。

Chrome 原生管理

原生调用无需会话,也不会附加页面:

opencli browser chrome describe
opencli browser chrome describe tabs.group
opencli browser chrome call tabs.query '[{}]'
opencli browser chrome call tabs.group '[{"tabIds":[123,456],"createProperties":{"windowId":10}}]'
opencli browser chrome call tabGroups.update '[789,{"title":"Research","color":"blue"}]'

使用 Chrome 返回的数字 ID,并替换示例 ID。describe 会列出 支持的方法、签名、实时权限和官方文档。 原生创建的标签页/窗口会持续保留。涉及活动 OpenCLI 会话标签页或受管理组的 变更会返回 managed_resource_conflict;普通组可以使用 tabs.ungroup 创建、 重命名、更改颜色、移动和解散。

评论

支持 Markdown