从一条消息到一次任务执行,拆解 OpenClaw 的每一层设计哲学。


一、全局架构总览

OpenClaw 的整体架构采用 "网关-节点-渠道"三层解耦设计,以 Gateway 为神经中枢,将智能推理、任务编排与交互渠道彻底分离。

Layer 5 · 模型层 LLM Providers

Layer 4 · 能力层 Capabilities

Layer 3 · 智能层 Agent Runtime

Layer 2 · 网关层 Gateway

Layer 1 · 渠道层 Channels

统一消息协议

统一消息协议

统一消息协议

统一消息协议

统一消息协议

统一消息协议

API 调用

API 调用

API 调用

API 调用

Telegram

WhatsApp

Discord

飞书

Web UI

Slack

Gateway 网关
WebSocket Server

Session Manager
会话管理器

Message Router
消息路由器

Tool Policy
工具策略引擎

Agent Loop
智能体事件循环

System Prompt Builder
系统提示词构建器

Tool Caller
工具调用器

Skills 技能系统

Memory 持久记忆

Nodes 远程节点

Docker 沙箱

Claude / Anthropic

GPT-4 / OpenAI

本地模型 Ollama

通义千问 / DeepSeek


二、一条消息的完整旅程

当你在 Telegram 中对 OpenClaw 说:“帮我把桌面上的 PDF 按日期分类整理”,系统内部会依次经历 6 个关键环节

Tool/Skill 工具执行 LLM 大语言模型 Agent Loop 智能体循环 Session 会话管理 Gateway 网关 Channel 渠道适配器 Tool/Skill 工具执行 LLM 大语言模型 Agent Loop 智能体循环 Session 会话管理 Gateway 网关 Channel 渠道适配器 loop [工具调用循环] 用户 1️⃣ 发送消息 格式标准化 & 附件提取 2️⃣ 转发标准化消息 3️⃣ 匹配/创建会话 注入会话上下文 + 记忆 构建 System Prompt 4️⃣ 调用大模型推理 返回响应(含 tool_calls) 5️⃣ 执行工具调用 返回执行结果 携带结果再次推理 返回新响应 最终回复 路由到原渠道 6️⃣ 用户收到回复 用户

各环节详解

环节 组件 核心职责
1️⃣ 消息接收 Channel Adapter 将不同平台的消息格式统一为内部标准格式,提取文本、图片、文件等附件
2️⃣ 网关路由 Gateway 接收标准化消息,根据来源渠道和用户身份进行精准路由
3️⃣ 会话管理 Session Manager 匹配已有会话或创建新会话,注入历史上下文和用户记忆
4️⃣ 模型推理 Agent Loop → LLM 构建完整 Prompt 并调用大模型,获取推理结果
5️⃣ 工具执行 Tool Caller 解析 tool_calls,在 Docker 沙箱或本地环境中执行操作
6️⃣ 结果返回 Gateway → Channel 将最终结果通过原渠道返回给用户

三、五大核心组件深度拆解

3.1 Gateway 网关:系统的神经中枢

Gateway 是 OpenClaw 最核心的组件,基于 Node.js v22+ 构建,以守护进程形式在后台持续运行。

Gateway 内部架构

ws://

ws://

ws://

ws://

WebSocket Server
全双工通信

认证 & 设备配对

动态路由表

消息队列 Lane

会话状态机

工具策略引擎

Telegram Bot

WhatsApp Bridge

Web Client

Remote Node

关键设计要点:

  • WebSocket 全双工通信:所有渠道通过统一的 WebSocket 连接与 Gateway 交互,使用 req/res/event 三种消息类型
  • TypeBox Schema 严格校验:所有消息遵循 TypeBox 定义的 JSON Schema,确保数据一致性
  • Lane 消息队列:基于队列的并发控制机制,防止消息乱序,确保同一会话内的消息按序处理
  • 动态路由表:每个连接的节点会声明自身能力(如"我有摄像头"、“我能发通知”),Gateway 维护能力到连接的映射

连接握手流程:

Gateway 客户端节点 Gateway 客户端节点 后续所有通信复用此连接 WebSocket Connect Challenge (挑战码) Auth Token + 设备指纹 验证 Token & 设备配对 ✅ Connected + Session ID Capability Declaration (能力声明: shell, browser, camera...) 更新动态路由表

