OpenClaw 提供了强大的浏览器控制工具,支持两种模式:openclaw 托管模式(隔离的 Chromium 配置文件)和 chrome 模式(通过扩展中继到系统浏览器)。可以将其视为一个独立的、仅供代理使用的浏览器。
概述
浏览器工具是 loopback-only 的、经过沙箱隔离的,永远不会触及个人配置文件。所有访问都通过网关的身份验证或节点配对流动。这个浏览器不是您的日常浏览器,而是一个安全、隔离的操作界面。
启用浏览器工具
在 ~/.openclaw/openclaw.json 中设置 "browser.enabled": true:
{
"browser": {
"enabled": true,
"defaultProfile": "openclaw"
}
}
如果出现"Browser disabled"提示,请启用浏览器并重启网关。默认配置文件是 "chrome";使用 "openclaw" 可切换到托管模式。
浏览器操作
生命周期管理
status- 检查浏览器状态start- 启动浏览器stop- 停止浏览器tabs- 列出所有标签页tab new/select/close- 管理标签页open- 打开 URLfocus- 聚焦标签页close- 关闭标签页
页面检查
screenshot- 截取全页面或特定元素的屏幕截图snapshot- 获取页面快照(AI/ARIA/efficient/interactive 格式)console- 查看控制台日志errors- 查看错误信息requests- 查看网络请求pdf- 导出为 PDFresponsebody- 获取响应体内容
交互操作
navigate- 导航到 URLresize- 调整窗口大小click- 点击元素type- 输入文本press- 按键hover- 鼠标悬停scrollintoview- 滚动到元素drag- 拖拽元素select- 选择下拉选项download- 下载文件waitfordownload- 等待下载完成upload- 上传文件fill- 填充表单dialog- 处理对话框wait- 等待evaluate- 执行 JavaScripthighlight- 高亮元素trace start/stop- 开始/停止跟踪
状态管理
cookies- 管理 Cookiestorage- 管理本地存储set offline/headers/credentials/geo/media/timezone/locale/device- 设置浏览器状态
配置选项
基础配置
{
"browser": {
"enabled": true,
"defaultProfile": "openclaw",
"color": "#00ff00",
"headless": false,
"noSandbox": false,
"attachOnly": false,
"executablePath": "/usr/bin/chromium"
}
}
配置文件管理
OpenClaw 支持多个浏览器配置文件,每个配置文件可以有不同的 CDP URL 和颜色标识:
{
"browser": {
"profiles": {
"openclaw": {
"cdpPort": 18800,
"color": "#00ff00"
},
"work": {
"cdpPort": 18801,
"color": "#0000ff"
},
"remote": {
"cdpUrl": "https://user:pass@remote-host:9222",
"color": "#ff0000"
},
"browserless": {
"cdpUrl": "wss://chrome.browserless.io?token=YOUR_TOKEN",
"color": "#ffff00"
}
}
}
}
端口配置
- 网关端口 + 2 → 中继端口(默认 18792)
- 本地 CDP 端口范围:18800–18899
- 可以通过
cdpPort或cdpUrl自定义
浏览器自动化工作流
高层架构:
HTTP 控制服务器 ↔ Chromium (via CDP) ↔ Playwright (高级操作)
工作流程:
- 本地控制启动浏览器
- 远程控制代理到节点主机或 Browserless.io
- 配置文件路由请求——通过
?profile=或--browser-profile选择
常用命令示例
基础操作
# 检查浏览器状态
openclaw browser --browser-profile openclaw status
# 打开网页
openclaw browser --browser-profile openclaw open https://example.com
# 截图
openclaw browser screenshot --full-page
# 获取页面快照
openclaw browser snapshot --format aria --limit 200
交互操作
# 点击元素(使用元素引用)
openclaw browser click e12 --double
# 输入文本
openclaw browser type "搜索内容" --input-ref e5
# 填充表单
openclaw browser fill --element "input[name='username']" "myuser"
# 等待下载
openclaw browser waitfordownload --timeout 30000
配置浏览器
# 设置自定义浏览器路径
openclaw config set browser.executablePath "/usr/bin/brave-browser"
# 启用无头模式
openclaw config set browser.headless true
主要参数说明
--browser-profile- 指定配置文件(openclaw,chrome,browserless等)--json- 机器可读的 JSON 输出--ref,--selector,--frame- 目标元素--format ai/aria/efficient- 快照格式--interactive- 交互模式--compact- 紧凑输出--depth- DOM 深度--labels- 显示标签--full-page- 全页面截图--url,--load,--fn- 导航和执行选项
高级功能
远程 CDP 支持
支持通过查询令牌或基本认证连接到远程 CDP:
// 使用基本认证
{
"browser": {
"profiles": {
"remote": {
"cdpUrl": "https://user:pass@remote-host:9222"
}
}
}
}
// 使用令牌
{
"browser": {
"profiles": {
"browserless": {
"cdpUrl": "wss://chrome.browserless.io?token=YOUR_TOKEN"
}
}
}
}
Playwright 集成
部分高级操作需要 Playwright 支持:
navigateactpdf- AI 快照
如果缺少 Playwright,会返回 501 错误。
安全与最佳实践
安全提示
- 浏览器控制仅限 loopback;访问通过网关身份验证或节点配对
- 保持网关/节点在私有网络中(如 Tailscale)
- 将 CDP 令牌视为机密——使用环境变量或密钥管理器
- 避免在配置中嵌入长期有效的令牌
- 这个浏览器不是您的日常浏览器,它是一个安全、隔离的界面
重要提示
upload和dialog是预备调用——在触发 UI 之前运行attachOnly: true意味着"永不启动本地浏览器;仅在运行时附加"- 沙箱会话需要设置
agents.defaults.sandbox.browser.allowHostControl: true才能控制宿主浏览器 - 自动检测顺序:Chrome → Brave → Edge → Chromium → Canary
- 删除配置文件会将其数据目录移动到回收站
提示
更多浏览器控制的高级用法和示例,请参考 官方文档。