返回知识库

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)

处理认证和安全:

  • 验证用户身份
  • 管理访问权限
  • 审计日志

消息流程

  1. 接收消息: 平台适配器接收来自用户的消息
  2. 会话加载: 会话管理器加载或创建会话
  3. AI 处理: 消息被发送到配置的 AI 模型
  4. 工具执行: 如果需要工具,调用它们
  5. 响应生成: AI 生成回复
  6. 消息返回: 响应通过平台适配器发回

配置结构

# 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 密钥本地存储,从不传输
  • 数据加密: 可选的存储数据加密
  • 访问控制: 细粒度的权限管理

下一步