乐于分享
好东西不私藏

OpenClaw 如何操作浏览器

OpenClaw 如何操作浏览器

安装完openclaw,我们最基本的工作就是能够浏览网页、网络搜索或获取网页内容。 网页搜索可以通过使用内置的web-search工具,但由于基本上都需要api key,而且搜索适配器Brave → Gemini → Grok → Kimi → Perplexity都是国外网站,每个api key获取都需要相应的费用或国外银行卡等。

现在我们通过openclaw内置的browser通过playwright相似逻辑完成网页内容的检索,获取等工作。

一、在openclaw机器上安装浏览器

在命令行中运行以下命令(直接全部复制,多行运行即可)# 1. 更新本地软件包索引,确保获取最新的依赖信息sudo apt update# 2. 下载适用于 Debian/Ubuntu 的 64位安装包 (.deb 格式)wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb# 3. 安装 Google Chrome# apt install 会自动处理并安装缺失的依赖库(如 libgbm1, xdg-utils 等)sudo apt install -y ./google-chrome-stable_current_amd64.deb# 4. 安装中文字体,防止中文网页显示为方框(Tofu)sudo apt install -y fonts-noto-cjk# 5. 验证安装版本google-chrome --version

二、浏览器控制方式

OpenClaw 当前支持的浏览器控制方式,本质可以分为 3 「种架构路径」

  1. 「Managed Browser(托管浏览器)」
  2. 「Remote CDP(直接协议控制)」
  3. 「Existing-session via Chrome DevTools MCP(会话接管)」

「什么是CDP?」

**Chrome DevTools Protocol (CDP)** 是一套基于JSONWebSocket的底层协议,它开放了调试和控制Chromium内核浏览器(如ChromeEdge)的能力。简单来说,它就像一个能让外部程序与浏览器内核进行「双向通信」的“遥控器”。\

「什么是Chrome DevTools MCP?」

**Chrome DevTools MCP**是一种强大的工具,旨在通过 Model Context Protocol (MCP) 将 Chrome开发者工具的功能扩展到 AI 编码助理(如 Gemini、Copilot 等)。它允许这些助理实时调试网页、分析性能并自动化浏览器操作,从而提高代码生成和问题修复的效率。

2.1 「Managed Browser(托管浏览器)」

由 OpenClaw 自动启动并管理一个浏览器实例。

「控制方式」

OpenClaw → 启动 Chromium → CDP → 控制浏览器

「特点如下:」

  • 自动启动浏览器
  • 自动管理 userDataDir
  • 自动建立 CDP 连接
  • 完全不依赖用户已有浏览器

「配置如下:」

# openclaw.json"browser": {"defaultProfile""openclaw","headless"true,"noSandbox"true,"executablePath""/usr/bin/google-chrome"  }

可通过下面命令行直接修改配置,并启动

# 1. 使用独立浏览器需要此配置openclaw config set browser.defaultProfile "openclaw"# 2. 服务器没有显示器,必须开启 无头模式 才能在后台静默运行openclaw config set browser.headless true# 3. 在 Linux 服务器(尤其是以 root 身份运行时)必须开启 禁用沙盒模式 ,否则 Chrome 会因权限安全机制无法启动openclaw config set browser.noSandbox true# 4. 使用 $(which google-chrome) 自动获取二进制文件的实际安装路径(通常是 /usr/bin/google-chrome),动态设置 Chrome 可执行文件路径openclaw config set browser.executablePath "$(which google-chrome)"# 5. 重启 openclaw 网关openclaw gateway restart# 6. 为 openclaw 打开浏览器openclaw browser start

「检验如下:」

openclaw browser --browser-profile openclaw startopenclaw browser --browser-profile openclaw open https://www.baidu.com# 帮助信息openclaw browser --browser-profile openclaw --help

通过浏览器状态查看

openclaw browser status# 输出内容profile: openclawenabled: truerunning: truetransport: cdpcdpPort: 18800cdpUrl: http://127.0.0.1:18800browser: customdetectedBrowser: customdetectedPath: /usr/bin/google-chromeprofileColor: #FF4500

「openclaw界面」

openclaw的聊天窗口中输入"通过browser获取百度网页首页内容",输出结果如下:

2.2 「Remote CDP(直接协议控制)」

通过 Chrome DevTools Protocol(CDP)直接连接浏览器实例进行控制。

「控制方式」

OpenClaw → CDP WebSocket → Chrome

「特点」

  • 直接连接浏览器调试端口
  • 可控制 tabDOM、网络、JS 执行等底层能力
  • 支持 attach 已有 tab 或创建新 tab
  • 不依赖 MCP 或扩展

「配置如下:」

cpdUrl中的ip地址和端口可修改成远程ip和端口地址。」

