如果只抓一条主线,我会先抓 Gateway 到运行时这条链
我不会先从“最有趣的模块”开始
读 OpenClaw 这类源码导读,最大的危险不是看不懂某一章,而是读法散掉。
如果每次都被 Browser、Sandbox、Sub-agent、ACP 这些局部亮点吸走注意力,最后你会知道很多零件,但脑子里没有一条主骨架。
所以如果我只能抓一条主线,我会先抓:
- Gateway 怎么接住消息
- 消息怎么进入控制平面
- 控制平面怎么把任务送进运行时
- 运行时怎么组织上下文、工具和执行结果
为什么先从 Gateway 开始
因为 OpenClaw 不是“本地单体 Agent”,它首先是一个要面对 Discord、Telegram、Webchat 这类入口的真实系统。
如果不先抓入口,你很容易误把它读成“又一个 Agent runtime”,而忽略它真正困难的地方:
- 消息从哪来
- 多渠道如何统一
- 会话身份怎么映射
- 路由和绑定怎么做
这也是为什么我会把它先当 control plane 源码导读,而不是普通 Agent 教程。