问题根源

大多数 Linux 发行版(尤其是 Ubuntu)默认安装的 Chromium 是 Snap 包。Snap 自带的 AppArmor 沙箱机制会干扰 Clawdbot 对浏览器的进程监控,导致 CDP(Chrome DevTools Protocol)连接无法建立。简单说,Clawdbot 想控制浏览器,但 Snap 的沙箱把路堵死了。

解决步骤

第一步:安装 Google Chrome

下载并安装官方的 Google Chrome,替代 Snap 版 Chromium。

第二步:验证安装

确认 Chrome 已正确安装并可以从命令行启动。

第三步:更新 Clawdbot 配置

修改配置文件 ~/.clawdbot/clawdbot.json,将浏览器路径指向新安装的 Chrome。

第四步:重启 Clawdbot gateway

让配置生效。

容易踩的坑

装完 Chrome 之后如果还是不行,大概率是浏览器环境没有正确初始化。这时候需要手动运行 clawdbot browser start 来完成初始化。这条命令做了几件关键的事:

  • 创建浏览器配置:在 ~/.cache/clawdbot/~/.config/clawdbot/ 生成必要的配置目录
  • 启动 CDP 端口监听:在指定端口(默认 18800)启动 Chrome DevTools Protocol 服务
  • 初始化浏览器实例:使用正确的参数启动 Chrome(--no-sandbox--disable-dev-shm 等)
  • 建立进程监控:让 Clawdbot 能够持续监控浏览器进程状态

运行时记得加上 --browser-profile clawd 参数来指定 managed 模式,这样 Clawdbot 才能完全接管浏览器的生命周期。

配置要点总结

整个流程归结为三件事:用 Google Chrome 替代 Snap Chromium、通过 clawdbot browser start 初始化浏览器环境、使用 --browser-profile clawd 指定托管模式。

对于在 Linux 服务器上搭建 AI Agent 工作流的开发者来说,浏览器自动化是绑定不了的一环。把这个基础环境问题解决掉,后面用 Clawdbot 做网页抓取、表单填写、自动化测试都会顺畅很多。建议在部署时把这几步写进初始化脚本,省得每次配新机器都要重来一遍。