openclaw proxy
验证操作员托管的代理路由,或运行本地显式调试代理并检查捕获的流量。
validate 会预检操作员托管的转发代理。其余命令是用于传输层调查的调试工具:启动本地捕获代理、通过它运行子命令、列出捕获会话、查询流量模式、读取捕获的 Blob,并清除本地捕获数据。
验证
按优先级顺序从--proxy-url、配置(proxy.proxyUrl)或 OPENCLAW_PROXY_URL 检查有效的操作员托管代理 URL。如果未启用且未配置代理,则报告配置问题;传入 --proxy-url 可执行一次性预检,而不修改配置。
托管代理 URL 使用 http:// 表示普通转发代理监听器,或在 OpenClaw 必须先向代理端点本身打开 TLS、再发送代理请求时使用 https://。使用 --proxy-ca-file 信任该 TLS 连接的私有 CA。
默认会运行:
- 一个针对
https://example.com/的允许检查(可用--allowed-url覆盖/添加,可重复) - 一个针对临时环回探针的拒绝检查(可用
--denied-url覆盖,可重复)
--denied-url 目标采用失败关闭策略:HTTP 响应和含糊的传输失败都会计为失败,除非你能独立验证某个部署特定的拒绝信号。内置环回探针是唯一会将传输错误视为阻断证明的目标。
添加 --apns-reachable 还会通过代理打开 APNs HTTP/2 CONNECT 隧道,并确认沙箱 APNs 有响应。该探测会发送一个故意无效的提供商令牌,因此 APNs 403 InvalidProviderToken 响应会计为成功的可达性信号(不是失败)。
选项
| 标志 | 作用 |
|---|---|
--json | 打印机器可读的 JSON |
--proxy-url <url> | 验证这个 http:///https:// 代理 URL,而不是配置或环境变量 |
--proxy-ca-file <path> | 信任这个 PEM CA 文件,用于 HTTPS 代理端点的 TLS 验证 |
--allowed-url <url> | 预期可通过代理成功访问的目标(可重复) |
--denied-url <url> | 预期会被代理阻断的目标(可重复) |
--apns-reachable | 同时验证沙箱 APNs HTTP/2 可通过代理访问 |
--apns-authority <url> | 要探测的 APNs authority(默认 https://api.sandbox.push.apple.com;生产环境为 https://api.push.apple.com) |
--timeout-ms <ms> | 每个请求的超时时间 |
调试代理
start 会启动本地捕获代理,并打印其 URL、CA 证书路径和捕获 DB 路径;用 Ctrl+C 停止。默认绑定到 127.0.0.1,除非设置了 --host。
run 会启动本地调试代理,然后在应用代理环境变量的情况下,通过其自己的捕获会话运行 <cmd...>(位于 -- 之后)。
调试代理的直接上游转发会为诊断打开上游套接字。当 OpenClaw 托管代理模式处于活动状态时,默认会禁用代理请求和 CONNECT 隧道的直接转发;仅在批准的本地诊断中设置 OPENCLAW_DEBUG_PROXY_ALLOW_DIRECT_CONNECT_WITH_MANAGED_PROXY=1。
coverage 会打印一个 JSON 报告(summary + 每种传输的 entries),说明哪些传输已被捕获、仅代理,或未覆盖。
sessions 会列出最近的捕获会话(--limit,默认 20)。
query --preset <name> 会对捕获的流量运行内置查询,可选地限定到 --session <id>。预设:
double-sendsretry-stormscache-bustingws-duplicate-framesmissing-ackerror-bursts
blob --id <blobId> 会打印捕获的载荷 Blob 的原始内容。
purge 会删除所有捕获的流量元数据和 Blob。捕获内容是本地调试数据;完成后请清除。