feat: AI 助手模型管理(CRUD、会话绑定、自动化验收)
- Flyway V6:模型表、默认种子、ai_chat_session.model_id 回填 - 管理端 /api/admin/ai/models;用户端选模与新会话绑定 - 禁用模型后会话只读(5009);chat 按会话 modelCode 调 DashScope - 前端 AiModels 页、助手模型选择器与 localStorage - 单测、AiModelManagementApiIT、Playwright E2E;e2e Profile 关闭注解限流 - 技术实施文档与验收报告;移除过期冲突分析文档 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+32
-28
@@ -4,6 +4,9 @@
|
||||
| :------- | :--------- | :----- | :------------------------------------------------- |
|
||||
| V1.0 | 2026-05-23 | — | 基于《AI助手模型管理功能需求》V1.1 初稿 |
|
||||
| V1.1 | 2026-05-23 | — | 补充与润色、标签推荐等功能的实施边界说明 |
|
||||
| V1.2 | 2026-05-24 | — | 同步 §6 待办进度;§5.3 联调清单标注自动化已覆盖项 |
|
||||
| V1.3 | 2026-05-24 | — | §6 待办 18~19 标为已完成(API IT + Playwright E2E) |
|
||||
| V1.4 | 2026-05-24 | — | §6 待办 20 完成;新增《AI助手模型管理功能验收报告》 |
|
||||
|
||||
**关联需求**:[AI助手模型管理功能需求.md](./AI助手模型管理功能需求.md)(V1.2)
|
||||
**依赖能力**:[AI助手功能技术实施文档.md](./AI助手功能技术实施文档.md)(AI 助手 V1.1 已落地)
|
||||
@@ -567,13 +570,13 @@ sequenceDiagram
|
||||
|
||||
### 5.3 联调检查清单
|
||||
|
||||
- [ ] Flyway V6 执行成功;旧 `ai_chat_session` 均有 `model_id`
|
||||
- [ ] 管理端 CRUD、默认模型互斥、禁止删唯一启用
|
||||
- [ ] 用户下拉仅启用模型;`localStorage` 恢复有效
|
||||
- [ ] 新会话绑定所选模型;同会话中途改下拉 **不** 换模
|
||||
- [ ] 禁用模型后旧会话只读、`POST /chat` 400
|
||||
- [ ] 助手页 **无** 图片/语音上传入口
|
||||
- [ ] 摘要/润色仍走 `dashscope.model`(回归一条即可)
|
||||
- [x] Flyway V6 执行成功;`ai_chat_session.model_id` 回填(线上库已 V6)
|
||||
- [x] 管理端 CRUD、默认互斥、禁止删唯一启用(单测 + API IT + E2E)
|
||||
- [x] 用户下拉仅启用模型;`localStorage` 恢复(代码 + E2E 选模)
|
||||
- [x] 新会话绑定所选模型;同会话不改绑(单测 + 设计)
|
||||
- [x] 禁用模型后旧会话只读、`POST /chat` 5009(IT + E2E-19)
|
||||
- [x] 助手页 **无** 图片/语音上传入口
|
||||
- [x] 摘要/润色仍走 `dashscope.model`
|
||||
|
||||
---
|
||||
|
||||
@@ -583,26 +586,26 @@ sequenceDiagram
|
||||
|
||||
| 序号 | 阶段 | 待办项 | 状态 |
|
||||
| :--- | :--- | :----- | :--- |
|
||||
| 1 | 数据库 | 新增 `V6__ai_assistant_model.sql`(建表、种子、session.model_id 回填) | ⬜ 未开始 |
|
||||
| 2 | 后端 | 实体 `AiAssistantModel`、`AiChatSession.modelId` | ⬜ 未开始 |
|
||||
| 3 | 后端 | `AiAssistantModelMapper` | ⬜ 未开始 |
|
||||
| 4 | 后端 | DTO/VO:`AiAssistantModelSaveDTO`、`AiAssistantModelVO`、`AiAssistantModelAppVO`、`AiChatSessionMessagesVO`、`CreateAiChatSessionDTO` | ⬜ 未开始 |
|
||||
| 5 | 后端 | `AiChatReadOnlyReason` 枚举 | ⬜ 未开始 |
|
||||
| 6 | 后端 | `ErrorCode` 新增 5007~5011 | ⬜ 未开始 |
|
||||
| 7 | 后端 | `AiAssistantModelService` + `Impl`(CRUD、默认、校验) | ⬜ 未开始 |
|
||||
| 8 | 后端 | `AdminAiModelController` | ⬜ 未开始 |
|
||||
| 9 | 后端 | `AiChatController` 增加 `GET /models`;sessions 支持 body | ⬜ 未开始 |
|
||||
| 10 | 后端 | `AiChatServiceImpl` 改造(绑定、禁用校验、modelCode、消息包装) | ⬜ 未开始 |
|
||||
| 11 | 后端 | 单元/集成测试 | ⬜ 未开始 |
|
||||
| 12 | 前端 | `api/aiModel.js` | ⬜ 未开始 |
|
||||
| 13 | 前端 | `views/admin/AiModels.vue` | ⬜ 未开始 |
|
||||
| 14 | 前端 | `AdminLayout` + `router` 注册 `/admin/ai-models` | ⬜ 未开始 |
|
||||
| 15 | 前端 | `api/aiChat.js` 适配新 sessions/messages 结构 | ⬜ 未开始 |
|
||||
| 16 | 前端 | `AiAssistant.vue` 模型列表、localStorage、readOnly 逻辑 | ⬜ 未开始 |
|
||||
| 17 | 前端 | `AiChatPanel.vue` 模型选择器 + 停用提示条 | ⬜ 未开始 |
|
||||
| 18 | 联调 | 管理端上架第二模型 → 用户新会话切换 → 对话成功 | ⬜ 未开始 |
|
||||
| 19 | 联调 | 禁用模型 → 旧会话只读 + chat 400 | ⬜ 未开始 |
|
||||
| 20 | 验收 | 按需求 V1.1 验收标准逐项确认 | ⬜ 未开始 |
|
||||
| 1 | 数据库 | 新增 `V6__ai_assistant_model.sql`(建表、种子、session.model_id 回填) | ✅ 已完成 |
|
||||
| 2 | 后端 | 实体 `AiAssistantModel`、`AiChatSession.modelId` | ✅ 已完成 |
|
||||
| 3 | 后端 | `AiAssistantModelMapper` | ✅ 已完成 |
|
||||
| 4 | 后端 | DTO/VO:`AiAssistantModelSaveDTO`、`AiAssistantModelVO`、`AiAssistantModelAppVO`、`AiChatSessionMessagesVO`、`CreateAiChatSessionDTO` | ✅ 已完成 |
|
||||
| 5 | 后端 | `AiChatReadOnlyReason` 枚举 | ✅ 已完成 |
|
||||
| 6 | 后端 | `ErrorCode` 新增 5007~5011 | ✅ 已完成 |
|
||||
| 7 | 后端 | `AiAssistantModelService` + `Impl`(CRUD、默认、校验) | ✅ 已完成 |
|
||||
| 8 | 后端 | `AdminAiModelController` | ✅ 已完成 |
|
||||
| 9 | 后端 | `AiChatController` 增加 `GET /models`;sessions 支持 body | ✅ 已完成 |
|
||||
| 10 | 后端 | `AiChatServiceImpl` 改造(绑定、禁用校验、modelCode、消息包装) | ✅ 已完成 |
|
||||
| 11 | 后端 | 单元/集成测试(`AiAssistantModelServiceImplTest`;`AiChatServiceImplTest` / `AiChatServiceIntegrationTest` 已适配并通过) | ✅ 已完成 |
|
||||
| 12 | 前端 | `api/aiModel.js` | ✅ 已完成 |
|
||||
| 13 | 前端 | `views/admin/AiModels.vue` | ✅ 已完成 |
|
||||
| 14 | 前端 | `AdminLayout` + `router` 注册 `/admin/ai-models` | ✅ 已完成 |
|
||||
| 15 | 前端 | `api/aiChat.js` 适配新 sessions/messages 结构 | ✅ 已完成 |
|
||||
| 16 | 前端 | `AiAssistant.vue` 模型列表、localStorage、readOnly 逻辑 | ✅ 已完成 |
|
||||
| 17 | 前端 | `AiChatPanel.vue` 模型选择器 + 停用提示条 | ✅ 已完成 |
|
||||
| 18 | 联调 | 管理端上架第二模型 → 用户新会话切换 → 对话成功 | ✅ 已完成(`AiModelManagementApiIT` + `e2e/tests/ai-model-management.spec.js` TC-E2E-18) |
|
||||
| 19 | 联调 | 禁用模型 → 旧会话只读 + chat 5009 | ✅ 已完成(`AiModelManagementApiIT` + `e2e/tests/ai-model-management.spec.js` TC-E2E-19) |
|
||||
| 20 | 验收 | 按需求 V1.1 验收标准逐项确认 | ✅ 已完成(见 [AI助手模型管理功能验收报告.md](./AI助手模型管理功能验收报告.md)) |
|
||||
|
||||
---
|
||||
|
||||
@@ -643,4 +646,5 @@ sequenceDiagram
|
||||
|
||||
**编写人:** AI 助手
|
||||
**评审人:** 待评审
|
||||
**生效日期:** 2026-05-23
|
||||
**生效日期:** 2026-05-23
|
||||
**进度摘要(V1.4):** 待办 1~20 已完成;核心 AC 自动化通过,FE-09 列为非阻塞缺口(见验收报告 §4)。
|
||||
|
||||
Reference in New Issue
Block a user