Skip to main content
大多数设置只需要一个 Gateway 网关——单个 Gateway 网关可以处理多个消息连接和智能体。仅当需要更强的隔离或冗余(例如救援 Bot)时,才使用隔离的配置文件/端口运行多个独立的 Gateway 网关。

救援 Bot 快速开始

最简单的救援 Bot 设置:
  • 让主 Bot 继续使用默认配置文件。
  • --profile rescue 上运行救援 Bot,并为其配置独立的 Telegram Bot 令牌。
  • 为救援 Bot 使用不同的基础端口,例如 19789
这样,如果主 Bot 停止运行,救援 Bot 仍能进行调试或应用配置更改。基础端口之间至少留出 20 个端口,以确保派生的浏览器/CDP 端口绝不会发生冲突。
如果主 Bot 已在运行,通常只需执行这些操作。如果新手引导已经安装了救援服务,请跳过最后的 gateway install openclaw --profile rescue onboard 期间:
  • 使用专供救援账户使用的独立 Telegram Bot 令牌(便于限制为仅操作员可用,独立于主 Bot 的渠道/应用安装,并提供简单的基于私信的恢复路径)。
  • 保留 rescue 配置文件名称。
  • 使用至少比主 Bot 高 20 的基础端口。
  • 接受默认的救援工作区,除非你已经自行管理了一个工作区。

--profile rescue onboard 会更改什么

--profile rescue onboard 会运行常规新手引导流程,但会将所有内容写入独立的配置文件,因此救援 Bot 拥有自己的:
  • 配置文件/配置文件
  • 状态目录
  • 工作区(默认:~/.openclaw/workspace-rescue
  • 托管服务名称
  • 基础端口(以及派生端口)
  • Telegram Bot 令牌
除此之外,提示与常规新手引导相同。

常规多 Gateway 网关设置

同样的隔离模式适用于一台主机上的任意两个或多个 Gateway 网关——为每个额外的 Gateway 网关分配独立的命名配置文件和基础端口:
两边都使用命名配置文件也可以:
服务也遵循相同的模式:
将救援 Bot 快速开始用于备用操作员通道;将常规配置文件模式用于跨不同渠道、租户、工作区或运维角色运行多个长期存在的 Gateway 网关。

隔离检查清单

每个 Gateway 网关实例都应为以下设置使用唯一值: 共享其中任何一项都会导致配置、状态或端口冲突。即使 OPENCLAW_ALLOW_MULTI_GATEWAY=1 跳过了每个配置的单实例限制,Gateway 网关启动时 也会强制要求状态目录的所有权唯一。

端口映射(派生)

基础端口 = gateway.port(或 OPENCLAW_GATEWAY_PORT / --port)。
  • 浏览器控制服务端口 = 基础端口 + 2(仅 local loopback)。
  • Canvas 主机由 Gateway 网关 HTTP 服务器自身提供服务(与 gateway.port 使用相同端口)。
  • 浏览器配置文件的 CDP 端口从 browser control port + 9+ 108 自动分配。
如果在配置或环境变量中覆盖其中任何端口,则必须确保每个实例使用唯一值。

浏览器/CDP 注意事项(常见陷阱)

  • 不要在多个实例上将 browser.cdpUrl 固定为相同的值。
  • 每个实例都需要独立的浏览器控制端口和 CDP 范围(从其 Gateway 网关端口派生)。
  • 如需显式指定 CDP 端口,请为每个实例设置 browser.profiles.<name>.cdpPort
  • 对于远程 Chrome,请使用 browser.profiles.<name>.cdpUrl(每个配置文件、每个实例分别设置)。

手动环境变量示例

快速检查

  • gateway status --deep 会捕获旧安装遗留的 launchd/systemd/schtasks 服务。
  • 只有当你有意运行多个隔离的 Gateway 网关,或者 OpenClaw 无法证明可访问的探测目标是同一个 Gateway 网关时,才会出现 gateway probe 警告文本(例如 multiple reachable gateway identities detected),这是预期行为。指向同一 Gateway 网关的 SSH 隧道、代理 URL 或已配置的远程 URL,都属于一个具有多个传输方式的 Gateway 网关,即使各传输端口不同也是如此。

相关内容