消息系统

处理和管理系统消息

消息系统概览

OpenClaw 的消息系统负责处理所有传入和传出的消息,支持多通道、多格式的消息处理。

消息系统是 OpenClaw 的核心组件之一,它接收来自各个通道的消息并将其传递给适当的处理器。

消息处理流程

接收消息

消息通过不同通道(如微信、Telegram、邮件等)进入系统,每个通道有独立的消息解析器。

消息路由

系统根据消息内容、发送者身份和上下文决定如何处理该消息。

AI 处理

将消息内容传递给 AI 模型进行分析和响应生成。

响应发送

将 AI 生成的响应发送回原始通道。

消息格式

OpenClaw 使用统一的消息格式来处理来自不同通道的消息:

{
  "id": "msg-unique-id",
  "channel": "telegram|wechat|email|discord",
  "senderId": "user-identifier",
  "senderName": "用户名",
  "timestamp": "2023-12-01T10:00:00Z",
  "content": "消息内容",
  "contentType": "text|image|file|voice",
  "context": {
    "conversationId": "对话ID",
    "parentId": "父消息ID(如果有)"
  },
  "rawData": "原始通道数据"
}

消息中间件

过滤器

可以配置消息过滤器来阻止特定内容或用户的消息。

预处理器

在消息到达 AI 之前对消息进行预处理,例如语言检测或内容清理。

后处理器

在 AI 响应生成后,对响应进行后期处理,例如格式化或添加品牌信息。