问题根源
大多数 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 做网页抓取、表单填写、自动化测试都会顺畅很多。建议在部署时把这几步写进初始化脚本,省得每次配新机器都要重来一遍。