OpenClaw 架构
了解 Gateway 架构和 OpenClaw 的底层工作原理
架构技术
OpenClaw 架构
本页面解释 OpenClaw 的底层工作原理。
Gateway 架构
OpenClaw 使用 Gateway 架构 实现统一的多平台访问。配置一次,在所有支持的平台使用相同的 AI 助
┌────────────────────────────────────────────────────────────────┐
│ OpenClaw Gateway │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 会话管理 │ │ 通道路由 │ │ 工具注册 │ │ 权限守护 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │
└────────────────────────────────────────────────────────────────┘
↑ ↑ ↑
│ │ │
┌────┴────┐ ┌────┴────┐ ┌────┴────┐
│ 微信 │ │ Telegram │ │ Discord │
│ 适配器 │ │ 适配器 │ │ 适配器 │
└─────────┘ └─────────┘ └─────────┘
核心组件
1. 会话管理器 (Session Manager)
管理所有平台的对话会话:
- 创建和维护对话上下文
- 处理会话持久化
- 管理会话超时
2. 通道路由器 (Channel Router)
在平台和 AI 模型之间路由消息:
- 从平台适配器接收消息
- 路由到合适的 AI 模型
- 将响应返回到正确的平台
3. 工具注册表 (Tool Registry)
管理工具和能力:
- 注册可用工具
- 处理工具调用
- 管理工具权限
4. 权限守护 (Auth Guard)
处理认证和安全:
- 验证用户身份
- 管理访问权限
- 审计日志
消息流程
- 接收消息: 平台适配器接收来自用户的消息
- 会话加载: 会话管理器加载或创建会话
- AI 处理: 消息被发送到配置的 AI 模型
- 工具执行: 如果需要工具,调用它们
- 响应生成: AI 生成回复
- 消息返回: 响应通过平台适配器发回
配置结构
# config.yaml
gateway:
session:
timeout: 3600
max_history: 50
channels:
- name: wechat
enabled: true
- name: telegram
enabled: true
- name: discord
enabled: false
models:
- name: claude
provider: anthropic
api_key: ${ANTHROPIC_API_KEY}
- name: gpt
provider: openai
api_key: ${OPENAI_API_KEY}
安全模型
- 本地处理: 所有处理都在你的机器上进行
- 密钥隔离: API 密钥本地存储,从不传输
- 数据加密: 可选的存储数据加密
- 访问控制: 细粒度的权限管理