3.2 Agent Loop:智能体事件循环

Agent Loop 是 OpenClaw 的 核心执行引擎,它不是简单的"发消息→收回复",而是一个完整的事件驱动循环。

纯文本

tool_calls

接收消息

构建上下文
System Prompt + History + Memory

调用 LLM

解析响应

返回回复

执行工具调用

收集工具结果

结果截断处理
tool-result-truncation

上下文是否过长?

会话压缩
compact.ts

流式推送响应

更新持久记忆

等待下一条消息

源码模块对应关系(src/agents/pi-embedded-runner/):

文件 职责
run.ts 主运行入口,启动 Agent Loop
attempt.ts 单次执行尝试,包含重试逻辑
system-prompt.ts 系统提示词动态构建
params.ts 运行参数配置
compact.ts 会话压缩,防止上下文溢出
tool-split.ts 工具集拆分策略
tool-result-truncation.ts 工具返回结果的截断处理
lanes.ts 执行队列通道管理
history.ts 对话历史管理
payloads.ts 请求载荷构建

核心机制解读:

会话压缩(Compact)

当对话历史过长即将超出模型上下文窗口时,compact.ts 会自动触发:

原始对话历史
100+ 轮

提取关键信息
任务目标/结论/状态

压缩为摘要
保留核心上下文

新的精简历史
+ 最近 N 轮原始对话

工具拆分策略(Tool Split)

当可用工具数量过多时,tool-split.ts 会根据当前任务上下文智能筛选工具子集,避免 Token 浪费:

全部工具集 (50+ tools)
    ↓ 工具策略引擎过滤
当前任务相关工具 (5-10 tools)
    ↓ 注入 LLM Prompt
模型只看到精简工具集

3.3 Skills 技能系统:模块化能力扩展

Skills 是 OpenClaw 的 “技能树”,采用四层优先级架构:

Skills 四层优先级(由高到低)

覆盖同名

覆盖同名

覆盖同名

🔧 工作区层 Workspace Skills
<workspace>/skills/
优先级: ★★★★

🧩 插件层 Plugin Skills
~/.openclaw/extensions/<plugin>/skills/
优先级: ★★★

👤 用户层 Managed Skills
~/.openclaw/skills/
优先级: ★★

📦 系统层 Bundled Skills
/usr/lib/node_modules/openclaw/skills/
优先级: ★

每个 Skill 的组成结构:

Skill 包结构

skill.json
元数据 & 配置

prompt.md
系统提示词注入

tools/
自定义工具定义

hooks/
生命周期钩子

Skill Loader
技能加载器

注入 Agent Runtime

系统内置 Skills 示例:

Skill 名称 功能
healthcheck 系统健康检查
mcporter MCP 工具管理与桥接
weather 天气查询
video-frames 视频帧提取与分析
browser 浏览器自动化操作
file-manager 文件系统操作
shell Shell 命令执行

3.4 Nodes 远程节点:分布式能力扩展

Nodes 机制让 OpenClaw 的能力不局限于运行 Gateway 的那台机器。任何设备都可以作为节点接入,并声明自己的能力。

Node D: 手机

Node C: 云服务器

Node B: 树莓派

Node A: 办公电脑

WebSocket + Tailscale

WebSocket + Tailscale

WebSocket + Tailscale

WebSocket + Tailscale

Gateway
Mac Mini 主节点

能力: shell, file, browser

能力: camera, gpio, sensor

能力: docker, gpu, heavy-compute

能力: notification, location, sms

