保姆级 OpenClaw 浏览器配置教程

4 阅读7分钟

Linux、WSL2 环境下 Chrome 安装与配置完整指南


问题背景

在 WSL2 环境中配置 OpenClaw 浏览器遇到以下问题:

问题原因解决方案
Snap 版 Chromium 无法启动缺少依赖库(libpxbackend-1.0.so、xdg-settings)安装官方 Chrome
OpenClaw 自动启动失败检测到的浏览器不可用配置 executablePath
CDP 连接失败WSL2 网络/权限问题使用 attachOnly 模式

初始状态(配置前)

用户在飞书中发送指令(如「帮我打开 xxx 网站」),OpenClaw 会提示: 我的环境目前没有安装可用的浏览器,无法进行交互式操作 😅


配置成功后

完成所有配置后,浏览器可以正常使用:

执行 openclaw browser status

profile: openclaw
enabled: true
running: true
cdpPort: 18800
cdpUrl: http://127.0.0.1:18800
browser: chrome
detectedBrowser: custom
detectedPath: /usr/bin/google-chrome-stable
  • running: true → 浏览器正常运行

执行 openclaw browser start

✅ Browser started successfully
  • 成功启动,无报错

使用 browser 工具

browser action: navigate, profile: openclaw, url: http://www.sina.com.cn
# 结果:成功打开页面
  • 可以正常打开网页、执行自动化操作

环境说明

  • 操作系统:WSL2 (Ubuntu)
  • OpenClaw 版本:2026.3.8
  • 目标浏览器:Google Chrome

第一步:安装 Chrome

1.1 检查现有浏览器

首先检查系统中是否有可用的浏览器:

# 检查 Chromium 路径
which chromium
which chromium-browser

# 检查版本(如果有的话)
chromium-browser --version 2>&1

可能的结果:

  1. 无输出 → 未安装 Chromium
  2. 显示版本号(如 Chromium 145.0.7632.116 snap)→ 已安装 Snap 版(有问题)
  3. 报错(缺少依赖库)→ Snap 版不完整,需要安装官方 Chrome

发现问题:如果显示 Snap 版本,说明 chromium-browser 是 Snap 版本,缺少依赖库,运行会报错。

卸载 Snap 版 Chromium(可选,如果需要彻底清除):

sudo snap remove chromium
/usr/bin/chromium-browser: line 12: xdg-settings: command not found
libpxbackend-1.0.so: cannot open shared object file: No such file or directory
Chromium 145.0.7632.116 snap

这是因为 Ubuntu 的 Chromium 是 Snap 版本,打包不完整,缺少必要的共享库。

1.2 下载 Google Chrome

从 Google 官方网站下载最新的稳定版 Chrome:

cd /tmp
wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -O chrome.deb

1.3 安装 Chrome

sudo dpkg -i chrome.deb

可能出现依赖报错(正常现象):

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 libasound2 (>= 1.0.17); however:
  Package libasound2 is not installed.
 google-chrome-stable depends on libnspr4 (>= 2:4.9-2~); however:
  Package libnspr4 is not installed.
 google-chrome-stable depends on libnss3 (>= 2:3.35); however:
  Package libnss3 is not installed.
 google-chrome-stable depends on xdg-utils (>= 1.0.2); however:
  Package xdg-utils is not installed.

这是正常现象,Chrome 依赖一些额外的包。使用以下命令修复:

sudo apt-get install -f -y

可能出现的警告:安装过程中可能出现 needrestart is being skipped since dpkg has failed,这是正常现象,表示需要重启的服务被暂时跳过,可以忽略。

1.4 验证安装

google-chrome --version

成功输出:

Google Chrome 146.0.7680.71

第二步:配置 OpenClaw

安装好 Chrome 后,需要配置 OpenClaw。

2.1 为什么要设置 profile: "openclaw"?

OpenClaw 支持两种浏览器模式:

