主题
第 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 打断原理