博客
首页归档关于搜索

关联站点

CodeRunCommon AuthNav2文件中转站

鄂ICP备19019526号

© 2026 博客

  1. 首页
  2. OpenClaw 深度技术拆解:原理、架构与未来展望

OpenClaw 深度技术拆解:原理、架构与未来展望

2026年4月1日·约 14 分钟·2 次阅读
AI
OpenClaw 深度技术拆解:原理、架构与未来展望

目录

  • 一、OpenClaw 是什么
  • 二、整体架构:网关即控制面
  • 2.1 轴辐式(Hub-and-Spoke)架构
  • 2.2 六层分层架构
  • 2.3 技术栈概览
  • 三、核心技术深度拆解
  • 3.1 消息处理全链路
  • 3.2 渠道系统:统一 30+ 消息平台
  • 3.3 路由引擎:七级优先级匹配
  • 3.4 Lane 命令队列管理
  • 3.5 嵌入式 Agent 运行时
  • 3.6 混合记忆系统
  • 3.7 纯文本存储的革命性设计
  • 3.8 插件化架构
  • 四、安全模型:多层纵深防御
  • 4.1 五层安全策略
  • 4.2 命令执行安全
  • 4.3 已知安全风险
  • 五、浏览器工具:语义快照而非截图
  • 六、心跳机制与动态系统提示词
  • 6.1 心跳机制
  • 6.2 动态系统提示词
  • 6.3 SOUL.md:个性化配置
  • 七、跨平台客户端与设备节点
  • 八、与其他 Agent 的协作
  • 九、生态系统
  • 十、未来发展趋势与展望
  • 10.1 技术演进方向
  • 10.2 从"千模大战"到"千端大战"
  • 10.3 Agent 经济的雏形
  • 10.4 成本优化路径
  • 10.5 值得关注的挑战
  • 结语

一、OpenClaw 是什么

OpenClaw(曾用名 Clawdbot / Moltbot)是一个开源的本地优先个人 AI 智能体网关,由奥地利工程师 Peter Steinberger(PSPDFKit 创始人)于 2026 年 1 月正式开源 [4][6]。它不是一个普通的聊天机器人,而是一个能直接操作系统、执行实际任务的"数字员工"——用户通过 WhatsApp、Telegram、飞书、微信等通讯软件发送自然语言指令,OpenClaw 就能在本地设备上自动完成文件管理、邮件处理、浏览器操作、Shell 命令执行等工作 [3][6]。

其核心设计哲学围绕五个原则展开 [3]:

  • 安全默认:所有功能默认采用最严格的安全配置
  • 本地优先:核心功能完全在本地运行,无强制云端依赖
  • 极简核心:核心网关保持轻量与稳定,扩展通过插件实现
  • 无额外应用:用户可在日常通讯平台中直接使用
  • 社区驱动:完全开源,由社区主导开发迭代

截至 2026 年 3 月,OpenClaw 在 GitHub 上已累积超过 25 万 Star,拥有 378 位贡献者和 8900+ 开发者组成的社区 [6]。


二、整体架构:网关即控制面

2.1 轴辐式(Hub-and-Spoke)架构

OpenClaw 的核心架构思想可以用一句话概括:Gateway as Control Plane(网关即控制面)[5]。

