编程 OpenClaw 架构全解析:Gateway+Agent+Skill 三层协同如何让 AI 助手真正「住在你的机器上」——从 33 万 Star 到无损记忆系统的工程实践

2026-08-03 16:46:25 +0800 CST views 4

OpenClaw 深度拆解:当 33 万 Star 的开源 AI Agent 决定「住在你的机器上」——Gateway、Skill、LCM 三层架构如何重新定义「个人 AI 助手」

一个让 AI 助手住在你自己机器上、通过 WhatsApp/Telegram/Discord/微信直接响应的开源 Agent 平台——从 GitHub 历史上增长最快的仓库到 33 万 Star 的「龙虾帝国」,OpenClaw 用 Gateway+Agent+Skill 三层架构重新定义了「AI 执行」的范式。


一、开篇:OpenClaw 到底是什么?

2026 年初,一个顶着红色龙虾 Logo 的开源项目在 GitHub 上爆火,短短数周内 Star 数突破 33 万,成为 GitHub 历史上增长最快的仓库之一。它就是 OpenClaw(龙虾 AI)。

但 OpenClaw 不是又一个聊天机器人。

传统 AI 助手(ChatGPT、Claude、文心一言)的核心能力是「回答问题」——你问它一个问题,它给你一个答案,然后对话结束。而 OpenClaw 的核心能力是**「执行任务」**——它是一个 7×24 小时在线的数字员工,能自动完成文件整理、邮件处理、日程管理、网页自动化、定时任务等工作。

更关键的是,OpenClaw 不在云端——它住在你自己的机器上

这意味着:

  • 数据主权:所有对话历史、记忆文件、配置信息都存在你本地
  • 零延迟:消息通过本地 WebSocket 直达 Agent,无需经过云端中转
  • 全平台接入:WhatsApp、Telegram、Discord、微信、飞书、Slack 等 50+ 通信平台
  • 模型自由:可以切换 OpenAI、Anthropic、Google Gemini、Ollama 本地模型等任意后端

OpenClaw 的架构哲学可以用一句话概括:「AI 不是云端的黑箱,而是你机器上的白盒仆人。」

1.1 为什么 OpenClaw 能火?

OpenClaw 的爆发式增长并非偶然,它解决了 AI Agent 领域的几个核心痛点:

痛点一:AI 只能聊天,不能干活

传统 AI 助手再聪明,也只能给你建议。你需要自己打开浏览器搜索、打开邮箱回复、打开日历安排日程。OpenClaw 把这些操作全部自动化了——你说「帮我查一下明天的天气,如果下雨就提醒我带伞」,它就会自动搜索天气、判断是否下雨、设置提醒。

痛点二:数据在云端,隐私无保障

把所有对话历史、个人信息、工作文档都上传到云端服务器,你真的放心吗?OpenClaw 让数据住在你自己的机器上,你完全掌控一切。

痛点三:每次对话都从零开始

传统 AI 没有记忆,每次对话都是一张白纸。你得反复告诉它你是谁、做什么项目、有什么偏好。OpenClaw 的三层记忆系统让 AI 真正「记住」你。


二、核心概念:Gateway-Agent-Skill 三层架构

OpenClaw 的架构设计精妙而清晰,核心由三个层次组成:

+---------------------------------------------------+
|                  通信层 (Channels)                  |
|  WhatsApp | Telegram | Discord | 微信 | 飞书 ...    |
+------------------------+--------------------------+
                         | WebSocket
+------------------------v--------------------------+
|                 Gateway (网关层)                    |
|  消息路由 | 身份验证 | 会话管理 | 心跳监控          |
|  Cron 调度 | 插件系统 | 配置管理 | WebSocket Server |
+------------------------+--------------------------+
                         | API 调用
+------------------------v--------------------------+
|                 Agent (智能体层)                    |
|  意图理解 | 上下文加载 | 工具调用 | 记忆管理        |
|  SOUL.md | USER.md | MEMORY.md | 子代理调度        |
+------------------------+--------------------------+
                         | Tool 调用
+------------------------v--------------------------+
|                 Skill (技能层)                      |
|  文件操作 | 网页搜索 | 邮件收发 | 文档生成          |
|  浏览器自动化 | 定时任务 | TTS | 图像分析           |
+---------------------------------------------------+

2.1 Gateway:多通道消息网关

Gateway 是 OpenClaw 的「神经中枢」,它是一个基于 Node.js 的本地 WebSocket 服务,负责:

消息路由

  • 接收来自 50+ 通信平台的消息
  • 通过 WebSocket 实现与各平台的双向通信
  • 支持消息类型转换(文本、图片、文件、语音)

