店里每天要看库存、整理补货草稿,浏览器 Agent 可以替你读网页、填表,再把页面状态交给你核对。它通过浏览器工具读取页面结构,再按当前页面的控件引用点击或填写;网页更新后,旧引用可能失效。下面用一张本地虚构库存页练习,商品库存是 18 kg、提醒线是 20 kg。演示只生成当前页面里的预览,不会保存、下单或发送网络请求。
本地虚构页面显示咖啡豆补货预览已生成
你需要准备
| 准备 | 说明 |
|---|---|
| OpenClaw | 本次使用 2026.10.1;先按官方安装文档完成 Gateway 配置 |
| 模型 | 本次用 Ollama 0.35.1 在本机运行 Gemma4-12B Q4_K_M;需要支持工具调用的模型 |
| 电脑 | 实测为 Apple M1 Max、64GB 内存、macOS 27.0.1;模型文件和硬件要求因版本不同而异 |
| 练习页 | 下载文末的练习包,用 Python 自带的静态服务器即可打开 |
| 费用 | 本次推理走本机 Ollama,没有云端模型 API 费用;下载模型会占磁盘,也会消耗本机电力 |
已装好 OpenClaw 和模型后,练习约 10 分钟。第一次安装和下载模型的时间不算在内。
先用隔离环境
OpenClaw 默认的 openclaw 浏览器配置由它单独管理,使用自己的浏览器数据目录,不直接打开你平常登录的个人浏览器。练习时保留这个独立配置,不要导入个人 Chrome Cookie,也不要为了省步骤改用已登录的个人浏览器。
另外新建一个专门用于练习的 OpenClaw profile,并把 Agent 可用工具限制为 browser。本次 profile 只加载本地 Ollama 和浏览器插件,没有接入消息渠道。这样 Agent 能操作练习页,但不能调用发消息或文件读写工具。
如果你还没有单独的练习 profile,可以先建一个:
openclaw --profile web-demo setup --baseline \\
--workspace "$HOME/.openclaw-web-demo/workspace"
openclaw --profile web-demo config set gateway.mode local
openclaw --profile web-demo config set gateway.bind loopback
openclaw --profile web-demo config set gateway.port 19270
openclaw --profile web-demo config set models.providers.ollama.baseUrl http://127.0.0.1:11434
openclaw --profile web-demo config set models.providers.ollama.api ollama
openclaw --profile web-demo config set models.providers.ollama.apiKey ollama-local
openclaw --profile web-demo config set models.providers.ollama.models '[{"id":"gemma4-12b:latest","name":"Gemma4 12B (local browser test)","reasoning":true,"input":["text"],"contextTokens":32768,"contextWindow":262144,"maxTokens":4096,"api":"ollama","params":{"num_ctx":32768,"thinking":false}}]' --strict-json
openclaw --profile web-demo config set agents.defaults.model.primary ollama/gemma4-12b:latest
openclaw --profile web-demo config set plugins.allow '["ollama","browser"]' --strict-json
openclaw --profile web-demo config set tools.allow '["browser"]' --strict-json
这组模型命令对应本次已安装的 gemma4-12b:latest 标签;如果你的 Ollama 模型名不同,替换列表中的 id 和 agents.defaults.model.primary。模型需要在本机已下载并支持工具调用。也可以按OpenClaw 的 Ollama 配置说明配置你已有的本地模型。
如果你使用本地 localhost 页面,OpenClaw 的浏览器 SSRF 策略可能会拦截它。可在这个临时 profile 的配置中,仅允许本机名:
openclaw --profile web-demo config set browser.defaultProfile openclaw
openclaw --profile web-demo config set browser.ssrfPolicy.allowedHostnames '["localhost"]' --strict-json
allowedHostnames 只为本地练习开放这个准确主机名;练习结束后删掉这条允许项。浏览器 SSRF 检查不是完整的网络防火墙,不能用它替代外部网络隔离或最小权限。
打开本地练习页
先下载并解压浏览器 Agent 本地练习包。在终端进入解压后的 site 目录,运行:
python3 -m http.server 19091 --bind 127.0.0.1
保持终端运行。再打开一个终端,启动这个 profile 的本机 Gateway,并让它保持运行:
openclaw --profile web-demo gateway run --port 19270 --bind loopback
在第三个终端检查并启动隔离 profile 的浏览器:
openclaw --profile web-demo browser doctor
openclaw --profile web-demo browser start --headless
openclaw --profile web-demo browser open http://localhost:19091/
如果你的练习 profile 名称不是 web-demo,把命令里的名字换成自己的。打开页面后先用 openclaw --profile web-demo browser snapshot 查看当前页面;快照会显示页面文字和可操作控件。Agent 的 act 操作也要使用当前快照里的控件引用。
让 Agent 读库存,再生成本地预览
在解压后的练习包根目录,把 test-prompt.txt 交给已配置好 browser 工具的 Agent:
openclaw --profile web-demo agent --message-file ./test-prompt.txt --timeout 600
提示词要求它只访问当前本地页面,找出低于补货线的商品,选择咖啡豆、填写 3,再点击“生成本地预览”。
实测中,Gemma4-12B 第一次没有顺利选中商品,并有两次无效的填写操作。它填入数量后点击预览,页面仍显示“请先选择商品并填写数量。”虽然 Agent 的文字回答提到了数量 3,页面证据表明任务没有完成。库存差额应表述为“比补货提醒线少 2 kg”,不要把 -2 kg 当作已经完成补货的证据。
随后由操作员在本地练习页选中“埃塞日晒咖啡豆”,并确认数量是 3;再让 Agent 只读取当前快照、点击预览按钮、重新读取页面。页面状态变成“本地预览已生成:埃塞日晒咖啡豆,3。请人工核对后再决定是否提交。”下图就是操作后页面;这次成功只验证了 Agent 点击本地按钮,选商品这步由人完成,Agent 最后也没有返回自然语言总结。
实测库存:咖啡豆 18 kg,补货提醒线 20 kg,低 2 kg;燕麦奶 12 盒,提醒线 8 盒。
操作前后各检查一次快照。也可以运行 openclaw --profile web-demo browser requests 查看浏览器记录的请求;本次练习页只有本机页面请求,没有表单提交或其他域名请求。命令和证据摘要放在练习包的 evidence/。
用在真实网页前,先停在这里核对
- 网页上的文字和弹窗可能包含诱导 Agent 的内容。把网页当作外部输入,不要让网页内容覆盖你设置的边界。
- 真实账号会让 Agent 接触登录态和个人数据。优先使用独立浏览器 profile;确实需要登录时由你本人完成,并重新确认该 profile 中保存了哪些 Cookie。
- 预览和提交是两件事。发送消息、发布内容、付款、下单、删除、授权或修改账号设置,都先让 Agent 停下,由你检查收件人、金额、内容和页面状态,再亲手确认。
- 浏览器工具的 SSRF 检查不能拦截所有重定向、弹窗、后台请求或页面脚本流量。不要把敏感账号与不受信任页面放在同一个浏览器会话里。
工具清单
| 工具 | 用途 | 入口 |
|---|---|---|
| OpenClaw | 在本机运行 Agent,并通过受控浏览器配置操作页面 | 官方文档 |
| Ollama | 在本机下载和运行模型 | 官方下载页 |
| Gemma4-12B | 本次用于演示的本机模型;需要支持工具调用的运行配置 | Ollama 模型库 |
接下来可以做什么
- OpenClaw 定时任务怎么设?让 Agent 每天读取一份清单:了解怎样给 Agent 加上定时触发。
- MCP 是什么:让 Agent 连上各种工具:了解浏览器以外的工具接入方式。