OpenClaw 集成

OpenClaw Gateway 架构:channels、pairing、worker 与配置边界

理解 Gateway 在 OpenClaw 体系中的角色,才能知道 channels、pairing、配置、审批和运行探针为什么都围着它转。

进阶 预计 24 分钟 核验 2026/6/16
本页目录

完成结果

学完后你会留下什么

一张你能复述的 OpenClaw 运行图:Gateway 连接 channels、pairing、auth、Dashboard、Control UI、配置文件和 health/ready 探针。

适合谁
已经跑通基础安装,准备长期使用或团队化部署 OpenClaw 的技术用户
开始前确认
  • 已经完成首次安装和 Dashboard 体验
  • 能看懂基本的服务与路由概念
  • 准备好从“会用”提升到“能解释架构”

为什么这篇值得先看

如果你只把 Gateway 看成“一个要启动的命令”,你会在渠道接入、审批、配置回滚和日志排查时吃很多亏。OpenClaw 的很多表面问题看起来发生在 Telegram、WhatsApp、Dashboard 或 Control UI,实际根因却在 Gateway 的配置、认证、pairing 或健康状态。

这篇不是为了画一张漂亮架构图,而是帮你形成一个可排错的心智模型:消息从哪里来、谁有权进来、请求在哪一层被挡住、什么时候应该看界面,什么时候应该回到 CLI 和配置文件。

先抓住这 3 个关键点

  • Gateway 不是附属组件,而是消息、配对、授权、工具调用和运行探针流转的核心枢纽。
  • pairing、auth、Control UI 和 Dashboard 之所以会互相影响,本质上都是围绕 Gateway 的状态、凭据和策略。
  • 团队用法、自动化、安全加固、远程节点和渠道稳定性都建立在你对 Gateway 边界的理解上。

一张文字版运行图

可以先把 OpenClaw 想成 5 层:

  1. 入口层:Telegram、WhatsApp、Browser、Webhook、移动端或远程节点产生请求。
  2. 准入层:pairing、allowlist、dmPolicy、groupPolicy、设备 approval 决定谁能进来。
  3. Gateway 层:处理连接、认证、会话、工具调用、健康探针、日志和重启行为。
  4. 界面层:Dashboard、Control UI、WebChat 让你观察状态、审批请求或发起对话。
  5. 执行层:agent、skills、browser、hooks、worker 或外部系统真正完成任务。

很多新手会把这 5 层混在一起。例如“Telegram 没回应”可能是 bot token 错了,也可能是 dmPolicy 把陌生私聊挡住了,也可能是 Gateway 没 ready,还可能是 Control UI 里有待批准请求没有处理。正确做法是从入口到准入再到 Gateway 状态逐层缩小范围。

Gateway 负责什么

从官方 Gateway CLI 和 Gateway configuration 页面可以看出,Gateway 至少承担这些职责:

  • 启动与绑定:根据配置、端口、认证和安全护栏决定能否启动。官方 CLI 文档提示,缺少必要的 gateway.mode=local 时不能把它当成普通默认值糊弄过去。
  • 连接与认证:处理 WebSocket、token、password、local/remote 访问和 CLI 查询。
  • 健康与就绪/healthz 更偏存活探针,/readyz 更偏服务是否真正稳定。排查时不要只看“进程还在不在”。
  • 渠道治理:配置页把 WhatsApp、Telegram、Discord 等渠道放在 channels.<provider> 下,并把 DM / group access 作为共享治理模型。
  • 设备与节点配对:Gateway pairing 处理节点/设备加入,而不是简单等同于聊天渠道的私信配对。
  • 重启与诊断openclaw gateway restart --safe、stability bundle、startup trace 都属于真实运维阶段会用到的能力。

Gateway 不负责什么

为了避免误判,也要明确它不该背哪些锅:

  • 它不能替你自动判断某个群聊是否应该响应。群聊是否要求 @、是否允许某个群,仍要回到渠道配置。
  • 它不能把不安全的开放访问变成安全访问。dmPolicy: "open"allowFrom: ["*"] 这种配置要有明确理由。
  • 它不能替你保管所有团队流程。审批、轮换、事故响应和 owner 责任仍然需要团队制度配合。
  • 它不是所有外部系统的最终执行者。Browser、webhook、skills 和 agent 执行失败时,Gateway 只是观察和转发中轴。