Gateway 作为中心枢纽,所有消息渠道、AI Agent、客户端应用都通过 WebSocket 连接到它。这是一个经典的轴辐式设计 [5]:

                        客户端层
    ┌──────────────────────────────────────────────┐
    │  macOS App │ iOS Node │ Android │ CLI │ Web  │
    └───────────────────────┬──────────────────────┘
                            │ WebSocket
    ┌───────────────────────▼──────────────────────┐
    │             Gateway 控制面 (Core)              │
    │  ┌──────────┬────────────┬─────────────────┐  │
    │  │ WebSocket│ HTTP Server│ Plugin Registry  │  │
    │  │ Server   │ (Hono)     │ (渠道/工具/钩子) │  │
    │  └────┬─────┴─────┬──────┴────────┬────────┘  │
    │  ┌────▼───────────▼───────────────▼────────┐  │
    │  │         Gateway Runtime State            │  │
    │  │ Session │ Config │ Health │ Cron │ Nodes │  │
    │  └─────────────────────────────────────────┘  │
    └───────────────────────┬──────────────────────┘
                            │
        ┌───────────────────┼───────────────────┐
        ▼                   ▼                   ▼
    ┌────────┐      ┌──────────────┐      ┌──────────┐
    │ Channel│      │   Pi Agent   │      │   LLM    │
    │ Plugins│      │  嵌入式运行器  │      │ 提供商    │
    │ (30+)  │      │              │      │ 故障转移  │
    └───┬────┘      └──────────────┘      └──────────┘
        ▼
    ┌──────────────────────────────────────────────┐
    │ WhatsApp │ Telegram │ Slack │ Discord │ 30+  │
    └──────────────────────────────────────────────┘

选择中心化 Gateway 的理由非常务实 [5]:

  • 单一状态源:所有会话状态集中管理,彻底避免分布式一致性问题
  • 协议统一:无论消息来自哪个渠道,进入 Gateway 后统一使用内部 JSON-RPC 协议处理
  • 部署简化:openclaw start 就能启动一切,没有服务发现、负载均衡的复杂度

2.2 六层分层架构

从宏观视角看,整个系统可以划分为六个清晰的层次 [5]:

层级职责关键组件
接入层与各消息平台对接Baileys、grammY、@slack/bolt 等
网关层消息路由、会话管理、事件分发WebSocket RPC、HTTP API、Hook 系统
路由层决定"谁来处理这条消息"多级路由优先级、身份链接
Agent 层AI 推理、工具调用、技能执行Pi Agent 运行时、沙箱
回复层响应格式化、流式输出、分块策略ReplyDispatcher、打字指示器
基础设施层配置、存储、日志、安全JSON5 + Zod、SQLite + sqlite-vec

2.3 技术栈概览

OpenClaw 采用日历版本号(CalVer):2026.2.6-3,格式为 YYYY.M.D-patch [5]。

分类选型
运行时Node.js (ESM) ≥22.12.0
主语言TypeScript ^5.9.3
包管理pnpm (Monorepo) 10.23.0
HTTP 框架Hono + Express
WebSocketws ^8.19.0
Schema 验证Zod + TypeBox + Ajv
构建工具tsdown
测试框架Vitest (V8 覆盖率)
Web UILit (Web Components)
Agent SDK@mariozechner/pi-coding-agent
向量数据库sqlite-vec 0.1.7-alpha.2

三、核心技术深度拆解

3.1 消息处理全链路

当一条消息从任意渠道进入系统时,它会经历七个精心编排的处理阶段 [5]:

① Channel Monitor     接收外部消息,格式归一化
        ↓
② Routing Engine      路由解析 → 决定哪个 Agent 处理
        ↓
③ Session Manager     构建会话键 → 加载或创建会话
        ↓
④ Gate Checks         门控检查:命令拦截、提及检测、防抖、去重
        ↓
⑤ Agent Runtime       AI 推理 + 工具调用 + 技能执行
        ↓
⑥ Reply Dispatcher    回复分发:分块、格式化、打字指示器
        ↓
⑦ Channel Outbound    渠道适配,调用平台 API 发送

这条流水线的关键设计原则是渠道无关性:从第②步到第⑥步,系统完全不关心消息来自哪个渠道。新增渠道只需实现入站和出站适配器,核心逻辑一行不改 [5]。

3.2 渠道系统:统一 30+ 消息平台

统一 30+ 消息平台是 OpenClaw 最具工程挑战的部分。每个平台都有截然不同的认证方式、消息格式、能力差异和速率限制 [5]。

