Agent 场景

深入 OpenClaw:冲到 25 万 Star 的架构(2026)

Cover image for 深入 OpenClaw:冲到 25 万 Star 的架构(2026)

OpenClaw 架构拆解:三层管道、七阶段 agentic loop,以及一个自托管聊天网关为什么成了史上增长最快的仓库之一。

TL;DR — OpenClaw 是一个自托管网关,把聊天应用(WhatsApp、Slack、Telegram、Discord)连到 AI Agent 运行时。架构是三层——网关、Agent Runner、渠道适配器——包着一个七阶段 agentic loop。精妙之处不在任何单个部件,而在于整个东西可读、可改、跑在你自己的硬件上。下面讲这台机器怎么工作。

这个仓库为什么重要

OpenClaw 在大约 60 天内从零冲到 25 万+ GitHub star。这不是炒作噪音——它是史上增长最快的开源项目之一。搞懂 OpenClaw 架构值得花时间,因为在龙虾吉祥物底下,它是当今所有生产级 Agent 模式的一份干净参考实现。

我通读了它的结构,想搞清楚这里到底什么是真新东西、什么是包装得好的标准 Agent 管道。答案是:管道本身就是创新。OpenClaw 没发明新 AI 技术,它把已知模式组装成一个能跑在树莓派上、能从 WhatsApp 跟它说话的东西。这种易用性就是全部重点。

三层架构

最顶层,OpenClaw 分成三个松耦合的层。这种分离是它能支持十几个聊天平台、而 Agent 逻辑不知道也不在乎消息来自哪个平台的原因。

┌─────────────────────────────────────────┐
│  渠道层                                    │
│  WhatsApp、Slack、Telegram、Discord、      │
│  Signal、iMessage、Teams、Matrix...        │
└───────────────────┬───────────────────────┘
                    │ 归一化消息
┌───────────────────▼───────────────────────┐
│  网关服务器                                 │
│  认证、会话路由、队列、                       │
│  限流、消息归一化                            │
└───────────────────┬───────────────────────┘
                    │ session 范围的请求
┌───────────────────▼───────────────────────┐
│  Agent Runner                              │
│  上下文组装、模型选择、                       │
│  agentic loop、工具执行                      │
└────────────────────────────────────────────┘

渠道层

每个聊天平台有一个适配器,把它的原生消息格式翻译成归一化的内部表示。WhatsApp 的语音备忘、Slack 的话题回复、Telegram 的命令,离开这层时都变成同一种形状。适配器是插件——你可以给 OpenClaw 还不支持的平台自己写一个。

网关服务器

控制平面。处理认证、把入站消息映射到正确的 session、执行限流、排队。关键是它拥有会话路由——搞清楚一条消息属于哪个对话,并确保每个 session 的运行串行化,这样同一个聊天里的两条消息不会互相踩踏。

Agent Runner

大脑。组装上下文(system prompt + 记忆 + 对话历史)、选模型、跑 agentic loop、执行工具调用、把响应通过网关流式传回来源渠道。

七阶段 Agentic Loop

这是 OpenClaw 的核心,值得吃透,因为它几乎能推广到所有严肃的 Agent 系统。一次”运行”——一条消息变成一个回复——流经这些阶段:

  1. 接收 —— 一条归一化消息从网关到达,限定在某个 session。
  2. 上下文组装 —— 拼起 system prompt、身份(SOUL.md)、相关记忆、近期对话历史。
  3. 模型推理 —— 把组装好的上下文发给 LLM。模型思考,要么产出回复,要么请求工具调用。
  4. 工具执行 —— 如果模型调用了工具(跑代码、搜网、读文件),执行并捕获结果。
  5. 迭代 —— 把工具结果喂回模型。在推理和工具执行之间循环,直到模型产出最终答案。这就是Agent 区别于聊天机器人的地方——它自主链式执行动作,不需要人在每一步提示。
  6. 流式回复 —— 输出边生成边通过网关流回渠道。
  7. 持久化 —— 保存更新后的 session 状态和任何记忆变更,让下次运行有连续性。

这个循环按 session 串行化:同一对话里,一次运行结束才开始下一次。这避免了两个并发运行破坏共享 session 状态的竞态——一个微妙但关键的设计选择。

