功能描述
为 DivineSense 添加多平台 Chat Apps 接入能力,支持用户通过 Telegram、WhatsApp、钉钉机器人与 AI 代理交互,实现随时随地访问个人知识库和日程管理。
解决方案
功能范围
包含:
- Telegram Bot 接入(推荐 Phase 1 优先实现)
- WhatsApp Business API 接入(通过 Baileys 桥接)
- 钉钉机器人接入(企业场景)
- 多媒体消息处理(图片/语音/视频/文件)
- 语音转文字(Whisper 集成)
- 图片 OCR 文字识别
- 文件自动归档为附件
- 流式 AI 响应(复用现有 SSE 架构)
- 用户权限验证(个人绑定模式)
不包含(未来扩展):
- 群聊 @触发模式
- 跨平台消息同步
- 自定义 Bot 命令菜单
技术方案
后端架构
Chat Apps Gateway
├── Telegram Channel (python-telegram-bot / Go SDK)
├── WhatsApp Channel (Baileys Node.js 桥接)
└── DingTalk Channel (回调模式 + 签名验证)
↓
ChatChannel Router (用户验证 + 消息分发)
↓
MediaHandler (图片OCR / 语音转文字)
↓
ChatRouter (现有 AI 代理路由)
↓
Parrot Agents (MemoParrot / ScheduleParrot / ...)
数据库设计
-- 新增表:chat_app_credential
CREATE TABLE chat_app_credential (
id SERIAL PRIMARY KEY,
user_id INTEGER NOT NULL REFERENCES "user"(id) ON DELETE CASCADE,
platform TEXT NOT NULL, -- 'telegram', 'whatsapp', 'dingtalk'
platform_user_id TEXT NOT NULL, -- 平台用户ID
access_token TEXT, -- 加密存储
webhook_url TEXT, -- 回调地址(钉钉用)
enabled BOOLEAN DEFAULT true,
created_ts BIGINT NOT NULL,
updated_ts BIGINT NOT NULL,
UNIQUE(user_id, platform)
);
-- 扩展 conversation_context 表
ALTER TABLE conversation_context
ADD COLUMN channel_type TEXT; -- 'web', 'telegram', 'whatsapp', 'dingtalk'
API 设计 (proto/api/v1/chat_app_service.proto)
| RPC |
方法 |
描述 |
ChatAppService |
RegisterCredential |
用户绑定 Chat App 账号 |
ChatAppService |
ListCredentials |
查询已绑定的账号 |
ChatAppService |
DeleteCredential |
解绑账号 |
ChatAppService |
HandleWebhook |
处理各平台 Webhook 回调 |
ChatAppService |
SendMedia |
发送多媒体消息到 Chat App |
组件划分
plugin/chat_apps/
├── channels/
│ ├── base.go # ChatChannel 接口定义
│ ├── telegram/
│ │ ├── telegram.go # Telegram Bot 实现
│ │ └── webhook.go # Webhook 处理
│ ├── whatsapp/
│ │ └── bridge.go # WhatsApp Baileys 桥接
│ └── dingtalk/
│ ├── dingtalk.go # 钉钉机器人实现
│ └── crypto.go # 签名验证
├── media/
│ ├── handler.go # 多媒体处理器接口
│ ├── whisper.go # 语音转文字
│ └── ocr.go # 图片 OCR
├── router.go # 通道路由器
└── store.go # 凭证存储
前端变更
- 设置页面新增 Chat Apps 绑定面板
- 支持生成/绑定 Bot Token
- 显示已绑定账号列表
参考资源
复杂度
- 工作量: 3-4 人周
- Telegram: 1 人周
- WhatsApp: 1 人周
- 钉钉: 1-1.5 人周
- 多媒体处理: 0.5 人周
- 风险: 中
- 平台协议变更风险
- Token 安全存储
- WhatsApp 桥接稳定性
验收标准
依赖项
调研时间: 2026-02-03 | 版本: v1.0
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
功能描述
为 DivineSense 添加多平台 Chat Apps 接入能力,支持用户通过 Telegram、WhatsApp、钉钉机器人与 AI 代理交互,实现随时随地访问个人知识库和日程管理。
解决方案
功能范围
包含:
不包含(未来扩展):
技术方案
后端架构
数据库设计
API 设计 (proto/api/v1/chat_app_service.proto)
ChatAppServiceRegisterCredentialChatAppServiceListCredentialsChatAppServiceDeleteCredentialChatAppServiceHandleWebhookChatAppServiceSendMedia组件划分
前端变更
参考资源
复杂度
验收标准
make check-all通过依赖项
调研时间: 2026-02-03 | 版本: v1.0
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com