OpenClaw Browser Recover
目标:在 不瞎重试 的前提下,快速恢复 browser 工具可用性,并给用户一句话的“下一步动作”。
关键事实(先记住)
- -
browser 工具依赖 gateway 的 browser-control(通常监听 18791) - INLINECODE1 依赖本机 Chrome 的 CDP 9222(必须有 Chrome 正在跑且 9222 可用)
- INLINECODE2 也默认使用 9222;如果 9222 已被本机 Chrome 占用,会出现 PortInUse
- 看到
timed out... Do NOT retry:说明链路卡死,重复调用 browser 工具只会更糟。
标准恢复流程(按顺序,做到哪步好就停)
0) 先等一下(处理偶发卡顿)
1) 端口与服务体检(exec)
运行:
openclaw gateway status
ss -lntp | egrep '(:18789|:18791|:9222)' || true
判读:
- - 18789/18791 不在 → gateway 侧问题,优先重启 gateway。
- 9222 不在 → user profile 无法用,需要用户开启带 9222 的 Chrome。
2) 轻量 browser 侧探测(browser)
依次:
如果仍 timeout / MCP Connection closed → 进入第 3 步。
3) 修复动作(最短优先)
A.
只做一次 gateway 重启:
B. 仍然 Connection closed:
- - 让用户 完全退出 Chrome → 重新打开 Chrome → 重新打开目标页面
- 然后再执行 INLINECODE7
C. 需要 openclaw profile 但 9222 被占:
- - 让用户关掉占用 9222 的 Chrome(或改用 user profile)。
同一轮最多:一次 restart;不要 stop+start 连击,除非用户明确要求。
给用户的“下一步一句话”模板
- “请先打开带 9222 的 Chrome(或把推文截图发我),我才能接管浏览器。”
- “browser-control 卡住了:请执行
openclaw gateway restart,我再继续。”
- “控制通道断开:请把 Chrome 完全退出再重开,然后回我‘Chrome 重开了’。”
附:脚本(可选)
如果需要一键体检,运行:
CODEBLOCK1
OpenClaw Browser 恢复
目标:在 不盲目重试 的前提下,快速恢复 browser 工具的可用性,并向用户提供一句明确的下一步操作。
关键事实(请先记住)
- - browser 工具依赖于 gateway 的 browser-control(通常监听 18791 端口)
- profile=user 依赖本机 Chrome 的 CDP 9222 端口(必须有 Chrome 正在运行且 9222 可用)
- profile=openclaw 默认也使用 9222 端口;如果 9222 已被本机 Chrome 占用,会出现 PortInUse 错误
- 看到 timed out... Do NOT retry 提示:说明链路已卡死,重复调用 browser 工具只会让情况更糟。
标准恢复流程(按顺序执行,做到哪一步恢复正常就停止)
0) 先等待一下(处理偶发卡顿)
1) 端口与服务健康检查(exec)
运行以下命令:
bash
openclaw gateway status
ss -lntp | egrep (:18789|:18791|:9222) || true
判断结果:
- - 18789/18791 端口不存在 → gateway 侧出现问题,优先重启 gateway。
- 9222 端口不存在 → user profile 无法使用,需要用户开启带 9222 端口的 Chrome。
2) 轻量级 browser 侧探测(browser)
依次执行:
- - browser.status profile=user
- browser.tabs profile=user limit=5
如果仍然出现 timeout / MCP Connection closed → 进入第 3 步。
3) 修复操作(优先选择最短方案)
A.
仅执行一次 gateway 重启:
- - openclaw gateway restart
B. 仍然出现 Connection closed:
- - 让用户 完全退出 Chrome → 重新打开 Chrome → 重新打开目标页面
- 然后再执行 browser.status profile=user
C. 需要使用 openclaw profile 但 9222 端口被占用:
- - 让用户关闭占用 9222 端口的 Chrome(或改用 user profile)。
同一轮最多执行:一次 restart;不要连续执行 stop+start,除非用户明确要求。
给用户的下一步一句话模板
- 请先打开带 9222 端口的 Chrome(或把推文截图发给我),我才能接管浏览器。
- browser-control 卡住了:请执行 openclaw gateway restart,然后我再继续。
- 控制通道已断开:请完全退出 Chrome 再重新打开,然后回复我Chrome 已重开。
附录:脚本(可选)
如需一键健康检查,请运行:
bash
bash skills/openclaw-browser-recover/scripts/healthcheck.sh