让你的 AI Agent 操控你电脑上的 Chrome 浏览器,完成搜索、截图、网页自动化等操作


OpenClaw 自带浏览器控制能力,默认是启动一个隔离的 openclaw 浏览器实例。但很多时候我们需要用本机已登录的 Chrome——比如你有 Google 账号、已经登录了各种服务,或者想直接用你日常使用的浏览器环境。
通过 Chrome DevTools Protocol (CDP),OpenClaw 可以远程连接到你电脑上正在运行的 Chrome,就像调试工具一样控制它。
┌─────────────────────┐ Tailscale / 局域网 ┌─────────────────────────┐
│ OpenClaw 服务器 │ ──── CDP over HTTP ──────▶ │ Windows 本机 Chrome │
│ (Linux, 无 GUI) │ │ (带调试端口 9222) │
│ │ ◀─── JSON / WebSocket ──── │ │
│ gateway → browser │ │ http://100.113.x.x:9222│
│ profile → remote │ │ │
└─────────────────────┘ └─────────────────────────┘
OpenClaw 通过 cdpUrl 连接远程 Chrome,本质就是 Chrome DevTools Protocol 的标准用法。
在你的 Windows 电脑上(以管理员身份打开 CMD 或 PowerShell),运行:
"C:\Program Files\Google\Chrome\Application\chrome.exe" ^
--remote-debugging-port=9222 ^
--remote-debugging-address=0.0.0.0 ^
--user-data-dir="C:\chrome-debug"
| 参数 | 作用 |
|---|---|
--remote-debugging-port=9222 |
开启 CDP 调试端口 |
--remote-debugging-address=0.0.0.0 |
允许外部 IP 连接(默认只允许 127.0.0.1) |
--user-data-dir="C:\chrome-debug" |
指定独立用户数据目录,不影响日常 Chrome |
注意: Chrome 启动后会打开一个新窗口,这是正常的调试实例,可以关掉窗口但不要关进程。如果要后台运行,启动后最小化即可。
在 Windows 本机验证:
curl http://127.0.0.1:9222/json/version
或者在 OpenClaw 服务器端验证(如果是局域网或 Tailscale 互通):
curl http://100.113.116.86:9222/json/version
成功会返回类似这样的 JSON:
{
"Browser": "Chrome/...",
"Protocol-Version": "1.3",
"webSocketDebuggerUrl": "ws://100.113.116.86:9222/devtools/..."
}
在 OpenClaw 配置文件 ~/.openclaw/openclaw.json 中添加一个远程 CDP 浏览器配置:
{
"browser": {
"enabled": true,
"ssrfPolicy": {
"dangerouslyAllowPrivateNetwork": true // ← 关键:允许访问私有网络地址
},
"profiles": {
// OpenClaw 自带的管理型浏览器(隔离环境)
"openclaw": { "cdpPort": 18800, "color": "#FF4500" },
// 你的 Windows 远程 Chrome
"win-chrome": {
"cdpUrl": "http://100.113.116.86:9222",
"color": "#4285F4"
}
},
"defaultProfile": "win-chrome" // 设为默认,方便 Agent 直接用
}
}
dangerouslyAllowPrivateNetwork: true?OpenClaw 默认有 SSRF 防护,禁止访问私有网络地址(如 192.168.x.x、10.x.x.x、100.x.x.x 等 Tailscale CGNAT 地址)。你的远程 Chrome 在内网 / Tailscale 上,所以需要显式放行。
如果你不想全局放行,也可以用 hostnameAllowlist 更精确地控制:
"ssrfPolicy": {
"hostnameAllowlist": ["100.113.116.86"]
}
修改完配置文件后,重启 OpenClaw:
openclaw gateway restart
# 查看所有可用浏览器配置
openclaw browser profiles
# 测试远程 Chrome 是否可达
openclaw browser --browser-profile win-chrome tabs
# 在远程 Chrome 中打开网页
openclaw browser --browser-profile win-chrome open https://www.google.com
# 查看页面快照(Agent 能读到的内容)
openclaw browser --browser-profile win-chrome snapshot
# 截图
openclaw browser --browser-profile win-chrome screenshot
如果一切正常,你会看到远程 Chrome 的标签页信息以及页面内容。
配置好之后,你的 Agent 就可以通过 browser tool 操控远程 Chrome 了。
直接对 OpenClaw 说:
"用浏览器打开 Google 搜索 harries.blog"
Agent 会自动:
openclaw browser --browser-profile win-chrome open https://www.google.com/search?q=harries.blog
openclaw browser --browser-profile win-chrome snapshot --urls
在 OpenClaw 中可以给 Agent 这样的指令:
{
"action": "open",
"url": "https://www.google.com",
"targetId": "search",
"profile": "win-chrome"
}
如果你希望 Agent 默认就用远程 Chrome,把配置设为 defaultProfile:
{
"browser": {
"defaultProfile": "win-chrome",
"profiles": {
"win-chrome": {
"cdpUrl": "http://100.113.116.86:9222",
"color": "#4285F4"
}
}
}
}
这样 Agent 在执行 browser() 工具调用时,默认就会使用远程 Chrome,无需每次指定 profile。
端口能通但 Chrome 拒绝连接,最常见的原因是缺少 --remote-allow-origins=*。
新版 Chrome 默认只允许同源(127.0.0.1)的 CDP 连接,外部 IP 连接会被拒绝。
虽然你在命令中已经加了 --remote-debugging-address=0.0.0.0,建议再加一个:
chrome --remote-debugging-port=9222 ^
--remote-debugging-address=0.0.0.0 ^
--remote-allow-origins=* ^
--user-data-dir="C:\chrome-debug"
查看任务管理器确认 chrome.exe 进程是否在运行。如果没进程,说明启动失败了,检查路径是否正确。
默认情况下关闭最后一个窗口会退出 Chrome。要在关闭窗口后保持后台运行,启动时加 --keep-alive-for-test:
chrome --remote-debugging-port=9222 ^
--remote-debugging-address=0.0.0.0 ^
--remote-allow-origins=* ^
--user-data-dir="C:\chrome-debug" ^
--keep-alive-for-test
Navigation blocked by SSRF policy
说明 ssrfPolicy 没有放行私有网络地址。按上文配置 dangerouslyAllowPrivateNetwork: true 或 hostnameAllowlist 即可。
如果你有多台机器都启动了远程 Chrome,可以配置多个 profile:
"profiles": {
"win-office": { "cdpUrl": "http://100.113.116.86:9222", "color": "#4285F4" },
"mac-home": { "cdpUrl": "http://100.90.80.70:9222", "color": "#34A853" },
"linux-vm": { "cdpUrl": "http://192.168.1.100:9222", "color": "#EA4335" }
}
通过 CDP 实现 OpenClaw 远程操控 Chrome 的关键三点:
| 环节 | 操作 |
|---|---|
| Windows 端 | Chrome 启动带 --remote-debugging-port=9222 和 --remote-allow-origins=* |
| OpenClaw 配置 | 添加 profiles. 指向远程 Chrome,放行 SSRF 策略 |
| 使用 | 通过 browser tool 或 CLI,指定 profile 即可操控远程浏览器 |
这套方案适合:
有了这套配置,你在手机上跟 OpenClaw 说一句"帮我搜一下 XXX",Agent 就能操控你电脑上的 Chrome 去搜索并把结果发回给你。
--remote-debugging-port=9222 的 Chrome,并验证本机 curl http://127.0.0.1:9222/json/version 能返回 JSON。openclaw browser --browser-profile tabs 确认连接成功。https://www.google.com 并截图。--keep-alive-for-test 参数再试一次。