Files
life-echo/api/docs/WebSocket快速测试指南.md
徐在坤 ebfd705b93 feat: 添加Docker和部署配置
- 添加Dockerfile用于容器化部署
- 添加docker-compose.yml用于本地开发环境
- 添加build.sh构建脚本
- 添加README.md项目文档
- 添加API文档
2026-01-18 15:58:05 +08:00

104 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Life Echo WebSocket 快速测试指南
## 🚀 快速开始
### 1. 连接地址
```
ws://localhost:8000/ws/conversation/{conversation_id}
```
### 2. 生成对话ID
```bash
# Python
python -c "import uuid; print(uuid.uuid4())"
# 或使用在线工具https://www.uuidgenerator.net/
```
### 3. 在 Apifox 中操作
1. **新建 WebSocket 请求**
- 协议WebSocket
- URL`ws://localhost:8000/ws/conversation/你的对话ID`
2. **点击连接**
- 应该立即收到 `connect` 消息
3. **发送音频块**
```json
{
"type": "audio_chunk",
"conversation_id": "你的对话ID",
"data": {
"audio_base64": "UklGRiQAAABXQVZFZm10IBAAAAABAAEAQB8AAAB9AAACABAAZGF0YQAAAAA="
}
}
```
4. **接收响应**(按顺序)
- `transcript` - 语音转文字
- `agent_response` - Agent 回应
- `tts_audio` - TTS 音频
5. **结束对话**
```json
{
"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基础对话
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`