feat(voice): 语音消息落库 + 转码接入(切片 0020)
- 迁移 0020_chat_message_voice:按 design/24 §10 与契约 §7.2 已登记的 voice 形状建列/索引
- 语音回合进编排并落库;voice 引用与统计如实回填(转码/转写没成功就如实标未成功,不假装)
- 复用既有 internal/capability/transcode:非 wav(微信 AMR 等)先转码再送 ASR;失败可分类且不丢消息
⚠️ 部分完成(如实登记):生产端到端未成立(本片只到落库与转码接入),且**未经验真机**。
This commit is contained in:
1 parent
120d926cf8
commit
ede00d9928
17 files changed
+2125
-31
No files matched your search
@@ -18,7 +18,12 @@ package channelbridge
|
||||
// `channelbridge/inbound_images.go` 内联成 data: URI 部件、落消息 DTO 的 `image`
|
||||
// 字段,既不进共享文档存储也不进 `document` 列;**语音也不走这里** —— 入站语音由
|
||||
// `channelbridge/inbound_voice.go` 在流水线最前端归一成文本写回 `Content`
|
||||
// (切片 IM-ASR;design/06 §1.1),既不落文档存储也不进文档预算;
|
||||
// (切片 IM-ASR;design/06 §1.1),其**音频副本**另走
|
||||
// `inbound_voice_copy.go`(闸门之后、内容寻址、`voice` 列;切片 CODE-VOICE):
|
||||
// 语音**不进文档的摄取/注入链路**(不抽取、不进 `documents` DTO 数组、不占注入
|
||||
// 预算、不出现在附件清单行里),但它**复用同一份存储与 GC**(同一个
|
||||
// `<DataDir>/uploads/documents` 目录与 `documents` 元数据表,design/24 §10.5)——
|
||||
// 也就是说「不走这里」指的是**摄取语义**,不是「不落盘」;
|
||||
// - 入站附件是**用户内容** ⇒ 文档部件只挂在 `model.RoleUser` 消息上;
|
||||
// - 摄取发生在**闸门之后**(会话解析、黑白名单、最小打扰判定都通过之后),
|
||||
// 被拒的消息因此绝不会在盘上留下文件;
|
||||
|
||||
Reference in new issue
Block a user