Star数超越Linux!拆解OpenClaw的5层架构,看懂AI Agent的"操作系统"

React 用了 13 年积累 24 万 Star。Linux 内核用了 40 年。OpenClaw 只用了 3 个月。
很多人把 OpenClaw 的爆火归结为”赶上了风口”或者”龙虾 meme 太魔性”。但如果你去翻它的代码仓库——43 万行 TypeScript,40+ 消息平台集成,54 个内置技能,完整的事件驱动架构——你会发现,这东西绝不是一个”套壳聊天机器人”。
黄仁勋在 GTC 2026 上说它是”个人 AI 的操作系统”。这话并不夸张。
今天我们不聊怎么用 OpenClaw,聊一个更底层的问题:它的架构凭什么能撑住 24 万 Star 的期待?
先看全貌:5 个组件,各司其职
OpenClaw 的架构可以用一句话概括:Gateway 负责接入,Brain 负责思考,Skills 负责执行,Memory 负责记忆,Heartbeat 负责调度。
用一个比喻来理解:把 OpenClaw 想象成一个机场。
- Gateway(塔台):所有航班(消息)都经过这个中央调度中心,由它分配到正确的跑道
- Brain(飞行员):接到指令后,决定怎么飞、走哪条航线
- Skills(机械臂):在地面上真正搬运行李、加油、检修的执行单元
- Memory(黑匣子):记录所有飞行数据,下次起飞时作为参考
- Heartbeat(值班表):按时间表触发定时任务,比如凌晨 3 点自动检查航班状态
这 5 个组件的职责完全隔离。换消息平台不影响 Agent 逻辑,换大模型不影响消息路由,换工具不影响记忆系统。这种分层设计,是 OpenClaw 能从一个”周末项目”长成”操作系统”的根本原因。
第一层:Gateway——“只做路由,不做推理”
Gateway 是 OpenClaw 最核心的设计决策。
它是一个长期运行的 WebSocket 服务器,默认跑在 localhost:18789。所有消息——不管来自 WhatsApp、Telegram、Discord、钉钉还是飞书——都先经过 Gateway。
关键原则:Gateway 不做任何推理。 它只做三件事:
- 消息标准化:把不同平台的消息格式统一。Telegram 的 Markdown、Slack 的 Block Kit、WhatsApp 的富文本,全部转换成 OpenClaw 内部格式。
- 路由分发:根据 6 级优先级匹配规则,把消息分发给对应的 Agent。
- 安全拦截:在消息进入 Agent 之前,先过 Allowlist 白名单、Mention Gating、Command Gating 等多层访问控制。
为什么这个设计这么重要?
因为它实现了接入层和智能层的完全解耦。你在 Slack 里讨论工作、在 Telegram 里安排日程、在 WhatsApp 里聊个人事务——这些消息经过 Gateway 标准化后,Agent 看到的是统一格式。它不需要知道消息来自哪个平台。
反过来,如果你要接入一个新平台(比如飞书),只需要写一个 Channel 适配器插件,不用动 Agent 的任何代码。目前 OpenClaw 已经有 40+ 个 Channel 适配器,部分以插件形式存在,保持核心代码精简。
消息进入 Gateway 后的完整路径:
1 | 消息到达 → 频道元数据解析 → 路由匹配(6级优先级) |
这里有一个精妙的细节:双车道队列。sessionLane 保证同一会话内的消息严格串行处理(防止并发导致的上下文混乱),globalLane 控制全局并发数(防止多个会话同时跑爆资源)。
第二层:Brain——ReAct 循环,让 AI “会做事”
Brain 是 OpenClaw 区别于所有”套壳聊天机器人”的核心。
传统的 AI 聊天应用,处理逻辑是线性的:用户问 → 模型答 → 结束。OpenClaw 的 Brain 基于 ReAct(Reasoning + Acting)循环:
1 | 思考(Thought)→ 行动(Action)→ 观察(Observation)→ 思考 → 行动 → ... |
每次 LLM 生成响应后,系统都会问一个关键问题:**”这个响应包含工具调用吗?”**
如果包含,就暂停输出,执行工具,把结果注入上下文,然后让 LLM 继续生成。这个循环一直持续到 LLM 生成一个”不包含工具调用”的最终响应。
举个例子:你说”帮我查一下明天北京的天气,然后加到日历里”。
- 思考:用户想查天气并添加日历事件
- 行动:调用天气 API 查询北京明天的天气
- 观察:明天北京晴,15-25°C
- 思考:天气信息拿到了,接下来添加日历事件
- 行动:调用日历 API 创建”明天北京,晴,15-25°C”的备注
- 观察:日历事件创建成功
- 最终响应:”明天北京晴,15-25°C,已经帮你加到日历里了。”
整个过程对用户来说是一条消息、一个回复。但背后经历了多轮”思考-行动-观察”的循环。
这就是 Agent 和 Chatbot 的本质区别——Chatbot 只有”思考”,Agent 有”思考+行动+观察”的完整闭环。
Brain 的底层引擎叫 Pi,一个通用的 Agent 执行运行时。它的设计哲学极度克制:
- 事件驱动:系统内部的所有行为——模型推理、工具调用、人工介入——都通过统一的事件流推进。没有”偷偷发生”的动作。
- 流式输出:支持块流式和增量流式,用户能实时看到 AI 在”思考什么”。
- 故障容错:24×7 运行意味着不能因为一次异常就崩溃。完整的重试、超时、终止机制。
一个让人惊讶的数字:OpenClaw 的核心系统提示词只有约 1000 个 Token。包含工具定义、安全护栏、CLI 参考在内,总共 1000 Token。这证明了当大模型足够强时,不需要冗长的指令就能理解 Agent 上下文。
第三层:Skills——“用 Markdown 写接口”
这可能是 OpenClaw 最具创新性的设计。
传统的插件系统需要严格的 OpenAPI/Swagger 模式定义。写一个插件,你得定义 JSON Schema、参数类型、返回格式……光配置文件就上百行。
OpenClaw 的 Skills 用 Markdown 文件作为接口描述语言。
一个 Skill 就是一个 SKILL.md 文件,用自然语言告诉 Agent:这个工具是做什么的、什么时候该用、怎么用、有什么限制。
1 | --- |
为什么用 Markdown 而不是 JSON Schema?
因为 LLM 本身就是一个概率性的自然语言处理器,不是确定性的逻辑编译器。用自然语言描述工具,比用结构化模式描述工具,对 LLM 更友好。 模型能更准确地理解”什么时候该调用这个工具”。
这个设计带来了一个巨大的副作用:任何人都能写 Skill。你不需要是程序员,不需要懂 API 设计。写一个 Markdown 文件,描述清楚”这个工具做什么、怎么用”,就能扩展 OpenClaw 的能力。
这就是为什么 OpenClaw 的社区能在短短几个月内贡献 5400+ 个 Skills。
更高级的玩法是 Skill 自我生成。OpenClaw 有一个内置的 skill-creator 工具,Agent 可以在运行过程中自主发现需求、生成新 Skill。你让它做一件它不会的事,它会自己写一个 Skill 来学会。
第四层:Memory——三级记忆,”越用越懂你”
传统 AI 助手最大的痛点是”健忘”。每次新对话都要从头介绍自己。OpenClaw 的记忆系统分三层:
短期记忆:对话上下文
就是当前会话的聊天记录。OpenClaw 有完整的上下文管理机制:当上下文接近模型的 Token 上限时,会触发自动压缩——先把关键信息写入长期记忆文件,再精简上下文窗口。
中期记忆:会话摘要
每个会话结束或中断时,Agent 会自动生成一份摘要,保存为 Markdown 文件。下次回来时,它能快速回忆”上次聊到哪了”。
长期记忆:向量化知识库
这是最精妙的部分。OpenClaw 把工作空间里的所有 Markdown 文件——你的笔记、偏好设置、历史摘要——切分成约 400 Token 的块,生成向量嵌入,存入 SQLite 数据库。
查询时同时使用两种匹配:
- 向量相似度:语义匹配,”Mac Studio 网关主机”能匹配到”运行 Gateway 的那台机器”
- 关键词搜索:精确匹配,确保专有名词不丢失
所有记忆数据存在本地,不上传云端。你可以用 Git 管理、用文本编辑器查看、随时删除。记忆的所有权完全属于你。
OpenClaw 社区有句话叫”记忆是神圣的”。Meta 超级智能实验室的对齐方向负责人 Summer Yue 实测发现,当上下文膨胀到数千条消息时,如果记忆管理不当,会导致严重的”遗忘”问题。正确的做法是定期整理——让 Agent 把重要信息固化到长期记忆文件中,而不是全靠上下文窗口硬扛。
第五层:Heartbeat——让 Agent”主动做事”
Heartbeat 是 OpenClaw 区别于所有聊天机器人的最后一块拼图。
传统 AI 是”踹一脚它动一下”。你不说话,它就永远沉默。OpenClaw 的 Heartbeat 机制让 Agent 有了时间感——它知道现在几点了,知道该做什么了。
1 | # 每天早上 7 点发送晨间简报 |
定时任务存储在 ~/.openclaw/cron/jobs.json 中,Gateway 加载到内存并按计划执行。这让 OpenClaw 从一个”被动的问答工具”变成了一个”主动的数字员工”——早上给你发简报,下午提醒你开会,晚上帮你整理当天的笔记。
为什么这套架构能赢
回到最开始的问题:OpenClaw 的架构凭什么?
总结下来,3 个核心设计决策:
1. Gateway 与 Agent 的彻底分离。 这让它能在不改核心逻辑的情况下接入 40+ 平台。大多数 AI 项目把消息处理和推理逻辑混在一起,导致每接入一个新平台就要改一堆代码。OpenClaw 从第一天就把这两层拆开了。
2. 用 Markdown 替代 JSON Schema 做工具描述。 这让任何人都能贡献 Skill,5400+ 的社区生态就是证明。技术门槛越低,生态增长越快。
3. 把”时间”和”状态”当成输入。 不只处理用户发来的消息,还处理时间触发的事件和系统状态变化。这让 Agent 从”被动响应”变成了”主动服务”。
OpenClaw 的开发团队自己也承认,这个项目”仍处于极度早期阶段”。安全问题没完全解决,Token 消耗需要优化,很多边界情况还没覆盖。但它的架构方向是对的——一个分层的、可扩展的、事件驱动的 Agent 运行时。
这不是一个聊天机器人。这是 AI Agent 时代的基础设施。
理解了它的架构,你就理解了为什么黄仁勋说它是”个人 AI 的操作系统”——它不是一个应用,它是一个让无数应用能跑起来的平台。
你觉得 OpenClaw 的架构设计最打动你的是哪一点?如果让你来设计一个 AI Agent 框架,你会做出什么不同的选择?欢迎在评论区聊聊。