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:
@@ -3,7 +3,7 @@
|
||||
> 适用范围:本规则属于 **项目规则**(仅 Hua.Todo 项目生效)。
|
||||
>
|
||||
> 本文档规定 **业务实体**(Todo 待办项相关)与 **编码工作项**(研发工单)在代码、文档、提交信息中的命名边界。
|
||||
> 全局术语规则参见 [.trae/rules/全局/05-研发工单规则.md](../全局/05-研发工单规则.md)。
|
||||
> 全局术语规则参见 [.trae/rules/全局/04-研发工单全流程规范.md](../全局/04-研发工单全流程规范.md)。
|
||||
|
||||
## 一、术语对照(核心)
|
||||
|
||||
|
||||
@@ -11,8 +11,9 @@
|
||||
|
||||
## 一、当前活跃版本
|
||||
|
||||
- **进行中版本**:v1.2.0
|
||||
- **研发工单总览**:[docs/project/研发工单-v1.2.0/00-工单总览.md](../../../docs/project/研发工单-v1.2.0/00-工单总览.md)
|
||||
- **进行中版本**:v1.2.0(收尾中)、v1.3.0(规划中)
|
||||
- **v1.2.0 研发工单总览**:[docs/project/研发工单-v1.2.0/00-工单总览.md](../../../docs/project/研发工单-v1.2.0/00-工单总览.md)
|
||||
- **v1.3.0 研发工单总览**:[docs/project/研发工单-v1.3.0/00-工单总览.md](../../../docs/project/研发工单-v1.3.0/00-工单总览.md)
|
||||
- **PRD**:[docs/project/产品需求文档-1.2.0.md](../../../docs/project/产品需求文档-1.2.0.md)
|
||||
|
||||
## 二、v1.2.0 工单状态快照
|
||||
@@ -31,14 +32,27 @@
|
||||
| 08 - cloud_sync 重构 | 已设计 | 待实现 | "同源 Host"方案,Vite proxy 补 `/auth` `/tasks` `/sync` `/security` `/cloud-sync` |
|
||||
| 09 - CloudSync 同步策略改进 | 已实现 | 待验证 | TaskEntity 继承 ABP 基类;软删除修复(SaveChangesAsync);前端类型和 cloudSync.ts 已更新;新增 guid.ts |
|
||||
|
||||
## 三、关键临时决策
|
||||
## 三、v1.3.0 工单状态快照
|
||||
|
||||
| 子工单 | 实现状态 | 验证状态 | 简要说明 |
|
||||
|---|---|---|---|
|
||||
| 01 - HTTP 服务转换 MCP 服务 | 进行中 | 待验证 | 将现有 HTTP API 映射为 MCP 工具描述符 |
|
||||
| 02 - 语音控制与 AI 辅助 | 待开始 | 待验证 | STT/TTS + 语音指令解析 + AI 辅助任务拆分 |
|
||||
| 03 - 会议任务拆分 | 待开始 | 待验证 | 会议类型入口 + 录音/文字输入 + AI 拆分建议 + 确认批量创建 |
|
||||
| 03-01 - 会议数据模型与 API | 待开始 | 待验证 | TaskType 枚举、MeetingNotes/AudioDuration 字段、MeetingController |
|
||||
| 03-02 - 音频录制与转写 | 待开始 | 待验证 | 前端 MediaRecorder 录音 + 后端 STT 转写 |
|
||||
| 03-03 - AI 任务拆分服务 | 待开始 | 待验证 | 会议专用 LLM prompt + 批量创建子任务 |
|
||||
| 03-04 | 任务建议与确认 UI | 待开始 | 待验证 | 录音/纪要/审阅对话框 + Meeting 类型条件渲染 |
|
||||
| 04 | 富文本描述、附件与外部链接 | 待开始 | 待验证 | 多行描述 + 附件上传下载删除 + 外部链接 + 桌面端 Process.Start/xdg-open |
|
||||
|
||||
## 四、关键临时决策
|
||||
|
||||
- **MAUI 端不暴露云同步端点**:`MauiProgram.cs` 仅注册 `AddApplicationServices()`,不调 `AddCloudSyncServer()`。云同步端点只在 `Hua.Todo.Host` 暴露。
|
||||
- **本地用户 ID 固定为 `"local"`**:嵌入式模式下 `Tasks.UserId = TodoUserIds.LocalUserId`,与云端用户隔离逻辑共存而不冲突。
|
||||
- **SQLite WAL 模式**:嵌入式宿主启动时强制开启 WAL,降低锁冲突。
|
||||
- **数据库路径**:默认 `LocalApplicationData/Hua.Todo/Hua.Todo.db`(避免安装目录无写权限);Host 模式使用 `src/Hua.Todo.Host/Hua.Todo.db`(开发/测试)。
|
||||
|
||||
## 四、已知未完结事项 / 待办
|
||||
## 五、已知未完结事项 / 待办
|
||||
|
||||
- [ ] 06 客户端"内存模式"在 `allowPersist=false` 时的端到端落盘清理(含 token、同步队列)尚未充分验证
|
||||
- [ ] 06.1 设计中的 Admin 管理后台前端(位于 `Hua.Todo.Host/wwwroot/admin/`)当前仅有 `index.html` 占位,需 Vue 3 + Vite 实现
|
||||
@@ -46,7 +60,7 @@
|
||||
- [ ] Linux Flatpak/AppImage 自包含产物在干净环境的实测验证(v1.2.0 验收 Linux 部分仍为"待验证")
|
||||
- [x] CloudSync UNIQUE 约束修复(2026-06-14):修复了 `existingTasks` 查询在事务外导致并发重同步时 `T_Tasks.Id` UNIQUE 约束冲突;新增 7 个测试(含 5 个 SQLite 集成测试)
|
||||
|
||||
## 五、最近一次重大重构(如有)
|
||||
## 六、最近一次重大重构(如有)
|
||||
|
||||
- **术语统一与目录中文化**(2026-06):
|
||||
- `.trae/rules/` 全部中文文件名 + 拆分为 `全局/` 和 `项目/` 两个子目录
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
# 多入口功能同步规范(Hua.Todo 专属)
|
||||
|
||||
> 适用范围:本规则属于 **项目规则**(仅 Hua.Todo 项目生效)。
|
||||
|
||||
---
|
||||
|
||||
## 一、背景
|
||||
|
||||
Hua.Todo 存在两个功能入口:
|
||||
|
||||
| 入口 | 位置 | 方式 |
|
||||
|---|---|---|
|
||||
| **UI 入口** | WebView / 前端界面(Hua.Todo.Web) | 键盘/鼠标/触控交互 |
|
||||
| **语音控制入口** | 语音指令(平台原生 STT + LLM 意图解析) | 语音输入 → 指令执行 |
|
||||
|
||||
v1.3.0 之前,功能开发只关注 UI 入口。v1.3.0 工单 02 落地后语音控制入口正式就绪,此后**所有新增功能必须在需求阶段同步确认两个入口的覆盖情况**。
|
||||
|
||||
---
|
||||
|
||||
## 二、核心规则
|
||||
|
||||
### 2.1 功能入口检查(强制)
|
||||
|
||||
每次新增功能(含新工单、新特性),智能体必须在需求讨论或工单拆分阶段执行以下检查:
|
||||
|
||||
| 检查项 | 说明 |
|
||||
|---|---|
|
||||
| **UI 入口** | 当前功能是否已有 UI 入口规划?入口在哪个页面/组件?交互方式是什么? |
|
||||
| **语音控制入口** | 当前功能是否已有语音指令规划?对应哪个意图?参数是什么?LLM prompt 是否需要更新? |
|
||||
|
||||
### 2.2 缺失时为通知用户,不自行决策
|
||||
|
||||
- 任一入口缺失时,**智能体必须主动告知用户**,由用户决定:
|
||||
1. 本次就做(补上缺失入口)
|
||||
2. 本次不做(记录为已知缺口,后续版本补)
|
||||
3. 不需要(该入口不适合此功能,如选项过多需可视化交互的操作)
|
||||
- **智能体不得在用户未确认的情况下自行跳过或自行补充入口设计**
|
||||
|
||||
### 2.3 输出格式(检查表)
|
||||
|
||||
智能体在需求讨论阶段,必须输出以下检查表:
|
||||
|
||||
```markdown
|
||||
## 功能入口覆盖检查
|
||||
|
||||
| 入口 | 已规划 | 方案 |
|
||||
|---|---|---|
|
||||
| UI | ✅ / ❌ | [描述 UI 入口] |
|
||||
| 语音 | ✅ / ❌ | [描述语音指令与意图] |
|
||||
|
||||
> 不可覆盖的入口说明:[如"语音控制暂不支持 XX 操作(原因)"]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 三、适用场景
|
||||
|
||||
### 3.1 必须检查的场景
|
||||
|
||||
- 新增业务功能(如新增双因素认证、新增标签系统)
|
||||
- 新增 API 端点(如新增导出/导入)
|
||||
- 新增 UI 页面/组件(如新增设置页、新增弹窗)
|
||||
- 新工单拆分阶段
|
||||
|
||||
### 3.2 无需检查的场景
|
||||
|
||||
- 纯 bug 修复
|
||||
- 纯性能优化(不改变用户可感知功能)
|
||||
- 纯基础设施调整(如 CI/CD、打包脚本)
|
||||
- 依赖升级
|
||||
|
||||
---
|
||||
|
||||
## 四、检查清单
|
||||
|
||||
1. [ ] 本次新增功能是否已确认 UI 入口?
|
||||
2. [ ] 本次新增功能是否已确认语音控制入口?
|
||||
3. [ ] 缺失入口是否已通知用户并记录决策?
|
||||
4. [ ] LLM intent parser 的 prompt 是否需要同步更新(新增意图/新增参数)?
|
||||
|
||||
---
|
||||
|
||||
## 五、与工单 02 的关系
|
||||
|
||||
本规范的语音入口覆盖检查表来源于 [docs/project/研发工单-v1.3.0/02-语音通话与语音控制.md](../../../docs/project/研发工单-v1.3.0/02-语音通话与语音控制.md) 的第七章"与其他工单的语音入口衔接"。
|
||||
Reference in New Issue
Block a user