身份与记忆:Markdown 方案

OpenClaw 把 Agent 的身份和记忆存在纯 Markdown 文件里。SOUL.md 定义个性、约束和行为规则,每个推理周期开始时读取。这让 Agent 跨对话保持一致。

记忆是分层的——短期对话上下文、中期 Markdown 文件、长期向量索引召回。如果这种分层听着耳熟,那正是我在Agent 记忆架构指南里拆过的同一模式。OpenClaw 和 Hermes 从不同起点出发,得到几乎一样的记忆设计,这说明分层方案正在收敛成事实标准。

你不该跳过的安全脚注

不舒服的部分,大多数教程都埋起来了:OpenClaw 跑一个能执行代码、浏览网页、代表你行动的 Agent——还连着你的个人消息账号。这是一个很大的攻击面。

暴露它之前要锁好几样东西:

  • 工具权限。 一个能从 WhatsApp 消息跑任意 shell 命令的 Agent,一旦有人进了你的聊天,就是个远程代码执行入口。严格限定工具访问。
  • 渠道认证。 确保只有你(或授权用户)能下命令。网关的认证层是你的第一道防线。
  • 沙箱执行。 代码执行应该在隔离环境里,而不是直接在你的主机上。微软甚至宣布了专门的 Execution Containers(MXC)用于在 Windows 上安全跑 OpenClaw。

OpenClaw 相对轻的安全脚手架是它如此好改的部分原因——但这是双刃剑。框架给你绳子,不把自己吊死是你的活。

接入模型

OpenClaw 用 OpenAI 兼容 API,所以你可以把 Agent Runner 指向任何供应商。配置由环境变量驱动:

OPENAI_API_BASE=https://api.sandbase.ai/v1
OPENAI_API_KEY=your-sandbase-api-key
DEFAULT_MODEL=anthropic/claude-sonnet-4

通过 SandBase 路由让 Agent Runner 用一个端点访问 300+ 模型,外加供应商宕机时的自动故障转移——当你的 Agent 常驻运行、不想因为单个供应商故障下线时很有用。对于 Agent 要处理从快速提问到长编码任务的多渠道部署,你可以把简单轮次路由到便宜模型、复杂的路由到更强的模型。

OpenClaw 教给我们关于 Agent 的普遍道理

剥掉聊天集成,OpenClaw 是一个教科书式 Agent:归一化输入、组装上下文、在推理和工具间循环、持久化状态。掌握这个骨架,你就懂了 LangGraph、AutoGen、Hermes 和大多数其他框架——它们都是同样七个阶段的变体。(OpenClaw 和 2026 年另一个重量级选手怎么比,看我们的 Hermes Agent vs OpenClaw 对比。)

这才是它冲到 25 万 star 的真正原因。它不只是个工具——它是 agentic 系统如何工作的最清晰可读地图,而且你今晚就能跑起来。

FAQ

Q:OpenClaw 能用于生产吗?

个人和小团队用,可以。对有严格治理需求的企业,它轻量的安全脚手架意味着你得自己加认证、审计日志和沙箱。它是个强地基,不是开箱即用的企业产品。

Q:OpenClaw 和 Discord/Slack 机器人有什么区别?

机器人响应命令。OpenClaw 跑完整的 agentic loop——自主链式调用工具完成多步任务、跨 session 维持记忆、通过一个运行时跨多渠道工作。机器人是个功能;OpenClaw 是个 Agent 平台。

Q:为什么用 Markdown 存记忆和身份?

可读性和所有权。你能用任何文本编辑器打开 SOUL.md、读懂它、改它。没有数据库,没有不透明格式。代价是 Markdown 扩展不到百万级记忆——那是向量索引的长期层负责的。

Q:能不暴露到公网跑 OpenClaw 吗?

能,而且你该考虑。它是本地优先的守护进程。Signal 或纯本地接口这类渠道让你不开端口就能用。入口越少,攻击面越小。

Q:OpenClaw 会把我锁死在某个 LLM 上吗?

不会。它用 OpenAI 兼容 API,所以任何供应商或路由(比如 SandBase)都行。改一个环境变量就能切模型。

猜你喜欢