身份验证

  • Token 鉴权机制,确保合法请求
  • SecretRef 支持敏感配置的安全存储
  • 多 Agent 身份隔离

会话管理

  • 每个 Channel 对应一个独立会话
  • 会话状态持久化,重启后恢复
  • 支持多 Agent 并行运行

心跳监控

  • 检测各 Channel 的连接状态
  • 断线自动重连
  • 定期心跳检测,确保 Agent 始终在线

Gateway 的配置示例:

{
  "gateway": {
    "port": 28789,
    "mode": "local",
    "bind": "loopback",
    "heartbeatInterval": 1800000,
    "maxConcurrentRuns": 3
  }
}

2.2 Agent:智能体层

Agent 是 OpenClaw 的「大脑」,它理解用户意图、管理上下文、调用工具、执行任务。

工作流程

当用户发一条消息时,Agent 的处理过程如下:

1. 收到消息
2. 理解意图:这条消息想做什么?
3. 加载上下文:
   - 读取 SOUL.md(人设/性格)
   - 读取 USER.md(用户信息)
   - 读取 MEMORY.md(长期记忆)
   - 读取今日日志 memory/YYYY-MM-DD.md
4. 匹配 Skill:需要哪些工具?
5. 执行任务:调用 Skill 完成工作
6. 生成回复:返回结果给用户
7. 更新记忆:把重要信息写入文件

三层记忆系统

OpenClaw 的记忆系统设计精巧,分为三层:

层级文件内容更新频率
长期记忆MEMORY.md核心信息、偏好、决策按需更新
每日日志memory/YYYY-MM-DD.md当天发生的事情每天自动
会话上下文对话历史当前对话的完整上下文实时更新

这种设计的精妙之处在于:

  • MEMORY.md 存储「你是什么样的人」「你在做什么项目」「你的偏好是什么」
  • 每日日志 存储「今天发生了什么」「做了什么决定」「有什么新发现」
  • 会话上下文 存储「当前对话的完整历史」

三层记忆互相补充,让 Agent 真正「记住」你。

2.3 Skill:可插拔的技能系统

Skill 是 OpenClaw 的「双手」,负责实际执行各种任务。

Skill 的设计哲学

每个 Skill 都是一个独立的模块,包含:

  • SKILL.md:技能描述文件,定义触发条件和使用方式
  • 脚本文件:实际执行任务的代码
  • 配置文件:可选的配置项

内置 Skill 示例

OpenClaw 内置了大量实用 Skill:

Skill功能
web_search网页搜索
web_fetch网页内容提取
browser浏览器自动化
execShell 命令执行
read/write/edit文件操作
cron定时任务
tts文字转语音
email-skill邮件收发
tencent-docs腾讯文档操作

自定义 Skill

开发者可以轻松创建自定义 Skill:

---
name: my-custom-skill
description: 一个自定义技能
---

# 自定义技能

## 使用方式

当用户说「做 XXX」时触发本技能。

## 实现步骤

1. 解析用户输入
2. 执行相应操作
3. 返回结果

三、架构分析:OpenClaw 的设计哲学

3.1 本地优先(Local-First)

OpenClaw 最核心的设计哲学是「本地优先」。所有数据都存储在用户本地机器上:

~/.openclaw/
├── gateway.json          # Gateway 配置
├── workspace/            # Agent 工作区
│   ├── SOUL.md          # 人设文件
│   ├── USER.md          # 用户信息
│   ├── MEMORY.md        # 长期记忆
│   ├── memory/          # 每日日志
│   └── skills/          # 自定义技能
├── lcm.db               # LCM 数据库
└── lcm-files/           # 大文件存储

这种设计带来了三个关键优势:

  1. 数据主权:你的对话历史、记忆、配置完全由你控制
  2. 隐私安全:敏感信息不需要上传到云端
  3. 离线可用:即使没有网络,本地模型(如 Ollama)也能工作

3.2 插件化架构

OpenClaw 的插件系统允许开发者扩展框架的功能:

{
  "plugins": {
    "load": {
      "paths": ["~/my-plugins"]
    },
    "slots": {
      "contextEngine": "lossless-claw",
      "memory": "memory-lancedb"
    },
    "entries": {
      "voice-call": {
        "enabled": true,
        "config": { "provider": "twilio" }
      }
    }
  }
}

Slot 机制

OpenClaw 使用 Slot(插槽)机制来定义可替换的组件:

  • contextEngine:上下文管理引擎(默认 legacy,可替换为 lossless-claw)
  • memory:记忆存储后端(默认文件系统,可替换为 LanceDB)
  • transport:消息传输层

这种设计让 OpenClaw 的核心组件可以被替换或扩展,而不需要修改框架本身。