Profile说明使用场景
chrome使用系统默认浏览器或 Chrome 扩展需要登录账号、保持会话(如日常使用)
openclawOpenClaw 自己管理的浏览器自动化操作、无需登录

为什么选择 openclaw:

  1. 独立环境:openclaw 使用独立的数据目录(/tmp/chrome-openclaw),不会影响你日常使用的 Chrome
  2. 自动化友好:专为自动化设计,不会弹出登录提示
  3. 状态可控:每次启动都是干净的环境,易于调试
  4. CDP 稳定:使用独立的调试端口,连接更稳定

使用方式:

在 OpenClaw 中使用 browser 工具时,通过 profile: "openclaw" 指定使用哪个浏览器:

# 使用 openclaw 浏览器
browser action: navigate, profile: openclaw, url: http://example.com

# 使用 chrome 浏览器(默认)
browser action: navigate, url: http://example.com

2.2 为什么要设置 headless?

headless 参数控制浏览器是否以"无头模式"运行:

模式说明优缺点
headless: true无头模式,不显示浏览器窗口节省资源,但看不到界面
headless: false有头模式,显示浏览器窗口可以看到浏览器操作过程

为什么通常设为 true:

  1. 节省资源:不需要渲染图形界面,节省 CPU 和内存
  2. 后台运行:适合服务器环境,不需要显示器更快启动
  3. ****:跳过界面渲染,启动更快

什么时候设为 false:

  1. 调试时:想看到浏览器的操作过程
  2. 复杂交互:页面有复杂的动画或交互需要观察
  3. 首次配置:不确定问题在哪,需要观察浏览器行为

推荐设置:

# 服务器环境,推荐 true
openclaw config set browser.headless true

# 调试环境,可以设为 false
openclaw config set browser.headless false

2.3 使用命令行配置(推荐)

这是最简单的方式,使用 openclaw config set 命令:

# 设置默认浏览器为 openclaw
openclaw config set browser.defaultProfile openclaw

# 设置无头模式
openclaw config set browser.headless true

# 设置 Chrome 路径
openclaw config set browser.executablePath /usr/bin/google-chrome-stable

# WSL2 必须开启
openclaw config set browser.noSandbox true

⚠️ 重要:配置完成后必须重启 Gateway

openclaw gateway restart

不重启会导致配置不生效,启动浏览器时会报错。

2.4 手动编辑配置文件

也可以直接编辑 ~/.openclaw/openclaw.json

{
  "browser": {
    "enabled": true,
    "defaultProfile": "openclaw",
    "executablePath": "/usr/bin/google-chrome-stable",
    "headless": true,
    "noSandbox": true
  }
}

第三步:选择连接方案

配置完成后,有两种方案可以选择:

方案一:自动启动(推荐)

OpenClaw 自动管理浏览器生命周期。

步骤 1:确保 attachOnly 为 false(默认)

openclaw config set browser.attachOnly false

或者在配置文件中确保没有 "attachOnly": true

步骤 2:重启 OpenClaw

openclaw gateway restart

步骤 3:测试

openclaw browser status

正常情况下应该显示 running: true


方案二:手动启动(备用)

当方案一失败时使用。浏览器由用户手动启动,OpenClaw 仅连接控制。

步骤 1:设置 attachOnly 为 true

openclaw config set browser.attachOnly true
openclaw config set browser.cdpPort 18800

步骤 2:重启 OpenClaw

openclaw gateway restart

步骤 3:手动启动 Chrome

/usr/bin/google-chrome-stable \
  --headless \
  --no-sandbox \
  --disable-gpu \
  --remote-debugging-port=18800 \
  --user-data-dir=/tmp/chrome-openclaw &

参数说明:

参数说明
--headless无头模式运行,不显示窗口
--no-sandboxWSL2 必须加,否则权限错误
--disable-gpu禁用 GPU 加速
--remote-debugging-portCDP 调试端口
--user-data-dir用户数据目录

步骤 4:验证 Chrome 启动