OpenClaw 的解法是一个精心设计的多适配器组合契约(ChannelPlugin)。所有适配器字段均标记为可选,渠道只需实现其支持的功能 [5]。例如 SMS 渠道不需要 streaming 和 threading;Telegram 不需要 pairing。

每个 Channel 的核心工作 [4]:

  1. 接收消息:从平台获取用户消息
  2. 格式转换:统一转换为 OpenClaw 内部的 StandardMessage 格式
  3. 发送回复:把 OpenClaw 的回复发回平台
// 标准化消息格式
interface StandardMessage {
  userId: string;      // 统一的用户ID
  content: string;     // 消息内容
  timestamp: number;   // 时间戳
  metadata: any;       // 平台特定数据
}

3.3 路由引擎:七级优先级匹配

路由引擎采用从精确到模糊的七级优先级匹配 [5]:

1. binding.peer         → 精确匹配(peer.kind + peer.id)
2. binding.peer.parent  → 父级匹配(适用于线程消息)
3. binding.guild        → Discord Guild 匹配
4. binding.team         → Slack Team 匹配
5. binding.account      → 账号级匹配
6. binding.channel      → 渠道级匹配
7. default              → 默认 Agent

这种多级路由让用户可以精细地控制消息分配:特定的 Telegram 联系人走"编程助手"Agent,Slack 工作群走"工作助理"Agent,其余全部走默认通用 Agent [5]。

3.4 Lane 命令队列管理

OpenClaw 在并发处理方面采用了独特的 Lane(车道)抽象来管理命令队列 [2]。核心设计理念是"默认串行、显式并行":

  • 每个用户会话独占一条串行 Lane,确保同一会话内的消息按序处理
  • 低风险任务可显式分配至并行 Lane 执行
  • 通过 Lane 隔离,不同会话之间的任务不会相互干扰

这种设计的优势在于简化了复杂任务的调试逻辑。传统的异步编程中,多个任务同时执行时容易出现竞态条件。Lane 机制通过将任务分配到不同的"车道",使得每个任务的执行路径清晰可追踪 [2]。

3.5 嵌入式 Agent 运行时

大多数 AI 助手框架采用子进程方式运行 Agent。OpenClaw 做了一个不同的选择:将 Pi Coding Agent SDK 以库的形式直接嵌入运行 [5][7]。

import { createAgentSession, SessionManager, SettingsManager } 
  from "@mariozechner/pi-coding-agent";

这带来了三个关键优势 [5]:

  1. 更低延迟:无需跨进程 IPC,工具调用和事件流可以在毫秒级完成
  2. 更简单的生命周期:不需要管理子进程的启动、崩溃恢复和资源回收
  3. 更灵活的集成:可以直接访问 Gateway 的内存状态

Pi 的设计哲学是"核心极小,但能长出来" [7]。OpenClaw 集成 Pi 时,通常把 Pi 的 built-in tools 直接清空,然后用 customTools 把 OpenClaw 的工具链整套注入进去。这意味着:Pi 负责"工具如何执行",OpenClaw 负责"有哪些工具、哪些能用、哪些要审批" [7]。

Agent 的一次完整执行经历以下步骤 [5]:

Gateway RPC: agent 请求
  → 参数校验
    → 幂等性检查 (idempotencyKey 去重)
      → 会话解析
        → 队列串行化 (同一会话内排队)
          → 运行 Pi Agent
            → 流式事件订阅
              → Gateway 广播
                → 回复分发 → 渠道投递

3.6 混合记忆系统

OpenClaw 的记忆系统采用了短期记忆与长期记忆协同的混合架构 [2][6]:

短期记忆采用 JSONLines 格式将对话历史持久化至本地文件,为多轮对话提供完整的上下文。这种格式的优势在于可以按行追加,支持流式读取 [2]。

长期记忆通过 Markdown 文件(MEMORY.md 或 memory/ 目录)存储用户偏好、关键信息,结合 SQLite 向量搜索与 FTS5 关键词匹配的混合检索机制 [6]:

