🏗️ 一、整体架构设计(非常关键)
OpenClaw 采用典型的 分层架构 + 插件化设计:
客户端 → 网关 → 业务层 → 集成层 → 数据层
📌 核心分层理解
1️⃣ 客户端层(入口统一)
-
Web / iOS / Android / CLI
-
所有请求统一进入网关
2️⃣ 网关层(核心控制点)
-
HTTP + WebSocket
-
负责:
-
鉴权
-
限流
-
路由
-
流式输出
-
👉 本质:AI API Gateway(类似 Kong + AI)
3️⃣ 业务层(最核心)
四大核心模块:
| 模块 | 作用 |
|---|---|
| Agent Manager | AI Agent 调度 |
| Channel Manager | 多平台统一接入 |
| Provider Manager | AI 模型管理 |
| Plugin Runtime | 扩展能力 |
👉 一句话总结:
业务层 = AI 编排引擎
4️⃣ 集成层
对接外部系统:
-
消息平台(Telegram / Discord)
-
AI 模型(OpenAI / Claude)
-
外部插件(搜索 / 数据库)
5️⃣ 数据层
-
SQLite(轻量存储)
-
LanceDB(向量数据库)
-
Session Store(会话管理)
👉 已经具备 RAG 能力基础
⚙️ 二、最核心设计思想(精华)
🔌 1. 插件化优先(灵魂设计)
OpenClaw 几乎所有能力都是插件实现的:
-
Channel 是插件
-
Provider 是插件
-
Tool 是插件
-
HTTP API 也是插件
👉 这意味着:
核心系统极简,能力全部外扩
📨 2. 通道抽象(非常高级)
统一接口:
interface Channel {
send(message)
receive()
}
无论是:
-
Telegram
-
Slack
-
WebSocket
👉 全部统一处理
🤖 3. Provider 解耦(支持多模型切换)
interface AIProvider {
generate()
streamGenerate()
}
好处:
-
可以随时切换 GPT / Claude / 本地模型
-
支持 fallback
-
支持负载均衡
📡 4. 全链路流式处理(非常关键)
从用户 → 网关 → Agent → Provider → 返回
👉 全部支持 streaming
优势:
-
响应更快(TTFB 极低)
-
用户体验更好
-
支持实时 UI 渲染
🔒 5. 安全沙盒
插件执行在沙盒中:
-
限制 CPU / 内存
-
限制网络
-
限制文件访问
👉 类似:
"轻量级 Serverless 执行环境"
🔁 三、核心调用链
一次完整请求流程:
用户输入
↓
网关接收(鉴权 + 限流)
↓
路由系统(找到 Agent)
↓
Agent 构建上下文
↓
Provider 调用 LLM
↓
流式返回结果
👉 本质:
这是一个 AI 请求调度系统(类似 Kubernetes 调度 Pod)
🧠 四、Agent 系统(核心中的核心)
Agent 负责:
-
会话管理
-
Prompt 组装
-
Tool 调用
-
模型选择
🧩 模型选择策略(很工程化)
优先级:
Session > Agent > Global Default
-
fallback:
主模型不可用 → 自动切换备用模型
👉 这是生产级必备能力
🔀 五、路由系统
支持:
-
用户级路由
-
群组级路由
-
角色级路由
优先级:
用户 > 角色 > 服务器 > 通道 > 默认
👉 非常适合:
-
企业客服
-
多租户 AI
-
不同用户不同 Agent
🔌 六、插件系统(OpenClaw 最大亮点)
插件类型
| 类型 | 说明 |
|---|---|
| Channel | 接入 Telegram/Discord |
| Provider | 接入 OpenAI |
| Tool | 搜索/计算 |
| Hook | 生命周期扩展 |
| HTTP | API 扩展 |
| Media | 图像/语音 |
插件生命周期
发现 → 加载 → 验证 → 注册 → 初始化 → 运行 → 清理
👉 完全标准化插件体系
🔥 为什么这个设计强?
对比传统系统:
| 传统系统 | OpenClaw |
|---|---|
| 写死逻辑 | 插件扩展 |
| 难维护 | 可插拔 |
| 耦合高 | 解耦 |
🌐 七、网关设计
核心能力:
-
WebSocket 实时通信
-
RPC 调用(agent.run)
-
心跳 + 重连
-
流式推送
👉 本质接近:
AI版 API Gateway + Realtime Server
💾 八、会话系统(支撑上下文能力)
Session {
sessionKey
agentId
messageCount
tokenCount
}
支持:
-
上下文记忆
-
LRU 清理
-
Token 控制
👉 是实现 ChatGPT-like 的关键
⚡ 九、性能优化(工程细节很强)
多级缓存
L1: 内存
L2: 文件
L3: Redis
并发控制
Keyed Queue(按 key 串行)
解决:
-
并发冲突
-
状态不一致
流式优化
-
背压控制
-
零拷贝
-
chunk 推送
👉 非常专业
🔒 十、安全体系
多层安全:
-
认证(JWT / OAuth)
-
授权(RBAC)
-
加密(TLS + AES)
-
审计日志
🚀 十一、部署架构
支持:
-
本地部署
-
Docker
-
Kubernetes
-
Serverless
👉 灵活度极高
🔮 十二、架构价值总结(重点)
🧠 它解决了什么问题?
| 问题 | OpenClaw 解决方案 |
|---|---|
| 多模型接入 | Provider 抽象 |
| 多渠道接入 | Channel 抽象 |
| 扩展困难 | 插件系统 |
| 会话管理 | Session Store |
| 实时响应 | Streaming |
🔥 最值得学习的 5 个点
-
插件化架构(核心)
-
AI Provider 抽象
-
全链路流式设计
-
路由系统(多维匹配)
-
安全沙盒执行