从零开始:在腾讯云服务器上部署 OpenClaw AI 助手(2)—— 浏览器自动化功能配置

从零开始:在腾讯云服务器上部署 OpenClaw AI 助手(2)—— 浏览器自动化功能配置

让 AI 助手拥有"眼睛"和"双手",实现网页自动化操控

前言

上一篇博客中,我们成功在腾讯云服务器上部署了 OpenClaw AI 助手,实现了基本的对话功能。但那时的 AI 就像一个"只会说话的大脑"——能理解你的问题,却无法真正操作电脑。

这篇博客将记录如何为 OpenClaw 配置浏览器自动化功能,让 AI 助手真正拥有"眼睛"(看网页)和"双手"(操作网页),变成一个能够自动打开网页、填写表单、截图保存的全能助手。

为什么需要浏览器功能?

对于我们科研牛马来说,这个功能简直是福音:

场景传统方式AI 助手方式
批量下载论文手动一个个点击下载“帮我把这个会议的所有论文下载下来”
监控实验结果定时手动刷新页面截图“每小时截图一次训练曲线”
填写报销表单对着 Excel 一个个复制粘贴“把这个表格的数据填到报销系统”
抢课选课疯狂 F5 刷新“课程有空位就帮我选上”

环境说明

接续上一篇博客的环境:

配置项参数
操作系统Ubuntu 24.04 LTS
OpenClaw 版本2026.1.29
Node.jsv22.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: ... 

安装缺失的依赖

sudoapt --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

第三步:安装中文字体

这是一个容易被忽略但非常重要的步骤。

服务器默认没有中文字体,如果直接截图中文网页,所有中文都会显示为 □□□□(方块乱码):

在这里插入图片描述

安装中文字体:

sudoaptinstall -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"}}

配置项详解

配置项说明
enabledtrue启用浏览器功能
executablePath/usr/bin/google-chrome-stable指定 Chrome 可执行文件路径,避免使用 Snap 版
headlesstrue无头模式,服务器没有显示器,必须开启
noSandboxtrue禁用 Chrome 沙盒,在容器/服务器环境中需要
defaultProfile"openclaw"使用 OpenClaw 托管的独立浏览器配置文件

关于 Headless 模式

什么是无头浏览器?

“无头”(Headless)指的是没有图形界面的浏览器。它是完整的浏览器引擎,可以:

  • ✅ 加载网页、执行 JavaScript
  • ✅ 渲染页面、截图
  • ✅ 填写表单、点击按钮
  • ❌ 但不会在屏幕上显示窗口

这正是服务器环境需要的——我们不需要"看到"浏览器窗口,只需要它在后台默默工作。

关于 noSandbox

Chrome 默认会启用沙盒机制来隔离渲染进程,提高安全性。但在服务器环境(尤其是 Docker 容器或某些 VPS)中,沙盒可能因为权限问题无法正常工作。

设置 noSandbox: true 会禁用这个沙盒。注意:这会降低一定的安全性,但对于自己控制的服务器来说是可以接受的。

关于 Browser Profile

OpenClaw 支持两种浏览器模式:

Profile说明使用场景
chrome通过 Chrome 扩展连接你的本地浏览器需要使用已登录的账号
openclawOpenClaw 托管的独立浏览器实例服务器环境,自动化任务

我们选择 openclaw 模式,因为:

  1. 服务器没有图形界面,无法运行带扩展的 Chrome
  2. 独立实例更安全,不会影响个人浏览数据
  3. 可以完全由 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 <URL>打开网页
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-cjkfonts-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 渲染
📸 截图保存全页面或指定元素截图
🖱️ 自动操作点击、输入、滚动、拖拽
📋 内容提取获取页面文本、表格、链接
🗣️ 自然语言控制用对话的方式指挥浏览器

关键收获

  1. 理解了 Snap 应用与原生应用的区别
  2. 学会了在无头服务器环境配置浏览器
  3. 掌握了 OpenClaw 浏览器配置的各个参数含义
  4. 体验了 AI + 浏览器自动化的强大能力

下一篇博客计划配置 Telegram 频道,实现手机随时随地与 AI 助手对话,敬请期待!


本文记录于 2026 年 2 月 5 日,基于 OpenClaw v2026.1.29 版本

