- 添加Dockerfile用于容器化部署 - 添加docker-compose.yml用于本地开发环境 - 添加build.sh构建脚本 - 添加README.md项目文档 - 添加API文档
2.3 KiB
2.3 KiB
Life Echo WebSocket 快速测试指南
🚀 快速开始
1. 连接地址
ws://localhost:8000/ws/conversation/{conversation_id}
2. 生成对话ID
# Python
python -c "import uuid; print(uuid.uuid4())"
# 或使用在线工具:https://www.uuidgenerator.net/
3. 在 Apifox 中操作
-
新建 WebSocket 请求
- 协议:WebSocket
- URL:
ws://localhost:8000/ws/conversation/你的对话ID
-
点击连接
- 应该立即收到
connect消息
- 应该立即收到
-
发送音频块
{ "type": "audio_chunk", "conversation_id": "你的对话ID", "data": { "audio_base64": "UklGRiQAAABXQVZFZm10IBAAAAABAAEAQB8AAAB9AAACABAAZGF0YQAAAAA=" } } -
接收响应(按顺序)
transcript- 语音转文字agent_response- Agent 回应tts_audio- TTS 音频
-
结束对话
{ "type": "end_conversation", "conversation_id": "你的对话ID" }
📋 消息类型速查
客户端发送
| 类型 | 说明 | JSON 示例 |
|---|---|---|
audio_chunk |
发送音频 | {"type":"audio_chunk","data":{"audio_base64":"..."}} |
end_conversation |
结束对话 | {"type":"end_conversation"} |
服务端返回
| 类型 | 说明 | 包含字段 |
|---|---|---|
connect |
连接确认 | data.status |
transcript |
语音转文字 | data.text |
agent_response |
Agent 回应 | data.text |
tts_audio |
TTS 音频 | data.audio_base64 |
end_conversation |
结束确认 | data.status |
error |
错误信息 | data.message |
🧪 测试场景
场景1:基础对话
- 连接 → 2. 发送音频 → 3. 接收3条响应 → 4. 结束对话
场景2:多轮对话
重复场景1的步骤2-3多次
场景3:错误处理
发送无效的 audio_base64 数据,查看 error 消息
⚠️ 常见问题
Q: 连接失败?
A: 检查后端服务是否运行:curl http://localhost:8000/health
Q: 收不到响应?
A: 检查消息格式和必需字段,查看后端日志
Q: 音频处理失败?
A: 检查音频格式和 Base64 编码,确保 ASR/TTS 服务配置正确
📝 完整文档
详细测试文档请参考:WebSocket测试文档.md