ai-robot-core/spec/ai-service-admin/tasks.md

164 lines
7.2 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.

---
module: ai-service-admin
title: "AI 中台管理界面ai-service-admin任务清单"
status: "draft"
version: "0.2.0"
owners:
- "frontend"
- "backend"
last_updated: "2026-02-24"
principles:
- atomic
- page-oriented
---
# tasks.mdASA
> 原则:
> - **原子性**:每个任务应在 0.5 ~ 1.5 天内完成,且可独立提交与回滚。
> - **页面导向**:以页面/路由为骨架拆分,组件/能力封装作为页面任务的前置或并行支撑。
> - **可追溯**每个任务必须标注关联的验收标准AC-ASA-*)。
---
## Phase 1: 基础建设Foundation
- [ ] (P1-01) 初始化 `ai-service-admin` 前端工程Vue 3 + Element Plus + RuoYi-Vue 基座对齐),落地基础目录结构与路由骨架。
- AC: [AC-ASA-01]
- [ ] (P1-02) 接入 Pinia实现 `tenant` store`currentTenantId`并持久化localStorage提供切换租户能力最小 UI/逻辑)。
- AC: [AC-ASA-01]
- [ ] (P1-03) Axios/SDK 请求层封装:创建统一 `request` 实例,自动注入必填 Header `X-Tenant-Id`(从 Pinia 读取)。
- AC: [AC-ASA-01]
- [ ] (P1-04) 全局异常拦截:实现 401/403 响应拦截策略401 跳转登录/清理凭证403 统一提示 + 页面级占位)。
- AC: [AC-ASA-01]
- [ ] (P1-05) 基础组件封装:`BaseTable`(分页/筛选/加载态/空态)、`BaseForm`(校验/提交态/错误提示)并给出示例页。
- AC: [AC-ASA-01]
---
## Phase 2: 知识库管理(列表页/上传/任务轮询)
> 页面导向:知识库文档列表页 + 上传入口 + 索引任务状态观测。
- [ ] (P2-01) 知识库文档列表页实现列表展示与多条件筛选kbId、状态、时间、来源对接 `/admin/kb/documents`(若后端未提供 GET则先 Mock
- AC: [AC-ASA-01]
- [ ] (P2-02) 上传组件:封装 `KbDocumentUpload`(基于 `el-upload`),支持多文件上传、上传中队列展示、失败重试提示。
- AC: [AC-ASA-01]
- [ ] (P2-03) 上传后任务回显:上传成功后从响应中提取 `jobId`,在列表或详情抽屉中展示任务卡片(状态/进度)。
- AC: [AC-ASA-01]
- [ ] (P2-04) 任务状态轮询:实现 `useJobPolling(jobId)` composable3s 轮询 `/admin/kb/index/jobs/{jobId}`;完成/失败自动停止;切页/关闭抽屉自动取消)。
- AC: [AC-ASA-01, AC-ASA-02]
- [ ] (P2-05) 失败任务错误详情:实现错误展示弹窗/抽屉(展示 `errorMsg` + requestId并在列表行高亮失败状态。
- AC: [AC-ASA-02]
---
## Phase 3: RAG 实验室(双栏对比/调试联调)
> 页面导向RAG 实验室主页面,突出“双栏对比视图”。
- [ ] (P3-01) RAG 实验室页面骨架左侧参数面板query、kbIds、检索参数、prompt 版本选择),右侧双栏结果区占位。
- AC: [AC-ASA-05]
- [ ] (P3-02) RAG 专用组件:实现 `RagRetrievalList`召回片段列表score/来源/片段)、`FinalPromptViewer`(最终 Prompt 只读展示,支持复制)。
- AC: [AC-ASA-05]
- [ ] (P3-03) 调试 API 联调:对接 `/admin/rag/experiments/run`,将返回的 `retrievalResults``finalPrompt` 绑定到双栏视图;处理 Loading/错误态。
- AC: [AC-ASA-05]
- [ ] (P3-04) 双配置对比模式MVP支持保留“上一次运行结果”作为对照或同时运行两组参数视后端能力并在 UI 中标注差异。
- AC: [AC-ASA-06]
---
## Phase 4: 会话监控与详情(列表筛选/全链路详情)
> 页面导向:会话列表页 + 全链路详情弹窗。
- [ ] (P4-01) 会话监控列表页实现多字段过滤tenantId、sessionId、时间范围、状态/是否错误等)与分页,对接 `/admin/sessions`(若后端未提供,则先 Mock
- AC: [AC-ASA-07]
- [ ] (P4-02) 会话详情弹窗:点击列表行打开弹窗,对接 `/admin/sessions/{sessionId}`展示消息流Timeline/气泡流)与基础元信息。
- AC: [AC-ASA-07]
- [ ] (P4-03) Trace 展开视图:在详情中实现“检索命中/工具调用/错误信息”折叠面板,支持按消息节点展开查看。
- AC: [AC-ASA-07]
---
## 待澄清Open Questions
- [x] (Q-01) ✅ 已确认:后端将补齐 `GET /admin/kb/documents` 列表接口。
- 影响 AC: [AC-ASA-01]
- [x] (Q-02) ✅ 已确认:后端将补齐 `GET /admin/sessions` 列表接口。
- 影响 AC: [AC-ASA-07]
- [x] (Q-03) ✅ 已确认:对比模式采用“前端串行调用两次 `/admin/rag/experiments/run` 接口”的方式实现。
- 影响 AC: [AC-ASA-06]
## Mock 支撑(在 Python 后端未完成前)
结论:**需要 Mock 支撑**,以便前端在后端未完成时并行开发页面与交互。
建议优先 Mock 覆盖(最小闭环):
- `/admin/kb/documents`GET 列表,分页 + 筛选)
- `/admin/kb/documents`POST 上传,返回 `jobId`
- `/admin/kb/index/jobs/{jobId}`GET 任务状态流转pending -> processing -> completed/failed
- `/admin/rag/experiments/run`POST 实验结果retrievalResults + finalPrompt
- `/admin/sessions`GET 列表,分页 + 筛选)
- `/admin/sessions/{sessionId}`GET 详情messages + trace
---
## Phase 5: 嵌入模型管理(配置页面/测试连接)
> 页面导向:嵌入模型配置页面,支持提供者切换、参数配置、连接测试。
- [ ] (P5-01) 嵌入模型配置页面骨架:创建 `/admin/embedding` 路由,布局包含提供者选择区、配置表单区、测试连接区、支持格式展示区。
- AC: [AC-ASA-08]
- [x] (P5-02) 提供者选择组件:实现 `EmbeddingProviderSelect` 下拉组件,对接 `/admin/embedding/providers`展示提供者列表name、display_name、description
- AC: [AC-ASA-09]
- [x] (P5-03) 动态配置表单:根据选中提供者的 `config_schema` 动态渲染配置表单(支持 string、integer、number 类型),实现表单校验。
- AC: [AC-ASA-09, AC-ASA-10]
- [ ] (P5-04) 当前配置加载:页面初始化时调用 `/admin/embedding/config` 获取当前配置,填充表单默认值。
- AC: [AC-ASA-08]
- [ ] (P5-05) 配置保存功能:实现保存按钮,调用 `PUT /admin/embedding/config`,处理成功/失败响应并提示用户。
- AC: [AC-ASA-10]
- [x] (P5-06) 测试连接功能:实现测试按钮,调用 `POST /admin/embedding/test`展示测试结果success、dimension、latency_ms、message
- AC: [AC-ASA-11]
- [x] (P5-07) 测试失败错误展示测试失败时展示详细错误信息error 字段),并提供排查建议。
- AC: [AC-ASA-12]
- [ ] (P5-08) 支持格式展示:调用 `/admin/embedding/formats` 获取支持的文档格式列表,以标签或卡片形式展示。
- AC: [AC-ASA-13]
---
## Phase 5 任务进度追踪
| 任务 | 描述 | 状态 |
|------|------|------|
| P5-01 | 嵌入模型配置页面骨架 | ⏳ 待处理 |
| P5-02 | 提供者选择组件 | ✅ 已完成 |
| P5-03 | 动态配置表单 | ✅ 已完成 |
| P5-04 | 当前配置加载 | ⏳ 待处理 |
| P5-05 | 配置保存功能 | ⏳ 待处理 |
| P5-06 | 测试连接功能 | ✅ 已完成 |
| P5-07 | 测试失败错误展示 | ✅ 已完成 |
| P5-08 | 支持格式展示 | ⏳ 待处理 |