Skip to content

第 4 章 语音对话协议

第 3 章跑通后,你才会愿意理解协议。本章讲清「为什么这么设计」:为什么用 HMAC-MD5 签名、为什么 uid 不能乱传、为什么发 CLIENT_INTERRUPT 能打断。

理解协议后,排查问题不再是「照着文档抄代码」,而是知道每个参数背后的服务端行为。读完各子章后,§4.3 核心参数总表 把贯穿全程的 5 个核心标识集中总览。

4.1 Token 鉴权

HMAC-MD5 V2 签名算法、双 Token 生命周期(accessToken 2h / refreshToken 7d)、鉴权失败场景(1001-1006 / WS 建连 400)

4.2 设备注册与绑定

appId→botId→sn 三层映射、设备绑定角色/用户、双连接互踢(REPEAT_CLIENT_SESSION)

4.3 重要参数介绍

sessionId / mid / uid / requestId / roundId 五大核心标识速查,贯穿建联与事件交互的「身份证体系」

4.4 WebSocket语音通道

建连 URL/Header/时序、对话模式(自由/手动)、一次完整轮次事件序列、上下行事件映射表、音频上传与切包规范、心跳保活

4.5 语音基础协议参考手册

已迁移至 附录 B.3 事件协议明细

上行/下行事件的完整 JSON 结构 + 字段说明(websocket.md 上下行事件映射表的展开)

4.5 音频格式与分片

PCM/Opus/mp3 上下行格式与采样率、Opus 单包/拼包切包规则、二进制传输、CLIENT_VOICE_CHAT_UPDATE 配置示例

4.6 服务端链路设计(进阶阅读)

ASR→Flow→TTS 三模块协同、roundId 端到端排查主键、ASR 拒识四层防护、TTS 打断原理