OpenClaw 新功能:TinyFish 浏览器自动化插件使用指南
OpenClaw 新功能:TinyFish 浏览器自动化插件使用指南
OpenClaw 现在内置 TinyFish 浏览器自动化插件,让你能够自动化复杂的网页工作流程,无需手动编写 Selenium 或 Puppeteer 代码。
本文将详细介绍 TinyFish 的功能、配置方法和实际应用场景。
目录
什么是 TinyFish
TinyFish 是一个托管式浏览器自动化插件,专为 OpenClaw 设计。它提供了一个简单的工具 tinyfish_automation,让你能够:
- 自动化复杂的公共网页工作流程
- 执行需要浏览器交互的任务
- 处理动态加载的网页内容
- 与现有的 web_fetch 和 web_search 工具形成能力升级链
能力升级链
OpenClaw 提供了一系列网页工具,按复杂度递增:
web_fetch → web_search → tinyfish → browser
- web_fetch — 简单静态页面获取
- web_search — 网页搜索
- tinyfish — 托管浏览器自动化
- browser — 本地浏览器控制
核心功能
1. 托管浏览器自动化
TinyFish 在托管环境中运行浏览器,无需本地安装 Chrome 或 Firefox:
config.yaml
plugins:
tinyfish:
enabled: true
api_key: ${TINYFISH_API_KEY} # 可选,高级功能需要
2. SSE 流式响应
支持 Server-Sent Events (SSE) 流式响应,实时获取自动化进度:
- COMPLETE 终端标记 — 明确知道何时完成
- SSRF 防护 — 防止服务器端请求伪造攻击
- 凭据拒绝 — 自动检测和拒绝敏感信息
3. 工具调用升级指导
当简单工具无法满足需求时,OpenClaw 会自动建议升级到 TinyFish:
用户:帮我从京东抓取商品价格
AI:这个页面需要 JavaScript 渲染,建议使用 tinyfish 自动化工具...
安装与配置
步骤 1: 启用插件
编辑 config.yaml:
plugins:
allow:
- tinyfish # 显式允许 TinyFish 插件
tinyfish:
enabled: true
# 可选:配置 API 密钥以使用高级功能
api_key:
value: ${TINYFISH_API_KEY} # 从环境变量读取
步骤 2: 配置安全策略
plugins:
tinyfish:
security:
ssrf_guard: true # 启用 SSRF 防护
credential_rejection: true # 拒绝包含凭据的请求
max_execution_time: 300000 # 最大执行时间(毫秒)
步骤 3: 重启 OpenClaw
openclaw restart
使用示例
示例 1: 自动化登录流程
使用 tinyfish_automation 工具
- tool: tinyfish_automation
params:
url: "https://example.com/login"
steps:
- action: "fill"
selector: "#username"
value: "myusername"
- action: "fill"
selector: "#password"
value: "${PASSWORD}" # 使用环境变量
- action: "click"
selector: "#login-button"
- action: "wait"
duration: 2000 # 等待 2 秒
- action: "extract"
selector: ".dashboard-title"
as: "page_title"
示例 2: 抓取动态内容
- tool: tinyfish_automation
params:
url: "https://spa-app.example.com"
steps:
- action: "wait_for"
selector: "#data-loaded" # 等待数据加载完成
timeout: 10000
- action: "extract_all"
selector: ".product-item"
properties:
- name: "title"
selector: ".product-title"
- name: "price"
selector: ".product-price"
示例 3: 表单提交自动化
- tool: tinyfish_automation
params:
url: "https://forms.example.com/apply"
steps:
- action: "select"
selector: "#country"
value: "China"
- action: "fill"
selector: "#email"
value: "user@example.com"
- action: "upload"
selector: "#resume-upload"
file: "/path/to/resume.pdf"
- action: "click"
selector: "#submit-button"
- action: "wait_for_navigation"
timeout: 5000
安全特性
1. SSRF 防护
TinyFish 内置 SSRF (Server-Side Request Forgery) 防护:
security:
ssrf_guard: true
blocked_hosts:
- "localhost"
- "127.0.0.1"
- "10.0.0.0/8"
- "192.168.0.0/16"
2. 凭据自动检测
自动检测请求中是否包含敏感信息(密码、API 密钥等):
警告:检测到请求包含可能的凭据信息
建议:使用 SecretRef 方式安全存储凭据
3. 执行超时控制
防止自动化任务无限期运行:
max_execution_time: 300000 # 5 分钟
4. 请求审计日志
所有自动化操作都会被记录:
查看 TinyFish 审计日志
tail -f ~/.openclaw/logs/tinyfish-audit.log
最佳实践
1. 错误处理
为自动化任务添加错误处理:
- tool: tinyfish_automation
params:
url: "https://example.com"
steps: [...]
on_error:
action: "retry"
max_retries: 3
fallback: "notify_admin"
2. 速率限制
避免对目标网站造成过大压力:
plugins:
tinyfish:
rate_limit:
requests_per_minute: 10
delay_between_requests: 2000 # 毫秒
3. 选择器优化
使用稳定的选择器:
推荐:使用 data-testid 或 id
selector: "[data-testid='submit-button']"
避免:过于依赖 DOM 结构
selector: "div.container > div.row > button"
总结
TinyFish 为 OpenClaw 带来了强大的浏览器自动化能力:
1. 托管运行 — 无需本地浏览器环境
2. 安全可靠 — SSRF 防护、凭据检测
3. 易于使用 — 声明式步骤配置
4. 能力升级 — 与现有工具无缝集成
下一步行动:
1. 在 config.yaml 中启用 TinyFish 插件
2. 尝试自动化一个简单的网页任务
3. 根据需要配置安全策略
常见问题
Q: TinyFish 和本地 browser 工具有什么区别?
A:
- TinyFish — 托管浏览器,适合云端自动化,无需本地环境
- browser — 本地浏览器控制,适合需要本地交互的场景
Q: TinyFish 需要 API Key 吗?
A: 基础功能免费,高级功能(如更多并发、更长执行时间)需要 API Key。
Q: 如何处理验证码?
A: TinyFish 不自动处理验证码。建议:
- 使用支持验证码识别的第三方服务
- 在测试环境中禁用验证码
- 使用 API 替代网页自动化
Q: 自动化任务失败如何调试?
A:
1. 查看审计日志:~/.openclaw/logs/tinyfish-audit.log
2. 启用调试模式:debug: true
3. 使用 screenshot 步骤捕获页面状态
Q: TinyFish 支持哪些浏览器?
A: 目前支持 Chromium 内核的浏览器(Chrome、Edge 等),Firefox 支持即将推出。
Q: 可以同时运行多个自动化任务吗?
A: 可以,但受限于:
- 配置的最大并发数
- TinyFish API 的速率限制
- 目标网站的承受能力
参考来源
—
相关阅读: