本页内容
本页内容
工具
远程和托管浏览器
本地控制与远程控制
- **本地控制(默认):**网关启动环回控制服务并可以启动本地浏览器。无目标操作可以启动它(例如,
open、navigate或openclaw browser start)。通过targetId、选项卡 ID 或标签命名选项卡的操作永远不会启动已停止的浏览器,因为新浏览器无法包含该选项卡;启动浏览器或打开新选项卡,然后选择当前目标。 - **远程控制(节点主机):**运行节点主机(参见节点用于配对和节点主机CLI为了
openclaw node run)在有浏览器的机器上;网关将浏览器操作代理给它。 - Remote CDP: 设置
browser.profiles.<name>.cdpUrl(或browser.cdpUrl)以附加到基于 Chromium- 的远程浏览器。在这种情况下,OpenClaw 将不会启动本地浏览器。 - 对于环回上外部管理的 CDP 服务(例如发布到
127.0.0.1的 Docker 中的无浏览器),还设置attachOnly: true。没有attachOnly的环回 CDP 被视为本地 OpenClaw- 托管浏览器配置文件。 headless只影响 OpenClaw 启动的本地托管配置文件。它不会重启或更改现有会话或远程 CDP 浏览器。executablePath遵循相同的本地托管配置文件规则。在正在运行的本地托管配置文件上更改它会将该配置文件标记为 restart/reconcile,以便下次启动时使用新的二进制文件。
停止行为会因配置文件模式而不同:
- 本地托管配置文件:
openclaw browser stop会停止 OpenClaw 启动的浏览器进程 - 仅 attach 和远程 CDP 配置文件:
openclaw browser stop关闭活动控制会话并释放 Playwright/CDP 模拟覆盖(视口、配色方案、区域设置、时区、离线模式和类似状态),即使 OpenClaw 没有启动浏览器进程
远程 CDP URL 可以包含身份验证:
- 查询令牌(e.g.、
https://provider.example?token=<token>) - HTTP 基本身份验证(e.g.、
https://user:[email protected])
OpenClaw 在调用 /json/* 端点以及连接 CDP WebSocket 时都会保留认证信息。请优先使用环境变量或机密管理器来管理令牌,而不是将其提交到配置文件中。
Node 浏览器代理(零配置默认)
如果您在具有浏览器的计算机上运行 node 主机,则当网关主机没有本地浏览器功能时,OpenClaw 可以自动将浏览器工具调用路由到该节点。自动路由更喜欢主机,包括已安装可执行文件的已停止的托管浏览器。显式 target="node"、node 选择器或 gateway.nodes.browser.node 会覆盖该首选项; target="host" 始终保留在主机上。
即使未安装托管浏览器可执行文件,所选主机配置文件也拥有现有会话、扩展、仅附加和远程 CDP 连接。启动失败、无效的可执行设置、权限错误和页面操作失败均保留在该所有者身上; OpenClaw 不会在另一台机器上重播它们。仅在所选节点处理请求之前,才允许从所选节点自动进行主机回退。一旦操作到达节点,其后续快照或设置将保留在该节点上,而不是切换浏览器。
当未选择网关或节点路由时,独立运行(例如 openclaw agent exec)使用主机浏览器。他们不需要网关凭据来进行本地浏览器控制。沙箱路由和主机控制限制仍然适用。要从独立运行中通过本地网关发现浏览器节点,请设置 gateway.nodes.browser.mode="auto";仅当本地功能不可用时才运行发现。显式节点目标或引脚、远程网关配置或 OPENCLAW_GATEWAY_URL 也使节点发现保持启用状态。显式节点目标和引脚保留连接和身份验证错误。
注意:
- 节点主机通过一个 代理命令 暴露其本地浏览器控制服务器。
- 配置文件来自节点自身的
browser.profiles配置(与本地相同)。 - 代理命令从不允许持久配置文件突变(
create-profile、delete-profile、reset-profile),无论allowProfiles如何;直接在节点上进行这些更改。 nodeHost.browserProxy.allowProfiles是可选的。对于 legacy/default 行为,将其留空:所有配置的配置文件仍然可以通过代理访问。- 如果你设置了
nodeHost.browserProxy.allowProfiles,OpenClaw 会将其视为最小权限边界,仅限制代理可目标指向的配置文件名称。 - Requests 在准备工作时保留其选择的配置文件。节点在浏览器操作之前(包括启动或上传准备之后)重新检查代理和配置文件访问。
- 如果你不想启用它,可以禁用:
- 在节点上:
nodeHost.browserProxy.enabled=false - 在网关上:
gateway.nodes.browser.mode="off"(也接受"auto"以首选主机并回退到单个连接的浏览器节点,或"manual"以要求显式节点选择或配置的引脚)
- 在节点上:
Browserless(托管远程 CDP)
Browserless 是托管的 Chromium 服务,它通过 HTTPS 和 WebSocket 公开 CDP 连接 URL。 OpenClaw 可以使用任一形式,但对于远程浏览器配置文件,最简单的选项是来自 Browserless 连接文档的直接 WebSocket URL。
示例:
注意:
- 将
<BROWSERLESS_API_KEY>替换为你真实的 Browserless 令牌。 - 选择与你的 Browserless 账户匹配的区域端点(参见其文档)。
- 如果 Browserless 提供的是 HTTPS 基础 URL,你可以将其转换为
wss://以进行直接 CDP 连接,或者保留 HTTPS URL 并让 OpenClaw 发现/json/version。
同一主机上的 Browserless Docker
当 Browserless 由 Docker 自托管且 OpenClaw 运行在主机上时,将 Browserless 视为外部托管的 CDP 服务:
browser.profiles.browserless.cdpUrl 中的地址必须能够从 OpenClaw 进程访问。Browserless 也必须声明一个可访问的匹配端点; 将 Browserless 的 EXTERNAL 设置为与 OpenClaw 可访问的相同 WebSocket 基础地址,例如 ws://127.0.0.1:3000、ws://browserless:3000,或稳定的私有 Docker 网络地址。如果 /json/version 返回的 webSocketDebuggerUrl 指向一个 OpenClaw 无法访问的地址,那么 CDP 的 HTTP 部分看起来可能正常,而 WebSocket 附加仍然会失败。
对于回环上的 Browserless 配置文件,不要让 attachOnly 处于未设置状态。没有 attachOnly 时,OpenClaw 会将回环端口视为本地托管浏览器配置文件,并可能报告该端口正在使用但并非由 OpenClaw 拥有。
直接 WebSocket CDP 提供商
某些托管浏览器服务公开 direct WebSocket 端点,而不是基于标准 HTTP- 的 CDP 发现 (/json/version)。 OpenClaw 接受三个 CDP URL 形状并自动选择正确的连接策略:
- HTTP(S) 发现 -
http://host[:port]或https://host[:port]。 OpenClaw 调用/json/version以发现 WebSocket 调试器 URL,然后连接。无 WebSocket 回退。 - 直接 WebSocket 端点 -
ws://host[:port]/devtools/<kind>/<id>或wss://...,路径为/devtools/browser|page|worker|shared_worker|service_worker/<id>。 OpenClaw 通过 WebSocket 握手直接连接,并完全跳过/json/version。 - 裸 WebSocket 根 -
ws://host[:port]或wss://host[:port],无/devtools/...路径(e.g.) 无浏览器、浏览器库)。 OpenClaw 首先尝试 HTTP/json/version发现(将方案标准化为http/https);如果发现返回webSocketDebuggerUrl,则使用它,否则 OpenClaw 会退回到裸根处的直接 WebSocket 握手。如果通告的 WebSocket 端点拒绝 CDP 握手,但配置的裸根接受它,则 OpenClaw 也会回退到该根。这使得指向本地 Chrome 的裸ws://仍然可以连接,因为 Chrome 只接受来自/json/version的特定每个目标路径上的 WebSocket 升级,而托管提供程序在其发现端点通告短期的时仍然可以使用其根 WebSocket 端点URL 不适用于 Playwright CDP。
openclaw browser doctor 使用相同的发现优先、WebSocket- 回退逻辑作为运行时附加,因此连接成功的裸根 URL 不会被诊断报告为无法访问。
浏览器库
Browserbase 是一个用于运行无头浏览器的云平台,内置 CAPTCHA 解决、隐身模式和住宅代理。
注意:
- 注册并从 概览面板复制你的 API 密钥。
- 将
<BROWSERBASE_API_KEY>替换为你真实的 Browserbase API 密钥。 - Browserbase 会在 WebSocket 连接时自动创建浏览器会话,因此无需手动创建会话步骤。
- 查看 定价 以了解当前免费套餐限制和付费方案。
- 查看 Browserbase 文档 获取完整的 API 参考、SDK 指南和集成示例。
浏览器使用
Browser Use 通过其 CDP WebSocket 端点提供托管云浏览器。
注意:
- 注册并从设置-> API Keys复制您的API密钥。
- 将
<BROWSER_USE_API_KEY>替换为您的真实浏览器使用 API 密钥。 - 可选查询参数包括用于持久浏览器配置文件的
profileId、用于特定于国家/地区的路由的proxyCountryCode以及用于以分钟为单位的会话持续时间(最多 240)的timeout。 - 请参阅 浏览器使用 OpenClaw 指南 了解更多示例和提供程序选项。
注释
Notte 是一个用于运行无头浏览器的云平台,具有内置隐形、住宅代理和 CDP-native WebSocket 网关。
注意: