写在前面
作为一名程序员,你是否有过这些困惑?
- 想让 AI 助手帮你处理工作,但不想把数据传到第三方云服务
- 希望用一个 AI 助手,同时管理微信、Telegram、飞书等多个渠道
- 想要深度定制 AI 的行为,但 ChatGPT 的 GPTs 限制太多
- 想让 AI 记住你之前的对话,而不是每次都从头开始
如果你有以上任意一个需求,这篇文章或许能给你一个不一样的答案。
OpenClaw 是什么?
OpenClaw 是一个开源的个人 AI 助手框架,你可以把它理解为一个"运行在你自己服务器上的 AI 助手"。
它不是另一个聊天机器人,而是一个可深度定制的 AI Agent 平台:
- 📱 多渠道接入 - 微信、Telegram、飞书、Discord、Slack...你选一个,它就在那儿回复你
- 🗣️ 语音交互 - 可以说话,也可以让它说话
- 🎨 Canvas 渲染 - 能展示动态 UI,不只是文字
- 🔌 无限扩展 - 通过 Skills 添加各种技能
- 🔒 数据本地 - 你的数据留在你自己的服务器上
官方 slogan 写得挺有意思:
OpenClaw is a personal AI assistant you run on your own devices.
为什么选择 OpenClaw?
先对比一下市面上的主流方案:
| 特性 | OpenClaw | ChatGPT | Claude | Cursor |
|---|---|---|---|---|
| 部署方式 | 本地/私有 | OpenAI 云 | Anthropic 云 | 本地 |
| 数据隐私 | ✅ 完全本地 | ❌ 上传云端 | ❌ 上传云端 | ✅ 本地 |
| 多渠道 | ✅ 10+ 渠道 | ❌ 仅官方 | ❌ 仅官方 | ❌ 仅 IDE |
| 可扩展性 | ✅ 开源无限 | ⚠️ GPTs 有限 | ⚠️ 有限 | ⚠️ IDE 插件 |
| 模型选择 | ✅ 任意模型 | ❌ 仅 OpenAI | ❌ 仅 Anthropic | ✅ 多种 |
| 开源 | ✅ 100% | ❌ | ❌ | ⚠️ 部分 |
5 大核心优势
1. 极致隐私 🔒
你的对话数据、文件、偏好设置,都留在你自己部署的服务器上。不依赖任何第三方云服务,数据完全可控。
2. 多渠道统一 📱
一个 AI 助手,同时管理多个渠道:
- 微信/Telegram/飞书 回复你的技术问题
- Slack 发送网站监控告警
- Discord 回应群友的提问
不用每次在不同平台重复配置,一次部署,处处可用。

📌 上图:PR Review 场景,AI 在 Telegram 上自动回复代码审查意见
3. 无限扩展 🔌
OpenClaw 采用 Skills 机制,你可以:
- 安装社区 Skills(天气、提醒、知识库...)
- 编写自己的 Skill(只需一个
SKILL.md文件) - 让 AI 自动调用工具完成复杂任务

📌 上图:红酒库存管理 Skill,AI 通过对话管理库存
4. 长期记忆 🧠
不同于 ChatGPT 每次都是新对话,OpenClaw 支持:
- 短期记忆:当前会话上下文
- 长期记忆:向量存储,记住你之前说过什么
- 文件记忆:从文件系统读取上下文
真正的"记得住"的 AI 助手。
5. 完全开源 📦
- 100% 开源(MIT 许可证)
- 代码完全透明
- 社区活跃(GitHub 10K+ Stars)
- 可以自行审计安全性
核心功能拆解
下面我们深入看看 OpenClaw 的架构,了解它是怎么工作的。
1. 网关 - 控制平面
网关是整个系统的核心,负责:
- 📬 消息路由 - 接收来自各个 Channel 的消息,转发给 Agent
- 👤 会话管理 - 管理每个用户的对话状态
- 🔐 权限控制 - 谁可以访问,谁不能访问
- ⚙️ 配置管理 - 统一管理所有组件配置
// Gateway 核心逻辑简化版
class 网关 {
async handleMessage(channel: string, user: string, message: string) {
// 1. 获取用户会话
const session = await sessionManager.getOrCreate({ channel, user });
// 2. 构建 Prompt(包含记忆)
const prompt = await memory.buildPrompt(session, message);
// 3. 调用 AI 模型
const response = await agent.complete(prompt);
// 4. 通过原渠道发送回复
await channel.send(user, response);
}
}
2. Channel - 消息通道
Channel 是 OpenClaw 与外部世界连接的桥梁。目前支持 10+ 种渠道:
- 💬 即时通讯:微信、Telegram、Discord、Slack、Google Chat、Signal、iMessage
- 🏢 企业协作:飞书、钉钉、Microsoft Teams
- 🌐 去中心化:Matrix、BlueBubbles
每个 Channel 都是一个独立的模块,通过统一接口接入:
// Channel 抽象
abstract class Channel {
// 接收消息
abstract onMessage(handler: (msg: Message) => Promise<void>): void;
// 发送消息
abstract send(to: string, content: Content): Promise<void>;
}
以飞书为例,只需配置 App ID 和 Secret,就能接入:
# 飞书配置示例
feishu:
app_id: cli_xxxxx
app_secret: xxxxxxxxx
webhook: https://open.feishu.cn/xxx
3. Skills - 技能系统
Skills 是 OpenClaw 的扩展机制。你可以把它理解为"插件"或"技能包"。
社区 Skills
官方和社区提供了一些开箱即用的 Skills:
- 🌤️ weather - 查询天气
- 📝 xiaohongshu-generator - 生成小红书风格推文
- 🔔 qqbot-cron - 定时提醒
- 📅 calendar - 日历管理
自定义 Skill
自己写一个 Skill 也很简单,只需一个 SKILL.md 文件:
# My Custom Skill
## 功能
帮我查天气
## tools
- get_weather: 查询城市天气
然后在配置中启用:
skills:
- weather
- my-custom-skill
4. Memory - 记忆系统
OpenClaw 的记忆系统分为三层:
┌─────────────────────────────────────┐
│ 短期记忆 │
│ (当前会话上下文,内存中) │
└─────────────────┬───────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 长期记忆 │
│ (向量数据库,持久化存储) │
└─────────────────┬───────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 文件记忆 │
│ (从文件系统读取上下文) │
└─────────────────────────────────────┘
// 记忆检索示例
const results = await memory.search("你上次说的那个项目", {
limit: 5, // 返回 5 条
threshold: 0.7 // 相似度阈值
});
快速上手
说了这么多,来点实际的。
安装
# 1. 安装
npm install -g openclaw@latest
# 2. 初始化(交互式配置)
openclaw onboard --install-daemon
# 3. 启动 Gateway
openclaw gateway --port 18789
配置渠道(以飞书为例)
# 添加飞书渠道
openclaw channel add feishu
然后按提示配置:
- 创建飞书应用:https://open.feishu.cn/
- 获取 App ID 和 App Secret
- 配置权限(消息、用户等)
- 填入配置,完成!
测试
# 发送测试消息
openclaw message send --to 你的用户ID --message "你好,我是你的 AI 助手"
总结
OpenClaw 可能不是最简单的 AI 助手,但它是最可控、最可扩展、最隐私的方案。
如果你:
- ✅ 重视数据隐私
- ✅ 需要多渠道统一管理
- ✅ 想深度定制 AI 行为
- ✅ 对开源技术感兴趣
不妨试试 OpenClaw。
当然,如果你就想要一个"打开就能用"的聊天工具,ChatGPT/Claude 依然是最好的选择。
工具没有好坏,只有适不适合。
如果你觉得这篇文章有帮助,欢迎转发给需要的朋友。有问题评论区见。
下篇预告:《OpenClaw 核心架构深度解析》,敬请期待。