-- 文件追踪
CREATE TABLE files (
  path TEXT PRIMARY KEY, hash TEXT, mtime INTEGER, size INTEGER, source TEXT
);

-- 文本块 + 嵌入向量
CREATE TABLE chunks (
  id TEXT PRIMARY KEY, path TEXT, source TEXT,
  start_line INTEGER, end_line INTEGER,
  hash TEXT, model TEXT, text TEXT,
  embedding BLOB, updated_at INTEGER
);

-- 全文搜索
CREATE VIRTUAL TABLE chunks_fts USING fts5(text, content=chunks);

检索时采用向量搜索 + 全文搜索的混合策略 [5]:用户查询通过 Embedding 模型生成向量,同时进行 sqlite-vec 余弦相似度搜索(语义匹配)和 FTS5 全文检索(关键词匹配),两组结果合并排序。

长期运行的关键工程机制 [7]:

  • 两层持久化:sessions.json 记录元信息,*.jsonl transcript 是真正的会话历史
  • 树状 transcript:条目用 id/parentId 形成树结构,可以开"支线"处理脏活,做完再回到主线
  • 压缩前落盘:在自动 compaction 触发前,先强制 agent 把关键持久状态写进工作区文件,再允许短期上下文被压缩

3.7 纯文本存储的革命性设计

OpenClaw 在数据存储方面做出了一个极其大胆的决定:抛弃传统关系型数据库,全面采用纯文本存储 [2]。所有的历史对话、长期记忆以及安装的技能,全部以 Markdown 和 YAML 格式保存在本地目录。

这种"文件即状态"(File-as-State)的设计带来了多重优势 [2]:

  • 极高的透明度:开发者可以直接用 Git 对 Agent 的状态进行版本控制
  • 零配置运维:无需安装额外的数据库软件
  • 天然的跨平台兼容性:文本文件在所有操作系统上都能通用
  • 版本控制友好:可以使用 Git 对整个 AI 系统进行管理

3.8 插件化架构

如果说 Gateway 是 OpenClaw 的心脏,那 Plugin Registry 就是它的血管系统 [5]。几乎所有的扩展能力——渠道、工具、钩子、HTTP 路由、CLI 命令、AI 提供商——都通过统一的插件注册表管理。

插件分为三种类型 [5]:

  • 内置插件(Bundled):直接编译进核心的 7 个消息渠道及核心工具
  • 扩展插件(Extensions):位于 extensions/ 目录下的 30+ 个独立 npm 包
  • 工作区插件(Workspace):用户自定义的插件,放在 ~/.openclaw/plugins/ 目录下

技能系统采用四层优先级设计 [2]:工作区层 > 插件层 > 用户层 > 系统层。每个 Skill 包含 skill.json(元数据)、prompt.md(系统提示词)、tools/(自定义工具)、hooks/(生命周期钩子)等组件。


四、安全模型:多层纵深防御

4.1 五层安全策略

作为一个接入 30+ 消息平台的本地服务,安全是 OpenClaw 的生命线 [5]:

  • 第一层 — 网络隔离:Gateway 默认绑定 127.0.0.1,不对外暴露
  • 第二层 — 多因素认证:Token 认证、密码认证、Tailscale 身份、设备绑定令牌
  • 第三层 — 角色权限:三种角色 node、operator、admin,细粒度权限范围
  • 第四层 — DM 配对策略:dmPolicy="pairing" 模式下,陌生人首次联系需要配对确认
  • 第五层 — 沙箱执行:main 会话完全信任,非 main 会话在 Docker 沙箱中运行

4.2 命令执行安全

OpenClaw 通过执行工具(exec tool)在设备上运行 Shell 命令,支持三种运行环境 [6]:

  • 沙箱环境(默认):命令在 Docker 容器中运行
  • 本地宿主机
  • 远程设备

安全命令(如 jq、grep、cut、sort)已默认预批准。危险的 Shell 语法结构会被拦截 [6]:

