11.1 通道适配器设计模式
11.1.1 通道核心接口分析
ChannelPlugin:统一的通道契约
// src/channels/plugins/types.plugin.ts(简化)
export type ChannelPlugin<ResolvedAccount = any, Probe = unknown, Audit = unknown> = {
id: ChannelId; // 通道标识符,如 "telegram"
meta: ChannelMeta; // 显示元数据(名称、图标、文档链接等)
capabilities: ChannelCapabilities; // 能力声明
// ── 配置与设置 ──
config: ChannelConfigAdapter<ResolvedAccount>; // 账号配置管理(必需)
configSchema?: ChannelConfigSchema; // JSON Schema 配置校验
setup?: ChannelSetupAdapter; // CLI 初始化向导
onboarding?: ChannelOnboardingAdapter; // 引导流程
// ── 安全与权限 ──
security?: ChannelSecurityAdapter<ResolvedAccount>;
pairing?: ChannelPairingAdapter;
auth?: ChannelAuthAdapter;
elevated?: ChannelElevatedAdapter;
// ── 消息处理 ──
outbound?: ChannelOutboundAdapter; // 出站消息发送
messaging?: ChannelMessagingAdapter; // 消息工具目标解析
streaming?: ChannelStreamingAdapter; // 流式传输参数
threading?: ChannelThreadingAdapter; // 线程/引用回复
mentions?: ChannelMentionAdapter; // @提及处理
actions?: ChannelMessageActionAdapter; // 消息动作(反应、编辑、撤回)
// ── 运行时 ──
gateway?: ChannelGatewayAdapter<ResolvedAccount>; // Gateway 服务生命周期
commands?: ChannelCommandAdapter; // 命令权限
groups?: ChannelGroupAdapter; // 群组行为
heartbeat?: ChannelHeartbeatAdapter; // 心跳检查
status?: ChannelStatusAdapter<...>; // 状态探测与审计
// ── 扩展 ──
agentPrompt?: ChannelAgentPromptAdapter; // 注入通道特有的系统提示词
directory?: ChannelDirectoryAdapter; // 联系人/群组目录
resolver?: ChannelResolverAdapter; // 目标解析
agentTools?: ChannelAgentToolFactory | ChannelAgentTool[]; // 通道专属工具
};ChannelCapabilities:能力声明
通道
chatTypes
polls
reactions
threads
nativeCommands
blockStreaming
ChannelMeta:显示元数据
11.1.2 通道配置类型系统
联邦式配置
ChannelConfigAdapter:配置访问层
通道默认配置
11.1.3 通道与 Gateway 的连接桥
ChannelDock:轻量级连接层
核心通道的 Dock 注册
通道注册表
插件到 Dock 的桥接
通道解析的完整流程
本节小结
Last updated