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 | 浏览器自动化 |
exec | Shell 命令执行 |
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/ # 大文件存储
这种设计带来了三个关键优势:
- 数据主权:你的对话历史、记忆、配置完全由你控制
- 隐私安全:敏感信息不需要上传到云端
- 离线可用:即使没有网络,本地模型(如 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
工作原理
- 消息持久化:每条消息都完整存储到 SQLite 数据库
- 自动摘要:当消息累积到一定数量时,自动生成摘要
- DAG 链接:摘要节点链接到其来源消息,形成 DAG 结构
- 按需展开: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,更是它所倡导的架构哲学:
- 数据主权:你的数据应该由你控制,而不是存放在某个公司的服务器上
- 可扩展性:通过 Skill 和 Plugin 系统,任何人都可以扩展 Agent 的能力
- 无损记忆:LCM 插件证明了 AI 可以真正「记住」你,而不是每次都从零开始
- 多平台统一:一个 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
本文首发于程序员茄子,转载请注明出处。