词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
课程信息 本篇你将了解: OpenClaw 是什么、能做什么、跟其他框架有什么区别、核心架构长什么样 小白速通: 只看前 3 节("一句话说清楚"、"发展历史"、"与其他 AI 助手框架的对比"),其余章节可以等需要时再回来看
2025年11月 Peter Steinberger 从个人实验出发,把 AI 模型接入消息应用
↓
2025年11月 项目以早期名称开源发布,快速获得社区关注
↓
2026年1月 因名称与 Claude 过近,项目进入更名过程
↓
2026年1月末 社区投票后,最终定名为 OpenClaw
↓
2026年4月 Control UI 多语言、插件懒加载优化、Google Meet 集成等密集发布
↓
2026年 持续快速迭代,围绕 Gateway、Channels、Skills、Plugins 等能力扩展| 时间 | 事件 | 意义 |
|---|---|---|
| 2025.11 | 项目创建 | 从个人 AI 实验起步 |
| 2025.11 | 开源发布 | 快速进入开发者社区视野 |
| 2026.01 | 完成更名 | 统一到 OpenClaw 品牌 |
| 2026.04.05 | Control UI 多语言 | 新增 12 种界面语言 |
| 2026.04.22 | 插件懒加载优化 | 内置插件加载时间缩短 82-90% |
| 2026.04.24 | Google Meet 集成 | 首个内置会议类插件;DeepSeek V4 Flash 成为引导默认模型 |
| 2026 年后 | 持续高频迭代 | 版本号采用 YYYY.M.D 风格 |
| 维度 | OpenClaw | Botpress |
|---|---|---|
| 定位 | 个人 AI 助手 | 企业级聊天机器人平台 |
| 部署 | 本地优先,跑在你自己设备上 | 云端 SaaS 为主 |
| 数据 | 全部本地存储 | 存在 Botpress 云端 |
| AI 模型 | 支持 29+ 提供商,自由切换 | 主要绑定自家模型 |
| 目标用户 | 开发者、技术爱好者 | 企业客服团队 |
| 对话设计 | 自然语言驱动,无需流程图 | 可视化流程编辑器 |
| 价格 | 完全免费开源(MIT) | 免费层有限,企业版收费 |
| 维度 | OpenClaw | Rasa |
|---|---|---|
| 架构 | Gateway(核心服务进程,负责接收和分发消息) + Agent(独立的 AI 助手实例) 循环 | NLU + 对话管理 + 动作服务器 |
| 学习曲线 | npm install -g openclaw 就能跑 | 需要理解 NLU 管道、训练数据格式 |
| AI 能力 | 直接调用大语言模型 | 传统 NLU + 可选 LLM |
| 消息平台 | 内置 15+ 平台支持 | 需要自己写 Connector |
| 工具调用 | 内置浏览器控制、文件操作等 | 需要自己实现 Action Server |
| 适用场景 | 个人助手、开发者工具 | 企业级对话系统 |
自建方案需要解决的问题:
├── 消息平台适配(每个平台 API 都不一样)
├── 会话管理(多轮对话、上下文窗口)
├── 流式输出(实时显示 AI 回复)
├── 工具调用(让 AI 执行实际操作)
├── 记忆系统(AI 记住你的偏好)
├── 安全控制(防止未授权访问)
├── 多模型切换(不同任务用不同模型)
├── 模型故障转移(主模型挂了自动切备用)
├── 媒体处理(图片、音频、视频)
├── 守护进程管理(7x24 小时运行)
└── 更新维护(持续跟进 API 变更)openclaw onboard 完成初始化;如果你更习惯 Node 生态,也仍然可以用 npm / pnpm / bun 安装 CLI。| 你的需求 | 推荐方案 |
|---|---|
| 个人 AI 助手,隐私优先 | OpenClaw |
| 企业客服机器人,需要可视化 | Botpress |
| 企业级对话系统,需要精确控制 | Rasa |
| 简单的单平台 Bot | 自建方案 |
| 多平台 + 多模型 + 工具调用 | OpenClaw |
┌─────────────────────────────────────────────────────────────────┐
│ 消息平台层 (Channels) │
│ │
│ WhatsApp │ Telegram │ Discord │ Slack │ Signal │ iMessage │
│ BlueBubbles │ Google Chat │ Teams │ LINE │ Zalo │ WebChat │ ... │
└──────────────────────────────┬────────────────────────────────────┘
│
┌──────────────────────────────▼────────────────────────────────────┐
│ Gateway(网关控制平面) │
│ ws://127.0.0.1:18789 │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────┐ │
│ │ 路由引擎 │ │ 会话管理 │ │ 安全控制 │ │ WebSocket API │ │
│ └──────────┘ └──────────┘ └──────────┘ └────────────────┘ │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────┐ │
│ │ 技能系统 │ │ 记忆系统 │ │ 工具系统 │ │ 插件系统 │ │
│ └──────────┘ └──────────┘ └──────────┘ └────────────────┘ │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────┐ │
│ │ Cron 调度 │ │ Webhook │ │ 媒体管道 │ │ Control UI │ │
│ └──────────┘ └──────────┘ └──────────┘ └────────────────┘ │
└──────────────────────────────┬────────────────────────────────────┘
│
┌──────────▼──────────┐
│ Pi Agent Runtime │
│ (RPC 模式) │
└──────────┬──────────┘
│
┌──────────────────────────────▼────────────────────────────────────┐
│ AI 模型提供商层 (Models) │
│ │
│ OpenAI │ Anthropic │ Google │ Ollama │ Mistral │ xAI │
│ AWS Bedrock │ 通义千问 │ 智谱 │ DeepSeek │ OpenRouter │ ... │
└───────────────────────────────────────────────────────────────────┘1. WhatsApp 消息到达
│
2. Baileys 库接收消息,转换为统一格式
│
3. Gateway 路由引擎判断:
├── 这条消息属于哪个 Agent?
├── 发送者是否已授权?(DM 配对检查)
└── 是否在群聊中被 @提及?
│
4. 会话管理器加载/创建会话:
├── 加载历史上下文
├── 加载记忆文件(MEMORY.md + 今日日志)
└── 加载技能指令
│
5. Pi Agent 执行推理循环:
├── 组装完整 Prompt(系统指令 + 记忆 + 历史 + 用户消息)
├── 调用 AI 模型(如 Claude Opus 4.6)
├── 模型返回文本或工具调用请求
├── 如果是工具调用 → 执行工具 → 把结果喂回模型
└── 循环直到模型给出最终回复
│
6. 流式输出:
├── AI 的回复实时推送到 WhatsApp
├── 同时推送到 WebChat UI(如果打开了的话)
└── 打字指示器让对方知道 AI 在"思考"
│
7. 状态持久化:
├── 会话历史写入磁盘
├── 如果 AI 决定记住什么 → 写入记忆文件
└── 使用统计更新⏭️ 小白可跳过 — 这部分是技术深入分析,新手可以先跳过
Gateway 核心职责:
├── 连接管理
│ ├── 管理所有消息平台的长连接
│ ├── WhatsApp 用 Baileys,Telegram 用 grammY,Discord 用 @buape/carbon
│ ├── 自动重连、心跳保活
│ └── 统一消息格式转换
│
├── 会话管理
│ ├── main 会话(直接聊天)
│ ├── 群聊隔离(每个群独立会话)
│ ├── 激活模式(@提及、关键词触发等)
│ └── 队列模式(消息排队处理)
│
├── Agent 调度
│ ├── 多 Agent 路由(不同平台/联系人 → 不同 Agent)
│ ├── 每个 Agent 独立工作空间
│ └── 独立的认证和配置
│
├── 安全控制
│ ├── DM 配对机制(未知发送者需要验证码)
│ ├── 允许列表(allowFrom)
│ └── 权限隔离
│
├── API 暴露
│ ├── WebSocket API(默认 127.0.0.1:18789)
│ ├── Control UI(Web 控制面板)
│ └── WebChat(浏览器聊天界面)
│
└── 自动化
├── Cron 定时任务
├── Webhook 接收
└── Gmail Pub/Sub 推送| 能力 | 说明 |
|---|---|
| 消息收发 | 文本、图片、音频、视频、文件 |
| 群聊支持 | @提及检测、回复引用、群成员信息 |
| 打字指示器 | 让对方看到"正在输入..." |
| 消息分块 | 长消息自动拆分(不同平台限制不同) |
| 媒体处理 | 图片压缩、音频转码、视频帧提取 |
| 认证管理 | 每个平台的认证方式不同 |
| 平台 | 集成库 | 认证方式 |
|---|---|---|
| Baileys (Web 协议) | 扫码配对 | |
| Telegram | grammY | Bot Token |
| Discord | @buape/carbon | Bot Token |
| Slack | Bolt | OAuth App |
| Signal | signal-cli | 手机号注册 |
| BlueBubbles | BlueBubbles API | iMessage(推荐) |
| iMessage | imsg CLI | macOS 原生(旧版) |
| WebChat | 内置 | 无需认证 |
| 平台 | 说明 |
|---|---|
| Google Chat | Google Workspace 集成 |
| Google Meet | 会议参与者插件(v2026.4.24 新增) |
| Microsoft Teams | 企业通信平台 |
| Matrix | 去中心化通信协议 |
| Zalo | 越南主流通信应用 |
| Zalo Personal | Zalo 个人账号 |
| LINE | 日本/东南亚主流 |
| 飞书 (Feishu) | 字节跳动企业通信平台 |
陌生人发消息 → OpenClaw 返回一个配对码 → 你在终端确认
↓
openclaw pairing approve telegram ABC123
↓
该用户被加入允许列表,后续消息正常处理工具 (Tools) = 单个原子操作
例:读文件、发 HTTP 请求、执行 Shell 命令
技能 (Skills) = 组合工具完成复杂任务的知识
例:管理 GitHub Issue = 搜索 Issue + 读取详情 + 添加评论 + 修改标签| 层级 | 说明 | 来源 |
|---|---|---|
| Bundled Skills | 内置技能,随 OpenClaw 一起安装 | 核心仓库 |
| Managed Skills | 通过 ClawHub 安装的社区技能 | clawhub.com |
| Workspace Skills | 你自己写的本地技能 | 工作空间目录 |
| 类别 | 技能 | 功能 |
|---|---|---|
| 办公效率 | gog | Google Workspace(邮件、日历、文档) |
notion | Notion 页面和数据库管理 | |
trello | Trello 看板和任务管理 | |
slack | Slack 工作区消息管理 | |
1password | 1Password 密码查询(只读) | |
| 笔记管理 | obsidian | Obsidian 笔记搜索和管理 |
apple-notes | Apple 备忘录 | |
bear-notes | Bear 笔记 | |
| 开发工具 | coding-agent | 编程助手(写代码、调试、重构) |
github | GitHub 仓库管理、PR、Issue | |
gh-issues | GitHub Issues 专项管理 | |
tmux | 终端会话管理 | |
| 任务管理 | apple-reminders | Apple 提醒事项 |
things-mac | Things 任务管理 | |
| 多媒体 | spotify-player | Spotify 音乐控制 |
voice-call | 语音通话(ElevenLabs) | |
peekaboo | 屏幕截图 | |
camsnap | 摄像头拍照 | |
video-frames | 视频帧提取 | |
| 实用工具 | weather | 天气查询 |
summarize | 内容摘要 | |
nano-pdf | PDF 处理 | |
skill-creator | 创建自定义技能 | |
| 系统管理 | healthcheck | 系统健康检查 |
session-logs | 会话日志查看 | |
model-usage | 模型使用统计 |
~/.openclaw/workspace/
├── MEMORY.md # 长期记忆(精选的重要信息)
└── memory/
├── 2026-02-25.md # 今天的日志
├── 2026-02-24.md # 昨天的日志
└── ... # 更早的日志| 层级 | 文件 | 内容 | 加载时机 |
|---|---|---|---|
| 长期记忆 | MEMORY.md | 你的偏好、重要决策、关键事实 | 每次会话启动 |
| 每日日志 | memory/YYYY-MM-DD.md | 当天的笔记和上下文 | 加载今天 + 昨天 |
memory_search — 语义搜索所有记忆文件memory_get — 精确读取特定记忆内容| 工具类别 | 能力 | 说明 |
|---|---|---|
| 浏览器控制 | 打开网页、截图、点击、填表 | 基于 Playwright,有专用的 Chrome 实例 |
| Canvas | 可视化工作区 | Agent 驱动的 UI,支持 A2UI 推送 |
| 节点操作 | 摄像头、屏幕录制、位置获取 | 通过 macOS/iOS/Android 节点 |
| 文件操作 | 读写文件、目录管理 | 在工作空间内操作 |
| Shell 执行 | 运行命令行命令 | 安全沙箱内执行 |
| 消息发送 | 通过任意 Channel 发消息 | 跨平台消息推送 |
| 定时任务 | Cron 表达式调度 | 定时提醒、自动化任务 |
| Webhook | 接收外部事件 | 与第三方服务集成 |
mcporter 桥接支持 MCP(Model Context Protocol):OpenClaw Gateway ←→ mcporter ←→ MCP Servers⏭️ 小白可跳过 — 这部分是技术深入分析,新手可以先跳过
package.json 可以看到 OpenClaw 的技术选型:| 类别 | 库 | 用途 |
|---|---|---|
| 运行时 | Node.js 24.x 推荐,22.14+ 兼容 | 服务端 JavaScript 运行时 |
| 语言 | TypeScript 5.9+ | 类型安全 |
| 构建 | tsdown | TypeScript 打包工具 |
| 测试 | Vitest 4.x | 单元测试 + E2E 测试 |
| 代码质量 | oxlint + oxfmt | Lint + 格式化(Rust 写的,极快) |
| Web 框架 | Express 5.x | HTTP/WebSocket 服务 |
| WebSocket | ws | WebSocket 通信 |
| Schema | Zod 4.x + TypeBox | 运行时类型验证 |
| 数据库 | sqlite-vec | 向量搜索(记忆系统) |
| 图像处理 | Sharp | 图片压缩和转换 |
| 浏览器 | Playwright | 浏览器自动化控制 |
| pdfjs-dist | PDF 解析 | |
| 配置 | JSON5(一种支持注释的配置文件格式) + dotenv | 主配置文件为 JSON5 格式(~/.openclaw/openclaw.json) |
| 平台 | 库 |
|---|---|
| @whiskeysockets/baileys | |
| Telegram | grammy |
| Discord | @buape/carbon |
| Slack | @slack/bolt + @slack/web-api |
| 飞书 | @larksuiteoapi/node-sdk |
| LINE | @line/bot-sdk |
| AWS Bedrock | @aws-sdk/client-bedrock |
| 库 | 用途 |
|---|---|
| @mariozechner/pi-agent-core | Agent 运行时核心 |
| @mariozechner/pi-ai | AI 模型抽象层 |
| @mariozechner/pi-coding-agent | 编程 Agent |
| @mariozechner/pi-tui | 终端 UI |
⏭️ 小白可跳过 — 这部分是技术深入分析,新手可以先跳过
openclaw/
├── src/ # 核心实现(TypeScript 等)
├── extensions/ # 扩展 Channel 和插件
├── skills/ # 内置技能定义
├── apps/
│ ├── macos/ # macOS 菜单栏应用(Swift)
│ ├── ios/ # iOS 应用(Swift)
│ └── android/ # Android 应用(Kotlin)
├── ui/ # Control UI(Web 前端)
├── docs/ # 官方文档(Mintlify)
├── scripts/ # 构建和工具脚本
├── test/ # 测试文件
├── dist/ # 构建产物
├── openclaw.mjs # CLI 入口
├── package.json # 依赖和脚本
├── tsconfig.json # TypeScript 配置
├── vitest.unit.config.ts # 单元测试配置
├── vitest.e2e.config.ts # E2E 测试配置
└── vitest.live.config.ts # 实时测试配置⏭️ 小白可跳过 — 这部分是技术深入分析,新手可以先跳过
vYYYY.M.D,例如 v2026.2.24。| 通道 | npm 标签 | 说明 |
|---|---|---|
| stable | latest | 正式发布,推荐使用 |
| beta | beta | 预发布版本,可能缺少 macOS 应用 |
| dev | dev | main 分支最新代码 |
| 提供商 | 代表模型 | 特点 |
|---|---|---|
| OpenAI | GPT-5.4 | 最强通用能力,OpenClaw 赞助商 |
| Anthropic | Claude Opus 4.6, Sonnet 4.6 | 官方推荐,编程和安全最强 |
| Gemini 3.1 | 多模态能力强 | |
| Mistral | Mistral Large | 欧洲开源模型 |
| xAI | Grok | 实时信息能力 |
| 提供商 | 代表模型 | 特点 |
|---|---|---|
| Ollama | Llama, Qwen, Mistral | 本地运行,隐私优先 |
| vLLM | 各种开源模型 | 高性能本地推理 |
| node-llama-cpp | GGUF 模型 | 直接在 Node.js 中运行 |
| 提供商 | 代表模型 | 特点 |
|---|---|---|
| 通义千问 (Qwen) | Qwen-Max | 阿里巴巴,中文能力强 |
| 百度千帆 (Qianfan) | ERNIE | 百度,中文优化 |
| 智谱 (GLM) | GLM-4 | 清华系,学术能力强 |
| Moonshot/Kimi | Moonshot 视觉 | 中文优化,视觉能力 |
| 小米 (Xiaomi) | MiLM | 小米 AI |
| MiniMax | abab6 | 多模态 |
| DeepSeek | DeepSeek V4 Flash / V4 Pro | 编程能力强,引导向导默认 |
| 提供商 | 特点 |
|---|---|
| OpenRouter | 一个 API Key 用所有模型 |
| LiteLLM | 统一接口代理层 |
| AWS Bedrock | 企业级,支持 Claude 和 Titan |
| Vercel AI Gateway | Vercel 生态集成 |
| Cloudflare AI Gateway | CDN 加速 |
| Together AI | 开源模型托管,性价比高 |
| NVIDIA NIM | GPU 加速推理 |
| Venice AI | 隐私优先,不记录数据 |
| HuggingFace | 社区开源模型 |