适用场景:OpenClaw 2026.x 版本对接 Chrome/Edge 浏览器远程调试,解决DevToolsActivePort/Profile not found等常见报错
一、核心原理
OpenClaw 通过Chrome DevTools Protocol (CDP)协议对接浏览器远程调试功能,只需在 Chrome/Edge 开启远程调试端口,再在 OpenClaw 配置中指向该端口即可完成对接。
Chrome 和 Edge(Chromium 内核)的配置逻辑完全通用,仅需替换浏览器启动方式和调试地址。
二、前置准备
1. 环境要求
Chrome ≥ 144 / Edge ≥ 123(Chromium 内核)
OpenClaw 2026.x 版本
操作系统:macOS/Windows/Linux(本文以 macOS 为例)
2. 关键路径说明
三、步骤1:开启浏览器远程调试
方式1:GUI 界面开启(推荐)
打开 Chrome/Edge,地址栏输入对应调试入口:
Chrome:chrome://inspect/#remote-debugging
Edge:edge://inspect/#remote-debugging
勾选「Allow remote debugging for this browser instance」(允许外部应用控制浏览器);
确认页面显示「Server running at: 127.0.0.1:9222」,表示调试端口已开启。
方式2:终端命令启动(兜底方案)
若 GUI 配置不生效,可通过终端强制启动带调试参数的浏览器:
# Chrome 启动命令 /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \ --remote-debugging-port=9222 \ --remote-debugging-address=0.0.0.0 \ --user-data-dir=/tmp/chrome-debug & # Edge 启动命令 /Applications/Microsoft\ Edge.app/Contents/MacOS/Microsoft\ Edge \ --remote-debugging-port=9222 \ --remote-debugging-address=0.0.0.0 \ --user-data-dir=/tmp/edge-debug &
说明:--user-data-dir用于新建临时会话,避免复用无调试参数的旧窗口。
四、步骤2:验证调试端口可用性
执行以下命令,确认端口可访问(返回 JSON 即正常):
curl http://127.0.0.1:9222/json/version
正常返回示例:
{ "Browser": "Chrome/123.0.0.0", "Protocol-Version": "1.3", "webSocketDebuggerUrl": "ws://127.0.0.1:9222/devtools/browser/xxxxxx" }五、步骤3:配置 OpenClaw 对接调试端口
1. 编辑核心配置文件
打开 OpenClaw 配置文件:
vim ~/.openclaw/openclaw.json2. 完整配置模板(直接复制)
{ // 保留原有其他配置(如 env/agents/channels 等) "tools": { "allow": [ "exec", "process", "read", "write", "edit", "apply_patch", "browser" // 必须启用 browser 工具权限 ], "deny": [ "canvas" ], "exec": { "host": "gateway", "security": "full", "ask": "off", "backgroundMs": 10000, "timeoutSec": 1800, "cleanupMs": 1800000 } }, "browser": { "enabled": true, "defaultProfile": "user", "profiles": { "user": { "driver": "existing-session", // 保留原有会话模式 "cdpUrl": "http://127.0.0.1:9222", // 指向浏览器调试端口 "attachOnly": true, "color": "#00AA00" } }, "remoteCdpTimeoutMs": 10000, "remoteCdpHandshakeTimeoutMs": 15000 } }3. 关键配置说明
六、步骤4:生效并验证配置
1. 自动修复配置兼容问题
openclaw doctor --fix2. 重启 OpenClaw
openclaw stop && openclaw start3. 验证连接状态
openclaw browser --browser-profile user status成功标志
输出包含以下内容即为对接成功:
◇ browser:user status - cdpReady: true - cdpUrl: http://127.0.0.1:9222 - attachOnly: true - driver: existing-session (forced CDP)七、常见问题排查
问题1:DevToolsActivePort 报错
原因:浏览器复用了无调试参数的旧会话
解决:彻底关闭浏览器,用终端命令(带--user-data-dir)重新启动
问题2:Profile "user" not found
原因:配置未生效或格式错误
解决:执行openclaw doctor --fix,重启 OpenClaw
问题3:cdpReady: false
原因:调试端口不可访问
解决:
检查端口占用:lsof -i :9222
确认浏览器调试开关已开启
关闭防火墙/代理,重试curl http://127.0.0.1:9222/json/version
八、核心总结
浏览器侧
:必须开启远程调试,确保 9222 端口可访问;
OpenClaw 侧
:启用browser工具权限,配置cdpUrl指向调试端口;
Edge 专属
:添加skipChromeSessionScan和forceCdpForExistingSession强制对接;
验证标准
:openclaw browser --browser-profile user status返回cdpReady: true。
提示:Chrome 和 Edge 配置仅需替换浏览器启动方式,其余步骤完全通用。若需切换端口(如 9223),只需同步修改浏览器启动参数和 OpenClaw 的cdpUrl即可。