3.3 多 Agent 协同

OpenClaw 支持多个 Agent 并行运行,每个 Agent 有独立的:

  • 工作区(workspace)
  • 人设(SOUL.md)
  • 记忆(MEMORY.md)
  • 技能(skills/)

这使得一个 OpenClaw 实例可以同时运行多个「数字员工」,各自负责不同的任务。


四、LCM:无损上下文管理的革命

OpenClaw 生态中最引人注目的插件之一是 Lossless-Claw(LCM),它解决了 AI Agent 领域的一个核心痛点:长对话中的上下文丢失

4.1 问题:AI 的「金鱼记忆」

传统 AI 助手的上下文窗口是有限的(即使是 200K token 的大模型,长对话后也会压缩历史)。当对话过长时,AI 会「遗忘」早期的重要信息。

这在 OpenClaw 这种 7×24 小时在线的 Agent 中尤为严重——你可能在周一告诉 Agent 一个重要的项目决策,到了周三 Agent 就忘了。

4.2 解决方案:DAG 结构的无损存储

LCM 的核心思想是用 DAG(有向无环图) 结构来存储对话历史:

对话消息 -> 摘要 -> 更高阶摘要 -> 最终摘要
    |          |           |
  SQLite    SQLite      SQLite

工作原理

  1. 消息持久化:每条消息都完整存储到 SQLite 数据库
  2. 自动摘要:当消息累积到一定数量时,自动生成摘要
  3. DAG 链接:摘要节点链接到其来源消息,形成 DAG 结构
  4. 按需展开:Agent 可以随时展开任意摘要,查看原始消息

Agent 工具

LCM 为 Agent 提供了三个核心工具:

工具功能使用场景
lcm_grep全文搜索历史「上次讨论的那个 bug 是什么?」
lcm_describe查看摘要详情「展开这个摘要看看具体内容」
lcm_expand展开摘要查看原文「我要看那天的完整对话」

性能优势

  • 零信息丢失:所有消息都完整存储,不会因为压缩而丢失
  • 快速检索:SQLite FTS5 全文搜索,毫秒级响应
  • 成本优化:摘要可以用便宜模型(如 Claude Haiku)生成,主对话保持在高级模型上
  • DAG 可追溯:可以追溯到任意时间点的对话细节

五、代码实战:从零搭建 OpenClaw

5.1 环境准备

OpenClaw 的运行环境要求:

  • 操作系统:macOS、Linux、Windows(WSL2)
  • Node.js:>= 22
  • 内存:>= 8GB(本地模型需要更大内存)
  • 磁盘:>= 10GB 可用空间

5.2 安装步骤

方式一:npm 安装(推荐)

# 安装 OpenClaw
npm install -g openclaw

# 初始化工作区
openclaw init

# 配置 API Key
openclaw config set model.apiKey "your-api-key"

# 启动 Gateway
openclaw gateway start

方式二:Docker 部署

# 拉取官方镜像
docker pull openclaw/official:latest

# 运行容器
docker run -d \
  --name openclaw \
  -p 28789:28789 \
  -v ~/.openclaw:/root/.openclaw \
  openclaw/official:latest

5.3 配置多通道

配置 WhatsApp 接入:

{
  "channels": {
    "whatsapp": {
      "enabled": true,
      "phoneNumber": "+8613800138000",
      "webhookUrl": "http://localhost:28789/webhook/whatsapp"
    }
  }
}

配置 Telegram 接入:

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "your-telegram-bot-token",
      "allowedUsers": ["your-telegram-user-id"]
    }
  }
}

5.4 创建自定义 Agent

在工作区创建 SOUL.md

# SOUL.md

## 身份

我是你的个人 AI 助手,名为「小助手」。

## 性格

- 友好、耐心、专业
- 说话简洁,不废话
- 遇到不确定的问题会主动询问

## 能力

- 文件管理:整理、搜索、编辑文件
- 邮件处理:读取、回复、发送邮件
- 日程管理:查看、创建、修改日程
- 网页搜索:搜索信息、抓取网页内容
- 代码执行:运行 Python、Shell 脚本

5.5 安装 LCM 插件

# 安装 LCM 插件
openclaw plugins install @martian-engineering/lossless-claw

# 激活为上下文引擎
openclaw config set plugins.slots.contextEngine lossless-claw

# 重启 Gateway
openclaw gateway restart

验证安装:

openclaw plugins list
# 应该看到 lossless-claw 状态为 active

5.6 创建定时任务

使用 Cron 系统创建定时任务:

