OpenClaw 技术架构深度解析:32 万 Star 背后的"龙虾"哲学
"EXFOLIATE! EXFOLIATE!"
这不是什么神秘口号,而是 GitHub 上最火的 AI 项目之一的座右铭。
OpenClaw,一个号称"你的个人 AI 助手"的开源项目,在短短几个月内狂揽 32 万 Stars,Fork 数突破 6 万。
它凭什么?
今天,我们深入代码层面,拆解这只"龙虾"的技术架构。
一、OpenClaw 是什么?
用一句话概括:
一个运行在你自己设备上的个人 AI 助手,通过你已有的聊天工具与你对话。
不是网页版,不是 App,而是直接嵌入你的 WhatsApp、Telegram、Slack、Discord、微信...
你想让它做什么?发消息就行。
你:Ship checklistOpenClaw:好的,正在检查部署清单... ✅ 代码已合并 ✅ 测试通过 ✅ 环境变量配置 📦 准备部署听起来简单?背后的架构,可不简单。
二、核心架构:三层设计
OpenClaw 的架构可以概括为 "三层一平面":
┌─────────────────────────────────────────────────────────┐│ 消息渠道层 (Channels) ││ WhatsApp | Telegram | Slack | Discord | iMessage | ... │└─────────────────────┬───────────────────────────────────┘ │ ▼┌─────────────────────────────────────────────────────────┐│ Gateway (控制平面) ││ ws://127.0.0.1:18789 • 会话管理 • 路由 │└─────────────────────┬───────────────────────────────────┘ │ ┌────────────┼────────────┐ ▼ ▼ ▼ ┌────────┐ ┌────────┐ ┌────────┐ │ Pi │ │ CLI │ │ Web │ │ Agent │ │ 工具 │ │ Chat │ └────────┘ └────────┘ └────────┘1️⃣ 消息渠道层:20+ 平台支持
OpenClaw 支持的渠道列表,堪称"消息平台全家桶":
| 主流 IM | |
| 办公协作 | |
| 苹果生态 | |
| 亚洲市场 | |
| 极客向 | |
| 其他 |
技术实现: 每个渠道都是一个独立的适配器模块,使用官方 SDK 或成熟库:
WhatsApp → Baileys Telegram → grammY Slack → Bolt Discord → discord.js
2️⃣ Gateway:控制平面
Gateway 是 OpenClaw 的"大脑",核心职责:
会话管理:维护与每个用户的对话状态 消息路由:把消息分发到正确的 Agent 工具调度:调用浏览器、文件、系统命令等工具 安全策略:DM 配对、白名单、权限控制
运行方式:
openclaw gateway --port 18789 --verbose默认监听本地 18789 端口,通过 WebSocket 与各组件通信。
3️⃣ Agent 运行时:Pi Agent
OpenClaw 使用 Pi Agent 作为 AI 运行时,支持:
RPC 模式:本地调用,低延迟 工具流式输出:边执行边返回结果 块流式响应:长文本分段发送
三、技术选型:为什么是 TypeScript?
很多人问:AI 项目,为什么不用 Python?
OpenClaw 团队的回答很直接:
TypeScript 更易于修改、扩展和阅读。
技术栈一览
| 核心语言 | ||
| 包管理 | ||
| 消息协议 | ||
| AI 模型 | ||
| 部署方式 |
架构哲学
核心保持精简 → 能力通过插件扩展 → 安全默认开启核心:只做必要的事(路由、会话、安全) 插件:可选能力通过插件添加(记忆、技能、MCP) 安全:默认 DM 需要配对,公开接收需显式开启
四、特色功能解析
🎨 Live Canvas:可视化工作区
OpenClaw 不只是聊天机器人,它有一个实时画布:
你:画一个部署流程图OpenClaw:[Canvas 窗口弹出] ┌──────────┐ ┌──────────┐ │ 代码提交 │ → │ CI 测试 │ └──────────┘ └──────────┘ ↓ ↓ ┌──────────┐ ┌──────────┐ │ 人工审核 │ → │ 生产部署 │ └──────────┘ └──────────┘基于 A2UI 框架,Agent 可以直接操作画布,展示图表、代码、流程图。
🎤 Voice Wake + Talk Mode
Voice Wake:语音唤醒(macOS/iOS) Talk Mode:连续语音对话(Android) TTS:ElevenLabs + 系统语音 fallback
📱 多端节点
| macOS | |
| iOS | |
| Android |
五、安全设计:默认不信任
OpenClaw 的安全策略,可以用一句话概括:
把 inbound DM 当作不可信输入。
默认行为
DM 配对模式:陌生用户发消息,收到配对码,需手动批准 批准命令: openclaw pairing approve <channel> <code>公开接收:需显式设置 dmPolicy="open"并添加"*"到白名单
安全检查
openclaw doctor这个命令会扫描配置,提示潜在的安全风险。
六、插件与技能生态
插件系统
OpenClaw 的插件 API 设计得很克制:
内存插件:同一时间只能激活一个记忆插件 技能插件:发布到 ClawHub,而非直接并入核心 MCP 支持:通过 mcporter桥接,而非内置运行时
为什么这样设计?
核心保持精简,扩展交给社区。
这避免了"功能膨胀",也让核心更稳定、更安全。
七、安装与部署
快速开始
# 安装npm install -g openclaw@latest# 初始化openclaw onboard --install-daemon# 启动 Gatewayopenclaw gateway --port 18789 --verbose# 发送消息openclaw message send --to +1234567890 --message "Hello from OpenClaw"# 与 Agent 对话openclaw agent --message "Ship checklist" --thinking high部署选项
| CLI 直接运行 | |
| Daemon 模式 | |
| Docker | |
| Nix |
八、OpenClaw 的启示
1. 本地优先 ≠ 功能受限
OpenClaw 证明:本地运行的 AI 助手,也可以很强大。
关键在于架构设计:
控制平面集中管理 渠道适配模块化 工具调用标准化
2. 安全与便利的平衡
很多 AI 项目为了"好用",牺牲安全。
OpenClaw 的选择:默认安全,显式开放。
这需要用户多一步配置,但避免了" accidentally public"的风险。
3. 生态比核心更重要
OpenClaw 的核心代码并不多,但它的设计让:
社区可以开发插件 技能可以独立发布 MCP 服务器可以桥接
平台思维,胜过功能堆砌。
九、写在最后
OpenClaw 的 GitHub 页面上,有一句耐人寻味的话:
"The lobster way."
龙虾的方式是什么?
也许是:坚硬的外壳(安全),灵活的内核(扩展),以及无处不在的触角(渠道)。
在 AI 助手遍地开花的今天,OpenClaw 走出了一条不同的路:
不是云端的服务,而是你设备上的助手。不是单一的入口,而是你已有的聊天工具。不是封闭的黑盒,而是开源的透明。
32 万 Star,只是一个开始。
如果这篇文章对你有启发,点个"在看",让更多开发者看到。
欢迎在评论区分享你对 OpenClaw 的看法或使用体验。
参考链接:
OpenClaw GitHub[1] 官方文档[2] Vision 文档[3] 安全策略[4]
字数:约 2200 字
引用链接
[1]OpenClaw GitHub: https://github.com/openclaw/openclaw
[2]官方文档: https://docs.openclaw.ai
[3]Vision 文档: https://github.com/openclaw/openclaw/blob/main/VISION.md
[4]安全策略: https://docs.openclaw.ai/gateway/security
夜雨聆风