九个 IM 渠道——同一个大脑,九扇门
一次部署,九扇门
MateClaw 里的一个渠道是通往同一个 Agent 的另一扇门。团队在飞书里沟通?把 Agent 放进飞书。有人喜欢用 Telegram?同一个 Agent,同一份记忆,出现在 Telegram。Web 控制台给运维,钉钉给现场,Slack 给工程——一次部署,九扇门。
每一个渠道都是一个 ChannelAdapter SPI 实现。Agent 不知道也不在乎消息是从哪扇门进来的。
九个渠道速览
| 渠道 | 传输方式 | 流式输出 | 部署说明 |
|---|---|---|---|
| Web | SSE | ✅ | 内置,零配置 |
| 钉钉 | Stream(WebSocket)/ Webhook | ✅ | Stream 模式不需要公网 IP |
| 飞书 | WebSocket / Webhook | — | WebSocket 模式不需要公网 IP |
| 企业微信 | 长连接 / Webhook | — | 长连接优先 |
| 微信 | HTTP 长轮询(iLink) | — | 实验性 / beta |
| Telegram | Long-Polling / Webhook | 打字指示器 | Long-Polling 不需要公网 IP |
| Discord | Gateway WebSocket(JDA) | 打字指示器 | 自动重连 |
| WebSocket / 回调 | — | 官方机器人平台 | |
| Slack | Events API / Socket mode | — | Socket mode 不需要公网 IP |
传输方式的选择
大多数 IM 渠道支持两种接入方式:长连接 和 Webhook。
- 长连接:MateClaw 主动连到 IM 平台的服务器,保持一个持续的 WebSocket/HTTP 长连接。优点:不需要公网 IP 就能用。缺点:MateClaw 进程挂了就断了。
- Webhook:IM 平台主动向 MateClaw 的公网地址推消息。优点:平台负责维持推送,MateClaw 进程挂了也能缓存。缺点:需要公网可访问的 IP/域名。
MateClaw 为每个渠道都选了默认推荐方式(钉钉 Stream、飞书 WebSocket、Telegram Long-Polling、Slack Socket mode)——全都不需要公网 IP。
同一个 Agent 跨渠道
当你把同一个 Agent 同时接入飞书和 Telegram:
- 它在两边用同一份记忆——飞书里聊过的事情,Telegram 里它还记得
- 它在两边用同一套工具和知识库
- 但渠道身份独立——飞书里的
@机器人和 Telegram 里的/start是两条独立入口
这对跨团队协作特别有用:工程团队在 Slack 用同一个研究助手,销售团队在飞书也用,但两边的对话历史和偏好会逐渐分化(因为记忆文件是按 Agent + 渠道组合的)。