VideoTranscriptAPI 支持同时向企业微信和飞书推送任务通知。基于 wecom-notifier v0.3.1+。
API 请求 / 转录任务 / ASR 监控
│
▼
NotificationRouter(全局单例)
│ 按配置分发到所有启用的渠道
├──────────────────┐
▼ ▼
WeComChannel FeishuChannel
(企业微信 markdown) (飞书卡片消息)
在 config/config.jsonc 中添加渠道 webhook:
规则:有 webhook 就启用,没配就不启用。两个都配了 = 同时推送两个渠道。
在 config/users.json 中为每个用户配置独立的 webhook:
{
"users": {
"sk-user001-xxx": {
"user_id": "user_001",
"name": "张三",
"wechat_webhook": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=user1-key",
"feishu_webhook": "https://open.feishu.cn/open-apis/bot/v2/hook/user1-key",
"enabled": true
}
}
}用户级 webhook 优先于全局配置。用户 A 的通知发到用户 A 的群,不会和全局群混。
API 请求可以指定特定渠道:
# 只发到飞书
curl -X POST "http://localhost:8000/api/transcribe" \
-H "Authorization: Bearer your-token" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.youtube.com/watch?v=xxx",
"notification_config": {
"channel": "feishu",
"webhook": "https://open.feishu.cn/open-apis/bot/v2/hook/custom-key"
}
}'也可以用旧的 wechat_webhook 字段(向后兼容):
curl -X POST "http://localhost:8000/api/transcribe" \
-d '{"url": "...", "wechat_webhook": "https://qyapi.weixin.qq.com/..."}'notification_config.webhook (per-request 指定)
↓ 未设置时
wechat_webhook 字段 (per-request 向后兼容)
↓ 未设置时
user_info.wechat/feishu_webhook (用户级配置)
↓ 未设置时
config.wechat/feishu.webhook (全局配置)
每个渠道独立解析,互不影响。
当指定渠道发送失败时,自动退到其他可用渠道:
- 指定飞书但飞书 webhook 失败 → 自动退到企业微信
- 指定企业微信但企微 webhook 失败 → 自动退到飞书
- 不指定渠道(全部推送)时,各渠道独立发送,互不影响
| 阶段 | 通知内容 |
|---|---|
| 任务创建 | 查看链接(view URL) |
| 开始处理 | 转录引擎信息 |
| 缓存命中 | 标题、作者、转录预览 |
| 转录完成 | 状态更新 |
| LLM 完成 | 总结/校对文本 + 查看链接 |
| 任务失败 | 错误信息 |
| ASR 告警 | 服务宕机/恢复通知 |
- 企业微信:markdown_v2 格式,超长文本自动分段
- 飞书:卡片消息(Markdown 内容),自动分段,支持模板颜色
两个平台接收到的消息内容相同,格式自动适配。
| 文件 | 说明 |
|---|---|
utils/notifications/router.py |
NotificationRouter 路由层 |
utils/notifications/channel.py |
Channel 协议 + WeComChannel + FeishuChannel |
utils/notifications/wechat.py |
WechatNotifier(保留,向后兼容) |
utils/notifications/__init__.py |
全局生命周期管理 |
config/config.example.jsonc |
配置示例(含飞书段) |
config/users.example.json |
用户配置示例(含 feishu_webhook) |
底层通知库的详细 API 参考:企业微信通知器使用指南