使用说明
MCP通道
用于具有MCP集成的消息传递平台的统一信道抽象层。通过Slack、Discord、Telegram、Kakao、电子邮件、Microsoft Teams等提供单一的双向事件/响应API。
特性
- 与平台无关的消息传递 通过
ChannelPort适配器。 - 连接器 -Slack(套接字模式+活动API),Discord,电子邮件,Kakao。Telegram和Teams搭建了脚手架。
- 丰富的内容 —
ContentBlock系统、附件、动作元素、线程、反应、打字指示器。 - 会话管理 —
Session,Principal,SessionManager,SessionStore有对话历史和背景。 - 幂等性 --具有可配置TTL的重复事件抑制。
- 政策执行 --速率限制、回退重试、断路器。
- MCP集成 —
ChannelRuntime将入站事件编排到MCP/LLM处理中。 - 加密 --签名验证助手和AES消息处理(例如WeCom加密)。
快速开始
import 'package:mcp_channel/mcp_channel.dart';
final runtime = ChannelRuntime.inbound(
mcpClients: {'default': mcpClient},
defaultMode: InboundProcessingMode.llm,
);
runtime.registerChannel('slack', SlackConnector(
SlackConfig(botToken: 'xoxb-...', appToken: 'xapp-...', useSocketMode: true),
));
await runtime.start();
await for (final event in runtime.events) {
final response = await runtime.processEvent(event);
if (response != null) {
await runtime.sendResponse(response);
}
}
核心组件
ChannelEvent/ChannelResponse--键入具有丰富内容块的入站事件和出站响应。ChannelPort--抽象平台适配器接口(启动、停止、发送、编辑、删除、反应、sendTyping)。ChannelCapabilities--每个连接器的特征标志描述符。Session/SessionManager/Principal--对话身份和历史。IdempotencyGuard--重复事件防护。ChannelPolicy+PolicyExecutor--速率限制/重试/断路器管道。
支持
许可证
麻省理工学院——见 许可证.
