SuperAPI AI 工具集

web-browser

通用与其它

查看项目

更新于 10-15 10:43

技能介绍

用途

web-browser 是一个浏览器联网工具 Skill,当需要真实浏览器环境时使用,包括:需要登录态的操作、反爬严格的平台(小红书、微信公众号等)、页面交互操作、动态渲染内容抓取等。简单搜索和公开页面抓取可直接使用内置的 WebSearch/WebFetch,无需加载此 Skill。

版本:v2.1.0。原作者不详,凯寓 (KAIYU) 修改维护。

主要能力

  • 通过 CDP Proxy 直连用户日常 Chrome,天然携带登录态,无需启动独立浏览器。
  • 提供 HTTP API 执行浏览操作:列出 tab(/targets)、新建后台 tab(/new)、页面信息(/info)、执行任意 JS(/eval)、截图(/screenshot)、导航与后退(/navigate、/back)、点击(/click、/clickAt)、文件上传(/setFiles)、滚动(/scroll)、关闭 tab(/close)。
  • 支持视频内容获取:通过 /eval 操控 <video> 元素(获取时长、seek、播放/暂停/全屏),配合 /screenshot 采帧进行离散采样分析。
  • 站点经验机制:在 references/site-patterns/ 下按域名存储特定网站经验,包含平台特征、有效模式、已知陷阱。
  • 支持子 Agent 并行调研分治策略,多个子 Agent 共享一个 Chrome、一个 Proxy,通过不同 targetId 操作不同 tab。

使用方式

前置检查:

bash ${CLAUDE_SKILL_DIR}/scripts/check-deps.sh

要求 Node.js 22+(必需,使用原生 WebSocket;版本低于 22 可用但需安装 ws 模块),Chrome 需开启 remote-debugging:在 Chrome 地址栏打开 chrome://inspect/#remote-debugging,勾选 "Allow remote debugging for this browser instance",可能需要重启浏览器。检查通过后再启动 CDP Proxy 执行操作,未通过则引导用户完成设置。

Proxy API 通过 curl 调用 HTTP API,例如:

curl -s http://localhost:3456/targets
curl -s "http://localhost:3456/new?url=https://example.com"
curl -s -X POST "http://localhost:3456/eval?target=ID" -d 'document.title'
curl -s "http://localhost:3456/screenshot?target=ID&file=/tmp/shot.png"
curl -s -X POST "http://localhost:3456/click?target=ID" -d 'button.submit'
curl -s -X POST "http://localhost:3456/clickAt?target=ID" -d 'button.upload'
curl -s -X POST "http://localhost:3456/setFiles?target=ID" -d '{"selector":"input[type=file]","files":["/path/to/file.png"]}'
curl -s "http://localhost:3456/scroll?target=ID&y=3000"
curl -s "http://localhost:3456/close?target=ID"

跨平台兼容:临时文件路径 macOS/Linux 为 /tmp/shot.png,Windows 为 %TEMP%\shot.png;Chrome 用户数据 macOS/Linux 为 ~/Library/Application Support/Google/Chrome/,Windows 为 %LOCALAPPDATA%\Google\Chrome\User Data\;Node.js 安装 macOS 用 brew install node,Windows 用 winget install OpenJS.NodeJS.LTS。Windows 用户注意:check-deps.sh 是 bash 脚本,需通过 Git Bash 或 WSL 运行,截图路径请使用 %TEMP%\shot.png 替代 /tmp/shot.png。

适用场景

  • 需要登录态的操作。
  • 反爬严格的平台(小红书、微信公众号等)。
  • 页面交互操作。
  • 动态渲染内容抓取。
  • 需要像人一样在浏览器内自由导航探索。
  • 多目标并行调研(如同时调研 N 个项目、N 个来源)。
  • 信息核实类任务,定位一手来源。
  • 视频内容离散采样分析。

浏览哲学与工具选择

像人一样思考,兼顾高效与适应性地完成任务:① 拿到请求,先明确用户要做什么,定义成功标准;② 选择起点,根据任务性质、平台特征、达成条件选最可能直达的方式;③ 过程校验,每一步结果都是证据,用结果对照成功标准,发现方向错了立即调整;④ 完成判断,对照成功标准确认完成,不过度操作。

联网工具选择:搜索摘要或关键词结果用 WebSearch;URL 已知定向提取用 WebFetch;需要原始 HTML 源码用 curl;非公开内容或静态层无效的平台用浏览器 CDP;需要登录态、交互操作或自由导航探索用浏览器 CDP。Jina(r.jina.ai/example.com)为可选预处理层,可将网页转为 Markdown 节省 token,限 20 RPM。

浏览器内操作有两种方式:程序化方式(构造 URL 直接导航、eval 操作 DOM)速度快、精确,但更容易触发反爬;GUI 交互(点击、填写、滚动)确定性最高但步骤多、速度慢。程序化方式受阻时,GUI 交互是可靠兜底。不要凭记忆构造带参数的 URL。

登录判断与任务结束

登录判断的核心问题只有一个:目标内容拿到了吗?打开页面后先尝试获取目标内容,只有当确认目标内容无法获取且判断登录能解决时,才告知用户登录具体网站,登录完成后无需重启任何东西,直接刷新页面继续。

任务结束时用 /close 关闭自己创建的 tab,必须保留用户原有的 tab 不受影响。Proxy 持续运行,不建议主动停止。

限制

  • Windows 用户需 Git Bash 或 WSL 运行 check-deps.sh。
  • Node.js 22+ 为必需,版本低于 22 需安装 ws 模块。
  • 短时间内密集打开大量页面可能触发网站反爬风控。
  • 未提供收费、价格等信息。