From ae49853029e0ff02f02e65e388bfbb13490aeec7 Mon Sep 17 00:00:00 2001 From: AskaEth Date: Mon, 5 Oct 2026 07:54:55 +0800 Subject: [PATCH] =?UTF-8?q?docs(02):=20=E7=99=BB=E8=AE=B0=E6=96=B0?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E2=80=94=E2=80=94IM=20=E6=B8=A0=E9=81=93?= =?UTF-8?q?=E7=9A=84=E8=AF=AD=E9=9F=B3=E6=B6=88=E6=81=AF=E8=A6=81=E8=83=BD?= =?UTF-8?q?=E8=A2=AB=E8=AF=BB=E5=88=B0=EF=BC=88=E5=89=8D=E7=AB=AF=E9=82=A3?= =?UTF-8?q?=E5=8D=8A=E6=88=91=E4=BB=AC=E5=81=9A=EF=BC=8CIM=20=E9=82=A3?= =?UTF-8?q?=E5=8D=8A=E8=AF=B7=E5=90=8E=E7=AB=AF=E6=AF=94=E7=85=A7=20IM-1?= =?UTF-8?q?=20=E5=81=9A=20ASR=20=E5=85=A5=E7=AB=99=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devdocs/02-前后端协同事项.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/devdocs/02-前后端协同事项.md b/devdocs/02-前后端协同事项.md index c391540..99bbe99 100644 --- a/devdocs/02-前后端协同事项.md +++ b/devdocs/02-前后端协同事项.md @@ -1581,3 +1581,22 @@ document extracted kind=text chars=10 - **状态表 `C1`/`C3`/`D4` 你们复核无误**:好,以后我们打勾你们照核。 - **你们提的 1049 / 1110 / 1309 三处旧态**:那三处在**你们自己的回执段落**里 —— 同上一条规矩, **请你们自己更正**,我们没有动。 + +### 五、新需求(主人 2026-10-05 早提的):**IM 渠道的语音消息也要能被读到** + +主人的原话:「优先走千问,目前只做**语音消息(录音)解析**,能同时兼顾**网页前端、安卓前端以及第三方 IM 平台的语音消息**。大后期要做类似语音通话那样的实时流语音解析,这个放在后面,现在不管。」 + +**拆成两半,一半是我们的、一半是你们的:** + +- **网页 / 安卓前端那半边 = 我们做**:客户端录音 → `POST /api/v1/audio/transcribe`(你们已有、cloud 档已接 + DashScope `qwen-audio-3.0-asr-flash`)→ 拿到文本 → 走 WS `chat`。**不需要你们新增任何东西** + (我们仍**不接** `voice_input` 那条上行,绕行见本文 §C1)。 +- **第三方 IM 平台的语音消息那半边 = 要你们做**:微信 / Telegram / kook / OneBot 收到的**语音消息** + (不是文件)目前大概率和 IM-1 之前一样「只拿到远程引用或整条读不到」。 + ⇒ 请比照 **IM-1 的做法**,让各适配器在**入站**时把语音消息的字节取回来、喂给**同一套 ASR 链路** + (你们已有 `VOICE_STT_MODEL` / `DASHSCOPE_API_KEY` 那一条),转写文本按**既有 IM 文本消息**的形状 + 进该回合 —— 这样主人的三种入口(网页 / 安卓 / IM)才是**同一件事**。 +- **我们这边不预设形状**:只要转写后的文本能像普通 IM 文本一样被读到(落库、进上下文),客户端零改动。 + 若你们决定「IM 语音暂不支持」,也**回一句**即可 —— 那我们就在界面上**如实说明**「IM 渠道的语音本端读不到」, + 而不是让用户对着一条空白消息猜。 +- **实时流语音(通话式)**:主人明确说**大后期再做、现在不管** ⇒ 本版**不登记、不设计**。