多个网关(同一主机)

多个网关(同一主机)

适用范围

在以下情况使用此页面:

  • 在同一台机器上运行多个网关
  • 每个网关需要隔离的配置/状态/端口

大多数设置应该使用一个网关,因为单个网关可以处理多个消息连接和代理。如果您需要更强的隔离或冗余(例如,救援机器人),请使用隔离的配置文件/端口运行独立的网关。

隔离清单(必需)

  • MOLTBOT_CONFIG_PATH — 每实例配置文件
  • MOLTBOT_STATE_DIR — 每实例会话、凭据、缓存
  • agents.defaults.workspace — 每实例工作空间根
  • gateway.port(或 --port)— 每实例唯一
  • 派生端口(browser/canvas)不得重叠

如果这些共享,您将遇到配置竞争和端口冲突。

推荐:profiles (--profile)

配置文件自动限定 MOLTBOT_STATE_DIR + MOLTBOT_CONFIG_PATH 范围并后缀服务名称。

# main
moltbot --profile main setup
moltbot --profile main gateway --port 18789

# rescue
moltbot --profile rescue setup
moltbot --profile rescue gateway --port 19001

每配置文件服务:

moltbot --profile main gateway install
moltbot --profile rescue gateway install

救援机器人指南

在同一主机上运行第二个网关,具有自己的:

  • 配置文件/配置
  • 状态目录
  • 工作空间
  • 基础端口(加上派生端口)

这将救援机器人与主机器人隔离,以便在主机器人停机时调试或应用配置更改。

端口间距:在基础端口之间至少留出 20 个端口,以便派生的浏览器/canvas/CDP 端口永远不会冲突。

如何安装(救援机器人)

# 主机器人(现有或新的,不带 --profile 参数)
# 运行在端口 18789 + Chrome CDC/Canvas/... 端口
moltbot onboard
moltbot gateway install

# 救援机器人(隔离的配置文件 + 端口)
moltbot --profile rescue onboard
# 注意:
# - 工作空间名称将默认为后缀 -rescue
# - 端口应至少为 18789 + 20 端口,
#   最好选择完全不同的基础端口,如 19789,
# - 其余入门过程与正常相同

# 要安装服务(如果在入门期间未自动发生)
moltbot --profile rescue gateway install

端口映射(派生)

基础端口 = gateway.port(或 MOLTBOT_GATEWAY_PORT / --port)。

  • browser.controlUrl port = base + 2
  • canvasHost.port = base + 4
  • 浏览器配置文件 CDP 端口从 browser.controlPort + 9 .. + 108 自动分配

如果在配置或环境中覆盖其中任何一个,必须为每个实例保持它们唯一。

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

  • 不要在多个实例上将 browser.controlUrlbrowser.cdpUrl 固定为相同的值。
  • 每个实例都需要自己的浏览器控制端口和 CDP 范围。
  • 如果需要显式 CDP 端口,请为每个实例设置 browser.profiles.<name>.cdpPort
  • 远程 Chrome:使用 browser.profiles.<name>.cdpUrl(每个配置文件,每个实例)。

手动环境示例

MOLTBOT_CONFIG_PATH=~/.moltbot/main.json \
MOLTBOT_STATE_DIR=~/.moltbot-main \
moltbot gateway --port 18789

MOLTBOT_CONFIG_PATH=~/.moltbot/rescue.json \
MOLTBOT_STATE_DIR=~/.moltbot-rescue \
moltbot gateway --port 19001

快速检查

moltbot --profile main status
moltbot --profile rescue status
moltbot --profile rescue browser status