浏览器控制:让 Claw 替你上网操作
上一课的定时任务解决了「什么时候干」;这一课解决「拿什么干」。OpenClaw 给 Claw 的上网能力分两层:轻量三件套(web_search / x_search / web_fetch,HTTP 请求、不开浏览器)和 OpenClaw 浏览器控制(browser 工具,一个真的 Chromium)。
浏览器默认跑在一个叫 openclaw 的托管 profile 里——独立数据目录,和你日常浏览器完全隔离。Claw 在里面开标签页、读页面、点击、输入、截图,全程不碰你的登录态和收藏夹;确实需要登录态时,再按第 5 步的三种方式带上登录。全部示例基于 OpenClaw v2026.10.9。
学完你能做什么
- 分清两层上网能力:查资料用
web_search/x_search/web_fetch轻量三件套,操作网页用browser工具 - 配置搜索商,让 Claw 的
web_search开箱即用(DuckDuckGo 免 API Key) - 启动隔离的 OpenClaw 浏览器,让 Claw 开标签页、点击、输入、截图、下载
- 带上登录态(三选一):手动登录托管 profile、
userprofile 复用已登录 Chrome、Chrome 扩展无人值守 - 避开两个经典坑:
coding工具配置不含browser、无头模式下登录窗口看不见
你现在的困境
- 问 AI「某某工具最新版本是多少」,它没网,答的不是过时就是编的
- 每天登录同一个后台、点同样的按钮、下载同一份报表,重复到麻木
- 想让 AI 操作浏览器,又怕它把你自己的登录态、标签页、收藏搞坏
什么时候用这一招
当你需要:
- 查最新资料:搜网页、抓某个 URL 的正文、查 X(原 Twitter)帖子
- 在网页上动手:点按钮、填表单、下载文件、截图存证
- 带着登录态干活:后台报表、内部系统、只对你可见的页面
而且不想:
- 自己写 Playwright / Selenium 脚本,装环境、调选择器
- 把日常浏览器暴露给自动化,登录态和标签页被搅乱
- 每天人工重复一模一样的点击流程
🎒 开始前的准备
- 走完了 高效工作流阶段导读:Gateway 正在运行、至少连上一个模型
- Gateway 所在机器上有 Chromium 系浏览器(Chrome / Brave / Edge / Chromium 任一)——只用三件套查资料的话,没有也行
- 想让
web_search开箱即用:备好一个搜索商的 API Key,或直接用免 Key 的 DuckDuckGo - 想复用已登录 Chrome:本机 Chrome 版本 144+
- 一杯水 ☕——本课命令都短,复制就能跑
核心思路
先分清两层能力,再记住三种 profile。
先分清:两层上网能力。
| 层 | 工具 | 干什么 | 特点 |
|---|---|---|---|
| 轻量三件套 | web_search / x_search / web_fetch | 搜网页、查 X 帖、抓 URL 正文 | HTTP 请求,不开浏览器,快 |
| OpenClaw 浏览器 | browser 工具 | 开标签页、点击、输入、截图、下载 | 真 Chromium,能搞定 JS 重、要交互的站点 |
web_search 走你配置的搜索商(结果按查询缓存 15 分钟);x_search 查 X 帖子,走 xAI;web_fetch 永远在本地轻量抓取。JS 很重、要登录、要点按钮的站点,才轮到浏览器出场。
再记住:浏览器三种 profile。 这是本课最核心的选型表:
| profile | 是什么 | 何时用 | 无人值守 |
|---|---|---|---|
openclaw(默认) | OpenClaw 托管的隔离浏览器,独立数据目录 | 默认选择;在干净环境里操作网页 | ✅ |
user | 经 Chrome DevTools MCP 接入你真实登录的 Chrome | 需要登录态,且你人在电脑前批准连接 | ❌ 首次要批准「Allow remote debugging?」 |
chrome | 经 Chrome 扩展驱动你真实登录的 Chrome | 需要登录态,人不在电脑前(手机遥控) | ✅ |
隔离保证:openclaw profile 永不碰你的个人浏览器 profile——把它当成「给 Claw 专用的另一台浏览器」。user / chrome 才会进入你已登录的会话,能力更强、风险更高,按需选用。
跟我做
第 1 步:配置搜索商,点亮 web_search
为什么:三件套里 web_search 最常用,但它背后得有一个搜索商;一个都没配置时,OpenClaw 会直接把 web_search 从 agent 工具列表里拿掉。
操作(Control UI,推荐):打开 Settings → Search,选一个搜索商、填好凭据,点 Test search 试跑一次。
操作(CLI):
openclaw configure --section web免 Key 方案:DuckDuckGo 不需要 API Key。注意免 Key 商不会被自动选中——要么在这里显式选它,要么设 tools.web.search.provider。API 商也可以直接设环境变量跳过这步,比如 BRAVE_API_KEY。
💡 国内用户看这里
搜索商里有两家国产选择:Kimi(Moonshot,用 KIMI_API_KEY / MOONSHOT_API_KEY)和 MiniMax Search(用 MINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY / MINIMAX_OAUTH_TOKEN),在配置里填对应 Key 即可。
你应该看到:Test search 返回结果(或带延迟的成功提示);之后对 Claw 说「搜一下 OpenClaw 最新版本」,它能给出带来源 URL 的回答。
- 小检查:让 Claw 搜任意一个词,回答里带得出处链接
第 2 步:体验三件套——搜索、抓正文、查 X 帖子
为什么:先体会「不开浏览器」能走多远——很多任务到这一层就结束了,用不上更重的浏览器。
操作:在聊天里对 Claw 连说三句话:
- 「搜一下最近一周 AI 领域的大新闻」→
web_search(支持按week/month等时间过滤) - 「抓一下 https://example.com 的正文,给我三句话摘要」→
web_fetch(永远本地运行) - 「X 上 nytfood 最近发了什么食谱帖」→
x_search
你应该看到:Claw 返回结构化结果——标题、URL、摘要,或者带引用的综合答案。
⚠️ x_search 按 xAI 计费
x_search 跑在 xAI 服务器上:每 1000 次调用 5 美元,外加模型的输入输出 token。默认只在当前模型供应商是 xAI 时才暴露;其他模型要用,需把 plugins.entries.xai.config.xSearch.enabled 显式设为 true。
第 3 步:启动 OpenClaw 浏览器(隔离托管模式)
为什么:默认的 openclaw profile 就是那台「专用浏览器」——独立数据目录、默认无头、与你日常浏览器互不相干。先手动启动一次,确认它在你机器上跑得起来。
操作:
openclaw browser --browser-profile openclaw doctor
openclaw browser --browser-profile openclaw start
openclaw browser --browser-profile openclaw open https://example.com
openclaw browser --browser-profile openclaw snapshot你应该看到:doctor 一路绿灯;open 打开了标签页;snapshot 返回页面的结构化引用(refs,比如 e12 这样的元素编号)——这是下一步点击、输入的「坐标」。
- 小检查:
openclaw browser --browser-profile openclaw tabs能列出刚开的标签
第 4 步:让 Claw 操作网页——点击、输入、截图
为什么:浏览器工具的真正价值是「替你动手」。agent 自己拍快照、找元素、执行动作、出问题时自救,你只描述目标。
操作:在聊天里对 Claw 说:
打开 example.com,在搜索框里输入 openclaw,点搜索按钮,把结果页截图发我。
Claw 内部走的是「快照 → 动作 → 再快照」循环(浏览器插件自带 browser-automation 技能):动作包括 click / type / hover / drag / select,还能截图、导出 PDF、等下载完成。遇到登录、2FA、验证码这类它搞不定的墙,它会报告「需要人工操作」而不是乱猜。
CLI 等价命令(你在终端同样能驱动这台浏览器):
openclaw browser click <ref>
openclaw browser type <ref> "hello"
openclaw browser screenshot你应该看到:Claw 完成操作并描述结果。注意截图是私有工具结果——agent 自己能看,但不会自动附到聊天回复里,你明确要它发,它才发。点击触发的下载会存进托管下载目录(默认 /tmp/openclaw/downloads)。
第 5 步:给浏览器带上登录态(三种方式)
为什么:隔离 profile 是「干净」的——里面没有你的任何登录。要操作登录后才能看的页面,按你的场景三选一。
方式 A(推荐):手动登录一次托管 profile
官方推荐手动登录:自动登录容易触发网站的反机器人防御,严重时直接锁号。把浏览器临时切成有头模式,人肉登录一次,登录态就留在这个 profile 里了:
openclaw browser stop
openclaw config set browser.headless false
openclaw browser start
openclaw browser open https://x.com在弹出的窗口里完成登录,之后可以改回无头(openclaw config set browser.headless true)。千万别顺手跑 reset-profile——它会清掉你刚存下的登录数据。
方式 B:user profile 复用已登录 Chrome(人在电脑前)
- Chrome 升级到 144+,地址栏进
chrome://inspect/#remote-debugging,开启远程调试 - 连接并查看状态:
openclaw browser --browser-profile user start
openclaw browser --browser-profile user status
openclaw browser --browser-profile user tabs- 第一次连接时 Chrome 会弹「Allow remote debugging?」授权框——这就是为什么要你坐在电脑前。
你应该看到:status 报 driver: existing-session、transport: chrome-mcp、running: true;tabs 列出你 Chrome 里已经开着的标签页——Claw 直接在你的真实会话里干活。
方式 C:chrome 扩展(人不在电脑前)
在 Chrome 所在的机器上跑 openclaw browser extension install,按提示在 Chrome 里启用 OpenClaw 扩展;装好后,Claw 通过扩展驱动你真实 Chrome 的标签页——不走调试端口、没有授权弹窗,所以你人在外面,也能从手机(Telegram / WhatsApp)遥控家里电脑上已登录的浏览器。
💡 macOS 用户:可以只导 cookie
openclaw browser import-profile --browser chrome --system Default --into imported --domains github.com 能把系统 Chrome 的 cookie 解密后注入一个隔离托管 profile(首次需要 Keychain / Touch ID 批准)。只复制 cookie,localStorage 和 IndexedDB 都留在原地;部分 Google 会话用设备绑定凭据(DBSC),导入后可能仍要重新登录。
- 小检查:挑一个需要登录的页面,用你选的方式让 Claw 读到登录后的内容
检查点 ✅
- 对 Claw 说「搜一下 OpenClaw 最新版本」,回答里带得出处 URL
openclaw browser --browser-profile openclaw doctor全绿,tabs能列出标签页- Claw 能在隔离浏览器里打开页面、点击、输入并截图
- 能说出三种 profile 的分工:
openclaw隔离托管、user人在电脑前复用 Chrome、chrome扩展无人值守 - 知道
x_search走 xAI 计费(每 1000 次 5 美元 + token),月底不会被账单吓到
踩坑提醒
❌ openclaw browser 命令不存在,或 agent 说 browser 工具不可用
原因:配置里存在 plugins.allow 列表但没写 browser,又没有任何根级 browser 配置块——浏览器插件被策略挡在门外,光重启救不了。
正确做法(二选一):
// 方式一:把 browser 加进 allow 列表
{ plugins: { allow: ["telegram", "browser"] } }
// 方式二:加任意 browser.* 配置键(比如 browser.enabled = true),
// 也能在严格的 allow 列表下激活内置浏览器插件❌ 用了 tools.profile: "coding",browser 工具就是不在
原因:coding 工具配置只带 web_search 和 web_fetch,不含完整 browser 工具。
正确做法:
{ tools: { profile: "coding", alsoAllow: ["browser"] } }给子代理放行时注意:只设 tools.subagents.tools.allow: ["browser"] 没用——子代理策略在 profile 过滤之后才应用,profile 层就得放行。
❌ user profile 连不上:tabs 报错、status 不是 running
按清单逐项查:
- Chrome 版本是否 144+
chrome://inspect/#remote-debugging里是否开了远程调试- Chrome 弹出的连接授权框,你是否点了批准
都对了还不行,跑 openclaw doctor 看诊断。注意 doctor 不能替你打开浏览器侧的远程调试——这一步必须手动。
❌ 无头模式登录「卡住」
原因:本地托管 profile 默认无头(headless: true),登录窗口根本看不见;无头下 Chrome 的 passkey 对话框还会被 OpenClaw 按「已取消」处理(这是为了让页面继续可用,不是 bug)。
正确做法:登录一律切有头模式(方式 A 的那组命令),登录完再改回去。用 passkey / 安全密钥登录的站点,必须用有头 profile。
进阶技巧(可选)
组合拳:定时 + 上网。 上一课的 cron 循环 + 本课的三件套和浏览器,拼起来就是 每日晨报 和 网页监控 两个实战场景,照抄就能跑。
Control UI 的 Browser 面板。 网页控制台里能实时看到 Claw 正在操作的标签页(跟随当前会话),点预览卡片就切到那台浏览器和那个标签——Claw 在网上干了什么,一眼可见。
纯文本模型也能「看」截图。 主模型没有视觉能力时,浏览器截图会自动走图像理解模型转成文字描述(配 tools.media.models),不用为浏览器单独配模型。
不止浏览器:Computer Use。 在配对的 Mac 与显式启用的 Windows 机器上,Claw 还能操作整个电脑界面(OpenClaw 2.0 新增),浏览器只是其中一环。
多 profile 与远程浏览器。 openclaw browser create-profile --name work 建第二台隔离浏览器(工作/个人分开);浏览器在另一台机器上时,配远程 CDP(cdpUrl)或用 node host 代理。
本课小结
✅ 两层上网能力:web_search / x_search / web_fetch 轻量三件套负责「查」,browser 工具负责「操作」。
✅ OpenClaw 浏览器默认是隔离托管 profile:独立数据目录、默认无头,永不碰你日常浏览器。
✅ 三种 profile 分工:openclaw(默认,无人值守)、user(Chrome DevTools MCP,人要在电脑前批准)、chrome(扩展,无人值守复用登录态)。
✅ 登录态三路:手动登录托管 profile(官方推荐)、user 复用已登录 Chrome、macOS 可只导 cookie 进隔离 profile。
✅ 两大坑:plugins.allow 没含 browser 则 CLI 和工具一起消失;coding profile 要 alsoAllow: ["browser"]。
| 关键配置字段 | 推荐值 | 说明 |
|---|---|---|
browser.defaultProfile | "openclaw" | 默认走隔离浏览器 |
browser.headless | true(登录时临时 false) | 本地托管 profile 默认无头 |
tools.web.search.provider | "duckduckgo"(免 Key)/ "brave" | 搜索商;免 Key 商不会被自动选中 |
plugins.allow | 含 "browser" | 存在 allow 列表时必须列全 |
tools.alsoAllow | ["browser"] | coding profile 下给 agent 放行浏览器 |
下一课预告
浏览器给 Claw 一双上网的手;下一课 MCP 接入:给 Claw 外挂工具箱 教你把这双手换成任意工具——agent 从其他程序「借」工具用。
你会学到:
- MCP 是什么:Model Context Protocol,agent 向外部程序借工具的标准协议
- 三种接入面:Control UI 的 Settings → MCP、
openclaw mcp命令、配置文件 - 反向操作:
openclaw mcp serve把 OpenClaw 暴露给其他 MCP 客户端 - MCP 工具走同一套权限管控——接入不等于放权
相关教程
- 网页监控:页面一变就通知你——上一课定时 + 本课浏览器的组合实战
- 每日晨报:定时抓资讯发到你的 IM——三件套 + cron 的直接应用
- 安全加固(二):工具权限与沙箱——browser 等工具的权限收口与沙箱隔离