在配置浏览器前需要确保OpenClaw已安装并且已正确设置大模型。
OpenClaw目前支持的浏览器有Chrome/Brave/Edge/Chromium。下面我们以Google Chrome浏览器为例。
打开终端窗口输入命令查看浏览器的状态:
openclaw browser --browser-profile openclaw status
如果之前没有安装过支持的浏览器,这时的“detectedBrowser”为“unknown“,而“enabled”为“true
”是因为OpenClaw默认是启用browser工具的:

安装Google Chrome浏览器:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt --fix-broken install -y
使用which命令查看Chrome的安装目录:
which google-chrome

这时再次查看OpenClaw的浏览器配置状态,OpenClaw会自动检测到可用的浏览器,可以看到detectedBrowser和detectedPath已经设置为安装的Chrome浏览器:
openclaw browser --browser-profile openclaw status

这时已经可以在OpenClaw使用浏览器了,但为了理解其原理,我们显示的在配置文件中添加浏览器的配置。
有二种方法,一是使用WEB UI找到【设置】-【配置】-【RAW】,激活编辑输入配置并保存,二是直接修改“~/.openclaw/openclaw.json”文件:

配置项内容如下:
browser: {
enabled: true,
remoteCdpTimeoutMs: 1500,
remoteCdpHandshakeTimeoutMs: 3000,
color: '#FF4500',
executablePath: '/usr/bin/google-chrome',
headless: false,
noSandbox: true,
attachOnly: false,
defaultProfile: 'openclaw',
ssrfPolicy: {
dangerouslyAllowPrivateNetwork: true,
},
profiles: {
openclaw: {
cdpPort: 18800,
color: '#FF4500',
},
},
},
然后重启网关服务:
openclaw gateway restart
启动浏览器、打开网址以及进行快照识别界面内容:
openclaw browser --browser-profile openclaw startopenclaw browser --browser-profile openclaw open https://www.baidu.comopenclaw browser --browser-profile openclaw snapshot
输入open命令后会看到浏览器自动打开指定的网址,输入snapshot快照命令后会识别网站页面内容元素的引用值:

找到搜索输入框和百度一下的按钮:

根据上面的信息找到搜索输入框元素引用号为“e35”和“百度一下”按钮元素引用号为“e62”,这时可以通过输入命令控制浏览器输入搜索内容:
openclaw browser type e35 "中东战事"

输入命令控制浏览器点击“百度一下”进行搜索:
openclaw browser click e62

掌握基本使用后,就可以编排任务控制浏览器自动工作,例如定时执行结果与分析,还可以要求通过飞书等通道发送结果给你:
openclaw cron add "day news" --expression "*/06 * * * *" --command "
openclaw browser open --url 'https://www.baidu.com' --profile 'openclaw';
openclaw browser type e35 '中东战事';
openclaw browser click e62;
openclaw browser close --profile 'openclaw'
"
你也可以在OpenClaw的WEBUI中的聊天窗口或消息通道工具用自然语言控制浏览器,记得在使用前创建新的会话:/new。
如果在控制浏览器过程需要登录或者要求已是登录状态,那么要如何操作呢?OpenClaw控制浏览器有四种方式,下面分别介绍这些模式,同时也会介绍如何解决需要保持登录信息的场景:
自管理模式。 扩展中继模式。 远程CDP模式。 云托管模式。
自管理模式
上面的例子使用的就是自管理模式,在浏览器配置项的profiles添加了“openclaw”,同时在启动浏览器时显示使用了profile=openclaw:

自管理的意思是不使用当前浏览器的session、cookie和配置项,而是创建一套新的由OpenClaw管理的配置,避免影响到现有浏览器的形为。因此,如果你通过桌面或系统菜单打开的浏览器并登录网站,OpenClaw是无法获取登录信息的;这时可以使用一个小技巧,就是在由OpenClaw打开的浏览器进行网站登录,登录信息会保存在OpenClaw维护的配置文件中。
还有就是在执行命令时,浏览器会随着输入命令的执行而自动变化,对于没有可视界面的服务器系统是无法看到浏览器的,这时需要将“headless”设置为“true”以启用无头模式(无界面),有界面模式方便我们对要执行的工作进行验证和调试,可以实时所见即所得,没问题后再配置成无头模式给定时任务自动执行。
会话接管模式
会话接管模式适合浏览器与OpenClaw在同一台电脑且需要使用现有浏览器配置信息的场景,即直接使用由用户打开的浏览器配置信息:session、cookie等,需要用户自行打开浏览器。则可以使用 Chrome DevTools MCP 接管一个已经打开的浏览器实例,让编码代理能够直接连接到活跃的浏览器会话。
启用Chrome 的远程调试连接,打开浏览器然后在地址栏输入:
chrome://inspect#remote-debugging
Brave浏览器: brave://inspect/#remote-debugging
Edge浏览器: edge://inspect/#remote-debugging