"browser": {"defaultProfile""remote","profiles": {"remote": {"cdpUrl""http://127.0.01:9222","attachOnly"true,"color""#00AA00"      }    }  }

可通过如下命令配置

# 1. 使用独立浏览器需要此配置openclaw config set browser.defaultProfile "remote"# 2. 远程cdp协议浏览器远程地址,设置 attachOnly(远程必须为 true,禁止启动新浏览器,仅连接到现有实例(远程连接必须为 true))openclaw config set --json browser.profiles '{"remote":{"cdpUrl":"http://127.0.0.1:9222","attachOnly":true,"color":"#00AA00"}}'# 3. 启动网关openclaw gateway restart

「注意」:本种方式要先启动浏览器,并设置cpd的远程调试端口为9222

# 1. 启动局域网内容chrome浏览器,设置远程调试端口/usr/bin/google-chrome --remote-debugging-port=9222 --user-data-dir="/tmp/ChromeProfile"# 2. 输出部分DevTools listening on ws://127.0.0.1:9222/devtools/browser/9a756c13-fbae-483c-90b9-dbfebd4c2fbb

测试远程端口是否可用

curl http://127.0.0.1:9222/json/version# 输出内容{   "Browser": "Chrome/146.0.7680.177",   "Protocol-Version": "1.3",   "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",   "V8-Version": "14.6.202.31",   "WebKit-Version": "537.36 (@ae03f7fb2cf1215853896d6a4c15fdceee2badb7)",   "webSocketDebuggerUrl": "ws://127.0.0.1:9222/devtools/browser/9a756c13-fbae-483c-90b9-dbfebd4c2fbb"}

「检验如下:」

openclaw browser --browser-profile remote startopenclaw browser --browser-profile remote open https://www.baidu.com# 帮助信息openclaw browser --browser-profile remote --help

「聊天窗口」

  • 1、在开启--remote-debugging-port=9222的浏览器中打开抖音,并登录。

  • 2、在openclaw的聊天窗口输入

2.3 「Existing-session via Chrome DevTools MCP(会话接管)」

通过Chrome DevTools MCP server 接管一个「已经打开的浏览器实例」。属于 CDP 的一层工具化封装(Model Context Protocol)。

同时也是直接控制本地浏览器(共享用户个人profile)

「控制方式」

OpenClaw → MCP Server → CDP → Existing Chrome Session

「特点如下:」

  • 不启动新浏览器
  • 复用已有 tabs
  • 保留登录态
  • 需要用户确认 attach
  • 通过 MCP 将 CDP 转换为 tool 接口

「配置如下:」

  "browser": {    "defaultProfile": "user",    "profiles": {      "remote": {        "driver": "existing-session",        "attachOnly": true,        "color": "#00AA00"      }    }  }

可用如下命令配置

# 1. 使用独立浏览器需要此配置openclaw config set browser.defaultProfile "user"# 2. existing-session连接到已经运行的浏览器会话址,设置 attachOnly 禁止启动新浏览器openclaw config set --json browser.profiles '{"user":{"driver":"existing-session","attachOnly":true,"color":"#00AA00"}}'# 3. 启动网关openclaw gateway restart

「注意:该方式和前面的remote一样,都需要先启动浏览器」

# 启动本地浏览器/usr/bin/google-chrome

本地浏览器启动后,要开机远程调试,在打开的浏览器地址栏中输入如下内容

chrome://inspect/#remote-debugging

示例检查命令

openclaw browser --browser-profile user status

「检验如下:」

openclaw browser --browser-profile user startopenclaw browser --browser-profile user open https://www.baidu.com# 帮助信息openclaw browser --browser-profile user --help

「聊天窗口」

  • 1、本地浏览器已打开,也完成了前面的设置

  • 2、在openclaw的聊天窗口输入:“打开百度网址,并生成网址快照”

三、快速对比表

特性
Managed Browser
Remote CDP
Existing-session MCP
自动化程度
完全自动
半自动(需手动启浏览器)
手动(需用户打开浏览器并授权)
登录态复用
✅(指定 user-data-dir)
✅(直接复用当前会话)
无头运行
可(启动时带 --headless
远程控制
❌(仅本地)
✅(支持远程 IP)
❌(通常本地,需网络配置)
安全性
中(沙箱可禁用)
低(端口无认证)
高(用户确认+同会话)
是否新建浏览器
✅ 是
是否复用已有浏览器
⚠️ 可 attach

选择建议:

  • 「需要无人值守的自动化任务」 → 「Managed Browser」
  • 「需要保留登录态且可接受手动启动浏览器」 → 「Remote CDP」
  • 「希望 AI 辅助自己日常浏览、调试」 → 「Existing-session MCP」