本页内容

本页内容

CLI 命令

运行网关

启动网关进程并读取其配置的令牌。 openclaw gateway 参考的一部分。

运行 Gateway

bash
openclaw gatewayopenclaw gateway run   # equivalent, explicit form
启动行为
  • 意外启动失败会打印经过编辑的 [openclaw] Reason:,无需调试模式,包括在托管服务日志中。使用 --debug 或 OPENCLAW_DEBUG=1 包含堆栈跟踪。
  • Agent 请求等待当前启动模型运行时发布,包括当启动仍在准备身份验证时配置刷新替换初始发布。
  • Deferred 代理数据库准备在允许会话之前重试重叠配置或机密刷新。数据库打开和迁移运行一次;重复的取代或真正的数据库故障会保留启动拒绝。
  • 除非在 ~/.openclaw/openclaw.json 中设置了 gateway.mode=local,否则拒绝启动。使用 --allow-unconfigured 进行 ad-hoc/dev 运行;它绕过防护,无需编写或修复配置。
  • Startup 自动将基于规则的、无提示的旧密钥迁移应用于符合条件的无效单文件配置,包括在非交互式服务运行中。它仅在完全验证(包括插件)之后才写入,并将先前的配置保留在 .bak 环中。使用 $include 的配置、Nix 管理的配置以及由较新版本编写的配置均被排除。请参阅 旧版配置密钥迁移。
  • 如果自动迁移无法使配置生效,交互式终端可以提议运行openclaw doctor --fix并在同意后重试启动一次。非交互式运行改为打印命令。如果修复后的配置仍然无效,启动仍会停止。
  • 配置读取失败,包括 SQLite 检查期间存储不可用,停止启动并退出代码 1,以便服务监管可以重试。它们不会触发配置修复。无效配置和所需的离线迁移保留退出代码 78,这可以防止 systemd 重启循环;在重新启动之前解决报告的问题。
  • 在读取其共享状态快照之前,启动会等待最多五分钟,以便另一个 OpenClaw 进程中的临时架构所有者完成。显式脱机维护仍然会阻止访问,并且耗尽争用仍然是读取失败,退出代码为 1。
  • Startup 不会加载插件 Doctor 模块,只是为了收集有效配置的建议修复规则。无效配置仍然包含插件修复指导;即使配置有效,openclaw doctor 也会检查修复规则。
  • Config 恢复、共享状态准备情况和挂起的插件迁移读取共享当前准入快照。注册表刷新会重新检查准入,同时保留迁移和插件生命周期租约,然后验证持久替换。修复仍会比较写入前的当前状态。这不会更改更新迁移或存储的数据。
  • openclaw onboard --mode local 和 openclaw setup 写入 gateway.mode=local。如果配置文件存在但缺少 gateway.mode,则会被视为 damaged/clobbered 配置,并且网关拒绝为您猜测 local — 重新运行载入、手动设置密钥或传递 --allow-unconfigured。
  • 未经认证而绑定到 loopback 之外的地址会被阻止。
  • --bind 值 lan、tailnet 和 custom 通过 IPv4-only 路径进行解析; IPv6-仅自带主机设置需要在网关前面有 IPv4 sidecar 或代理。
  • SIGUSR2获得授权后触发进程内重新启动。commands.restart(默认:启用)外部发送的门SIGUSR2;将其设置为false阻止手动OS-信号重新启动。面向代理gateway工具是只读的;代理请求重新启动通过openclaw授权工具。有效的完全访问权限,包括默认(完全访问权限),无需批准提示即可授权允许的委派更改;限制运行需要人工批准。看委托设置和维修。
  • SIGUSR1 是为 Node 的检查器保留的,因此附加调试器不会重新启动网关。优先选择 openclaw gateway restart 进行重启;更新手动重启脚本以发送 SIGUSR2。
  • SIGINT/SIGTERM 会停止进程,但不会恢复自定义终端状态——如果你把 CLI 包装在 TUI 或原始模式输入中,请在退出前自行恢复终端。

选项

--port <port>

WebSocket 端口(默认来自 config/env;通常为 18789)。

--bind <mode>

绑定模式:loopback(默认)、lan、tailnet、auto、custom。

--token <token>

connect.params.auth.token 的共享令牌。若已设置,默认为 OPENCLAW_GATEWAY_TOKEN。

--auth <mode>

认证模式:none、token、password、trusted-proxy。

--password <password>

--auth password 的密码。

--password-file <path>

从文件中读取 Gateway 密码。

--tailscale <mode>

Tailscale 暴露方式:off、serve、funnel。

--allow-unconfiguredboolean

开始时不强制执行 gateway.mode=local。 Ad-hoc/dev 仅引导程序;不保留或修复配置。

--devboolean

如果缺失,则创建开发配置和工作区(跳过 BOOTSTRAP.md)。

--ambient-channelsboolean

允许网关为此过程从周围环境变量自动配置通道,包括配置重新加载。默认情况下,前台、开发和服务网关需要显式 channels.<id> 配置,例如 channels.discord.enabled=true。配置的通道仍然可以从环境变量中读取凭据。对于托管服务,添加通道配置块;服务安装不会保留此标志。

--dev-ambient-channelsboolean

已弃用 --ambient-channels 的别名。

--resetboolean

重置开发配置、凭据、会话和工作区。需要 --dev。

--forceboolean

在启动前终止目标端口上任何已存在的监听。在非交互式 shell 中,这会拒绝终止已验证的 Gateway 监听;请改用 --dev 或使用空闲端口的隔离 --profile。

--verboseboolean

详细记录到 stdout/stderr.

--cli-backend-logsboolean

仅在控制台显示 CLI 后端日志(同时也会启用 stdout/stderr)。

--ws-log <style>string

WebSocket 日志样式:auto、full、compact。

--compactboolean

--ws-log compact 的别名。

--raw-streamboolean

将原始模型流事件记录为 JSONL。

--raw-stream-path <path>

原始流 JSONL 路径。

--claude-cli-logs 是 --cli-backend-logs 的已弃用别名。

对于 --bind custom,将 gateway.customBindHost 设置为 IPv4 地址。对于同一主机客户端,除 127.0.0.1 或 0.0.0.0 之外的任何地址也需要在同一端口上使用 127.0.0.1;如果任一侦听器无法绑定,则启动失败。通配符 0.0.0.0 不添加单独的必需别名。 IPv6- 仅自带主机设置需要在网关前面有 IPv4 sidecar 或代理。

显示已配置的令牌

当客户端需要已配置的共享令牌时,在 Gateway 主机上运行:

bash
openclaw gateway auth-token --show

该命令会解析 gateway.auth.token、OPENCLAW_GATEWAY_TOKEN 和已配置的 SecretRefs,然后仅输出令牌。它要求使用交互式终端,并拒绝重定向或管道输出,以避免凭据无意中进入命令日志。请将终端输出视为机密信息。

如果未配置持久令牌,请运行 openclaw doctor --generate-gateway-token,重启 Gateway,然后重新运行该命令。通用的 openclaw config get 输出仍会被脱敏,包括使用 --json 时也是如此。

本页有帮助吗?