OC
OpenClaw 中文解释版

给五岁小朋友也能看懂的说明书

简要总结

Browser Troubleshooting

这页说明书是来帮忙解决一个“小麻烦”的。有时候,在 Linux 电脑上,OpenClaw 这个工具想打开一个叫 Chrome 的浏览器来工作,但是打不开,会显示一个错误。这页纸就是告诉你为什么会这样,以及我们怎么把它修好。如果你在用 OpenClaw 时,浏览器怎么也启动不了,就可以来看看这里。

五岁小孩版解释

有时候,OpenClaw 想帮你打开一个浏览器(比如 Chrome、Brave、Edge 或者 Chromium)来工作,但它会失败,并且告诉你一个错误信息,说“在 18800 号港口启动 Chrome CDP 失败了”。你可以把“CDP”想象成是 OpenClaw 和浏览器之间说悄悄话用的一个专用对讲机。

为什么会这样呢?在很多 Linux 电脑上,特别是 Ubuntu,系统自带的那个 Chromium 浏览器是一个特殊的“快照”包。这个“快照”包就像给浏览器穿上了一件很紧的防护服,让 OpenClaw 没办法和它正常地打招呼、一起玩。所以,我们需要换一种方法来请浏览器帮忙。

这里有两个主要的解决办法,第一个办法更简单,推荐你试试。

第一个办法:安装谷歌 Chrome 浏览器(推荐) 这个办法是去请一个没有穿“快照”防护服的 Chrome 浏览器来帮忙。

  1. 下载 Chrome 浏览器。打开电脑的“终端”,输入下面三行命令,就像告诉电脑去一个地方把 Chrome 浏览器请回家。 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome-stable_current_amd64.deb sudo apt --fix-broken install -y 注意:输入 sudo 开头的命令时,电脑可能会问你要密码,就像进家门需要钥匙一样。
  2. 告诉 OpenClaw 新朋友在哪里。我们需要修改 OpenClaw 的一个小本子(配置文件),告诉它:“嘿,以后请用这个新来的 Chrome 浏览器吧!”。 打开这个文件:~/.openclaw/openclaw.json,找到 browser 那一部分,把它改成下面这样:
    {
      "browser": {
        "enabled": true,
        "executablePath": "/usr/bin/google-chrome-stable",
        "headless": true,
        "noSandbox": true
      }
    }
    
    这里 executablePath 就是 Chrome 浏览器住的地方(路径),headless: true 意思是让浏览器在后台默默工作,不弹出窗口,noSandbox: true 是告诉浏览器不要开启另一个保护模式(沙盒),这样 OpenClaw 才能和它顺利通话。

第二个办法:继续用“快照”版 Chromium,但换个方式启动 如果你一定要用系统自带的那个“快照”版 Chromium,也可以。但我们需要换一种方式:我们先自己手动把浏览器叫醒,然后让 OpenClaw 去和它牵手。

  1. 告诉 OpenClaw 新的牵手方式。还是修改那个小本子 (~/.openclaw/openclaw.json),把 browser 部分改成:
    {
      "browser": {
        "enabled": true,
        "attachOnly": true,
        "headless": true,
        "noSandbox": true
      }
    }
    
    看,这里多了一个 attachOnly: true,意思就是“我只牵手,不负责叫醒你”。
  2. 我们手动叫醒浏览器。在终端里输入一长串命令来启动 Chromium 浏览器,并且告诉它在 18800 号港口准备好对讲机。 chromium-browser --headless --no-sandbox --disable-gpu --remote-debugging-port=18800 --user-data-dir=$HOME/.openclaw/browser/openclaw/user-data about:blank & 这串命令有点长,要小心别输错哦。最后那个 & 符号是让它在后台运行的意思。
  3. (可选)让电脑开机自动叫醒浏览器。如果你觉得每次都要手动输入命令太麻烦,可以写一张“自动任务卡”(systemd 服务文件),让电脑一开机就帮你做好这件事。具体怎么做,说明书里有一张“任务卡”的例子,你可以照着写。

修好了吗?我们来检查一下! 修好之后,我们可以问问 OpenClaw:“浏览器朋友在正常工作吗?” 在终端输入:curl -s http://127.0.0.1:18791/ | jq '{running, pid, chosenBrowser}' 如果它回答 running: true,那就说明成功啦! 你还可以试试让它打开一个网页标签:curl -s -X POST http://127.0.0.1:18791/start,然后再看看有几个标签:curl -s http://127.0.0.1:18791/tabs

另一个小麻烦:浏览器扩展连上了,但标签页没连上 如果你用的是 chrome 这个配置(它通过一个浏览器扩展小插件来工作),可能会遇到另一个问题:小插件在工作,但没有一个打开的网页标签页和它牵手。 怎么修呢?

  1. 换用 openclaw 这个配置来管理浏览器。可以在终端输入:openclaw browser start --browser-profile openclaw
  2. 或者,继续用 chrome 配置,但你需要:先安装好 OpenClaw 的浏览器扩展小插件,然后打开一个网页标签页,最后点击一下浏览器右上角的那个 OpenClaw 小插件图标,让它和这个标签页牵上手。

记住哦,chrome 这个配置会尽量使用你电脑上默认的 Chromium 浏览器。而 openclaw 这个配置会自动设置好对讲机的港口(cdpPort),通常你不需要自己改它。