OpenClaw 的核心,其实只有一个:Gateway
如果只用一句话概括 OpenClaw,我会这样说:
它不是一个“能接很多平台的聊天工具”,而是一个以 Gateway 为中枢的 AI 调度系统。
很多人第一次接触它,很容易把注意力放在表层:
-
能接 Lark / Slack / WhatsApp -
能用 CLI / Web / App 操作 -
看起来像一个“跨平台 AI 助手”
这些都没错,但都不是重点。
真正决定 OpenClaw 怎么工作的,是它背后的一个设计选择:
所有需要统一协调的关键能力,都被收敛到了 Gateway。
先说清楚:OpenClaw 是什么
OpenClaw 是一个让 AI 可以跨平台运行、自动响应、并调用设备能力的开源框架。
你可以把它理解成一个系统:
-
一边连着外部世界(Lark、Slack、WhatsApp) -
一边连着你的设备(电脑、手机) -
中间由 AI(Agent)来完成具体任务
但关键在于:
这些连接不是分散的,而是统一收敛到一个地方:Gateway。
为什么 OpenClaw 的核心一定是 Gateway
理解这一点,可以从一个反问题入手:
如果没有 Gateway,会怎样?
很自然的实现方式是:
-
每个入口各自接渠道 -
收到消息就调模型 -
各自维护状态
听起来没问题,但很快会崩。
1. 连接会失控
不同渠道的接入方式完全不同:
-
WebSocket -
HTTP 长轮询 -
各种 SDK
如果没有中枢,这些逻辑会出现在:
-
CLI 里一份 -
Web 里一份 -
后台服务里再一份
系统会迅速碎裂成多个独立维护的副本——同一套连接逻辑在 CLI、Web、后台服务中各自重复实现,彼此不同步,最终变成多个独立演进的分支。
2. 同一渠道会被重复连接
像 WhatsApp 这类平台,本质上是“单客户端模型”。
如果多个进程同时连接:
-
互相踢下线 -
消息丢失 -
状态混乱
这种问题不是“可能发生”,而是一定会发生。
3. 状态会碎成很多块
如果没有统一中枢,这些东西都会分散:
-
会话上下文 -
权限控制 -
重试机制 -
超时策略
结果就是:
系统里没有“唯一真实状态”。
一旦出问题,基本不可维护。
Gateway 的本质:把系统“收拢成一个整体”
OpenClaw 的做法很直接:
所有必须统一的东西,全部放进 Gateway。
于是 Gateway 变成三件事的唯一承担者:
-
连接中心:所有渠道只在这里连接 -
状态中心:所有会话与上下文只在这里维护 -
调度中心:所有任务只从这里发起
其他组件全部围绕它运转。
五个角色,其实都是围着 Gateway 转的
你可以把整个系统拆成五个角色:

Gateway(中枢)
唯一的入口与协调中心:
-
持有所有连接 -
维护所有状态 -
调度所有任务
它停了,系统就停。
Agent(执行者)
负责“把任务做完”:
-
调模型 -
调工具 -
组织执行流程
但它不直接对外,默认只接受 Gateway 调度,也可以本地独立运行。
Channel(外部渠道)
Lark、Slack、WhatsApp 等。
它们只和 Gateway 通信,不和其他组件直接交互。
Node(设备能力)
你的电脑、手机,在这里不是“前端”,而是能力节点,提供诸如能力:
-
截图 -
相机 -
定位 -
系统命令
这些能力通过 Gateway 被调用。
控制端(CLI / Web / App)
只是入口:
-
发指令 -
看结果
它们不直接参与系统核心逻辑。
一条真实请求经过系统的完整路径如下:

注意这里最关键的不是哪个模型最聪明,而是:每一轮数据交换都经过 Gateway。即使是 Agent 调用 Node 能力,结果也要先回到 Gateway,再由 Gateway 喂给 Agent——系统里没有旁路。
一句话总结这套关系
Agent 负责执行,Node 提供能力,Channel 提供输入输出,而 Gateway 负责把这一切组织成一个能持续运行的系统。
为什么这种设计是“必须的”,不是“更优雅的”
很多系统的问题,不在于功能,而在于“能不能长期稳定运行”。
Gateway 的存在,本质上解决的是三个问题:
-
连接唯一性(避免冲突) -
状态一致性(避免分裂) -
执行可控性(统一调度)
这些不是优化项,而是系统成立的前提。
代价是什么
代价也很明显:
Gateway 会变得很重。
-
连接管理 -
状态管理 -
调度 -
权限 -
安全
全部集中在这里。
但这不是“额外复杂”,而是:
把原本会散落在各处的复杂,集中到一个地方。
最后
如果一定要用一句话重新定义 OpenClaw:
它不是一个聊天系统外壳,而是一个以 Gateway 为核心的 AI 操作系统雏形。
夜雨聆风