{
  "name": "每日新闻摘要",
  "schedule": {
    "kind": "cron",
    "expr": "0 8 * * *",
    "tz": "Asia/Shanghai"
  },
  "payload": {
    "kind": "agentTurn",
    "message": "搜索今天的科技新闻,生成摘要并发送给我"
  },
  "delivery": {
    "mode": "announce"
  }
}

六、性能优化:让 Agent 跑得更快

6.1 模型选择策略

不同的任务适合不同的模型:

任务类型推荐模型原因
复杂推理Claude Opus / GPT-4o推理能力强
日常对话Claude Sonnet / GPT-4o-mini性价比高
简单任务Claude Haiku / GPT-4o-mini速度快、成本低
隐私敏感Ollama 本地模型数据不出本地

6.2 上下文优化

策略一:分层摘要

让 LCM 用便宜模型生成摘要,主对话保持在高级模型上:

{
  "plugins": {
    "entries": {
      "lossless-claw": {
        "config": {
          "summaryModel": "claude-haiku",
          "mainModel": "claude-sonnet"
        }
      }
    }
  }
}

策略二:会话隔离

为不同任务创建独立的会话,避免上下文污染:

# 创建专用会话
openclaw session create --label "coding-assistant"
openclaw session create --label "email-manager"

6.3 技能懒加载

OpenClaw 支持技能的按需加载,避免一次性加载所有技能消耗内存:

{
  "skills": {
    "lazyLoad": true,
    "maxConcurrent": 3
  }
}

七、安全实践:保护你的 AI 助手

7.1 权限控制

OpenClaw 的 Skill 系统支持细粒度的权限控制:

{
  "tools": {
    "exec": {
      "security": "sandbox",
      "ask": "elevated"
    },
    "browser": {
      "profile": "openclaw"
    }
  }
}

7.2 敏感信息管理

不要在代码中硬编码密钥,使用环境变量或 SecretRef:

# 使用环境变量
export OPENCLAW_API_KEY="your-secret-key"

# 或使用 SecretRef
openclaw config set gateway.auth.token --secret "your-secret-key"

7.3 网络安全

  • Gateway 默认只监听本地(127.0.0.1),不暴露到公网
  • 如需远程访问,建议使用 VPN 或 SSH 隧道
  • 定期更新 OpenClaw 到最新版本,修复已知漏洞

八、总结展望

OpenClaw 代表了 AI Agent 领域的一个重要方向:从云端黑箱到本地白盒

它的核心贡献不仅仅是 33 万 Star,更是它所倡导的架构哲学:

  1. 数据主权:你的数据应该由你控制,而不是存放在某个公司的服务器上
  2. 可扩展性:通过 Skill 和 Plugin 系统,任何人都可以扩展 Agent 的能力
  3. 无损记忆:LCM 插件证明了 AI 可以真正「记住」你,而不是每次都从零开始
  4. 多平台统一:一个 Agent 可以同时在 WhatsApp、Telegram、Discord 等多个平台工作

未来展望

OpenClaw 生态正在快速发展,未来可能的方向包括:

  • 多模态支持:更深度的图像、视频、语音处理能力
  • Agent 协同:多个 Agent 之间的协作和任务分配
  • 边缘计算:在树莓派、手机等边缘设备上运行 OpenClaw
  • 企业级部署:支持团队协作、权限管理、审计日志等企业需求

对于开发者来说,OpenClaw 不仅是一个工具,更是一个思考 AI Agent 架构的范本。它的 Gateway-Agent-Skill 三层架构、插件化设计、无损记忆系统,都值得深入研究和借鉴。

正如一位开发者所说:「OpenClaw 让我意识到,AI 助手不应该是云端的黑箱,而应该是我机器上的白盒仆人——我知道它在做什么,我能控制它做什么,我的数据由我做主。」

这,或许就是 AI Agent 的未来。


相关资源

  • OpenClaw GitHub:https://github.com/openclaw/openclaw
  • Lossless-Claw 插件:https://github.com/Martian-Engineering/lossless-claw
  • OpenClaw 官方文档:https://docs.openclaw.com
  • MCP 协议规范:https://modelcontextprotocol.io

本文首发于程序员茄子,转载请注明出处。

推荐文章

38个实用的JavaScript技巧
2024-11-19 07:42:44 +0800 CST
Paperclip:全AI运作的公司框架
2026-05-18 14:24:25 +0800 CST
前端代码规范 - 图片相关
2024-11-19 08:34:48 +0800 CST
PyMySQL - Python中非常有用的库
2024-11-18 14:43:28 +0800 CST
robots.txt 的写法及用法
2024-11-19 01:44:21 +0800 CST
你可能不知道的 18 个前端技巧
2025-06-12 13:15:26 +0800 CST
程序员茄子在线接单