从零开始:在腾讯云服务器上部署 OpenClaw AI 助手(2)—— 浏览器自动化功能配置
从零开始:在腾讯云服务器上部署 OpenClaw AI 助手(2)—— 浏览器自动化功能配置
让 AI 助手拥有"眼睛"和"双手",实现网页自动化操控
前言
在上一篇博客中,我们成功在腾讯云服务器上部署了 OpenClaw AI 助手,实现了基本的对话功能。但那时的 AI 就像一个"只会说话的大脑"——能理解你的问题,却无法真正操作电脑。
这篇博客将记录如何为 OpenClaw 配置浏览器自动化功能,让 AI 助手真正拥有"眼睛"(看网页)和"双手"(操作网页),变成一个能够自动打开网页、填写表单、截图保存的全能助手。
为什么需要浏览器功能?
对于我们科研牛马来说,这个功能简直是福音:
| 场景 | 传统方式 | AI 助手方式 |
|---|---|---|
| 批量下载论文 | 手动一个个点击下载 | “帮我把这个会议的所有论文下载下来” |
| 监控实验结果 | 定时手动刷新页面截图 | “每小时截图一次训练曲线” |
| 填写报销表单 | 对着 Excel 一个个复制粘贴 | “把这个表格的数据填到报销系统” |
| 抢课选课 | 疯狂 F5 刷新 | “课程有空位就帮我选上” |
环境说明
接续上一篇博客的环境:
| 配置项 | 参数 |
|---|---|
| 操作系统 | Ubuntu 24.04 LTS |
| OpenClaw 版本 | 2026.1.29 |
| Node.js | v22.22.0 |
| AI 模型 | 阿里云 DashScope qwen-flash |
第一步:检查浏览器服务状态
首先,让我们看看 OpenClaw 的浏览器服务是否正常:
openclaw browser --browser-profile openclaw status
如果你看到类似这样的输出:
profile: openclaw
enabled: true
running: false
cdpReady: false
detectedBrowser: Chromium
detectedPath: /usr/bin/chromium-browser
这说明浏览器服务已启用,但检测到的是 /usr/bin/chromium-browser。
🚨 问题:Ubuntu 24.04 的 Chromium 是 Snap 版本
这里有一个巨大的坑:Ubuntu 24.04 默认的 /usr/bin/chromium-browser 实际上是一个 Snap stub(存根),而不是真正的浏览器可执行文件。
我们可以验证一下:
file /usr/bin/chromium-browser
输出可能是:
/usr/bin/chromium-browser: POSIX shell script, ASCII text executable
看到了吗?它只是一个 shell 脚本,用于启动 Snap 容器中的 Chromium。而 OpenClaw 需要直接访问浏览器的 CDP(Chrome DevTools Protocol)接口,Snap 版本的 Chromium 由于沙盒限制,无法正常工作。
症状表现:在 TUI 中让 AI 打开网页,会收到这样的错误:
我无法访问浏览器控制服务。请先启动 OpenClaw 网关...
查看 Gateway 日志虽然显示 Browser control service ready,但实际启动浏览器时会失败。
第二步:安装 Google Chrome
解决方案是安装官方的 Google Chrome,而不是 Snap 版本的 Chromium。
下载安装包
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
命令解释:
wget:命令行下载工具- 这个 URL 会自动下载最新稳定版的 Google Chrome
安装 Chrome
sudo dpkg -i google-chrome-stable_current_amd64.deb
命令解释:
dpkg -i:安装 .deb 格式的软件包sudo:以管理员权限运行
大概率会遇到依赖问题:
dpkg: dependency problems prevent configuration of google-chrome-stable:
google-chrome-stable depends on fonts-liberation; however:
Package fonts-liberation is not installed.
google-chrome-stable depends on libgtk-3-0 (>= 3.9.10) | libgtk-4-1; however:
...
安装缺失的依赖
sudo apt --fix-broken install -y
命令解释:
apt --fix-broken install:自动检测并安装所有缺失的依赖包-y:自动确认安装,无需手动输入 yes
这个命令会自动安装一大堆依赖(约 93 个包,184MB),包括:
fonts-liberation:字体库libgtk-3-0:GTK 图形库libvulkan1:图形渲染库xdg-utils:桌面集成工具- 等等…
验证安装
which google-chrome-stable
# 输出:/usr/bin/google-chrome-stable
google-chrome-stable --version
# 输出:Google Chrome 144.0.7559.132
第三步:安装中文字体
这是一个容易被忽略但非常重要的步骤。
服务器默认没有中文字体,如果直接截图中文网页,所有中文都会显示为 □□□□(方块乱码):

