feat(mcp): 新增 MCP 服务基础设施,重构规则文件序号,新增 v1.3.0 工单文档
- 规则重组:全局/ 下 8 个规则合并为 6 个(01+02→01,05+06→04),序号顺延 - 新增项目规则 05-多入口功能同步规范(UI/语音入口覆盖检查) - 新增 MCP 服务基础设施:Mcp/ 目录(DI 注册、端点扩展、动态工具描述符)、单元测试 - v1.3.0 工单文档:03 系列(会议任务拆分)、04(富文本描述与附件管理) - MCP 接口与前端集成指南:docs/manual/08、09
This commit is contained in:
@@ -6,12 +6,13 @@
|
||||
|
||||
## 一、背景与目标
|
||||
|
||||
Hua.Todo v1.3.0 版本聚焦于两个核心能力的升级:
|
||||
Hua.Todo v1.3.0 版本聚焦于三个核心能力的升级:
|
||||
|
||||
| 序号 | 能力 | 描述 |
|
||||
|---|---|---|
|
||||
| 1 | **MCP 服务映射** | 将现有 HTTP 服务转换为 MCP(Model Context Protocol)服务,提升服务调用效率与可扩展性 |
|
||||
| 2 | **语音交互** | 实现语音通话数据传输与语音控制功能,支持通过语音指令操作 Todo 待办项 |
|
||||
| 2 | **语音控制与 AI 辅助** | 通过语音指令操作 Todo 待办项(CRUD + 子任务),通过 LLM 提供 AI 辅助任务拆分建议 |
|
||||
| 3 | **会议任务拆分** | 以"会议"为入口记录会议内容(录音/文字),通过 AI 分析自动生成待办项拆分建议,用户确认后批量创建 |
|
||||
|
||||
---
|
||||
|
||||
@@ -20,11 +21,22 @@ Hua.Todo v1.3.0 版本聚焦于两个核心能力的升级:
|
||||
### 2.1 并行工单(可同步执行)
|
||||
|
||||
| 工单编号 | 标题 | 负责人 | 状态 |
|
||||
|---|---|---|---|
|
||||
| 01 | HTTP 服务转换为 MCP 服务 | - | 待开始 |
|
||||
| 02 | 语音通话与语音控制功能 | - | 待开始 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| 01 | HTTP 服务转换为 MCP 服务 | - | 进行中 |
|
||||
| 02 | 语音控制与 AI 辅助 | - | 待开始 |
|
||||
| 03 | 会议任务拆分 | - | 待开始 |
|
||||
| 04 | 富文本描述、附件与外部链接 | - | 待开始 |
|
||||
|
||||
### 2.2 串行工单(依赖前置工单完成)
|
||||
### 2.2 03 子工单拆分
|
||||
|
||||
| 子工单 | 标题 | 依赖 | 状态 |
|
||||
|---|---|---|---|
|
||||
| 03-01 | 会议数据模型与 API | 无 | 待开始 |
|
||||
| 03-02 | 音频录制与转写 | 03-01 | 待开始 |
|
||||
| 03-03 | AI 任务拆分服务 | 03-01、工单 02 LlmClientService | 待开始 |
|
||||
| 03-04 | 任务建议与确认 UI | 03-01、03-03 | 待开始 |
|
||||
|
||||
### 2.3 串行工单(依赖前置工单完成)
|
||||
|
||||
当前版本暂无串行工单依赖。
|
||||
|
||||
@@ -45,19 +57,71 @@ Hua.Todo v1.3.0 版本聚焦于两个核心能力的升级:
|
||||
- MCP 服务可正常对外提供接口
|
||||
- 所有原有 HTTP API 功能在 MCP 服务中可正常使用
|
||||
|
||||
### 3.2 工单 02 - 语音通话与语音控制功能
|
||||
### 3.2 工单 02 - 语音控制与 AI 辅助
|
||||
|
||||
**目标**:实现语音通话数据传输与语音控制功能
|
||||
**目标**:实现语音控制 Todo 待办项能力与 AI 辅助任务拆分功能
|
||||
|
||||
**核心需求**:
|
||||
- 语音通话数据传输能力
|
||||
- 语音指令识别与解析
|
||||
- 语音控制 Todo 待办项操作(创建、编辑、删除、完成等)
|
||||
- 与现有业务系统对接
|
||||
- 语音输入(STT):平台原生语音识别 → 文字
|
||||
- 语音播报(TTS):执行结果语音反馈
|
||||
- 语音指令解析与执行(CRUD + 子任务 + 歧义处理)
|
||||
- AI 辅助任务拆分(LLM 生成子任务建议,用户确认后批量创建)
|
||||
|
||||
**不包含**:
|
||||
- 语音通话功能(场景不明确,本期不做)
|
||||
|
||||
**验收标准**:
|
||||
- 语音通话功能可正常使用
|
||||
- 语音控制可准确执行 Todo 业务操作
|
||||
- 各平台 STT/TTS 可正常工作
|
||||
- 语音指令可准确执行 Todo 业务操作
|
||||
- 歧义场景返回候选列表而非直接执行
|
||||
- AI 拆分建议需用户确认后才创建子任务
|
||||
|
||||
### 3.3 工单 03 - 会议任务拆分
|
||||
|
||||
**目标**:以"会议"为入口,通过录音/文字记录会议内容,AI 自动提取行动项生成待办项建议
|
||||
|
||||
**核心需求**:
|
||||
- 新增"会议"类型标记(TaskType.Meeting)
|
||||
- 录音:前端 MediaRecorder → 后端 STT 转写
|
||||
- 文字:直接输入/粘贴会议纪要
|
||||
- AI 会议拆分(LLM 分析会议内容 → 待办项建议列表)
|
||||
- 建议审阅与确认 UI(勾选、编辑、批量创建子任务)
|
||||
|
||||
**不包含**:
|
||||
- 实时语音转写(本期不做)
|
||||
- 音频持久存储(转写完成后删除音频)
|
||||
|
||||
**验收标准**:
|
||||
- 可通过"会议"类型创建待办项,显示会议图标
|
||||
- 录音可正常录制并提交转写
|
||||
- 文字纪要可保存/编辑
|
||||
- AI 拆分返回 3-10 条结构化建议,含优先级和原因
|
||||
- 用户可审阅、勾选、编辑建议后批量创建为子任务
|
||||
- 离线模式拒绝 AI 拆分(提示降级)
|
||||
|
||||
### 3.4 工单 04 - 富文本描述、附件与外部链接
|
||||
|
||||
**目标**:为 Todo 待办项新增多行描述、文件附件管理与外部程序/链接启动能力(仅桌面端)
|
||||
|
||||
**核心需求**:
|
||||
- `TaskEntity` 新增 `Description` 多行描述字段
|
||||
- 新增 `AttachmentEntity` 数据模型,支持本地文件上传、下载、删除
|
||||
- 支持外部链接(URL)作为附件,点击在默认浏览器打开
|
||||
- 桌面端通过系统关联程序打开本地附件(`Process.Start` / `xdg-open`)
|
||||
- 前端编辑对话框扩展描述 textarea + 附件管理区域
|
||||
|
||||
**不包含**:
|
||||
- 移动端附件管理(本期仅 Windows/Linux 桌面端)
|
||||
- 附件云同步(后续版本规划)
|
||||
- 附件预览(如图片缩略图,本期不做)
|
||||
- 富文本编辑器(本期仅纯文本)
|
||||
|
||||
**验收标准**:
|
||||
- 描述字段可正常编辑和保存
|
||||
- 附件可上传、下载、删除,文件完整性校验
|
||||
- 外部链接可添加并在浏览器中打开
|
||||
- 本地附件可通过系统关联程序打开
|
||||
- 附件数量(20个)和大小(50MB)限制生效
|
||||
|
||||
---
|
||||
|
||||
@@ -68,9 +132,22 @@ Hua.Todo v1.3.0 版本聚焦于两个核心能力的升级:
|
||||
| 01 | MCP 服务契约文档生成 | 待验证 | - |
|
||||
| 01 | MCP 服务可用性测试 | 待验证 | - |
|
||||
| 01 | 原有 API 功能兼容性 | 待验证 | - |
|
||||
| 02 | 语音通话连接测试 | 待验证 | - |
|
||||
| 02 | STT/TTS 平台适配 | 待验证 | Windows 优先,其他平台后续 |
|
||||
| 02 | 语音指令识别准确率 | 待验证 | - |
|
||||
| 02 | Todo 业务操作覆盖度 | 待验证 | - |
|
||||
| 02 | 歧义处理正确性 | 待验证 | - |
|
||||
| 02 | AI 拆分建议质量 | 待验证 | - |
|
||||
| 02 | Todo 业务操作覆盖度 | 待验证 | CRUD + 子任务 + 取消完成 |
|
||||
| 03 | 会议数据模型迁移 | 待验证 | TaskType 字段 + DB 迁移 |
|
||||
| 03 | 录音与转写链路 | 待验证 | 录制 → 上传 → 转写 → 保存 |
|
||||
| 03 | AI 会议拆分质量 | 待验证 | 建议含标题+优先级+原因 |
|
||||
| 03 | 建议审阅与批量创建 | 待验证 | 勾选/编辑/确认后创建子任务 |
|
||||
| 04 | 描述字段编辑与保存 | 待验证 | - |
|
||||
| 04 | 附件上传/下载/删除 | 待验证 | - |
|
||||
| 04 | 外部链接添加与打开 | 待验证 | - |
|
||||
| 04 | 本地文件通过系统程序打开 | 待验证 | Process.Start / xdg-open |
|
||||
| 04 | 附件数量/大小限制 | 待验证 | 20 个 / 50MB |
|
||||
| 04 | 待办项删除时附件级联清理 | 待验证 | - |
|
||||
| 04 | 跨平台编辑安全(移动端不覆盖描述/附件) | 待验证 | 桌面设值 → 移动端改标题 → 桌面验证不丢失 |
|
||||
|
||||
---
|
||||
|
||||
@@ -79,8 +156,21 @@ Hua.Todo v1.3.0 版本聚焦于两个核心能力的升级:
|
||||
| 决策点 | 结论 |
|
||||
|---|---|
|
||||
| MCP 框架选择 | 使用 TRAE 平台内置的 MCP 服务框架 |
|
||||
| 语音识别方案 | 集成平台语音识别能力 |
|
||||
| 服务注册方式 | 遵循平台标准注册流程 |
|
||||
| STT/TTS 分层 | 接口在 Core,实现在各平台目录(同全局快捷键模式) |
|
||||
| 语音指令解析 | A+C 混合方案:在线走 LLM 意图解析(LlmIntentParser),离线降级到规则匹配(RuleIntentParser),双策略通过 HybridVoiceIntentParser 自动切换 |
|
||||
| 歧义处理策略 | 目标不唯一时返回候选列表;LLM confidence < 0.8 时触发确认;confidence < 0.5 按 UNKNOWN 处理 |
|
||||
| AI 拆分安全性 | LLM 调用在 Host 端,建议需用户确认后才创建 |
|
||||
| LLM 复用 | 意图解析与 AI 拆分共用同一 LLM 基础设施(LlmClientService) |
|
||||
| 语音通话 | 本期不做,场景不明确 |
|
||||
| 会议类型 | 新增 `TaskType` 枚举区分普通待办项与会议,会议有专属录音/纪要/拆分 UI |
|
||||
| 录音存储 | 转写完成后删除原始音频文件,节省空间 |
|
||||
| 音频转写 | 优先服务端 Whisper API;后续补各平台原生 STT |
|
||||
| LLM 拆分 prompt | 会议专用 prompt,侧重"提取行动项",输出优先级+原因 |
|
||||
| 工单 02 复用 | `LlmClientService` 直接复用;会议拆分 prompt 独立于语音意图解析 |
|
||||
| 多入口覆盖规则 | 后续每项新增功能必须在需求阶段确认 UI 入口 + 语音控制入口覆盖情况,详见 [05-多入口功能同步规范.md](../../../.trae/rules/项目/05-多入口功能同步规范.md) |
|
||||
| 附件存储策略 | 附件存储在应用数据目录 `Attachments/` 子目录;外部链接不复制文件仅存 URL;单文件 50MB / 每待办项 20 个上限 |
|
||||
| 外部程序启动 | 通过 `IPlatformAttachmentOpener` 接口实现平台差异:Windows 用 `Process.Start`,Linux 用 `xdg-open` |
|
||||
| 工单 04 与 03 共享文件 | `TaskEntity.cs`、`TodoDbContext.cs`、`task.ts`、`TaskEditDialog.vue` 为共享文件,工单 03 先写入,04 后续追加 |
|
||||
|
||||
---
|
||||
|
||||
@@ -89,8 +179,11 @@ Hua.Todo v1.3.0 版本聚焦于两个核心能力的升级:
|
||||
| 依赖项 | 状态 | 来源 |
|
||||
|---|---|---|
|
||||
| TRAE MCP SDK | 已就绪 | 平台内置 |
|
||||
| 语音识别服务 | 已就绪 | 平台内置 |
|
||||
| 各平台原生 STT/TTS API | 已就绪 | 平台内置 |
|
||||
| Hua.Todo v1.2.0 | 已完成 | 上一版本 |
|
||||
| LLM API(AI 拆分) | 待确认 | Host 端调用 |
|
||||
| 浏览器 MediaRecorder API | 已就绪 | 前端录音 |
|
||||
| 工单 02 LlmClientService | 待实现 | 会议拆分复用 |
|
||||
|
||||
---
|
||||
|
||||
@@ -99,9 +192,15 @@ Hua.Todo v1.3.0 版本聚焦于两个核心能力的升级:
|
||||
| 风险 | 影响 | 应对策略 |
|
||||
|---|---|---|
|
||||
| MCP 服务注册失败 | 无法对外提供服务 | 保留 HTTP API 作为降级方案 |
|
||||
| 语音识别准确率不足 | 用户体验下降 | 提供文字输入作为备选方案 |
|
||||
| 平台 STT 识别准确率不足 | 用户体验下降 | 提供文字输入作为备选方案 |
|
||||
| Linux STT 可用性差 | Linux 语音控制不可用 | Web Speech API 降级;或 `vosk` 离线模型 |
|
||||
| LLM API 不稳定 | AI 拆分功能不可用 | 功能降级,语音指令其他部分不受影响 |
|
||||
| 会议录音文件过大 | 上传超时/存储压力 | 前端限制最长 2 小时;压缩音频格式 |
|
||||
| 浏览器 MediaRecorder 兼容性 | 部分平台录音不可用 | 降级提示使用文字输入 |
|
||||
| STT 转写准确率不足 | 会议纪要质量差 | 转写后支持用户编辑修正 |
|
||||
|
||||
---
|
||||
|
||||
**创建日期**:2026-06-15
|
||||
**修订日期**:2026-06-16
|
||||
**版本**:v1.3.0
|
||||
|
||||
Reference in New Issue
Block a user