节点工作原理:

  1. 能力声明:每个节点连接后会声明自己的能力(如 shellcamerabrowser
  2. 动态路由:Gateway 维护全局能力路由表,知道"哪个能力在哪台设备上"
  3. 智能分发:当 Agent 需要调用某个工具时,Gateway 自动将请求路由到拥有该能力的节点
  4. 安全通信:优先本地通信,外网通过 Tailscale 建立私有隧道
Node B (树莓派) 路由表 Gateway Agent Loop Node B (树莓派) 路由表 Gateway Agent Loop 调用 camera.capture() 查找 "camera" 能力 Node B @ ws://192.168.1.50 转发 camera.capture() 执行拍照 返回图片数据 返回结果

3.5 Memory 持久记忆:越用越懂你

OpenClaw 的记忆系统不同于普通的对话历史,它实现了 跨会话持久化

存储层

记忆系统架构

会话结束时提取

任务完成时记录

下次会话自动注入

相似任务时检索

短期记忆
Short-Term Memory
当前会话上下文

长期记忆
Long-Term Memory
跨会话持久存储

情景记忆
Episodic Memory
任务执行历史

用户交互

System Prompt

本地 SQLite
~/.openclaw/memory/

记忆的类型:

  • 用户偏好:“用户习惯用中文交流”、“用户偏好 Dark Mode”
  • 事实记忆:“用户的邮箱是 xxx@gmail.com”、“用户在 A 公司工作”
  • 任务模式:“用户每周一需要整理邮件”、“用户喜欢把 PDF 按日期归档”

四、安全架构:Docker 沙箱与工具策略

安全是 OpenClaw 架构设计中最关键的一环。

安全三道防线

策略允许

策略拒绝

沙箱内执行

高危操作

用户确认

用户拒绝

第一道 · 工具策略引擎
Tool Policy Engine

第二道 · Docker 沙箱隔离
Container Sandbox

第三道 · 人工确认机制
Human-in-the-Loop

工具调用请求

❌ 拒绝执行

安全执行

工具策略配置示例

channels:
  telegram:
    groups:
      "-100123456":           # 公开群
        tools:
          profile: "minimal"  # 最小权限:只读,禁止 Shell/File Write
          allow: ["web_search"]
        toolsBySender:
          "admin_user":
            profile: "full"   # 管理员拥有全权限

      "-100987654":           # 内部开发群
        tools:
          profile: "coding"   # 允许代码执行

策略解析流程

命中

未命中

已配置

未配置

工具调用请求

检查 toolsBySender
是否命中发送者?

使用发送者专属策略

检查群组 tools 配置

使用群组策略

回退到全局默认策略

生成可用工具集

注入 Agent Runtime


五、技术栈全景图

存储

模型接入

执行层

通信层

运行时

TypeScript

Node.js v22+

pnpm 包管理

WebSocket
全双工通信

TypeBox
Schema 校验

Tailscale
安全隧道

Docker
沙箱隔离

Shell
命令执行

Playwright
浏览器自动化

Anthropic API

OpenAI API

Ollama 本地

MCP Protocol
工具标准协议

SQLite
本地持久化

文件系统
Skill & Config


六、与传统 AI 助手的架构对比

OpenClaw

多渠道

推理

tool_calls

执行

结果

多轮循环

操作完成

用户

本地 Gateway

LLM API / 本地模型

本地工具 & 远程节点

传统 AI 助手 (如 ChatGPT)

HTTP

推理

文本

文本回复

用户

云端服务器

模型

维度 传统 AI 助手 OpenClaw
运行位置 云端 本地设备
交互模式 请求-响应 Agent Loop 事件循环
执行能力 仅生成文本 系统级操作(文件/Shell/浏览器)
数据归属 服务商 用户自己
扩展机制 插件市场(受控) Skills 四层开放架构
多端接入 专用客户端 任意通讯工具
设备协同 Nodes 分布式节点

七、架构设计哲学总结

OpenClaw
设计哲学

本地优先

数据主权归用户

支持离线运行

零云端依赖

彻底解耦

渠道与逻辑分离

模型可替换

工具可插拔

安全纵深

策略引擎前置过滤

Docker 沙箱隔离

人工确认兜底

渐进扩展

Skills 四层优先级

Nodes 分布式能力

MCP 标准协议

执行优先

不只是聊天

Agent Loop 循环驱动

工具调用即行动

OpenClaw 的架构设计揭示了一个关键趋势:下一代 AI 产品的核心竞争力不在模型本身,而在于将模型的推理能力转化为现实世界执行力的"中间件"架构。Gateway、Agent Loop、Skills、Nodes——这四大组件共同构成了从"AI 能想"到"AI 能做"的桥梁。

这也正是 Peter Steinberger 所说的"80% App 将消失"的技术基础——当一个运行在本地的 AI 智能体能够直接操控你的整个数字世界时,那些充当"人机翻译层"的 App,自然就失去了存在的必要。


参考资料:OpenClaw 官方文档、GitHub 源码、社区技术解析文章

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