第12章 浏览器控制与网页工具
一句话:Agent 可以打开浏览器、搜索网页、读取网页内容、甚至操控页面元素——这是它连接互联网信息的关键能力。
12.1 三种浏览器模式
Section titled “12.1 三种浏览器模式”OpenClaw 支持三种浏览器运行模式:
| 模式 | 说明 | 适用场景 |
|---|---|---|
"openclaw" | OpenClaw 内置的无头浏览器 | 默认,推荐 |
"user" | 使用用户本机已安装的浏览器 | 需要登录态的场景 |
"chrome-relay" | 通过 Chrome 扩展中继连接系统浏览器 | 需要扩展、toolbar attach 场景 |
12.2 Snapshot → Ref → Act 核心机制
Section titled “12.2 Snapshot → Ref → Act 核心机制”Agent 操控浏览器的核心流程:
- Snapshot:对当前页面做快照(DOM 结构、文本内容、可交互元素)
- Ref:为页面上的每个可交互元素分配一个引用编号
- Act:通过引用编号对元素执行操作(点击、输入、滚动等)
这个机制让 Agent 不需要”看到”网页的视觉效果,只需要理解页面结构就能操控。
12.3 网页工具
Section titled “12.3 网页工具”web_search
Section titled “web_search”执行搜索引擎查询:
Agent: 我来帮你搜索一下最新的 Next.js 15 变化。[调用 web_search: "Next.js 15 new features 2026"]web_fetch
Section titled “web_fetch”获取指定 URL 的网页内容:
Agent: 让我读取这篇文章的内容。[调用 web_fetch: "https://example.com/article"]Canvas 工具
Section titled “Canvas 工具”Agent 可以在 Canvas 画布上绘制图表、流程图等可视化内容,然后将图片发送给用户。
12.4 远程浏览器
Section titled “12.4 远程浏览器”远程 CDP(Chrome DevTools Protocol)
Section titled “远程 CDP(Chrome DevTools Protocol)”在无头服务器上,可以连接远程 Chrome 实例。通过 profiles 配置远程 CDP URL:
{ browser: { enabled: true, profiles: { remote: { cdpUrl: "http://remote-chrome:9222", }, }, },}Browserless
Section titled “Browserless”集成 Browserless 服务,提供可扩展的浏览器实例池:
{ browser: { enabled: true, profiles: { cloud: { cdpUrl: "https://production-sfo.browserless.io?token=your-token", }, }, },}12.5 安全考虑
Section titled “12.5 安全考虑”SSRF 策略
Section titled “SSRF 策略”Agent 的浏览器操作需要注意 SSRF(Server-Side Request Forgery)风险。OpenClaw 内置了 SSRF 防护策略:
- 默认为信任网络模式(
dangerouslyAllowPrivateNetwork: true),允许访问内网地址 - 可设置
dangerouslyAllowPrivateNetwork: false切换为严格模式,阻止内网访问 - 严格模式下可通过
hostnameAllowlist配置例外域名 - 浏览器导航时会做 SSRF 检查,导航完成后对最终 URL 做二次检查
12.6 小结
Section titled “12.6 小结”| 概念 | 说明 |
|---|---|
| 三种模式 | openclaw(内置)、user(本机浏览器)、chrome-relay(扩展中继) |
| 核心机制 | Snapshot → Ref → Act |
| web_search | 搜索引擎查询 |
| web_fetch | 获取网页内容 |
| Canvas | 可视化绘图 |
| 安全 | SSRF 防护,默认信任内网(dangerouslyAllowPrivateNetwork: true) |
下一章进入 Nodes——让 Agent 操控你的手机和电脑。