安全扫描
OpenClaw
安全
high confidence该技能的代码和指令与其所述目的(无头浏览器自动化)一致,它使用Playwright进行网页交互,请求适当的二进制文件和配置,不请求无关的凭证或意外端点。
评估建议
此技能似乎确实做到了它声称的:使用Playwright的浏览器自动化脚本,用于网页导航、点击、表单填写和截图。安装或运行之前:1) 确认Playwright已安装,并且您对授予浏览器自动化访问权限感到满意——无头浏览器可以执行任何用户可以执行的操作。2) 仅将其用于您有权访问的网站,避免登录受保护的账户,除非您完全信任设置。3) 脚本可能会下载浏览器二进制文件(Chromium),这会增加磁盘/网络使用——这对于此类功能是预期的。4) 技能不请求凭证,但注意不要向浏览器工具传递敏感的登录凭证,除非您信任整个工具链。5) 如果您想要更高的保证,请在运行前在本地审查包含的脚本。...详细分析 ▾
✓ 用途与能力
名称/描述声明为无头浏览器自动化;SKILL.md 仅指导智能体运行 agent-browser CLI(导航、快照、引用、会话、状态保存/加载、网络控制)。所有所需能力与声明的用途一致。
ℹ 指令范围
指令保持在浏览器自动化范围内(打开、快照、点击、填写、状态保存/加载、网络路由、执行等待函数)。注意:状态保存/加载会读写认证 JSON(cookies/存储),wait/--fn 机制意味着在页面上下文中执行任意 JS — 这对自动化是预期行为,但如果误用可能暴露凭证或数据。
✓ 安装机制
纯指令型(注册表中无安装规范)。SKILL.md 记录了通过 npm 安装 agent-browser 以及 agent-browser 可以下载 Chromium;这是合理的文档说明但超出技能包范围。安装 CLI 前请审查该工具的源码。
✓ 凭证需求
该技能未声明必需的环境变量或凭证。提到可选的 AGENT_BROWSER_SESSION 环境变量,并使用文件路径存储状态(如 auth.json)— 这与浏览器自动化工具相称,但这些位置可能存储敏感的 token/cookies。
✓ 持久化与权限
技能未设为始终启用,不请求持久化或跨技能配置更改。使用会话/状态文件管理浏览器上下文,这是正常且有限的范围。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv0.1.02026/1/22
初始版本,支持浏览器自动化操作
● 无害
安装命令 点击复制
官方npx clawhub@latest install agent-browser-clawdbot
镜像加速npx clawhub@latest install agent-browser-clawdbot --registry https://cn.clawhub-mirror.com
技能文档
Fast browser automation using accessibility tree snapshots with refs for deterministic element selection.
为什么 使用 在...上 Built-在...中 Browser Tool
使用 agent-browser 当...时:
- Automating multi-step workflows
- 需要 deterministic 元素 selection
- Performance critical
- Working 带有 complex SPAs
- 需要 会话 isolation
使用 built-在...中 browser tool 当...时:
- 需要 screenshots/PDFs 对于 analysis
- Visual inspection 必填
- Browser 扩展 integration needed
Core Workflow
# 1. Navigate and snapshot
agent-browser open https://example.com
agent-browser snapshot -i --json# 2. Parse refs from JSON, then interact
agent-browser click @e2
agent-browser fill @e3 "text"
# 3. Re-snapshot after page changes
agent-browser snapshot -i --json
键 Commands
导航
agent-browser open
agent-browser back | forward | reload | close
Snapshot (Always 使用 -i --json)
agent-browser snapshot -i --json # Interactive elements, JSON output
agent-browser snapshot -i -c -d 5 --json # + compact, depth limit
agent-browser snapshot -s "#main" -i # Scope to selector
Interactions (Ref-based)
agent-browser click @e2
agent-browser fill @e3 "text"
agent-browser type @e3 "text"
agent-browser hover @e4
agent-browser check @e5 | uncheck @e5
agent-browser select @e6 "value"
agent-browser press "Enter"
agent-browser scroll down 500
agent-browser drag @e7 @e8
获取 Information
agent-browser get text @e1 --json
agent-browser get html @e2 --json
agent-browser get value @e3 --json
agent-browser get attr @e4 "href" --json
agent-browser get title --json
agent-browser get url --json
agent-browser get count ".item" --json
Check State
agent-browser is visible @e2 --json
agent-browser is enabled @e3 --json
agent-browser is checked @e4 --json
Wait
agent-browser wait @e2 # Wait for element
agent-browser wait 1000 # Wait ms
agent-browser wait --text "Welcome" # Wait for text
agent-browser wait --url "/dashboard" # Wait for URL
agent-browser wait --load networkidle # Wait for network
agent-browser wait --fn "window.ready === true"
Sessions (Isolated Browsers)
agent-browser --session admin open site.com
agent-browser --session user open site.com
agent-browser session list
# Or via env: AGENT_BROWSER_SESSION=admin agent-browser ...
State Persistence
agent-browser state save auth.json # Save cookies/storage
agent-browser state load auth.json # Load (skip login)
Screenshots & PDFs
agent-browser screenshot page.png
agent-browser screenshot --full page.png
agent-browser pdf page.pdf
Network Control
agent-browser network route "/ads/" --abort # Block
agent-browser network route "/api/" --body '{"x":1}' # Mock
agent-browser network requests --filter api # View
Cookies & Storage
agent-browser cookies # Get all
agent-browser cookies set name value
agent-browser storage local key # Get localStorage
agent-browser storage local set key val
Tabs & Frames
agent-browser tab new https://example.com
agent-browser tab 2 # Switch to tab
agent-browser frame @e5 # Switch to iframe
agent-browser frame main # Back to main
Snapshot 输出 格式
{
"success": true,
"data": {
"snapshot": "...",
"refs": {
"e1": {"role": "heading", "name": "Example Domain"},
"e2": {"role": "button", "name": "Submit"},
"e3": {"role": "textbox", "name": "Email"}
}
}
}
Best Practices
- Always 使用
-i标志 - Focus 在...上 interactive elements - Always 使用
--json- Easier 到 解析 - Wait 对于 stability -
agent-browser wait --加载 networkidle - 保存 auth state - Skip 登录 flows 带有
state 保存/加载 - 使用 sessions - Isolate 不同 browser contexts
- 使用
--headed对于 debugging - See 什么's happening
示例: 搜索 和 Extract
agent-browser open https://www.google.com
agent-browser snapshot -i --json
# AI identifies search box @e1
agent-browser fill @e1 "AI agents"
agent-browser press Enter
agent-browser wait --load networkidle
agent-browser snapshot -i --json
# AI identifies result refs
agent-browser get text @e3 --json
agent-browser get attr @e4 "href" --json
示例: Multi-会话 Testing
# Admin session
agent-browser --session admin open app.com
agent-browser --session admin state load admin-auth.json
agent-browser --session admin snapshot -i --json# User session (simultaneous)
agent-browser --session user open app.com
agent-browser --session user state load user-auth.json
agent-browser --session user snapshot -i --json
Installation
npm install -g agent-browser
agent-browser install # Download Chromium
agent-browser install --with-deps # Linux: + system deps
Credits
Skill created by Yossi Elkrief (@MaTriXy)
agent-browser CLI by Vercel Labs
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制