# 以下命令在执行前会被拒绝:
cat file > /etc/hosts    # 重定向
rm -rf / || echo "failed" # 逻辑或链接
(sudo rm -rf /)           # 子 shell

4.3 已知安全风险

尽管有多重安全措施,OpenClaw 仍面临严峻的安全挑战 [3]:

  • CVE-2026-25253:Gateway 控制平面漏洞,允许推送任意命令
  • 独立安全审计发现 512 个漏洞,其中 8 个为严重级别
  • ClawHub 第三方插件中约 36% 存在安全缺陷
  • 全球超过 21,000 个公开暴露的实例,93.4% 存在认证绕过

Microsoft 的评价是:"OpenClaw 应被视为带有持久凭证的不可信代码执行",不适合在标准个人或企业工作站运行 [3]。


五、浏览器工具:语义快照而非截图

OpenClaw 的浏览器工具并非主要依赖截图,而是采用语义快照——一种基于页面无障碍树(ARIA)的文本化表示形式 [6]。

Agent 看到的是:

- textbox "Email" [ref=2]
- textbox "Password" [ref=3]
- link "Forgot password?" [ref=4]
- heading "Welcome back"
- list
  - listitem "Dashboard"
  - listitem "Settings"

截图大小为 5 MB,语义快照则少于 50 KB,且仅占图像 Token 成本的一小部分 [6]。这种设计在成本、速度和准确性上都有显著优势。


六、心跳机制与动态系统提示词

6.1 心跳机制

OpenClaw 引入了 HEARTBEAT.md 文件,通过类似 Cron 的机制定义周期性任务 [7]。每隔固定时间(如 4 小时),Agent 会"苏醒",加载 HEARTBEAT.md 中的指令集,执行检查服务器磁盘空间、浏览热门帖子、检查用户日历等任务。

这种机制根本性地改变了人机关系——用户不再是唯一的发起者,Agent 变成了能够主动发起对话的协作者 [7]。

6.2 动态系统提示词

与大多数框架不同,OpenClaw 的系统提示词并非固定不变,而是结合技能、记忆检索结果、用户身份、时区等信息动态构建 [6]。运行时信息会包含当前智能体名称、主机、操作系统、模型、通道、思考模式等上下文。

6.3 SOUL.md:个性化配置

OpenClaw 引入了 SOUL.md 来定义 Agent 的价值观、语气甚至幽默感 [7]。核心准则包括:

  • 真帮忙,不表演——跳过填充句,直接行动
  • 要有观点——没有个性的助手只是"多绕几步的搜索引擎"
  • 先想办法,再提问——先自己搞清楚,卡住时再问
  • 记住你是客人——你接触的是别人的生活,务必尊重

七、跨平台客户端与设备节点

OpenClaw 提供了完整的跨平台客户端 [5]:

平台语言形态特色
macOSSwift菜单栏常驻应用Gateway 自动发现、IPC、语音唤醒
iOSSwift (SwiftUI)原生 App离线节点、消息推送
AndroidKotlin原生 App设备节点注册
WebLit (Web Components)浏览器控制台聊天、配置、日志、调试

一个创新的设计是设备节点(Device Nodes)[5]。每个运行 OpenClaw 客户端的设备都可以注册为 Gateway 的一个"节点",AI 助手可以调度设备上的能力——在 macOS 上打开浏览器、在 iOS 上发送通知、在 Android 上执行特定操作。


八、与其他 Agent 的协作

OpenClaw 已经开始探索 Agent-to-Agent 的协作模式。以 Kiro(AWS AI Agent)为例 [6],双方通过 MCP + ACP 双协议实现双向协作:

  • Kiro → OpenClaw(MCP):Kiro 通过 MCP 调用 OpenClaw 暴露的工具集,在编码过程中直接发送飞书消息、读取外部数据、触发设备操作
  • OpenClaw → Kiro(ACP):OpenClaw 通过 ACP 向 Kiro 委派复杂的代码生成和分析任务