curl -s http://127.0.0.1:18800/json/version

成功返回 JSON:

{
   "Browser": "Chrome/146.0.7680.71",
   "Protocol-Version": "1.3",
   "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36...",
   "V8-Version": "14.6.202.11",
   "webSocketDebuggerUrl": "ws://127.0.0.1:18800/devtools/browser/..."
}

完整配置命令汇总

方案一(自动启动)

# 1. 安装 Chrome(见第一步)

# 2. 配置 OpenClaw
openclaw config set browser.defaultProfile openclaw
openclaw config set browser.headless true
openclaw config set browser.executablePath /usr/bin/google-chrome-stable
openclaw config set browser.noSandbox true
openclaw config set browser.attachOnly false

# 3. 重启
openclaw gateway restart

# 4. 测试
openclaw browser status

方案二(手动启动)

# 1. 安装 Chrome(见第一步)

# 2. 配置 OpenClaw
openclaw config set browser.defaultProfile openclaw
openclaw config set browser.headless true
openclaw config set browser.executablePath /usr/bin/google-chrome-stable
openclaw config set browser.noSandbox true
openclaw config set browser.attachOnly true
openclaw config set browser.cdpPort 18800

# 3. 重启
openclaw gateway restart

# 4. 手动启动 Chrome
/usr/bin/google-chrome-stable --headless --no-sandbox --disable-gpu --remote-debugging-port=18800 --user-data-dir=/tmp/chrome-openclaw &

# 5. 验证
curl -s http://127.0.0.1:18800/json/version

使用方法

基本语法

在 OpenClaw 中使用 browser 工具时,必须指定 profile: "openclaw"

browser action: <操作>, profile: openclaw, url: <网址>

常用操作

操作说明示例
navigate打开网页navigate, profile: openclaw, url: example.com
open在新标签页打开open, profile: openclaw, url: example.com
snapshot截图/获取页面内容snapshot, profile: openclaw
click点击元素click, profile: openclaw, ref: e12
type输入文字type, profile: openclaw, ref: e10, text: hello
act综合操作act, kind: click, profile: openclaw, ref: e34

验证步骤

按顺序执行以下命令验证配置是否正确:

# 1. 检查 Chrome 版本
google-chrome --version

# 2. 检查配置文件
openclaw browser status

# 3. 检查 Chrome 进程
ps aux | grep chrome

# 4. 检查 CDP 端口
curl -s http://127.0.0.1:18800/json/version

# 5. 测试打开网页
browser action: open, profile: openclaw, url: http://www.sina.com.cn

常见问题

Q1: Chrome 安装后仍无法启动

解决:执行 sudo apt-get install -f -y 修复依赖

Q2: openclaw browser start 显示 running: false

解决:使用方案二(手动启动 + attachOnly)

Q3: 无法访问内网网站

解决:确保 WSL2 网络可达,可能需要 VPN/代理

Q4: CDP 端口连接失败

解决:确认配置文件中的端口与启动 Chrome 时的端口一致


配置参数说明

参数命令说明推荐值
defaultProfilebrowser.defaultProfile默认浏览器配置(chrome 或 openclaw)openclaw
executablePathbrowser.executablePathChrome 路径/usr/bin/google-chrome-stable
headlessbrowser.headless无头模式(true=无窗口,false=有窗口)true
noSandboxbrowser.noSandboxWSL2 必须开启true
attachOnlybrowser.attachOnly手动模式(true=只连接已启动的浏览器)false
cdpPortbrowser.cdpPort调试端口18800

关键教训

  1. Snap 版 Chromium 有问题:Ubuntu 的 Snap 版存在依赖问题,必须安装官方 Chrome
  2. apt 仓库没有 Chromium:必须从 Google 官网下载 .deb 包
  3. WSL2 必须加 --no-sandbox:否则会报权限错误
  4. attachOnly + 手动启动最稳定:避免自动启动的各种权限问题