勾选“Allow remote debugging for this browser instance”:

修改openclaw.json文件,在browser节点加入user节点配置:
user: {
driver: 'existing-session',
attachOnly: true,
color: '#00AA00',
},

保存后重启网关服务:
openclaw gateway restart
输入查看profile=user的浏览器状态命令,这时会提示“要允许远程调试吗”,点击【允许】:
openclaw browser --browser-profile user status

这时浏览器显示正在受到自动测试软件的控制:

这时输出命令让打开指定的网站,要注意的是--browser-profile也要使用“user”,否则会使用defaultProfile指定的“openclaw”:
openclaw browser --browser-profile user open https://www.baidu.com
如果你的网站之前登录过并保持了自动登录功能,这时OpenClaw控制打开的浏览器就可以获取到当前的登录信息。
远程CDP模式
远程CDP模式适合浏览器与OpenClaw不在同一台电脑的场景,例如OpenClaw运行在主机电脑的WSL虚拟机中,然后使用主机电脑的浏览器。
首先在主机电脑安装Google Chrome浏览器,在PowerShell窗口中找到Chrome的安装目录,通常位于“C:\Program Files\Google\Chrome\Application>”:
cd 'C:\Program Files\Google\Chrome\Application'
输入命令开启远程调试,进入:
.\chrome.exe --remote-debugging-port=9222 --remote-debugging-address=0.0.0.0 --user-data-dir="C:\\ChromeDebug"

验证主机电脑本地连接下是正确,输入:
curl http://127.0.0.1:9222/json/version
curl http://127.0.0.1:9222/json/list
按提示输入“A”并回车,如果输出“StatusCode”的值为“OK“说明连接正确:


主机电脑设置开放9222端口,在系统桌面右下角打开防火墙,点击【高级设置】:

在左侧找到“入站规则”,右键后找到【新建规则】并点击:

规则类型选择“端口”:

选择“TCP”并在“特定本地端口”输入“9222”,点击【下一页】:

选择“允许连接”,点击【下一页】:

全部勾选,点击【下一页】:

规则名称输入“Chrome Remote Debugging”,点击【完成】:

以管理员身份打开PowerShell,添加端口转发规则:
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=9222 connectaddress=127.0.0.1 connectport=9222
netsh interface portproxy show all
在安装OpenClaw的远程电脑测试,将下面IP地址换成你的实际IP,输出结果就与验证本地结果是一致的:
curl http://192.168.50.61:9222/json/version
curl http://192.168.50.61:9222/json/list

修改“~/.openclaw/openclaw.json”文件,在浏览器配置中加入名为“remote“的profile:
remote: {
cdpUrl: "http://192.168.50.61:9222",
attachOnly: true,
color: "#00AA00",
},
其中的IP要换成你的实际IP:

保存后重启网关服务:
openclaw gateway restart
输入查看profile=remote的浏览器状态命令,这时会提示“要允许远程调试吗”,点击【允许】:
openclaw browser --browser-profile remote status
这时输出命令让打开指定的网站,要注意的是--browser-profile也要使用“remote”,否则会使用defaultProfile指定的“openclaw”:
openclaw browser --browser-profile remote open https://www.baidu.com
云托管模式
对于不想在本地安装浏览器或使用主机浏览器的,可以使用云端商家提示的浏览组件服务,配置也很简单,在浏览器配置项中加入profile为“browserless”或“browserbase”,其中的API KEY需要换成云商家提供的对应KEY:
browserless: { cdpUrl: "wss://production-sfo.browserless.io?token=<BROWSERLESS_API_KEY>", color: "#00AA00",
},
或:
browserbase: { cdpUrl: "wss://connect.browserbase.com?apiKey=<BROWSERBASE_API_KEY>", color: "#F97316",},
然后在启动浏览器服务的时候指定相应的profile:
openclaw browser --browser-profile <profileName> status
openclaw browser --browser-profile <profileName> open https://www.baidu.com
至此,OpenClaw控制浏览器的几种方式就分享完了。
云算力又涨价,vmware让一台电脑变多台且实现与主机物理隔离(Linux篇)
Tavily搜索已获OpenClaw官方支持,给龙虾加上实时搜索能力
云算力又涨价,vmware让一台电脑变多台且实现与主机物理隔离(Windows篇)
后期与大家分享更多有价值的内容,可关注收藏👇
夜雨聆风