文章目录
-
-
- 一、前提准备:Windows端开启Chrome远程调试
- 二、网络连通:验证WSL2可访问Windows的CDP端点
- 三、核心配置:OpenClaw添加远程Chrome配置文件
- [四、端到端验证:WSL2中通过OpenClaw操作Windows Chrome](#四、端到端验证:WSL2中通过OpenClaw操作Windows Chrome)
- [五、Control UI辅助验证(可选)](#五、Control UI辅助验证(可选))
- 六、常见错误排查(关键)
- 七、快速排障清单
- 核心原则
-
资料:https://docs.openclaw.ai/tools/browser-wsl2-windows-remote-cdp-troubleshooting
在WSL2中通过OpenClaw操作Windows端的Chrome,核心是基于Chrome DevTools Protocol (CDP) 实现跨WSL2/Windows的远程控制,优先选择Raw remote CDP 模式,需完成Windows端Chrome开启远程调试、WSL2网络连通验证、OpenClaw配置、端到端验证四步核心操作,以下是详细步骤和实操方法:
一、前提准备:Windows端开启Chrome远程调试
- 关闭所有Chrome窗口,通过命令提示符/PowerShell启动Chrome并开启远程调试端口(默认端口9222),执行命令:
bash
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\Users\wiljz\AppData\Local\OpenClaw\ChromeProfile"
- 本地验证Chrome CDP服务:在Windows端执行curl命令,确认端口正常提供服务,返回JSON即成功:
bash
curl http://127.0.0.1:9222/json/version
curl http://127.0.0.1:9222/json/list
(若失败,无需调试OpenClaw,先排查Chrome启动参数或端口占用)
类似如下错误
2.1 排查过程
-
排查9222端口哪个应用占用
netstat -ano | findstr ":9222"

看 PID 4416 是什么程序:
tasklist | findstr 4416

被sychost系统占用了9222端口
查看 4416里跑的是什么服务
tasklist /svc | findstr 4416

既然端口9222被占用,那就换个端口9223,重复上述步骤。
二、网络连通:验证WSL2可访问Windows的CDP端点
-
获取Windows的主机IP(需是WSL2可访问的地址,如本地局域网IP, window系统用ipconfig查看);
-
在WSL2终端中,测试对Windows CDP端口的访问,命令与Windows端类似,替换为Windows IP:
bash
curl http://172.22.144.1:9223/json/version
curl http://172.22.144.1:9223/json/list
-
成功标准 :
/json/version返回浏览器/协议版本JSON,/json/list返回JSON(无打开页面时为空数组也可); -
失败排查 :若访问失败,需检查Windows防火墙是否放行9223端口、是否配置端口转发(需管理员权限执行
netsh interface portproxy)、WSL2与Windows的网络互通性。
-
检查防火墙是否放行 9223 端口
设置-》windows安全中心-》防火墙和网络保护-》高级设置-》入站规则

-
或者命令:netsh advfirewall firewall show rule name=all dir=in | findstr "9223"

-
没有则添加规则
netsh advfirewall firewall add rule name="Allow Chrome CDP 9223 (WSL2)" dir=in action=allow protocol=TCP localport=9223 remoteip=localsubnet profile=any enable=yes
-
查看端口是否转发
netsh interface portproxy show all
正常如下:

没有则执行:
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=9223 connectaddress=127.0.0.1 connectport=9223
三、核心配置:OpenClaw添加远程Chrome配置文件
OpenClaw的浏览器配置在~/.openclaw/openclaw.json中,需添加指向Windows CDP端点的远程配置文件,步骤如下:
- 编辑配置文件,写入以下内容,替换
WINDOWS_HOST_OR_IP(ipconfig命令查看)为实际的Windows可访问IP:
json
{
"browser": {
"enabled": true,
"defaultProfile": "remote",
"profiles": {
"remote": {
"cdpUrl": "http://WINDOWS_HOST_OR_IP:9223",
"attachOnly": true,
"color": "#00AA00"
}
}
}
}
- 关键配置说明:
-
cdpUrl:必须是WSL2可访问 的Windows地址,不能用仅Windows本地的127.0.0.1; -
attachOnly: true:表示仅连接外部已启动的Chrome(Windows端手动启动的实例),不由OpenClaw管理启动; -
defaultProfile: "remote":将远程配置设为默认,后续命令可省略--browser-profile参数。
四、端到端验证:WSL2中通过OpenClaw操作Windows Chrome
配置完成后,在WSL2终端执行OpenClaw命令,验证对Windows Chrome的控制,核心操作如下:
- 打开指定网页:在Windows Chrome中新建标签页并打开目标网址:
bash
openclaw browser --browser-profile remote open https://finance.sina.com.cn/nmetal/
- 查看Chrome标签页:验证OpenClaw可识别Windows Chrome的标签页,返回标签信息即成功:
bash
openclaw browser tabs --browser-profile remote
- 其他常用操作:验证截图、页面导航等后续操作,均基于该远程配置:
bash
# 页面截图
openclaw browser screenshot --browser-profile remote
# 导航到新网址
openclaw browser navigate https://github.com --browser-profile remote
- 成功标准 :所有命令执行后,Windows端Chrome会同步执行对应操作,WSL2终端返回无错误信息。
五、Control UI辅助验证(可选)
若需通过可视化界面操作,可在Windows端打开OpenClaw的Control UI,必须使用Windows本地localhost,避免安全策略拦截:
-
访问地址:
http://127.0.0.1:18789/(WSL2中Gateway默认运行在该地址); -
验证要点:确保页面源与
gateway.controlUi.allowedOrigins配置匹配、token/pairing认证正常,避免将UI认证问题误判为CDP连接问题。
六、常见错误排查(关键)
若操作失败,根据错误提示定位层级问题,避免混淆排查方向:
-
Remote CDP for profile "remote" is not reachable:WSL2无法访问配置的cdpUrl,重新检查Windows IP和端口连通性; -
gateway timeout after 1500ms:CDP端点访问缓慢或不可达,排查网络转发/防火墙; -
control-ui-insecure-auth:Control UI的源/安全上下文问题,与CDP无关,改用127.0.0.1访问UI; -
No Chrome tabs found for profile="user":错误使用了本地user配置,需切换为remote远程配置; -
token_missing/pairing required:认证/设备授权问题,检查OpenClaw的auth配置。
七、快速排障清单
每次操作失败后,按以下顺序快速验证,逐一排除问题:
-
Windows端
curl http://127.0.0.1:9222/json/version是否成功? -
WSL2端
curl http://WINDOWS_HOST_OR_IP:9222/json/version是否成功? -
OpenClaw配置的
cdpUrl是否与WSL2测试的地址完全一致? -
Control UI是否使用
http://127.0.0.1:18789/而非LAN IP? -
是否错误使用
existing-session跨WSL2/Windows(应使用raw remote CDP)?
核心原则
WSL2中OpenClaw操作Windows Chrome的关键是分层验证:先确保Windows Chrome自身CDP服务正常,再验证WSL2与Windows的网络连通,最后调试OpenClaw配置和UI认证,避免多个独立问题叠加导致排查方向错误。