🏛️ 架构概述
OpenClaw 采用模块化架构设计,各组件松耦合,可独立扩展:
┌─────────────────────────────────────────────────────────┐
│ OpenClaw Core │
├─────────────────────────────────────────────────────────┤
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ LLM │ │ Memory │ │ Tools │ │ Skills │ │
│ │ Engine │ │ System │ │ Manager │ │ Runner │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
│ └────────────┴────────────┴────────────┘ │
│ │ │
│ ┌──────┴──────┐ │
│ │ Router │ │
│ └──────┬──────┘ │
├──────────────────────────┼──────────────────────────────┤
│ ┌───────┐ ┌───────┐ ┌─┴─┐ ┌───────┐ ┌───────┐ │
│ │QQ Bot │ │Telegram│ │API│ │Discord│ │WeChat │ │
│ └───────┘ └───────┘ └───┘ └───────┘ └───────┘ │
│ Channels │
└─────────────────────────────────────────────────────────┘
核心组件
- LLM Engine - 大语言模型引擎,负责与各种 AI 模型交互
- Memory System - 记忆系统,管理会话和长期记忆
- Tools Manager - 工具管理器,提供文件、网络、数据库等能力
- Skills Runner - 技能运行器,加载和执行技能
- Router - 消息路由,将消息分发到正确的处理器
- Channels - 通道适配器,对接各种消息平台
数据流
- 用户通过某个通道发送消息
- Channel Adapter 接收并标准化消息
- Router 根据 routing 规则分发消息
- Skill Runner 检查是否匹配技能触发条件
- LLM Engine 处理消息,调用需要的工具
- Memory System 存储对话上下文
- 生成的回复通过 Channel 返回给用户