跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

大多数配置只需要一个 Gateway 网关,因为单个 Gateway 网关就可以处理多个消息连接和智能体。如果你需要更强的隔离性或冗余能力(例如救援机器人),请使用隔离的配置档案和端口运行独立的 Gateway 网关。

最佳推荐配置

对大多数用户来说,最简单的救援机器人配置是:
  • 将主机器人保留在默认配置档案上
  • 使用 --profile rescue 运行救援机器人
  • 为救援账户使用一个完全独立的 Telegram 机器人
  • 将救援机器人放在不同的基础端口上,例如 19789
这样可以让救援机器人与主机器人隔离,因此当主机器人宕机时,它仍然可以调试或应用配置更改。基础端口之间至少保留 20 个端口的间隔,这样派生出的浏览器 / canvas / CDP 端口就永远不会冲突。

救援机器人快速开始

除非你有充分理由采用其他方式,否则请将此作为默认路径:
# Rescue bot (separate Telegram bot, separate profile, port 19789)
openclaw --profile rescue onboard
openclaw --profile rescue gateway install --port 19789
如果你的主机器人已经在运行,通常这就是你所需要的全部操作。 在执行 openclaw --profile rescue onboard 期间:
  • 使用独立的 Telegram 机器人令牌
  • 保持使用 rescue 配置档案
  • 使用比主机器人至少高 20 的基础端口
  • 接受默认的救援工作区,除非你已经自行管理了一个
如果新手引导已经为你安装了救援服务,那么最后这条 gateway install 就不需要了。

为什么这样可行

救援机器人能够保持独立,是因为它拥有自己独立的:
  • 配置档案 / 配置
  • 状态目录
  • 工作区
  • 基础端口(以及派生端口)
  • Telegram 机器人令牌
对于大多数配置,建议为救援配置档案使用一个完全独立的 Telegram 机器人:
  • 易于保持为仅限操作员使用
  • 具有独立的机器人令牌和身份
  • 独立于主机器人的渠道 / 应用安装
  • 当主机器人出现故障时,提供简单的基于私信的恢复路径

--profile rescue onboard 会更改什么

openclaw --profile rescue onboard 使用正常的新手引导流程,但会将所有内容写入一个独立的配置档案。 在实际效果上,这意味着救援机器人会拥有自己独立的:
  • 配置文件
  • 状态目录
  • 工作区(默认是 ~/.openclaw/workspace-rescue
  • 托管服务名称
除此之外,其提示内容与普通新手引导相同。

通用多 Gateway 网关配置

上面的救援机器人布局是最简单的默认方案,但同样的隔离模式也适用于在一台主机上运行任意一对或一组 Gateway 网关。 对于更通用的配置,请为每个额外的 Gateway 网关分配它自己的命名配置档案以及它自己的基础端口:
# main (default profile)
openclaw setup
openclaw gateway --port 18789

# extra gateway
openclaw --profile ops setup
openclaw --profile ops gateway --port 19789
如果你希望两个 Gateway 网关都使用命名配置档案,也完全可行:
openclaw --profile main setup
openclaw --profile main gateway --port 18789

openclaw --profile ops setup
openclaw --profile ops gateway --port 19789
服务也遵循相同的模式:
openclaw gateway install
openclaw --profile ops gateway install --port 19789
当你想要一个后备的操作员通道时,请使用救援机器人快速开始。当你想为不同的渠道、租户、工作区或运维角色运行多个长期存在的 Gateway 网关时,请使用通用配置档案模式。

隔离检查清单

请确保每个 Gateway 网关实例以下项目都是唯一的:
  • OPENCLAW_CONFIG_PATH — 每个实例各自的配置文件
  • OPENCLAW_STATE_DIR — 每个实例各自的会话、凭证、缓存
  • agents.defaults.workspace — 每个实例各自的工作区根目录
  • gateway.port(或 --port)— 每个实例唯一
  • 派生出的浏览器 / canvas / CDP 端口
如果这些内容被共享,你将遇到配置竞争和端口冲突。

端口映射(派生)

基础端口 = gateway.port(或 OPENCLAW_GATEWAY_PORT / --port)。
  • 浏览器控制服务端口 = 基础端口 + 2(仅限 loopback)
  • canvas host 由 Gateway 网关 HTTP 服务器提供(与 gateway.port 使用同一个端口)
  • 浏览器配置档案 CDP 端口会从 browser.controlPort + 9 .. + 108 自动分配
如果你在配置或环境变量中覆盖其中任何项,必须确保它们在每个实例之间保持唯一。

浏览器 / CDP 说明(常见陷阱)

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

手动环境变量示例

OPENCLAW_CONFIG_PATH=~/.openclaw/main.json \
OPENCLAW_STATE_DIR=~/.openclaw \
openclaw gateway --port 18789

OPENCLAW_CONFIG_PATH=~/.openclaw/rescue.json \
OPENCLAW_STATE_DIR=~/.openclaw-rescue \
openclaw gateway --port 19789

快速检查

openclaw gateway status --deep
openclaw --profile rescue gateway status --deep
openclaw --profile rescue gateway probe
openclaw status
openclaw --profile rescue status
openclaw --profile rescue browser status
说明:
  • gateway status --deep 有助于发现旧安装遗留下来的过时 launchd/systemd/schtasks 服务。
  • 当你有意运行多个隔离的 Gateway 网关时,gateway probe 中出现诸如 multiple reachable gateways detected 之类的警告文本是预期行为。

相关内容