渠道插件系统
一句话概括
渠道插件系统定义了基于适配器模式的模块化契约(ChannelPlugin),38 个消息扩展实现此契约以将 Telegram、Discord、Slack、Signal、iMessage 等平台连接到 OpenClaw。
职责
- 定义
ChannelPlugin接口,包含约 20 个可选适配器插槽 - 管理插件注册、加载和生命周期
- 将不同平台格式的入站消息归一化
- 将出站回复路由到正确的平台 API
- 处理平台特定功能(线程、reactions、内联按钮、配对、引导)
关键源码文件
ChannelPlugin 适配器插槽
与其他模块的关系
- 依赖:
config/(渠道设置)、plugin-sdk/(稳定 API) - 被依赖:
auto-reply/(入站分发)、gateway/(webhook 路由)、routing/(渠道解析)
我的认知盲区
- 插件加载顺序和冲突解决
-
configSchema如何启用 UI 驱动的渠道配置 -
agentTools— 渠道特定工具如何与工具策略管道集成
变更频率
types.plugin.ts:低 — 核心契约稳定;新适配器是增量的types.adapters.ts:中 — 适配器接口随平台功能演进- 扩展插件:高 — 各渠道频繁更新