Gateway CLI
Gateway 是 OpenClaw 的 WebSocket 服务器,负责管理 Channel、节点、Session 和钩子。
本页面的所有子命令都在 openclaw gateway … 下。
相关文档:
运行 Gateway
运行本地 Gateway 进程:
openclaw gateway
前台运行的别名:
openclaw gateway run
注意事项:
- 默认情况下,Gateway 会拒绝启动,除非在
~/.openclaw/openclaw.json中设置了gateway.mode=local。如果是临时或开发环境运行,可以用--allow-unconfigured参数。 - 为了安全,禁止在没有认证的情况下绑定到本地回环之外的地址。
- 当授权后,
SIGUSR1信号会触发进程内重启(需要启用commands.restart或使用 gateway 工具/配置应用/更新)。 SIGINT/SIGTERM信号会停止 Gateway 进程,但不会恢复自定义的终端状态。如果你用 TUI 或原始模式输入包装了 CLI,记得在退出前恢复终端状态。
选项
--port <port>:WebSocket 端口(默认从配置/环境变量读取,通常是18789)。--bind <loopback|lan|tailnet|auto|custom>:监听器绑定模式。--auth <token|password>:认证模式覆盖。--token <token>:token 覆盖(同时会为进程设置OPENCLAW_GATEWAY_TOKEN)。--password <password>:密码覆盖(同时会为进程设置OPENCLAW_GATEWAY_PASSWORD)。--tailscale <off|serve|funnel>:通过 Tailscale 暴露 Gateway。--tailscale-reset-on-exit:关闭时重置 Tailscale serve/funnel 配置。--allow-unconfigured:允许在配置中没有gateway.mode=local的情况下启动 Gateway。--dev:如果缺少开发配置和 Workspace,自动创建(跳过 BOOTSTRAP.md)。--reset:重置开发配置、凭证、Session 和 Workspace(需要配合--dev使用)。--force:启动前强制关闭选定端口上的现有监听器。--verbose:详细日志。--claude-cli-logs:仅在控制台显示 claude-cli 日志(并启用其 stdout/stderr)。--ws-log <auto|full|compact>:WebSocket 日志样式(默认auto)。--compact:--ws-log compact的别名。--raw-stream:将原始模型流事件记录到 jsonl。--raw-stream-path <path>:原始流 jsonl 路径。
查询运行中的 Gateway
所有查询命令都使用 WebSocket RPC。
输出模式:
- 默认:人类可读格式(在 TTY 中带颜色)。
--json:机器可读的 JSON 格式(无样式/加载动画)。--no-color(或NO_COLOR=1):禁用 ANSI 颜色但保留人类可读布局。
共享选项(支持的命令):
--url <url>:Gateway WebSocket URL。--token <token>:Gateway token。--password <password>:Gateway 密码。--timeout <ms>:超时/预算(因命令而异)。--expect-final:等待”最终”响应(Agent 调用)。
gateway health
openclaw gateway health --url ws://127.0.0.1:18789
gateway status
gateway status 显示 Gateway 服务(launchd/systemd/schtasks)以及可选的 RPC 探测。
openclaw gateway status
openclaw gateway status --json
选项:
--url <url>:覆盖探测 URL。--token <token>:探测的 token 认证。--password <password>:探测的密码认证。--timeout <ms>:探测超时(默认10000)。--no-probe:跳过 RPC 探测(仅查看服务)。--deep:同时扫描系统级服务。
gateway probe
gateway probe 是”调试一切”的命令。它总是会探测:
- 你配置的远程 Gateway(如果设置了),以及
- localhost(本地回环)即使配置了远程 Gateway 也会探测。
如果多个 Gateway 可达,它会打印所有 Gateway。当你使用隔离的配置文件/端口(例如救援机器人)时,支持多个 Gateway,但大多数安装仍然只运行单个 Gateway。
openclaw gateway probe
openclaw gateway probe --json
通过 SSH 远程连接(Mac 应用同等功能)
macOS 应用的”通过 SSH 远程连接”模式使用本地端口转发,这样远程 Gateway(可能只绑定到本地回环)就可以通过 ws://127.0.0.1:<port> 访问。
CLI 等效命令:
openclaw gateway probe --ssh user@gateway-host
选项:
--ssh <target>:user@host或user@host:port(端口默认为22)。--ssh-identity <path>:身份文件。--ssh-auto:自动选择第一个发现的 Gateway 主机作为 SSH 目标(仅限局域网/WAB)。
配置(可选,用作默认值):
gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
底层 RPC 辅助工具。
openclaw gateway call status
openclaw gateway call logs.tail --params '{"sinceMs": 60000}'
管理 Gateway 服务
openclaw gateway install
openclaw gateway start
openclaw gateway stop
openclaw gateway restart
openclaw gateway uninstall
注意事项:
gateway install支持--port、--runtime、--token、--force、--json参数。- 生命周期命令接受
--json参数用于脚本化。
发现 Gateway(Bonjour)
gateway discover 扫描 Gateway 信标(_openclaw-gw._tcp)。
- 多播 DNS-SD:
local. - 单播 DNS-SD(广域 Bonjour):选择一个域(例如:
openclaw.internal.)并设置分离 DNS + DNS 服务器;参见 /gateway/bonjour
只有启用了 Bonjour 发现(默认启用)的 Gateway 才会广播信标。
广域发现记录包含(TXT):
role(Gateway 角色提示)transport(传输提示,例如gateway)gatewayPort(WebSocket 端口,通常是18789)sshPort(SSH 端口;如果不存在则默认为22)tailnetDns(MagicDNS 主机名,如果可用)gatewayTls/gatewayTlsSha256(TLS 已启用 + 证书指纹)cliPath(远程安装的可选提示)
gateway discover
openclaw gateway discover
选项:
--timeout <ms>:每个命令的超时时间(浏览/解析);默认2000。--json:机器可读输出(同时禁用样式/加载动画)。
示例:
openclaw gateway discover --timeout 4000
openclaw gateway discover --json | jq '.beacons[].wsUrl'