安装中文字体:
sudo apt install -y fonts-noto-cjk fonts-wqy-zenhei
命令解释:
fonts-noto-cjk:Google 的 Noto 字体,支持中日韩文字,字体质量高fonts-wqy-zenhei:文泉驿正黑,经典的开源中文字体
为什么需要两个字体包?
Noto CJK覆盖面广,但某些生僻字可能缺失文泉驿作为补充,确保中文显示完整
安装后无需重启系统,但需要重启浏览器服务才能生效。
第四步:配置 OpenClaw 浏览器设置
编辑 OpenClaw 配置文件:
nano ~/.openclaw/openclaw.json
找到或添加 browser 配置段:
{
"browser": {
"enabled": true,
"executablePath": "/usr/bin/google-chrome-stable",
"headless": true,
"noSandbox": true,
"defaultProfile": "openclaw"
}
}
配置项详解
| 配置项 | 值 | 说明 |
|---|---|---|
enabled | true | 启用浏览器功能 |
executablePath | /usr/bin/google-chrome-stable | 指定 Chrome 可执行文件路径,避免使用 Snap 版 |
headless | true | 无头模式,服务器没有显示器,必须开启 |
noSandbox | true | 禁用 Chrome 沙盒,在容器/服务器环境中需要 |
defaultProfile | "openclaw" | 使用 OpenClaw 托管的独立浏览器配置文件 |
关于 Headless 模式
什么是无头浏览器?
“无头”(Headless)指的是没有图形界面的浏览器。它是完整的浏览器引擎,可以:
- ✅ 加载网页、执行 JavaScript
- ✅ 渲染页面、截图
- ✅ 填写表单、点击按钮
- ❌ 但不会在屏幕上显示窗口
这正是服务器环境需要的——我们不需要"看到"浏览器窗口,只需要它在后台默默工作。
关于 noSandbox
Chrome 默认会启用沙盒机制来隔离渲染进程,提高安全性。但在服务器环境(尤其是 Docker 容器或某些 VPS)中,沙盒可能因为权限问题无法正常工作。
设置 noSandbox: true 会禁用这个沙盒。注意:这会降低一定的安全性,但对于自己控制的服务器来说是可以接受的。
关于 Browser Profile
OpenClaw 支持两种浏览器模式:
| Profile | 说明 | 使用场景 |
|---|---|---|
chrome | 通过 Chrome 扩展连接你的本地浏览器 | 需要使用已登录的账号 |
openclaw | OpenClaw 托管的独立浏览器实例 | 服务器环境,自动化任务 |
我们选择 openclaw 模式,因为:
- 服务器没有图形界面,无法运行带扩展的 Chrome
- 独立实例更安全,不会影响个人浏览数据
- 可以完全由 OpenClaw 控制生命周期
第五步:重启服务并测试
重启 Gateway
openclaw gateway restart
命令解释:
- 重启 OpenClaw 的核心服务,使新配置生效
- Gateway 会重新加载浏览器配置
检查浏览器状态
openclaw browser --browser-profile openclaw status
命令解释:
openclaw browser:浏览器控制子命令--browser-profile openclaw:指定使用openclaw配置文件(托管模式),而不是chrome(扩展模式)status:查看当前浏览器服务的运行状态
正确的输出应该是:
profile: openclaw
enabled: true
running: false
cdpPort: 18800
cdpUrl: http://127.0.0.1:18800
browser: unknown
detectedBrowser: custom
detectedPath: /usr/bin/google-chrome-stable
profileColor: #FF4500
关键是 detectedPath 现在指向了我们安装的 Google Chrome。
启动浏览器
openclaw browser --browser-profile openclaw start
成功输出:
🦞 browser [openclaw] running: true
测试打开网页
openclaw browser --browser-profile openclaw open https://www.baidu.com
测试截图
openclaw browser --browser-profile openclaw screenshot
输出:
MEDIA:~/.openclaw/media/browser/c46a073a-69b4-431d-915c-cede9ad355eb.png
可以用 scp 把截图下载到本地查看,确认中文显示正常。
第六步:在 TUI 中通过对话控制浏览器
现在让我们测试最激动人心的功能——用自然语言控制浏览器!
重置会话(重要!)
openclaw sessions reset main
为什么需要重置会话?
OpenClaw 的 AI 在会话开始时会加载可用工具列表。如果之前的会话是在浏览器配置完成前创建的,AI 可能没有正确识别到浏览器工具。重置会话可以让 AI 重新加载最新的工具配置。
进入 TUI 对话界面
openclaw tui
测试对话
输入:
用浏览器打开百度的首页,然后截个图,并把图片存储在 /home/ubuntu/screenshots/ 路径中
AI 的回复:
I've successfully completed your request:
1. Opened the Baidu homepage in the browser
2. Took a screenshot of the page
3. Saved the screenshot to /home/ubuntu/screenshots/baidu_homepage.png
The image has been stored in the specified directory as requested.
🎉 成功! AI 助手现在可以理解自然语言指令,自动操作浏览器了!
完整配置文件参考
以下是包含浏览器配置的完整 ~/.openclaw/openclaw.json 示例:
{
"gateway": {
"mode": "local",
"auth": {
"mode": "token",
"token": "your-token-here"
},
"port": 18789,
"bind": "loopback"
},
"browser": {
"enabled": true,
"executablePath": "/usr/bin/google-chrome-stable",
"headless": true,
"noSandbox": true,
"defaultProfile": "openclaw"
},
"models": {
"providers": {
"dashscope": {
"baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"apiKey": "your-api-key",
"api": "openai-completions",
"models": [
{
"id": "qwen-flash",
"name": "Qwen Flash",
"reasoning": false,
"input": ["text"],
"cost": {
"input": 0.15,
"output": 1.5
},
"contextWindow": 1000000,
"maxTokens": 32768
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "dashscope/qwen-flash"
}
}
}
}
常用命令速查
| 命令 | 作用 |
|---|---|
openclaw browser --browser-profile openclaw status | 查看浏览器状态 |
openclaw browser --browser-profile openclaw start | 启动浏览器 |
openclaw browser --browser-profile openclaw stop | 停止浏览器 |
openclaw browser --browser-profile openclaw open | 打开网页 |
openclaw browser --browser-profile openclaw screenshot | 截图 |
openclaw browser --browser-profile openclaw snapshot | 获取页面结构(用于自动化操作) |
openclaw browser --browser-profile openclaw tabs | 列出所有标签页 |
openclaw sessions reset main | 重置会话(修改配置后执行) |
踩坑记录
坑 1:Ubuntu 24.04 的 Snap Chromium 无法使用
现象:Gateway 日志显示 Browser control service ready,但实际启动浏览器时失败。
原因:Ubuntu 24.04 的 /usr/bin/chromium-browser 是 Snap stub,不是真正的可执行文件。Snap 版本由于沙盒隔离,无法暴露 CDP 端口。
解决:安装官方 Google Chrome,并在配置中指定 executablePath。
坑 2:配置文件中使用了不存在的字段
现象:openclaw gateway restart 时报错:
Invalid config: browser: Unrecognized key: "mode"
原因:盲目添加了 "mode": "managed" 字段,但 OpenClaw 的配置 schema 中没有这个字段。
解决:查阅官方文档,使用正确的配置字段。可以用 openclaw doctor --fix 自动移除无效字段。
坑 3:中文显示为方块
现象:截图中所有中文都显示为 □□□□。
原因:服务器没有安装中文字体。
解决:安装 fonts-noto-cjk 和 fonts-wqy-zenhei。
坑 4:修改配置后 AI 仍然无法使用浏览器
现象:配置正确,CLI 测试正常,但 TUI 对话中 AI 说"无法访问浏览器"。
原因:会话缓存了旧的工具列表。
解决:执行 openclaw sessions reset main 重置会话。
坑 5:Chrome 依赖缺失
现象:dpkg -i 安装 Chrome 时报依赖错误。
原因:Ubuntu Server 精简版默认没有安装 GUI 相关库。
解决:执行 sudo apt --fix-broken install -y 自动安装所有依赖。
应用场景:科研牛马的福音
配置好浏览器功能后,你可以让 AI 助手帮你完成这些繁琐的工作:
1. 自动化数据采集
帮我打开 arXiv,搜索 "large language model",把前 10 篇论文的标题和链接保存到文件
2. 定时监控与截图
结合 OpenClaw 的 cron 功能:
每小时截图一次我的 TensorBoard 训练曲线页面
3. 批量表单填写
读取这个 Excel 文件,把每一行的数据填写到报销系统的表单中
4. 网页内容提取
打开这个网页,提取所有表格数据并保存为 CSV
5. 自动化测试
打开我们的 Web 应用,依次测试登录、创建项目、删除项目功能,截图记录每一步
总结
经过这次配置实践,我们为 OpenClaw AI 助手添加了强大的浏览器自动化能力:
| 能力 | 说明 |
|---|---|
| 🌐 网页浏览 | 打开任意网页,支持 JavaScript 渲染 |
| 📸 截图保存 | 全页面或指定元素截图 |
| 🖱️ 自动操作 | 点击、输入、滚动、拖拽 |
| 📋 内容提取 | 获取页面文本、表格、链接 |
| 🗣️ 自然语言控制 | 用对话的方式指挥浏览器 |
关键收获:
- 理解了 Snap 应用与原生应用的区别
- 学会了在无头服务器环境配置浏览器
- 掌握了 OpenClaw 浏览器配置的各个参数含义
- 体验了 AI + 浏览器自动化的强大能力
下一篇博客计划配置 Telegram 频道,实现手机随时随地与 AI 助手对话,敬请期待!
本文记录于 2026 年 2 月 5 日,基于 OpenClaw v2026.1.29 版本
系列文章:
- 从零开始:在腾讯云服务器上部署 OpenClaw AI 助手(1)
- 从零开始:在腾讯云服务器上部署 OpenClaw AI 助手(2)—— 浏览器自动化功能配置(本文)
- 从零开始:在腾讯云服务器上部署 OpenClaw AI 助手(3)—— Telegram 频道配置(计划中)
如果这篇文章对你有帮助,欢迎点赞、收藏、关注!有问题可以在评论区交流。