实操步骤

  1. 先从“消息从 channel 进来后会经过哪里”这个问题开始梳理,不要直接背术语。
  2. 把 pairing、allowlist、审批理解成准入机制,而不是互不相干的独立功能页。
  3. 再把 Dashboard / Control UI 视为 Gateway 状态的不同观察入口:一个偏本地运行态,一个偏交互与治理。
  4. 回看配置文件,确认哪些字段定义 Gateway 行为,哪些字段只是某个 channel 的局部策略。
  5. 最后为你自己的部署画一张 5 层运行图,并标出每一层的排错入口。

配置或命令示例

openclaw gateway health --url ws://127.0.0.1:18789
openclaw gateway restart --safe
openclaw dashboard
openclaw pairing list telegram
openclaw pairing approve telegram <CODE>

下面这个简化配置展示了 Gateway 与 channel 配置的边界。gateway 负责运行态,channels.telegram 负责 Telegram 入口策略。

{
  gateway: {
    mode: "local",
    channelHealthCheckMinutes: 5,
    channelStaleEventThresholdMinutes: 30
  },
  channels: {
    telegram: {
      enabled: true,
      botToken: "123:abc",
      dmPolicy: "pairing",
      groups: { "*": { requireMention: true } }
    }
  }
}

排错顺序

遇到“OpenClaw 没反应”时,按这个顺序比盲目重启更稳:

  1. 先确认进程与端口:Gateway 是否启动、端口是否被占用、是否因为缺少配置被拒绝启动。
  2. 再确认 ready 状态:能响应不等于 ready。看 /readyz 或 gateway health,确认插件、channels 和 hooks 是否已经稳定。
  3. 再确认准入策略:陌生私聊看 dmPolicy 和 pairing;群聊看 groupPolicygroupsrequireMention
  4. 再确认 credentials / state:已配对设备、待处理请求、allowlist 存储都属于敏感状态,不要随手删。
  5. 最后看执行层:如果 Gateway 和准入都正常,再排 skills、Browser、webhook、agent 指令或外部服务。

团队部署时的边界清单

  • 谁可以修改 Gateway 配置,谁只能在 Control UI 审批请求。
  • 是否允许 open 私聊策略;如果允许,是否限定环境和有效期。
  • 是否启用 group mention gating,哪些群必须 requireMention: true
  • Gateway token、password、paired device state 和 allowlist 文件是否按敏感数据处理。
  • 重启时优先使用普通 restart、safe restart,还是明确需要 force。
  • 是否记录 Gateway stability bundle,方便事故后复盘。

常见坑

  • 把 channel 看成独立系统,结果忽略它们都要经过 Gateway 的准入、认证与日志链路。
  • 遇到审批或 pairing 异常时,只盯前端界面,不回头看底层服务状态。
  • /healthz 当成“全部正常”,忽略 /readyz 或 channel 稳定性还没通过。
  • 团队里没有统一的 Gateway 认知,最后每个人都在用不同模型排错。

完成检查

  • 你能解释 pairing、auth、Dashboard 和 channels 为什么会互相牵连。
  • 你知道哪些配置项是在定义准入,哪些是在定义渠道行为。
  • 你知道 health、ready、restart、stability 各自解决什么问题。
  • 你已经为后续的安全、渠道接入和自动化内容建立了共同语言。

为什么建议把这篇收藏起来

  • 这篇决定你后面看 channels、security、automation 时是不是能融会贯通。
  • 它不是“架构炫技”,而是减少错误决策的一篇底层理解文。
  • 当你准备上线或让团队多人接手时,这篇可以作为共同排错语言。

官方资料

版本和参数,以这些来源为准

本文按实际任务重写,快速变化的信息仍应在操作前回到官方页面核对。

常见问题

继续操作前,先确认这些边界

为什么很多 OpenClaw 问题最后都会回到 Gateway?

因为 channels、pairing、auth、配置加载和审批流都围绕 Gateway 发生。Gateway 不稳或配置被覆盖时,上层会表现成渠道不通、审批失败或界面状态异常。

Gateway 架构和 Dashboard / Control UI 是什么关系?

Gateway 是运行与认证中轴;Dashboard 和 Control UI 更像观察与治理入口。界面能帮你看状态、批准请求和处理会话,但底层仍要回到 Gateway 配置、凭据、日志和健康检查。

Gateway pairing 和 channels pairing 是同一个概念吗?

不是。Gateway pairing 更偏节点/设备加入 Gateway,channels pairing 更偏批准某个聊天发送者通过私信访问助手。两者都涉及审批,但存储位置、有效期和风险边界不同。

继续学习

按当前任务继续推进