这种"Agent 用 Agent"的模式代表了从 Phase 1(人 → AI 工具)到 Phase 2(Agent ↔ Agent)的演进 [6]。


九、生态系统

OpenClaw 火爆以后,其生态快速迎来大爆发 [6]:

  • 技能市场:ClawHub 已收录 3,286+ 社区 Skills
  • Moltbook:仅允许 AI 智能体发帖的社交平台,短时间内注册智能体超过 150 万
  • 企业接入:企业微信、腾讯云、阿里云等均提供一键部署方案
  • 衍生产品:OneClaw 桌面版、ArkClaw(火山引擎)、LinClaw(七牛云)等

生态覆盖基础设施、消息通讯、社交媒体、工作市场、游戏虚拟世界、代币经济等 10 大板块 [6]。


十、未来发展趋势与展望

10.1 技术演进方向

OpenClaw 团队已在路线图中标注了未来的发展方向 [3]:

  • 语音交互支持:集成 Whisper + TTS
  • 移动端 App:iOS/Android 原生应用
  • 多模态能力:图像理解、OCR、图表分析
  • 多语言原生支持:中文、日语、德语等
  • 企业版:支持团队协作、权限管理、审计日志

10.2 从"千模大战"到"千端大战"

OpenClaw 的出圈标志着 AI 行业的新阶段 [3]。未来 AI 不再是独立 App,而是凌驾于所有应用之上的"影子管家"。网站将普遍采用双重接口架构——面向人类的视觉美感界面,和面向智能体的语义清晰 API 接口 [7]。

10.3 Agent 经济的雏形

Moltbook 社区展示了机器经济的雏形 [7]:Agent 自动发行和交易 Memecoin,分布式知识库构建速度远超人类社区。虽然充斥着噪声,但也诞生了独特的文化和意想不到的协作模式。

10.4 成本优化路径

Token 消耗是 OpenClaw 面临的现实挑战。社区正在探索混合云架构 [7]:

  • 路由层:使用极低成本的小模型处理简单的意图识别和心跳检查
  • 专家层:只有复杂任务才动态路由到云端的昂贵大模型
  • 本地优先:涉及隐私数据的任务强制使用本地模型

10.5 值得关注的挑战

挑战影响可能的改进方向
Gateway 单点故障宕机导致所有渠道中断引入 watchdog 进程或分布式部署
代码规模~2,500 个 TypeScript 文件,学习曲线陡峭改进文档、增加架构示意图
安全风险提示注入、供应链攻击加强默认配置安全性、完善插件审核
国内平台适配微信、钉钉、飞书适配不佳与国内平台建立官方合作

结语

OpenClaw 代表了 AI 从"对话者"到"行动者"的范式转变。它的价值不仅在于解决了一个真实的工程问题——"让 AI 助手存在于所有消息平台",更在于提供了一套可复用的架构模式 [5]:

  • Gateway 控制面模式将复杂的多渠道消息路由简化为清晰的轴辐式架构
  • 多适配器组合契约展示了如何优雅地抽象 30+ 种异构协议
  • 插件化一切的设计哲学证明了统一注册表可以管理所有扩展点
  • 嵌入式 Agent 方案为低延迟 AI 应用提供了子进程之外的另一种选择

OpenClaw 的故事还在继续。在 Token 成本下降到临界点之前,它将继续作为极客和开发者的利器存在;而一旦成本壁垒被突破,这种"无头、自治、工具化"的形态将彻底重写软件工程的教科书,开启真正的 Agentic Web 时代 [7]。

相关文章

  • Claude Code 源码泄露深度分析:51 万行代码背后的 AI Agent 架构设计4月1日
  • Google TurboQuant 深度解析:AI 内存压缩的技术革命4月1日
  • 2026年AI大模型评测深度分析:格局重塑与选型指南3月31日

评论

加载评论中…

发表评论

返回首页