返回

技术解读

OpenClaw爆火背后:拆解一个让AI"长出手脚"的开源项目

深度解析 OpenClaw 架构设计,还原一个让 AI Agent "可落地"的本地网关方案

2026年3月12日 15 min read

一个在 GitHub 上疯传的 AI 助手

2026年初,OpenClaw 在 GitHub 狂揽 10万+ Star 彻底出圈。

你可能在朋友圈、技术群、或者各种社交媒体上见过它。有人说它是"长了手的 Claude",有人用它处理保险理赔纠纷,有人让它代替自己谈判、安排日程,甚至全权处理一些日常事务。

今天不谈安装,只谈架构。仔细研究 OpenClaw 的架构,你会发现 OpenClaw 其实是个绝佳的"教科书"——它把当下所有主流 AI Agent 的核心设计模式,都用最直白的方式展现了出来。看懂了 OpenClaw,你就看懂了 AI Agent 的底层逻辑。

先说清楚:OpenClaw 到底是个啥?

很多人第一次听说 OpenClaw,以为它是个聊天机器人。错了。

OpenClaw 本质上是一个运行在你本地电脑(或服务器)上的网关程序。它连接你日常用的各种聊天工具——微信、飞书、Telegram、Slack——然后把每一条发给它的消息,都交给一个 AI 大模型来处理。

大模型你可以用 Claude、GPT、Gemini,甚至完全本地运行的开源模型。OpenClaw 不挑模型,你用什么都行。

关键是,这个 AI 不只会回复文字,它还能真的去做事:读写文件、执行命令、发邮件、浏览网页、管理日历……

表面上看,它像个智能助手。

往深了看,它其实是一个 AI Agent 的本地编排平台

核心区别

这个区别很重要——智能助手是"你问我答",而 Agent 编排平台是"你让我做事,我想办法搞定"。这也是我们接下来要拆解的核心。

第一层:网关——整个系统的"神经中枢"

OpenClaw 的所有操作,都要经过一个叫 Gateway(网关)的进程。Gateway 简单的说就是个调度器,负责路由和分发。比如你做公交车,人很多,车很多,你就需要一个调度中心去管理那些人做什么车去什么方向。官方文档把它称为"唯一的真相来源",负责会话管理、消息路由、渠道连接。

这个网关通常作为后台服务常驻运行。

通讯工具 微信/飞书/Slack
Gateway 唯一的真相来源
Agent Runtime 大模型 + 工具

它一头连接你日常用的各种聊天工具——微信、飞书、Telegram、Slack——然后把每一条发给它的消息,统一格式。

一头连着 Agent Runtime,把各个渠道收到的消息发送给 Agent,如果消息非常多,它会建一个消息队列,排好队一个一个处理。

架构原则 #1

真正的 AI Agent 部署,永远不会把大模型 API 直接暴露给用户输入。你得在中间放一个受控的编排层,负责路由、排队、状态管理。OpenClaw 把这个模式做得清清楚楚。

第二层:输入标准化——让不同平台"说同一种话"

当你在微信上给 OpenClaw 发条消息,第一件事不是调用 AI,而是先经过一个渠道适配器(Channel Adapter)

OpenClaw 支持十几种聊天平台,每个平台的协议和消息格式都不一样。微信的语音消息和 Slack 的文本消息,数据结构完全不同。

微信/飞书

语音消息转文字、群聊/私聊区分、消息类型统一

Telegram/Slack

Markdown 解析、Bot 指令识别、频道上下文

渠道适配器的工作,就是把这些五花八门的输入,统一转换成一个标准的消息对象:发送者、内容、附件、渠道信息。如果你发的是语音,它会先转成文字,再往下传。

架构原则 #2

在大模型看到输入之前,先把它标准化。为什么?因为你喂给大模型的上下文,决定了它的输出质量。输入乱七八糟,输出就会一塌糊涂。

第三层:路由和会话——谁来处理?处理到哪一步了?

网关拿到标准化的消息后,要决定两件事:

  1. 交给哪个 Agent 处理?
  2. 这条消息属于哪个对话?

OpenClaw 支持多 Agent 路由。你可以给不同的渠道、联系人、群组配置不同的 Agent。比如:

  • 私聊用一个 Agent,语气随意,能访问你的日历
  • 工作群用另一个 Agent,正式一点,能查产品文档

所有这些,都通过同一个网关进程管理。

每个 Agent 维护自己的会话(Session):一个有状态的对话记录。会话有 ID,记录历史,而且——注意这个细节——同一个会话的消息是串行处理的,不是并发的

架构原则 #3

当 Agent 共享状态时,并发是危险的。按会话串行执行,是个深思熟虑的设计决策,不是性能妥协。官方文档说得很明白:串行化可以防止工具冲突,保持会话历史一致。

核心:Agentic Loop

这是 OpenClaw 的核心,也是所有 AI Agent 的核心概念。官方文档这样描述:

Agentic Loop 是 Agent 的完整运行周期:接收输入 → 组装上下文 → 模型推理 → 执行工具 → 流式回复 → 持久化

