为什么这篇值得先看
很多人第一次看到 OpenClaw Browser,会自然想到“让 Agent 帮我点网页”。但真实工作里,难点很少是打开页面本身,而是这些问题:
- 这个网页需要登录态吗?
- Agent 应该用隔离浏览器,还是使用你已有的 Chrome session?
- 遇到 2FA、验证码、风控弹窗时,应该继续自动化还是切回人工?
- 浏览器能访问哪些主机、哪些内网地址、哪些远程 CDP 服务?
- 一个网页任务失败时,你能不能从标签页、profile、Gateway 和权限边界定位原因?
Browser 不是“网页万能钥匙”。它更像一个受控的网页工作台:适合查询、录入、验证、截图、PDF、低风险表单和人工确认后的连续操作;不适合把账号密码、付款动作和不可逆操作直接交给模型。
这篇的目标很具体:你看完后,能为自己的网页任务选对 Browser profile,并知道什么时候要停下来让人介入。
先抓住这 3 个关键点
- 官方 Browser 文档把
openclaw视为由 OpenClaw 管理的隔离浏览器配置文件;它不是你的日常个人浏览器。 - 当已有登录会话很重要时,可以考虑
user或其他 existing-session profile,但前提是用户在电脑前并能批准连接提示。 - Browser 任务越接近真实账号、登录态、发布和交易,越要把人工确认、审批、日志和回滚放在流程前面。
一句话记住:Browser 的价值不是“替你登录”,而是“在受控边界内复用网页登录后的上下文”。
官方 Browser 文档实际说明了什么
官方资料里有几个容易被忽略的信号:
| 主题 | 官方资料里的含义 | 对你的实操影响 |
|---|---|---|
openclaw profile | OpenClaw 管理的专用浏览器配置,与个人浏览器隔离 | 默认先用它做低风险测试,不要误以为它天然有你的个人登录态 |
user profile | 连接真实已登录 Chrome 会话的内置配置 | 只有在登录态确实必要、且你能在电脑前批准时才用 |
| loopback 控制服务 | Gateway 内本地控制服务管理浏览器 | 默认更偏本机受控,不要随意暴露给公网 |
| SSRF 策略 | 导航和远程 CDP 探测有私网访问边界 | 访问内网、代理、远程浏览器时要显式判断风险 |
| tab cleanup | OpenClaw 会尽力清理空闲或超量标签页 | 长任务要保存关键结果,不要假设标签页永远保留 |
| node browser proxy | 节点主机可代理本地浏览器能力 | 适合远程 Gateway,但要限制可用 profiles |
这意味着你不能只写一句“让 Agent 打开网页”。成熟的 Browser 工作流一定要回答:用哪个 profile、谁来登录、结果怎么验证、失败怎么恢复、哪些页面不能自动点。
什么时候用隔离的 openclaw profile
优先从 openclaw profile 开始,适合这些场景:
- 打开公开页面并读取内容。
- 对网页做截图、PDF、结构检查。
- 在测试账号里填写低风险表单。
- 检查登录前页面、文档站、状态页、公开控制台。
- 给 Agent 一个干净环境,避免污染你的日常浏览器。
示例验证命令:
openclaw browser --browser-profile openclaw doctor
openclaw browser --browser-profile openclaw doctor --deep
openclaw browser --browser-profile openclaw status
openclaw browser --browser-profile openclaw start
openclaw browser --browser-profile openclaw open https://example.com
openclaw browser --browser-profile openclaw snapshot
如果你只是验证 Browser 能否运行,不要一开始就拿银行、社交账号、生产后台来测。先用公开页面或测试环境确认:浏览器能启动、标签页能打开、快照能返回、Agent 能在同一个 tab 上持续操作。
什么时候显式使用 user 或 existing-session profile
有些任务绕不开真实登录态:
- 已登录后台才能看到订单、工单、报表。
- 网站对新浏览器频繁触发 2FA。
- Cookie、设备信任、SSO 会话决定任务能否继续。
- 你需要在已有 Chrome 里手动确认某个授权弹窗。
这时可以考虑 profile="user" 或自定义 existing-session profile。关键边界是:不要让 Agent 猜测你的浏览器环境,也不要把账号密码交给模型。
推荐流程:
- 先确认任务是否真的必须使用已有登录态。
- 打开目标页面,自己完成登录、2FA、验证码或设备确认。
- 让 OpenClaw 使用明确的 Browser profile 继续后续低风险步骤。
- 遇到付款、发布、删除、授权、导出等动作时,切回人工确认或审批。
- 任务结束后,记录哪些页面、账号、profile 和数据被使用过。
如果你有多个 Chrome / Brave / Edge 配置文件,就把配置写清楚。不要让 Agent “自己找一个看起来像已登录的浏览器”。
一个可复用的网页任务设计
假设你要让 OpenClaw 每天检查一个 SaaS 后台的异常订单,推荐拆成 6 步:
- 定义任务结果:只需要读取异常数,还是要导出 CSV?只读任务和写入任务风险完全不同。
- 选择 profile:公开页面用
openclaw;必须复用登录态时才用user。 - 人工完成登录:账号、密码、2FA、验证码都由人完成,不写进 prompt 和配置文件。
- 让 Agent 只做可验证操作:打开指定 URL、筛选日期、读取数量、截图留证。
- 设置敏感动作停止点:导出、删除、提交、付款、发布前必须停下等待确认。
- 把结果交给下一步:需要周期运行时,再看 OpenClaw automation。
表面上这是网页自动化,本质上是风险分层。真正稳定的 Browser 任务,不是尽量少让人参与,而是在正确的位置让人参与。
配置示例:默认用隔离浏览器
下面是偏保守的 Browser 配置骨架,适合先让团队建立共识:
{
browser: {
enabled: true,
defaultProfile: "openclaw",
actionTimeoutMs: 60000,
tabCleanup: {
enabled: true,
idleMinutes: 120,
maxTabsPerSession: 8
},
profiles: {
openclaw: {
color: "#FF4500"
},
user: {
driver: "existing-session",
attachOnly: true,
color: "#00AA00"
}
}
},
tools: {
alsoAllow: ["browser"]
}
}
这段配置表达的是:
- 默认走隔离的
openclawprofile。 - 需要已有登录态时,才明确切到
user。 user不负责启动浏览器,只负责连接已有会话。- Browser 工具要在 tools allowlist 中被显式允许。
- 标签页清理策略保持开启,避免长期任务留下过多浏览器状态。
远程 CDP 和 Browserless 要怎么想
官方文档也覆盖远程 CDP、Browserless、Browserbase 和节点浏览器代理。不要把这些当成“更高级就更好”的选项。
| 方案 | 适合场景 | 主要风险 |
|---|---|---|
本地 openclaw profile | 日常网页任务、测试账号、公开页面 | 需要本机浏览器环境,登录态与个人浏览器隔离 |
user existing-session | 必须复用已有 Chrome 登录态 | 会接近真实账号操作,必须有人在场确认 |
| 远程 CDP | 浏览器跑在另一台主机或托管服务 | CDP URL、token、网络可达性和私网访问边界要管好 |
| node browser proxy | Gateway 在远端,浏览器在节点机器 | 要限制可代理的 profiles,避免节点暴露过多浏览器能力 |
远程浏览器配置里的 token、Basic Auth、Browserless API key 都应该按密钥处理。不要把这些值提交到仓库,也不要把公网可访问的 CDP endpoint 暴露给不可信调用方。
Browser 与安全审批怎么配合
Browser 很容易让人兴奋,因为它看起来接近“真人上网”。但越像真人,越要给它边界。
建议把网页动作分为 4 类:
| 动作类型 | 例子 | 推荐处理 |
|---|---|---|
| 只读 | 打开页面、搜索、截图、读取表格 | 可自动执行,但要记录 URL 和结果 |
| 低风险写入 | 填测试表单、保存草稿 | 允许前先限定测试环境和账号 |
| 高风险写入 | 发布、删除、邀请成员、改权限 | 必须人工确认或走 Control UI 审批 |
| 不可逆/敏感 | 付款、转账、导出客户数据、改账单 | 默认禁止自动完成,只能人工操作 |
这不是保守,而是让 Browser 真正可长期使用。没有边界的网页自动化,很快会变成事故来源。
常见坑
- 拿匿名页面测试成功,就误以为登录型网页任务也会稳定。
- 把
openclawprofile 和个人 Chrome profile 混为一谈。 - 遇到验证码就让 Agent 反复重试,导致账号触发更多风控。
- 远程 CDP URL 带 token,却被写进仓库或日志。
- 只开启 Browser 工具,却忘了给 agent 或 subagent 的 tools profile 放行。
- 高风险网页动作没有审批,也没有截图、日志或回滚策略。
- 任务跑完后没有清理标签页、会话或测试数据。
排错顺序
Browser 不工作时,按这个顺序排查,比反复重装更快:
- 命令是否存在:
openclaw browser是否可用;如果缺失,检查 Browser 插件和工具 allowlist。 - Gateway 是否 ready:Browser 控制服务跟 Gateway 运行态有关,不要只看进程是否存在。
- profile 是否选对:公开任务看
openclaw;已有登录态看user或自定义 existing-session。 - 浏览器是否能启动/附加:本地托管、attachOnly、远程 CDP 是三种不同问题。
- 页面是否真的可自动化:2FA、验证码、风控弹窗、权限弹窗都可能要求人工介入。
- 动作是否越界:如果任务涉及高风险写入,失败可能不是技术问题,而是流程设计不该自动执行。
完成检查
- 你能解释
openclaw、user、远程 CDP 和 node browser proxy 的区别。 - 你的默认 Browser profile 不会误触个人浏览器或生产账号。
- 登录、2FA、验证码和敏感动作都已经有人工介入规则。
- 你至少用低风险页面验证过
status、open、snapshot和一个连续操作。 - 你知道 Browser 任务失败时先看 profile、Gateway、工具 allowlist 还是网页风控。
下一步
- 如果你已经遇到登录墙、验证码或已有 session 问题,继续看 OpenClaw Browser 登录流。
- 如果你想让网页检查周期运行,继续看 OpenClaw automation:cron、hooks、webhook。
- 如果网页任务涉及账号、token、客户数据或不可逆动作,先看 OpenClaw 安全事故演练。
为什么建议把这篇收藏起来
- Browser 是 OpenClaw 最容易被高估、也最值得用好的能力之一。
- 它横跨工具、Gateway、登录态、安全、审批和自动化,后续很多真实任务都会回到这里。
- 记住这句话:能打开网页只是开始,能在正确边界里完成网页任务才叫可用。