冷启动自动发射失败: 在铬不运行救援分支开火前守护进程退出

作者: hnevky创建于 2026年9月10日更新于 2026年9月13日

□ 总结

当Chrome有零运行过程(真正的冷起动——不仅仅是"CDP端口尚未起动")时,‘浏览器-harness'完全失败了,而‘守护者默认没有出现',而不是自v.1.8起就自动发射Chrome("如果没有Chromium-family浏览器运行,就为您发射一个").

确认的回归在0.1.9至0.1.13之间(0.1.9在此确切情况下自动发射正确,在升级前对照真正的自动化工人流程进行了两次核查;0.1.1.3立即失效,连续三次以干净的环境复制——克罗姆完全退出,没有 stale singleton lock文件,每次新鲜的守护进程日志).

□ 环境

  • macOS(达尔温25.6.0)
  • 浏览器harness 0.1.13(pypi安装)
  • Python 3.11.15 (英语).

□再现.

osascript - e'quit app "Google Chrome" 应用程序
# 确认为零 Chrome 进程: ps aux QQ grep "Google Chrome.app/Contents/MacOS/Google Chrome"
rm-f~. config/browser-harness/tmp/bu-default.log 页面存档备份,存于互联网档案馆.
浏览器harness QQ'PY'
new tab ("https://example.com") (中文(简体) ).
打印( 页 info ())
PY 时

** 实际:** 即时失败-

浏览器-harness:守护进程默认未出现 -- check ~/.config/浏览器-harness/tmp/bu-default.log

带有“ bu- default.log ” 的“ bu- default.log ” ,其中完全包含一行:

致命: chrome- not- running: 没有支持的 Chromium- family 浏览器正在运行 -- start Chrome, 然后重试

没有"Chrome isn't running——發出它"的訊息被印出,也没有Chrome过程被产出.

** 预计:** 自动发射Chrome(按v.1.8自动发射特性)并正常进行。

□ 根因 (在已安装的软件包源中追踪)

在'浏览器 harness/daemon.py'中,守护进程子进程本身的连接-等待循环:

[Python] 如果现在 QQ 下一个 liveness check: 如果不支持 浏览器 运行( N) : 提升运行时错误( R) "chrome-n-running:没有支持的chromium-family浏览器运行——启动Chrome,再重试". (中文(简体) ). 下一个( L) 检查=现在+2


当Chrome完全不运行时(没有30s宽度——第一次活性检查旅行),将守护进程升起并让守护进程**出**几乎立即出**.

在'browser harness/admin.py', 高级管弦乐手应该抓住这个,自动发射克罗姆只在这个分支上这样做:

```2ZZ
如果本地并启动的 浏览器为 None并  chrome  not running(msg) :
# Chrome已关闭——启动浏览器并重试
重新启动( D)
已发射 浏览器= 已发射 浏览器 ()
. . . . . . . .

但是,只有当守护进程仍然活**而它的日志报告chrome-n-running'(即待死'是`False')时,才到达该分支。 由于守护进程子进程在真冷启动的情况下实际立即退出,故管弦乐器取了更早的"待决"分支:

如果本地和待死  :
. . . . . . . .
如果许可  等待 :
升起运行时 Error ("permission- blocked:...")
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0}继续 < - {\fn方正黑体简体\fs18\b1\bord1\shad1\3cH2F2F2F}"SAME"守护进程再次重播 最多3x 永远不要打电话
. . . . . . .

内容来源: browser-use/browser-harness