我们一步步拆解。

1. 上下文组装

在大模型看到你的消息之前,Agent 运行时会组装一个"上下文包"。系统提示词由四部分构成:

1

OpenClaw 的基础提示词

Agent 始终遵循的核心指令

2

技能提示词

可用技能的简明列表(名称、描述、路径)

3

启动上下文文件

提供环境级别的上下文

4

单次运行覆盖

针对特定任务的额外指令

关键洞察

大模型没有眼睛,它只能看到你放进上下文窗口的东西。上下文组装不是可以跳过的预处理步骤,它是整个 Agent 系统中最重要的工程决策。模型知道什么、相信什么、能做什么,全都取决于这一步。

2. 模型推理

组装好的上下文被发送给你配置的模型提供商(Anthropic、OpenAI、Google、Ollama 等)。OpenClaw 会处理几个重要细节:

  • 强制执行模型特定的上下文限制
  • 保留压缩预留空间(一个 token 缓冲区),确保模型有足够空间回复

3. 工具执行——Agent"长出手脚"的地方

这是最有意思的部分。当大模型响应时,它会做两件事之一:

  1. 输出文本回复(这一轮结束)
  2. 请求工具调用(Tool Call)

工具调用是什么?就是模型用结构化格式输出:"我想运行这个特定工具,用这些特定参数。"比如"我需要读这个文件"或"我需要搜索网页"或"我需要发这封邮件"。

OpenClaw 的 Agent 运行时会拦截这个请求,执行工具,捕获结果,然后把结果作为新消息反馈回对话。模型看到结果后,决定下一步做什么——可能是再调用一个工具,也可能是最终写出回复。

这个循环叫 ReAct 循环(Reason 推理 + Act 行动)。这是 Agent 和聊天机器人的本质区别。

ReAct 循环伪代码
while True:
    回复 = 大模型.调用(上下文)

    if 回复.是文本():
        发送回复(回复.文本)
        break

    if 回复.是工具调用():
        结果 = 执行工具(回复.工具名, 回复.工具参数)
        上下文.添加消息("工具结果", 结果)

OpenClaw 实现了同样的循环模式,而且是实时流式返回的。你能看到工具被调用,看到结果返回,看到模型基于结果进行推理,然后给出回复。

技能系统:按需加载的"专业知识"

OpenClaw 的技能(Skills)设计非常优雅,也是一个很好的提示词工程实践案例。

一个技能就是一个文件夹,里面有个 SKILL.md 文件。这个 Markdown 文件用自然语言写着指令、示例,有时还包括工具配置,告诉 Agent 怎么处理特定领域的任务——比如管理 GitHub 仓库、审查 PR、或者调用某个 API。

SKILL.md 示例
---
name: github-pr-reviewer
description: 审查GitHub拉取请求并发布反馈
---

# GitHub PR审查员

当被要求审查拉取请求时:
1. 使用web_fetch工具从GitHub URL获取PR差异
2. 分析差异,检查正确性、安全问题和代码风格
3. 将审查结构化为:摘要、发现的问题、建议
4. 如果被要求发布审查,使用GitHub API工具提交

始终保持建设性。将阻塞性问题与建议分开标记。

关键来了:OpenClaw 不会把所有技能的完整文本都塞进系统提示词。相反,上下文组装步骤只注入一个简洁的技能列表——基本上就是名称、描述和文件路径。模型读到这个列表,当它判断某个技能与当前任务相关时,才会按需读取那个技能的 SKILL.md

架构精髓

模型不是被动接收指令,而是主动决定查阅哪些技能,按需加载。上下文窗口是有限的,这种设计让基础提示词保持精简,无论你安装了多少技能。

技能可以从 ClawHub(OpenClaw 的社区注册表)安装,也可以自己写。

⚠️ 安全提醒

社区技能可能导致静默数据泄露和提示词注入式攻击。安装任何第三方技能前,务必审查代码,尤其是那些能访问邮件或浏览器自动化的技能。

MCP:标准化的工具层

一些 OpenClaw 部署集成了 MCP 服务器作为标准化工具层,把 Agent 连接到外部服务,比如 Google 日历、Notion、智能家居、或自定义 API。MCP 的原生支持在项目中还在积极演进,但社区适配器已经让它成为可能。

工具可移植性

为一个兼容 MCP 的 Agent 构建的工具,可以在其他说同样协议的系统中复用。

标准接口

Agent 永远不直接接触底层服务。它调用一个标准接口,MCP 服务器处理剩下的事。

记忆系统:让 AI 记住你是谁

问任何一个 AI 工程师,Agent 系统中最难的问题是什么,记忆肯定排在前几位。大模型本质上是无状态的,每次对话都从白纸开始。那怎么构建一个能记住你的偏好、正在进行的项目、沟通风格的 Agent,而且能跨越几天、几周?

OpenClaw 的答案刻意保持简单,我认为这是整个项目中最好的设计决策之一。

