3.7 KiB
3.7 KiB
研发工单 v1.3.0 - 02 语音通话与语音控制功能
一、目标与范围
1.1 目标
实现语音通话数据传输与语音控制功能,支持通过语音指令操作 Todo 待办项,提升用户交互体验。
1.2 范围
包含:
- 语音通话数据传输能力
- 语音指令识别与解析
- 语音控制 Todo 待办项操作
- 与现有业务系统对接
不包含:
- 语音通话 UI 界面设计(仅提供能力层)
- 第三方语音服务集成(使用平台内置能力)
二、前置条件
| 条件 | 说明 |
|---|---|
| Hua.Todo v1.2.0 | 已完成,提供基础业务能力 |
| 平台语音服务 | 已就绪 |
| 工单 01(可选) | MCP 服务就绪后可通过 MCP 调用 |
三、需求规格
3.1 语音通话数据传输
功能描述:支持语音通话数据的实时传输
接口设计:
工具名:startVoiceCall
参数:
- target: string - 通话目标标识
返回:
- callId: string - 通话 ID
- status: string - 通话状态(connected/disconnected)
工具名:endVoiceCall
参数:
- callId: string - 通话 ID
返回:
- success: boolean - 是否成功结束
3.2 语音指令控制
功能描述:支持通过语音指令操作 Todo 待办项
支持的语音指令:
| 指令类型 | 示例指令 | 对应操作 |
|---|---|---|
| 创建任务 | "创建任务 开会" | 创建标题为"开会"的任务 |
| 创建任务(带优先级) | "创建高优先级任务 提交报告" | 创建高优先级任务 |
| 完成任务 | "完成任务 开会" | 标记任务"开会"为已完成 |
| 删除任务 | "删除任务 开会" | 删除任务"开会" |
| 更新任务 | "更新任务 开会 改为 团队会议" | 更新任务标题 |
| 查询任务 | "查询未完成任务" | 获取未完成任务列表 |
| 添加子任务 | "给任务开会添加子任务 准备PPT" | 为任务添加子任务 |
接口设计:
工具名:executeVoiceCommand
参数:
- command: string - 语音指令文本
返回:
- success: boolean - 是否执行成功
- message: string - 执行结果描述
- data: object - 返回数据(如任务列表)
3.3 语音状态管理
接口设计:
工具名:getVoiceStatus
参数:无
返回:
- isListening: boolean - 是否正在监听
- isSpeaking: boolean - 是否正在播报
工具名:speakText
参数:
- text: string - 要播报的文本
返回:
- success: boolean - 是否成功
四、验收标准
| 验收项 | 验证方法 | 预期结果 |
|---|---|---|
| 创建任务指令 | 说出"创建任务 测试" | 成功创建标题为"测试"的任务 |
| 创建带优先级任务 | 说出"创建高优先级任务 紧急" | 成功创建高优先级任务 |
| 完成任务指令 | 说出"完成任务 测试" | 任务状态变为已完成 |
| 删除任务指令 | 说出"删除任务 测试" | 任务被成功删除 |
| 查询任务指令 | 说出"查询未完成任务" | 返回未完成任务列表 |
| 语音播报 | 调用 speakText | 成功播放指定文本 |
| 语音通话 | 调用 startVoiceCall | 通话连接成功 |
五、Touch List
| 文件路径 | 修改类型 | 说明 |
|---|---|---|
src/Hua.Todo.Application/Voice/ |
新增 | 语音服务目录 |
src/Hua.Todo.Application/Voice/VoiceService.cs |
新增 | 语音服务实现 |
src/Hua.Todo.Application/Voice/VoiceCommandParser.cs |
新增 | 语音指令解析器 |
src/Hua.Todo.Application/Voice/Models/ |
新增 | 语音相关 DTO |
src/Hua.Todo.Application/Voice/VoiceServiceCollectionExtensions.cs |
新增 | 服务注册扩展 |
工单编号:02 标题:语音通话与语音控制功能 版本:v1.3.0