夜雨聆风学习资料网

ARTICLE · 1279565

OpenClaw周年总结:架构演进与技术亮点

OpenClaw周年总结:架构演进与技术亮点

2025年11月,Peter Steinberger把一个周末项目发到了GitHub。它最初是一个WhatsApp上的AI代理:用户在聊天软件里发消息,大模型替他查资料、跑命令、处理日程。一年后,这个项目以OpenClaw之名成为GitHub历史上Star最多的软件仓库——2026年3月3日以250,829个Star超过React,10月中旬达到约39.2万Star、8.2万Fork。这一年里它经历了三次更名、一场供应链攻击和一次为期七周的停更重构,从"能跑的周末玩具"演进为"可托付的Agent运行时"。本文按时间线梳理OpenClaw一年的架构演进,并剖析当前版本的核心技术设计。

一、一年大事记

  • 2025年11月:Clawdbot诞生,原型是一个名为"WhatsApp Relay"的周末黑客项目,迅速在GitHub走红。
  • 2026年1月下旬:项目爆红,4天内新增6万Star。
  • 2026年1月27日:应Anthropic的商标请求,Clawdbot更名为Moltbot(意为蜕壳)。
  • 2026年1月29日:正式定名OpenClaw。此时Star突破10万,单周访客达200万,随更名落地了34次安全提交。
  • 2026年3月3日:Star达到250,829,超过React,登顶GitHub软件项目榜首。
  • 2026年3月:安全事件高发,3月18日至21日的4天内新增9条安全追踪记录;3月21日原生记忆插件合并(PR #50848),记忆能力从Skill层下沉到Agent的上下文组装流程。
  • 2026年7月:云Worker方案确定技术方向。
  • 2026年8月31日:OpenClaw 2.0(v2026.8.1)发布。
  • 2026年10月13日:当前稳定版v2026.10.3发布。

名字的三次更迭记录了项目身份的变化:Clawdbot是Claude与龙虾螯(claw)的拼词;Moltbot取自蜕壳(molt),象征成长;OpenClaw中的Open代表开源与开放生态,Claw保留了龙虾吉祥物的基因。新名字在社区头脑风暴中产生,定位也从个人玩具转向开放的基础设施。

二、架构总览:Gateway、Agent循环、一切皆文件

OpenClaw是运行在用户自有设备上的个人AI Agent运行时,TypeScript实现,MIT协议,模型无关。当前架构由四个部分组成。

1. Gateway:单一控制面

所有事件流经一个常驻进程。Gateway以系统服务运行(Linux下是systemd,macOS下是launchd),在单个端口上复用WebSocket与HTTP,默认监听127.0.0.1:18789。Control UI、CLI、移动App与配对设备都作为它的客户端接入。Gateway承担四项职责:

  • 路由:把来自WhatsApp、Telegram、Slack等30余个渠道的消息分发到正确的Agent与会话。支持多Agent路由,不同渠道甚至不同联系人可以指向完全隔离的Agent,各自拥有独立工作区与模型。
  • 会话管理:每段对话一个会话。2.0起,会话与transcript存入每个Agent独立的SQLite数据库;会话也可以调度到配对设备或云Worker上执行,Gateway保留transcript与凭证。
  • 认证:默认强制开启且fail closed——未配置有效凭证时拒绝所有WebSocket连接。新手引导即使纯本地部署也会生成令牌,新设备必须配对。
  • 心跳编排:默认每30分钟执行一次心跳轮次,Agent检查任务清单并决定行动或保持沉默。必须在精确时刻发生的事交给cron自动化,而不是心跳。

单进程设计换来了简洁,也留下了单点故障:文档明确一个主机只有一个Gateway,它崩溃时所有渠道静默。2.0改进了重启恢复,中断的轮次可以续跑,排队消息会继续处理。

2. Agent循环:ReAct

执行内核是标准的ReAct循环(Reason + Act),分四步:

  1. 上下文组装:将系统提示词、工作区引导文件(AGENTS.md承载操作规则,SOUL.md承载人格,USER.md承载用户偏好,MEMORY.md承载持久事实)、对话历史、工具Schema与可用Skill打包进上下文窗口,可用/context list查看实际装入的内容。
  2. LLM推理:上下文送入配置的主模型,故障时按fallbacks列表轮换模型与auth profile。
  3. 工具执行:模型输出工具调用,运行时在(可选配置的)沙箱中执行并把结果回填。
  4. 循环或回复:模型判断是否需要更多信息。复杂任务可循环多轮;接近上下文上限时,旧轮次被压缩为摘要(compaction),流程继续。

这套循环决定了OpenClaw的定位:它不是偶尔调用工具的聊天机器人,而是一个恰好以聊天为界面的编排引擎。

3. "一切皆文件"的工作区

Agent的可读可写部分全部是纯Markdown:人格是SOUL.md,规则是AGENTS.md,记忆是MEMORY.md加上memory/目录下的日期笔记,技能是含SKILL.md的文件夹,全部位于~/.openclaw/workspace,官方建议用私有Git仓库做版本管理。2.0把机器内部状态(会话、transcript、记忆索引)移入SQLite,但人读人写的部分保持原样。透明性是这个设计的最大优点:没有隐藏状态,一切可以在文本编辑器里审阅。

4. 多渠道接入

一个Agent可同时接入WhatsApp、Telegram、Slack、Discord、Signal、iMessage、Teams、Matrix、SMS、WebChat等30余个渠道。Telegram随核心安装附带,其余多为官方插件按需安装。每个适配器把平台差异归一化为统一消息格式:WhatsApp经Baileys库做二维码配对,iMessage在2.0后改用基于imsg桥的原生插件。默认情况下,个人Agent在所有私聊间维持一条滚动的主会话——通勤时在WhatsApp里交代的事,到工位切到Slack接着办,接续的是同一段对话和同一份记忆。

三、OpenClaw 2.0

2.0的起点只是一个朴素目标:简化安装、重做浏览器控制界面(Control UI)。为落实这两项体验优化,团队逐层重构底层,最终演变为项目史上规模最大的版本:合并超过16,000个PR,933位贡献者中569位首次参与,约等于项目历史PR总量的一半。债务从何而来,此前的节奏可以说明:230天内发布106个版本,多数版本间隔一两天;2.0之前则出现近七周的停更空窗,用于完成底层基座与发布流程的双重重构。

1. 会话资源化:从进程内状态到可迁移资源

这是2.0最核心的变化,其余变化都建立在它之上。会话在三个维度上被解耦:

  • 位置解耦:会话可以调度到配对设备或云Worker执行,工作区随会话迁移;空闲Worker挂起,下一条消息到达时重新供给,会话与已协调的工作区保留。
  • 时间解耦:进度卡片跨端存活,Web、macOS、iOS、Android与仪表盘上是同一张卡;未配置重置策略的会话不再因空闲或跨天重置;支持从已持久化的用户消息分叉或回退,早先的对话路径保留。
  • 主体解耦:共享会话引入可见性与成员角色——谁能查看、谁能建议、谁能直接参与;团队操作员角色为已验证用户分配具名角色,限定可访问的Agent与操作范围。

会话由此具备完整的资源特征:可寻址、可迁移、可共享、可快照、可恢复、有访问控制。为此,存储层整体迁入SQLite,配套提供backup的create/list/verify/restore全链路。代价也直接写进了changelog:2.0的Fixes里密度最高的一组问题几乎全部由存储更换引发。官方同时明确了回滚纪律:回退旧版前必须用当前版本CLI恢复已归档的旧transcript产物,迁移后新建的会话在旧版本中不可见——升级前的备份必须是可restore的,复制文件不算。

2. 控制面客户端化:UI退化为Gateway的客户端

重建后的Control UI把会话放在中心,旁边是可停靠的面板:工作区文件编辑器、带PR状态与CI摘要的Changes面板、可做元素检查与截图批注的浏览器面板、全屏Web终端。Gateway成为唯一真相源,展示层只是它的观察者。

官方给出两个数字:在mocked Gateway加50ms HTTP/1.1延迟的模拟中,默认会话的JavaScript请求数从140降到45,启动时间从约1.6秒降到575毫秒。请求数下降三分之二来自数据获取模型的重做——此前存在大量重复拉取与重复初始化。

当Web、桌面、移动端甚至Telegram Mini App都是同一Gateway的客户端时,一致性问题从体验瑕疵升级为正确性缺陷。2.0为此偿还了一批底层债务:所有客户端改用Gateway challenge时间戳做设备证明,消除设备时钟偏移;每次WebSocket替换重置外层事件序列基线,防止跨连接代次的gap recovery出错;工具进度在折叠行、展开卡片与侧栏详情三处保持状态一致。

有两条边界被原样写进了文档:文件编辑器不能新建或删除文件;Changes面板只读,创建PR会交给GitHub而不是在OpenClaw内部完成。这是有意的架构克制——OpenClaw不打算成为IDE或Git客户端,只在会话旁边提供够用的上下文。

3. 能力外置:核心变薄

2.0把大批官方provider从核心拆为按需安装的独立包:第一批包括BytePlus、ComfyUI、Mistral、NovitaAI、OpenCode、Synthetic、Volcengine、Vydra、Xiaomi,第二批包括Cohere、Meta、DuckDuckGo搜索、Voyage embeddings与iMessage,只有OpenCode Go保留内置。内置的判定标准从"是否常用"变为"是否与Agent执行循环强耦合",模型接入属于后者。

能力外置把一部分正确性责任从代码转移到运维,所以外置必须同时交付四件事:update repair与doctor --fix恢复缺失的已配置包;Gateway启动前自动应用安全的doctor配置迁移;安装或启用外部插件前展示其能力、来源、版本与产物,拒绝更新时保留原插件;CLI安装任意可执行来源需要显式--force,ClawHub安装前显示安全审计信息。外部Skill引用也不再直接从源registry下载,改为走ClawHub的commit-pinned镜像产物并施加常规安全检查。

4. 安全:一条信任边界与三层防线

2.0的安全设计分三层:

  • 入口层:Gateway默认绑定loopback;多数聊天渠道对未知DM发送者回以配对码;受信任代理下的浏览器配对,其scope升级受运维配置的上限约束。
  • 凭证层:私有凭证通过遮蔽提示框收集,值既不进聊天也不进模型上下文;共享凭证库中的secret只写不可读,且出口绑定声明的host;1Password broker逐条授权且审计记录不含值。
  • 执行层:会话权限模式把受限文件系统访问锚定在记录的工作区或worktree上;shell展开导致无法生成可强制执行的allowlist计划时直接fail closed;自动化授权针对精确操作授予一次,job或operation变更即失效。

设计依据来自官方安全文档的众测数据:2026年的一次攻击竞技场覆盖27.2万次攻击、41个Agent场景,判定标准是"既执行了有害动作、又向用户隐藏了它"。结果为Claude Opus 4.5成功率0.5%、Sonnet 4.5为1.0%、Haiku 4.5为1.3%、Gemini 2.5 Pro为8.5%。模型选型是一道有效缓解,但同一页文档明确警告:自适应的人类攻击者对最先进防御的成功率仍超过80%。因此模型自律不构成防线,硬执行层只能是工具策略、执行审批与沙箱。

5. 记忆体系与自学习:可撤销的数据资产

记忆是2.0重建幅度最大的子系统。默认记忆插件Memory Core采用"纯文件+一个SQLite索引"的结构,按信任级别、写入规则与注入行为分为五层:

层
载体
写入者
注入时机
Instructions
AGENTS.md等工作区指令文件
仅人类
会话开始时总是注入
Curated core
MEMORY.md、USER.md
Dreaming整合或用户直接请求
会话开始时有条件注入,受预算约束
Episodic
memory/日期笔记、会话transcript
Agent工作期间、memory flush、transcript捕获
按需检索,不在会话启动时注入
Prospective
常设意图(SQLite)、cron任务
intent工具、定时任务
仅当触发条件成立
Review
DREAMS.md、Dreaming报告
Dreaming各阶段
从不注入,仅供人阅读

这套体系的设计有两条主线。

写入路径即安全边界。信任判断不靠模型审内容,而在写入时强制完成:每条记忆标注来源,分四类——owner(主人亲自输入)、agent(Agent从主人内容派生)、untrusted(来自网页、工具输出、群聊陌生人发言)、system(心跳等运行时指令),存在模型改不动的SQLite列里。晋升长期记忆时,untrusted与system被结构性排除,召回频次再高也没用。另有一条卫生规则:定时任务、心跳与子代理不产生持久记忆;而被召回的内容不会被再次提取为新记忆——一条事实召回一百次,仍是一条事实。工具结果若来自网络,本轮后续的助手消息按untrusted处理,下一条用户消息时解除。

整理离开繁忙路径。工作中只做轻量记录:Agent随手往日期笔记追加观察,长对话压缩前把上下文写入当日笔记,会话结束后transcript留作素材。整理交给后台定时任务Dreaming,分三个阶段:Light与REM做去重、分级与反思,不碰长期记忆;Deep阶段过两道门——规则门用固定代码按相关性、召回频次、新近度等信号打分筛选,整合门让模型把通过者连同现有MEMORY.md改写成新版本。改写要生效,需通过结构、预算、条目损失三重校验;写入前核对内容哈希,冲突就退回追加模式;每次改写都保留旧版本,并在DREAMS.md记下人类可读的变更说明。

召回分两条车道。默认车道零模型调用:启动时注入MEMORY.md与USER.md;搜索按相关性、新近度(30天半衰期)与重要度排序;写入时可附触发短语,入站消息强匹配时自动注入相关条目,每轮至多3条——且仅限Curated层,日期笔记与transcript匹配再强也不会自动进提示词,这是安全设计。升级车道是阻塞式召回子代理,仅在消息带回忆意图且默认车道无命中时启动,专攻时间性与多跳这类难题。

自学习同样默认开启,但成立的前提是可撤销:每条记忆可查来源会话,来源可整体排除,openclaw memory forget可定点删除,源transcript始终保留。默认开启、随时可关、来源可查、可定点删——四件事齐备,记忆才是数据资产,而不是一删全无的缓存。

四、写在周年

回看这一年,OpenClaw的架构演进为个人Agent基础设施提供了三条可借鉴的判断。

其一,会话资源化是Agent运行时从单机工具走向协作平台的分水岭。会话一旦可寻址、可迁移、可共享,多人协作、云端执行与工作交接就不再是附加功能,而是同一抽象的自然推论。

其二,记忆系统的关键在写入治理而非检索。Memory Core的方案——provenance前置、结构化晋升门、可撤销与源transcript保留——回答了常开Agent最难的两个问题:哪些内容配得上被记住,记错了怎么办。

其三,安全不能依赖模型自律。竞技场数据显示顶级模型对隐蔽有害动作的成功率仍有个位数百分比,自适应攻击者更是超过80%。唯一的出路是机械的作用域约束:默认绑定loopback、fail closed、一次性精确授权、凭证只写不可读。

下一阶段的方向已经写在OpenClaw的规划里:云Worker的常态化、共享会话的协作边界、以及"本地优先+企业级安全"这块空白区域的填补。一只龙虾用一年时间从周末项目长成了基础设施,下一年要看的是这套架构能否撑起它已经获得的信任。

~~如果觉得有帮助,欢迎关注、点赞、分享、推荐。~~

【更多技术干货,请关注公众号】
【智能体应用系列文章】
Muse 智能体技术解构:Secure VM、Sentinel 与 Agent 运行时全解析

Meta Muse深度拆解

OpenAI Dots 技术全景解构:全天候个人智能体的软件架构、实现方式与优劣势

DeepSeek Harness 架构拆解:当 Agent 运行时的每个组件都变成插件
【文章合集】
AI AI-Model Agent Agent-App Graphics Multimedia GPU NPU

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料