前言:
前文介绍了OpenClaw结构overview,本文详细介绍Gateway网关部分。
1 Gateway网关功能简介
Gateway 是系统中的单一事实源(Single Source of Truth),是OpenClaw的控制平面。
官方推荐的部署模型是:每台主机一个 Gateway 网关。
网关具备如下5大功能,如下:

⁘ 1.1 WebSocket connections
通过WebSocket协议,维护所有客户端的长连接:
协议客户端(CLI,macOS/ios/Android原生应用,聊天web界面) 渠道提供商:what's app,Telegram,Discord,Slack等20+ 平台 远程节点:跨平台执行节点Node,首先需要通过WebSocket注册并声明。
⁘ 1.2 RPC方法调度 dispatching RPC methods
客户端通过结构化的JSON-RPC风格请求与Gateway通信,例如查询状态(health)、发送消息(send)、运行Agent(agent)等。Gateway接收并处理这些请求,并返回结果。
这里面包括在聊天对话框中slash命令,还包括自定义的python脚本可以自动化调用,还包括向聊天频道发送消息以及控制节点等。
⁘ 1.3 消息渠道协调 coordinating messaging channels
"消息中继站",Gateway 统一接收来自渠道的消息,转发给对应的Agent处理,并将回复通过正确的渠道发送回去,对上层屏蔽了渠道差异。
⁘ 1.4 Agent 运行编排 orchestrating agent runs
当需要AI能力时,Gateway会触发Agent运行。管理一次Agent调用的完整生命周期,并将Agent产生的流式输出、工具调用等事件实时推送给客户端。
⁘ 1.5 系统状态维护 maintaining system state
Gateway同时维护着整个系统的核心状态,包括在线设备、活跃会话、配置信息等。
2 Gateway Lane Queue机制
Gateway Lane 是 OpenClaw 的双层队列并发控制系统,实现Serialize by default, only parallelize when it's explicitly safe显式并行,默认串行的设计哲学。
⁘ 2.1 双层队列机制
每个任务进入OpenClaw经过2次进入队列排队:
先进入Session Lane,系统会为每一个独立的对话会话(例如,你与机器人的私聊)生成一个唯一的队列Key,保证同会话串行执行。 再次进入Global Lane,全局队列有不同的“车道”,用于隔离不同类型的任务(main,cron,subagent,nested)。它的主要作用是限制整个系统的总并发数,防止资源被耗尽。
⁘ 2.2 四种Global Lane说明
OpenClaw预定义了四种全局队列,它们相互隔离,互不阻塞。
| main | |||
| cron | |||
| subagent | |||
| nested |
⁘ 2.3 队列模式(Queue Modes)
当你在一个会话中连续发送多条消息时,OpenClaw不会一股脑全部处理。它提供了几种智能的排队模式,通过messages.queue.mode配置:
collect (默认模式):这是最常用的模式。当多条消息快速连续到达时,它会等待一个短暂的静默期(默认1秒,可配置),然后将这几条消息合并成一次请求发送给AI。这就像和人对话,你等他停下来了再一次性回应,非常省Token。
steer:此模式会立即取消当前正在进行的运行(如果有的话),然后马上处理新到的消息。适合“最高优先级”的打断指令,比如“立刻停止你正在做的事”。
followup:如果当前有任务在运行,新消息不会打断它,而是乖乖在队列里排队,等当前任务完成后作为下一个轮次被执行。这是最符合直觉的顺序处理模式。
steer-backlog:结合了steer和followup。它会立即引导新消息进入当前运行(打断),但同时将旧消息保留在队列中,以便在当前运行结束后继续处理。
⁘ 2.4 总结
该机制实现如下效果:
数据一致性:同一会话文件不会被并发写入,这样数据就不会损坏,导致AI“精神错乱”。 资源节流:特别是collect模式,能有效减少不必要的API调用,节省Token费用,并降低触发API提供商标配限速(Rate Limit)的风险,从而达到成本控制的目的。 响应隔离:当系统过载时,队列本身就是一个缓冲,用户不会收到拒绝服务的错误,只会感觉响应变慢。 资源控制:cron和subagent设置独立的队列,这样后台任务和前台对话互不影响。
"Per-session lanes guarantee that only one agent run touches a given session at a time"该机制只是限制了同一会话的串行,保证Agent状态机和任务调度的正确性,但是并不能保证不同Lane在相同时间读写同一个文件的可能性。
后记:
Gateway Lane 机制是 OpenClaw 的核心创新,通过 Session Lane(强制串行)+ Global Lane(可控并行) 的双层架构在数据一致性和资源控制实现了平衡,也是OpenClaw在生产环境稳定运行的关键机制。
夜雨聆风