消息渠道
云雀 Agent 开箱即支持 16+ 消息渠道,用户可通过任何偏好的即时通讯应用与 Agent 交互。
支持的渠道
| 渠道 | 配置变量 | 特性 |
|---|---|---|
| Telegram | TELEGRAM_BOT_TOKEN | 富文本、内联键盘、贴图、回调按钮 |
| 飞书 (Lark) | FEISHU_APP_ID, FEISHU_APP_SECRET | 消息卡片、审批卡片、贴图集学习 |
| Discord | DISCORD_BOT_TOKEN | Embed、按钮、斜杠命令 |
| Slack | SLACK_BOT_TOKEN | Block Kit |
WHATSAPP_TOKEN | 消息模板 | |
| Signal | SIGNAL_CLI_PATH | 端到端加密 |
EMAIL_IMAP_*, EMAIL_SMTP_* | IMAP 轮询 + SMTP 发送 | |
| 企业微信 | WECOM_CORPID, WECOM_AGENT_ID | 应用消息 |
| 钉钉 | DINGTALK_CLIENT_ID | 工作通知 |
| 微信公众号 | WECHAT_OA_APPID | 关注/消息事件 |
| LINE | LINE_CHANNEL_SECRET | Flex Message |
| Kook | KOOK_TOKEN | 卡片消息 |
QQ_APP_ID | QQ 官方 Bot | |
| Satori | SATORI_ENDPOINT | 统一聊天协议 |
| WebChat | 内置 | 前端 Web 聊天 |
| WebSocket | 内置 | 实时双向通信 |
渠道韧性
每个渠道自动包裹 ResilientChannel,提供企业级可靠性:
- 断路器: 连续失败后熔断 (可配置阈值),冷却后自动恢复
- 滑动窗口限流: 防止消息洪泛,每渠道独立配额
- 离线消息队列: 渠道断线时缓存消息,重连后按序投递
- 健康监控: 各渠道独立健康状态 + 生命周期管理
富消息组件
支持 12 种消息组件:
| 组件 | 说明 |
|---|---|
| 文本 | 纯文本 + Markdown |
| 图片 | URL 或 Base64 |
| 音频/视频 | 流媒体 |
| 文件 | 附件 |
| @提及 | 用户标记 |
| 按钮 | 交互按钮 (支持 action 回调) |
| 卡片 | 结构化卡片 (飞书/Telegram/Discord) |
| 引用回复 | 引用原消息 |
| 轮播卡片 | 多卡片横向滑动 |
| 位置 | 地理坐标 |
不支持的组件自动降级(如按钮降级为编号文本选项)。
表情包系统
- 情绪分析 → 表情包: Agent 回复后自动分析情绪,概率性附带表情包
- 贴图学习:
/add、/add-all命令让 Agent 学习用户发送的表情包 - 贴图集获取: 支持 Telegram 贴图集、飞书表情包集批量导入
- 分平台管理: 每个渠道独立管理表情包素材
斜杠命令
所有 IM 渠道通用命令:
| 命令 | 功能 |
|---|---|
/think [none|auto|deep] | 切换思考模式 |
/status | 查看 Agent 状态 |
/mission <描述> | 自然语言创建定时任务 |
/help | 命令帮助 |
/sticker <情绪> | 收集表情包 |
进度追踪
支持 ProgressSender 的渠道(Telegram、飞书)在多步执行时实时编辑"思考中..."消息,展示执行进度。
多渠道 Bot 架构
同一 Agent 服务多渠道:
- 会话按
(渠道, 用户ID)隔离 - 记忆跨渠道共享——无论用户从哪个渠道沟通,Agent 都记得
- 身份绑定支持跨渠道用户关联