系列文章


如果这篇文章对你有帮助,欢迎点赞、收藏、关注!有问题可以在评论区交流。

Read more

Stable Diffusion AIGC 视觉设计实战教程之 09-ControlNet 插件

ControlNet 插件 ControlNet 概述 ControlNet(控制网)是由 lllyasviel 团队于 2023 年提出的神经网络架构,核心是为了解决在 Stable Diffusion 中如何让图像生成变得更加可控的问题,是 Stable Diffusion 迈向工业化的非常重要的一步。 ControlNet 通过预处理器提取参考图中的姿态、深度、边缘等结构信息,再由 ControlNet 模型转换为检查点模型能够理解的生成条件,让生成图像精准遵循参考图的布局与结构,彻底解决生图结构失控的痛点,是 Stable Diffusion 中实现精准控图的核心插件。 ControlNet 插件的应用场景: * 插画创作:基于线稿生成高精度彩色插画,保留线条构图。 * 角色设计:基于姿势参考图生成指定动作的角色形象,如游戏角色战斗姿势等。 * 建筑可视化:根据图纸生成写实风格的建筑效果图。 * 3D 模型辅助生成:根据深度图、法线图控制生成图像的空间立体感,辅助 3D 建模纹理绘制。 * 摄影修图:

从 OpenClaw 到 ToClaw:AI 代理网关的产品化之路

从 OpenClaw 到 ToClaw:AI 代理网关的产品化之路

定位说明:这是一篇偏“体验与选型思路”的横测笔记,不是参数党跑分,也不是安装教程。内容基于我对产品定位与常见使用路径的理解,公测策略与功能细节可能会随版本变化。 01|OpenClaw 是什么?能做什么? OpenClaw 可以理解为一种“AI 代理(Agent)网关/中枢”:你在聊天界面下指令,它会调用模型能力并配合工具,去做更接近“完成任务”的事情,而不是只聊天。它强调可扩展(技能/插件)、可接入多渠道、可在你自己的设备上运行等方向。 你能用 OpenClaw 做什么(偏通用能力) * 在聊天软件里接收任务、输出结果,并尽量保持持续记忆与上下文(取决于你的配置与使用方式) * 通过工具/技能扩展能力:文件读写、浏览器自动化、系统命令、定时任务、接入第三方服务等(不同发行与生态会有差异) 但现实门槛也很明显 * 自部署往往需要 Node.js

Llama-2-7b-Chat-hf模型安装与使用指南

Llama-2-7b-Chat-hf模型安装与使用指南 【免费下载链接】Llama-2-7b-chat-hf 项目地址: https://ai.gitcode.com/hf_mirrors/NousResearch/Llama-2-7b-chat-hf 概述 Llama-2-7b-Chat-hf是Meta开发的70亿参数对话优化大语言模型,采用先进的Transformer架构,专门针对对话场景进行了精细调优。该模型在Hugging Face Transformers格式下提供了完整的预训练权重和分词器配置,支持多种自然语言生成任务。 系统要求 硬件配置 * 内存要求:至少16GB RAM(推荐32GB以上) * 存储空间:模型文件约13GB,需预留充足空间 * GPU支持:推荐使用NVIDIA GPU,CUDA 11.0+版本 软件环境 * 操作系统:Linux、Windows或macOS * Python版本:3.7及以上 * 深度学习框架:PyTorch 1.8.0+ * 必备库:transformers、

Stable Diffusion 3.5 开发指南(三):Stable Diffusion 3.5 LoRA 微调

概述 在之前的章节中,我们学习了如何获取和调用 Stable Diffusion 3.5 模型,以及深入理解了其核心的 Flow Matching 机制。本章将聚焦于LoRA(Low-Rank Adaptation)微调技术,这是一种高效的模型定制方法,能够在保持原有模型性能的同时,仅通过少量参数更新即可实现特定任务的定制化。 1. 数据集准备 1.1 数据集格式 微调 Stable Diffusion 3.5 模型需要图像-文本对数据集,每个数据项应包含以下两个核心字段: * img_path:图像文件的路径(支持绝对路径或相对路径) * caption:与图像内容精准匹配的文本描述 示例 JSON 数据集格式 [{"img_path":"/path/to/image1.jpg"