OpenClaw 的核心架构由四个关键组件构成——Gateway、Agent、Skills 和 Memory。它们之间的关系可以用一个比喻来理解:就像一家智能工厂,Gateway是前台接待和调度中心,Agent是车间主任,Skills是工人的双手,Memory则是工厂的档案室。这四个组件通过清晰的分工和紧密的协作,将用户的一条简单指令,转化为一系列可靠的系统操作。
下面这张架构图清晰地展示了四者之间的关系和消息流转路径:

🧠 各组件核心职责
1. Gateway:系统的神经中枢
Gateway是一个长期运行的单进程服务,是整个系统的单一事实源和调度中心。它的核心职责是:
统一入口:同时管理飞书、WhatsApp、Telegram、Discord、iMessage等20多个消息渠道,负责协议适配和消息格式统一。
路由调度:通过WebSocket控制平面(默认绑定
127.0.0.1:18789)接收所有消息,并通过RPC将任务分发给Agent。安全边界:作为系统的第一道防线,执行访问控制(如
allowFrom白名单),并管理所有会话的生命周期。
2. Agent:思考与决策的大脑
Agent是OpenClaw的Pi智能体(Pi Runtime),负责执行ReAct(思考-行动-观察)循环。它的工作流程是:
接收任务:从Gateway接收用户指令和会话上下文。
加载记忆:从Memory组件加载历史记录和用户偏好。
规划与决策:调用大模型(如Claude、GPT等)分析意图,将复杂任务拆解为一系列可执行的步骤。
调用技能:决定使用哪些Skills,并生成结构化参数传递给它们。
返回结果:将执行结果整合,通过Gateway反馈给用户。
3. Skills:执行具体任务的双手
Skills是可插拔的、模块化的“能力包”,是Agent真正“动手”的途径。每个Skill通常包含一个SKILL.md描述文件(含YAML元数据)和可选的执行脚本(Python/Node.js/Shell)。
社区生态:社区(ClawHub)已提供超过13,000个技能,覆盖浏览器自动化、文件操作、代码执行等几乎所有领域。
动态加载:系统启动时扫描
~/openclaw/skills/等目录,将技能描述注入给大模型。能力扩展:当AI遇到无法处理的任务时,甚至可以自我编写新技能的代码并动态加载。
4. Memory:持久化的记忆库
Memory系统解决了大模型“金鱼般”的短期记忆问题,让AI能够形成长期、一致的个性。它的设计分为多层:
短期记忆:管理当前对话的上下文。
中期记忆:记录任务历史、失败原因和关键决策点,支持断点续传。
长期记忆:通过Markdown文件(如
MEMORY.md)和向量数据库存储用户偏好、项目知识等。系统支持在对话前后自动捕获关键信息并召回相关记忆。
🔄 一次完整的消息处理流程
当你在飞书上给OpenClaw发了一条消息“帮我整理下载文件夹”,这四个组件会这样协同工作:
消息接收(Gateway):Gateway的飞书通道收到消息,进行格式统一和安全检查,并加载该用户的会话状态。
上下文加载(Memory):Gateway将消息路由给Agent前,Memory组件会从向量库中自动召回相关记忆,比如“用户上周说过下载文件夹很乱”,并将此信息注入上下文。
任务规划(Agent):Agent启动ReAct循环,决定调用
file-organizer这个Skill,并规划出“先列出文件→按类型分类→创建目录→移动文件”的步骤。技能执行(Skills):
file-organizerSkill根据Agent给的参数,执行背后的Python脚本,实际在文件系统里完成了移动、分类操作。结果反馈(Agent → Gateway):Agent从Skill收到“成功移动150个文件”的结果,生成用户友好的回复。
记忆沉淀(Memory):对话结束后,Memory组件自动捕获“用户喜欢按文件类型整理下载文件夹”这条信息,存入长期记忆库,供下次使用。
响应返回(Gateway):Gateway通过原来的飞书渠道,将整理结果的报告发送给用户。
夜雨聆风