









前一篇我们走完了CLI链路,这一篇终于进入核心区域:Gateway。
如果说CLI是“入口大厅”,那Gateway就是“总控室”。
网关启动核心入口在:
src/gateway/server.ts(薄封装)src/gateway/server.impl.ts(真实实现)关键函数就是:
startGatewayServer(port, opts)
这个函数非常长,但别慌,按阶段拆就不难。
我把它拆成7步:
close(),处理优雅关闭这个分层设计很像大型服务框架的启动管线:
先配置,再依赖,再监听,再副作用服务。
看server.impl.ts你会发现,Gateway不只是“收发消息”:
这就是典型控制平面职责:把系统里的“控制逻辑”集中管理。
OpenClaw里HTTP与WS挂在同一服务进程里,带来几个好处:
这种设计对“单机自托管助手”场景非常实用。
很多人读源码只看“怎么启动”,忽略“怎么关闭”。
startGatewayServer返回的是一个带close()的对象,这个close()会做很多善后:
gateway_stop插件钩子这意味着它把服务生命周期完整闭环了,不是“只管拉起不管下线”。
这个文件很大,我建议分三轮读:
如果第一轮就钻细节,很容易迷路。
这一篇核心收获:
startGatewayServer是启动总管,分阶段非常清晰下一篇我们接“消息主链路”:一条消息从入站到最终回复,具体经过哪些关键节点。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。