26 lines
756 B
Markdown
26 lines
756 B
Markdown
# WebSocket 消息协议
|
||
|
||
## 连接
|
||
- URL: /ws/conversation/{conversation_id}?token={jwt_access_token}
|
||
- 鉴权: query 参数 token,JWT access_token
|
||
|
||
## 消息类型 (client → server)
|
||
- TEXT: 文本消息
|
||
- AUDIO_SEGMENT: 语音分段
|
||
- AUDIO_MESSAGE: 完整语音消息
|
||
- TRANSCRIBE_ONLY: 仅转写不回复
|
||
- END_CONVERSATION: 结束对话
|
||
|
||
## 消息类型 (server → client)
|
||
- TRANSCRIPT: ASR 转写结果
|
||
- AGENT_RESPONSE: AI 回复文本
|
||
- TTS_AUDIO: 语音合成音频 (base64)
|
||
- MEMOIR_UPDATE: 回忆录更新通知
|
||
- ERROR: 错误信息
|
||
|
||
## 状态流转
|
||
CONNECT → (TEXT|AUDIO_*) ↔ (TRANSCRIPT|AGENT_RESPONSE|TTS_AUDIO) → END_CONVERSATION
|
||
|
||
## 重连
|
||
客户端断连后可用相同 conversation_id 重连,历史消息从 Redis 恢复。
|