记忆就存在普通的 Markdown 文件里,放在 Agent 工作区,默认是 ~/.openclaw/workspace。OpenClaw 的配置和状态(凭证、会话、日志、已安装技能)存在 ~/.openclaw/ 下。

记忆文件结构
~/.openclaw/workspace/
+-- AGENTS.md      <-- Agent配置和指令
+-- SOUL.md        <-- 性格、偏好、语气
+-- MEMORY.md      <-- 长期事实和摘要
+-- HEARTBEAT.md   <-- 主动任务清单
+-- memory/
    +-- 2026-02-15.md  <-- 每日临时日志
    +-- 2026-02-16.md  <-- 每日临时日志

每日日志memory/YYYY-MM-DD.md)是持久化的、只追加的文件,记录每天发生了什么。重要的是,这些不会在每一轮对话时自动注入上下文。Agent 通过记忆工具按需检索它们,只在与当前任务相关时才读取。这让日常对话保持精简,避免不必要的上下文膨胀。

  • MEMORY.md 存储 Agent 了解到的关于你的长期事实:比如"用户喜欢简洁的回复"、"用户的技术栈是 Next.js 和 Supabase",或者"周五永远不要安排会议"。
  • SOUL.md 定义 Agent 的性格、名字和沟通风格。这让它感觉像你的助手,而不是一个通用机器人。

当加载所有这些历史会超出上下文窗口时,OpenClaw 会运行压缩(Compaction)流程。它把较旧的对话轮次总结成压缩条目,保留语义内容的同时减少 token 数量。这是解决基于大模型系统中长上下文问题的实用方案。

对于记忆检索,OpenClaw 支持基于嵌入的搜索,可选地通过 sqlite-vec SQLite 扩展加速。根据配置,一些部署会将其与基于关键词的搜索配对,既能概念匹配,又能精确 token 匹配。

简洁的设计

没有外部数据库。没有 Redis。没有 Pinecone。就是 SQLite 和 Markdown 文件。这很好地提醒我们:在工程中,能真正解决问题的最简单方案,通常就是正确的方案。

心跳机制:让 AI 主动干活

OpenClaw 有个很有意思的特性:它不只是坐在那儿等你发消息。它有个心跳(Heartbeat)机制:一个定时触发器,默认每 30 分钟触发一次。

每次心跳时,Agent 读取 HEARTBEAT.md,这是一个它应该主动检查的任务清单。它决定现在是否有事情需要注意。如果有,就采取行动,可能给你发条消息。如果没事,它回复 HEARTBEAT_OK,网关会抑制这个回复,不会发给你。

架构概念

定时触发的 Agent 循环——不只是响应人类输入,Agent 会定期被唤醒,被要求评估它的任务列表。你可以用它每天给自己发简报、监控网站变化、或者在你注意到之前就发现日历冲突。

完整流程:一条消息的旅程

把所有这些拼起来,一条消息在 OpenClaw 中的完整流程是这样的:

  1. 消息到达 → 渠道适配器标准化
  2. 路由 → 网关决定哪个 Agent、哪个会话
  3. 排队 → 命令队列串行化执行
  4. 上下文组装 → 系统提示词 + 技能列表 + 记忆 + 历史
  5. 模型推理 → 调用大模型 API
  6. 工具执行 → ReAct 循环(可能多轮)
  7. 流式回复 → 实时返回给用户
  8. 持久化 → 更新会话历史和记忆文件
OpenClaw 完整流程图

这告诉我们什么?

大多数现代 Agent 框架在不同的 API 和抽象下,共享着相同的核心模式。看 OpenClaw,你能清楚地看到它们:

OpenClaw 核心模式

OpenClaw 的价值不在于它独创了这些模式,而在于它让这些模式变得具体、基于文件、可读。你可以打开 SOUL.md 看到 Agent 遵循的确切指令。你可以读任何 SKILL.md 理解一个能力是怎么添加的。你可以检查 MEMORY.md 审计 Agent 知道的关于你的一切。

⚠️ 安全警示

这种透明性既是它最大的工程优点,也是最大的安全攻击面。一个能访问你的文件、浏览器、邮件和聊天工具的 Agent 是强大的。一个恶意技能或者通过 Agent 访问的网页发起的提示词注入攻击,理论上可以危及所有这些。在把网关暴露到网络之前,务必运行安全审计工具,安装任何第三方技能前都要审查代码。

写在最后

OpenClaw 在 2026 年初成为 GitHub 上增长最快的仓库之一。开发者社区不只是在认可一个有用的工具,他们在认可一种架构模式

本地网关 + Agent 循环 + 技能系统 + 持久化记忆——这个模式会在很长时间内成为个人 AI Agent 的蓝图。

如果你想真正理解 AI Agent 是怎么工作的,OpenClaw 是你能研究的最好的真实案例之一。代码是 MIT 开源的,架构是可读的,它实现的概念和严肃 AI 公司生产环境中的 Agent 系统是一样的。

去读源码。打开一个 SKILL.md。编辑你的 SOUL.md。搞坏点东西。这才是真正学习的方式。

参考资料
1

OpenClaw GitHub 仓库 - MIT 开源项目