---
module: ai-service-admin
title: "AI 中台管理界面（ai-service-admin）任务清单"
status: "in-progress"
version: "0.7.0"
owners:
  - "frontend"
  - "backend"
last_updated: "2026-02-27"
principles:
  - atomic
  - page-oriented
---

# tasks.md（ASA）

> 原则：
> - **原子性**：每个任务应在 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)` composable（3s 轮询 `/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: 嵌入模型管理（配置页面/测试连接）

> 页面导向：嵌入模型配置页面，支持提供者切换、参数配置、连接测试。

- [x] (P5-01) API 服务层与类型定义：创建 src/api/embedding.ts 和 src/types/embedding.ts
  - AC: [AC-ASA-08, AC-ASA-09]

- [x] (P5-02) 提供者选择组件：实现 `EmbeddingProviderSelect` 下拉组件，对接 `/admin/embedding/providers`
  - AC: [AC-ASA-09]

- [x] (P5-03) 动态配置表单：根据 `config_schema` 动态渲染配置表单，实现表单校验
  - AC: [AC-ASA-09, AC-ASA-10]

- [x] (P5-04) 测试连接组件：实现 `EmbeddingTestPanel`，展示测试结果和错误信息
  - AC: [AC-ASA-11, AC-ASA-12]

- [x] (P5-05) 支持格式组件：实现 `SupportedFormats`，展示支持的文档格式列表
  - AC: [AC-ASA-13]

- [x] (P5-06) 页面骨架与路由：创建 `/admin/embedding` 页面，布局包含各功能区
  - AC: [AC-ASA-08]

- [x] (P5-07) 配置加载与保存：实现配置加载、保存逻辑
  - AC: [AC-ASA-08, AC-ASA-10]

- [x] (P5-08) 组件整合与测试：整合所有组件完成功能闭环
  - AC: [AC-ASA-08~AC-ASA-13]

---

## Phase 5 任务进度追踪

| 任务 | 描述 | 状态 |
|------|------|------|
| P5-01 | API 服务层与类型定义 | ✅ 已完成 |
| P5-02 | 提供者选择组件 | ✅ 已完成 |
| P5-03 | 动态配置表单 | ✅ 已完成 |
| P5-04 | 测试连接组件 | ✅ 已完成 |
| P5-05 | 支持格式组件 | ✅ 已完成 |
| P5-06 | 页面骨架与路由 | ✅ 已完成 |
| P5-07 | 配置加载与保存 | ✅ 已完成 |
| P5-08 | 组件整合与测试 | ✅ 已完成 |

---

## Phase 6: LLM 模型配置与 RAG 调试输出（v0.3.0）

> 页面导向：LLM 模型配置页面 + RAG 实验室 AI 输出增强。

### 6.1 LLM 模型配置

- [x] (P6-01) LLM API 服务层与类型定义：创建 src/api/llm.ts 和 src/types/llm.ts
  - AC: [AC-ASA-14, AC-ASA-15]

- [x] (P6-02) LLM 提供者选择组件：实现 `LLMProviderSelect` 下拉组件
  - AC: [AC-ASA-15]

- [x] (P6-03) LLM 动态配置表单：根据 `config_schema` 动态渲染配置表单
  - AC: [AC-ASA-15, AC-ASA-16]

- [x] (P6-04) LLM 测试连接组件：实现 `LLMTestPanel`，展示测试回复和耗时
  - AC: [AC-ASA-17, AC-ASA-18]

- [x] (P6-05) LLM 配置页面：创建 `/admin/llm` 页面，整合所有组件
  - AC: [AC-ASA-14, AC-ASA-16]

### 6.2 RAG 实验室 AI 输出增强

- [x] (P6-06) AI 回复展示组件：实现 `AIResponseViewer`，展示 AI 最终输出
  - AC: [AC-ASA-19]

- [x] (P6-07) 流式输出支持：实现 SSE 流式输出展示，支持实时显示 AI 回复
  - AC: [AC-ASA-20]

- [x] (P6-08) Token 统计展示：展示 Token 消耗、响应耗时等统计信息
  - AC: [AC-ASA-21]

- [x] (P6-09) LLM 选择器：在 RAG 实验室中添加 LLM 配置选择器
  - AC: [AC-ASA-22]

- [x] (P6-10) RAG 实验室整合：将 AI 输出组件整合到 RAG 实验室页面
  - AC: [AC-ASA-19~AC-ASA-22]

---

## Phase 6 任务进度追踪

| 任务 | 描述 | 状态 |
|------|------|------|
| P6-01 | LLM API 服务层与类型定义 | ✅ 已完成 |
| P6-02 | LLM 提供者选择组件 | ✅ 已完成 |
| P6-03 | LLM 动态配置表单 | ✅ 已完成 |
| P6-04 | LLM 测试连接组件 | ✅ 已完成 |
| P6-05 | LLM 配置页面 | ✅ 已完成 |
| P6-06 | AI 回复展示组件 | ✅ 已完成 |
| P6-07 | 流式输出支持 | ✅ 已完成 |
| P6-08 | Token 统计展示 | ✅ 已完成 |
| P6-09 | LLM 选择器 | ✅ 已完成 |
| P6-10 | RAG 实验室整合 | ✅ 已完成 |

---

## Phase 7: 租户管理（v0.4.0）

> 页面导向：租户选择器与租户管理功能。

- [x] (P7-01) 租户 API 服务层：创建 src/api/tenant.ts 和 src/types/tenant.ts
  - AC: [AC-ASA-01]

- [x] (P7-02) 租户选择器组件：实现 `TenantSelector` 下拉组件，支持租户切换
  - AC: [AC-ASA-01]

- [x] (P7-03) 租户持久化：租户选择持久化到 localStorage
  - AC: [AC-ASA-01]

---

## Phase 7 任务进度追踪

| 任务 | 描述 | 状态 |
|------|------|------|
| P7-01 | 租户 API 服务层 | ✅ 已完成 |
| P7-02 | 租户选择器组件 | ✅ 已完成 |
| P7-03 | 租户持久化 | ✅ 已完成 |

---

## Phase 8: Prompt 模板管理（v0.6.0）

> 页面导向：Prompt 模板列表页 + 模板编辑器 + 版本管理。

- [x] (P8-01) API 服务层与类型定义：创建 `src/api/prompt-template.ts` 和 `src/types/prompt-template.ts`
  - AC: [AC-ASA-23, AC-ASA-24, AC-ASA-25, AC-ASA-26, AC-ASA-27, AC-ASA-28]

- [x] (P8-02) Prompt 模板列表页：实现模板列表展示（名称、场景标签、发布版本号、更新时间），支持按场景筛选
  - AC: [AC-ASA-23]

- [x] (P8-03) 模板创建/编辑表单：实现模板表单（名称、场景选择、系统指令编辑区），系统指令编辑区支持 `{{variable}}` 语法高亮
  - AC: [AC-ASA-24, AC-ASA-25]

- [x] (P8-04) 内置变量参考面板：在编辑区侧边展示可用变量列表（persona_name/current_time/channel_type 等），支持点击插入
  - AC: [AC-ASA-24]

- [x] (P8-05) 模板详情与版本历史：实现详情页/抽屉，展示当前发布版本内容 + 版本历史时间线
  - AC: [AC-ASA-28]

- [x] (P8-06) 发布与回滚操作：实现发布确认对话框 + 版本历史中的回滚按钮
  - AC: [AC-ASA-26, AC-ASA-27]

---

## Phase 9: 多知识库管理（v0.6.0）

> 页面导向：知识库列表页（替代原有单一文档列表）+ 知识库内文档管理。

- [x] (P9-01) API 服务层与类型定义：创建 `src/api/knowledge-base.ts` 和 `src/types/knowledge-base.ts`
  - AC: [AC-ASA-29, AC-ASA-30, AC-ASA-32, AC-ASA-33]

- [x] (P9-02) 知识库列表页：实现知识库卡片/列表视图（名称、类型标签色块、文档数、优先级、启用状态开关）
  - AC: [AC-ASA-29]

- [x] (P9-03) 知识库创建/编辑表单：实现创建表单（名称、类型选择下拉、描述、优先级数字输入）
  - AC: [AC-ASA-30, AC-ASA-32]

- [x] (P9-04) 知识库删除确认：实现二次确认对话框，提示将删除所有关联文档和索引
  - AC: [AC-ASA-33]

- [x] (P9-05) 知识库内文档管理：点击知识库进入文档列表视图，复用现有文档列表组件，上传时自动关联 kbId
  - AC: [AC-ASA-31]

- [x] (P9-06) 改造现有知识库页面：将原有 `/kb` 页面从单一文档列表改为知识库列表 → 文档列表的两级结构
  - AC: [AC-ASA-29, AC-ASA-31]

---

## Phase 10: 意图规则管理（v0.6.0）

> 页面导向：意图规则列表页 + 规则创建/编辑表单。

- [x] (P10-01) API 服务层与类型定义：创建 `src/api/intent-rule.ts` 和 `src/types/intent-rule.ts`
  - AC: [AC-ASA-34, AC-ASA-35, AC-ASA-36]

- [x] (P10-02) 意图规则列表页：实现规则列表（意图名称、关键词摘要、响应类型标签、优先级、命中次数、启用开关），支持按响应类型筛选
  - AC: [AC-ASA-34]

- [x] (P10-03) 规则创建/编辑表单：实现动态表单，响应类型切换时动态展示对应配置区（fixed→文本编辑、rag→知识库多选、flow→流程选择、transfer→话术编辑）
  - AC: [AC-ASA-35]

- [x] (P10-04) 关键词标签输入组件：实现多关键词标签输入（支持回车添加、点击删除）
  - AC: [AC-ASA-35]

- [x] (P10-05) 正则表达式输入组件：实现多正则输入（支持添加/删除，带基础语法校验提示）
  - AC: [AC-ASA-35]

- [x] (P10-06) 规则删除确认与启用/禁用切换
  - AC: [AC-ASA-36]

---

## Phase 11: 话术流程管理（v0.6.0）

> 页面导向：话术流程列表页 + 流程步骤编辑器。

- [x] (P11-01) API 服务层与类型定义：创建 `src/api/script-flow.ts` 和 `src/types/script-flow.ts`
  - AC: [AC-ASA-37, AC-ASA-38, AC-ASA-39]

- [x] (P11-02) 话术流程列表页：实现流程列表（名称、步骤数、启用状态、关联规则数）
  - AC: [AC-ASA-37]

- [x] (P11-03) 流程步骤编辑器：实现步骤列表编辑（添加/删除/拖拽排序），每个步骤卡片包含话术内容、等待输入开关、超时配置、下一步条件
  - AC: [AC-ASA-38]

- [x] (P11-04) 步骤条件配置组件：实现下一步条件编辑（关键词匹配 + 跳转目标步骤选择）
  - AC: [AC-ASA-38]

- [x] (P11-05) 流程预览视图：以步骤时间线/流程图形式展示完整流程，直观呈现步骤间跳转关系
  - AC: [AC-ASA-39]

---

## Phase 12: 输出护栏管理（v0.6.0）

> 页面导向：护栏管理页面（禁词标签页 + 行为规则标签页）。

- [x] (P12-01) API 服务层与类型定义：创建 `src/api/guardrail.ts` 和 `src/types/guardrail.ts`
  - AC: [AC-ASA-40, AC-ASA-41, AC-ASA-42, AC-ASA-43, AC-ASA-44]

- [x] (P12-02) 护栏管理页面骨架：创建 `/admin/guardrails` 页面，实现「禁词管理」和「行为规则」双标签页布局
  - AC: [AC-ASA-40]

- [x] (P12-03) 禁词列表与筛选：实现禁词表格（词语、类别标签、策略标签、命中次数、启用开关），支持按类别筛选
  - AC: [AC-ASA-41]

- [x] (P12-04) 禁词添加/编辑表单：实现动态表单，策略切换时展示对应配置（replace→替换文本、block→兜底话术）
  - AC: [AC-ASA-42]

- [x] (P12-05) 禁词批量导入：实现 CSV/文本批量导入功能（每行一个词，可选默认类别和策略）
  - AC: [AC-ASA-41]

- [x] (P12-06) 行为规则列表与管理：实现行为规则表格（规则描述、类别、启用开关），支持添加/编辑/删除
  - AC: [AC-ASA-43, AC-ASA-44]

- [x] (P12-07) 路由注册与导航菜单：将新增的 5 个页面（Prompt 模板、知识库、意图规则、话术流程、输出护栏）注册到路由和侧边导航菜单
  - AC: [AC-ASA-23~AC-ASA-44]


---

## Phase 13: 测试与监控系统（v0.7.0）

> 页面导向：为 v0.6.0 新增的四大功能提供完整的测试和监控能力。

### 13.1 Dashboard 统计增强

- [ ] (P13-01) API 服务层：创建 src/api/monitoring.ts 和 src/types/monitoring.ts
  - AC: [AC-ASA-45, AC-ASA-46, AC-ASA-47]

- [ ] (P13-02) Dashboard 统计卡片组件：实现四个新增统计卡片（意图规则命中率、Prompt 模板使用次数、话术流程激活次数、护栏拦截次数）
  - AC: [AC-ASA-45]

- [ ] (P13-03) 统计卡片跳转：实现点击卡片跳转到对应监控页面的路由逻辑
  - AC: [AC-ASA-46]

- [ ] (P13-04) 时间范围筛选：实现时间范围选择器（今日/本周/本月/自定义）并集成趋势图表
  - AC: [AC-ASA-47]

### 13.2 完整流程测试台（RAG 实验室扩展）

- [ ] (P13-05) 测试模式切换：在 RAG 实验室页面添加"完整流程测试"模式开关
  - AC: [AC-ASA-48]

- [ ] (P13-06) 流程时间线组件：实现 FlowExecutionTimeline 组件，展示 12 步执行流程
  - AC: [AC-ASA-49, AC-ASA-50]

- [ ] (P13-07) 步骤详情展开：实现步骤卡片点击展开详细数据（JSON 格式），支持复制和导出
  - AC: [AC-ASA-51]

- [ ] (P13-08) 对比测试功能：实现并行展示不同配置下的执行结果差异
  - AC: [AC-ASA-52]

### 13.3 意图规则测试与监控

- [ ] (P13-09) 规则测试对话框：在意图规则管理页面实现测试对话框，展示匹配结果和冲突检测
  - AC: [AC-ASA-53]

- [ ] (P13-10) 意图规则监控页面：创建 /admin/monitoring/intent-rules 页面，展示规则命中统计表格
  - AC: [AC-ASA-54]

- [ ] (P13-11) 规则命中记录详情：实现命中记录列表弹窗，展示详细命中记录
  - AC: [AC-ASA-55]

### 13.4 Prompt 模板测试与监控

- [ ] (P13-12) 模板预览对话框：在 Prompt 模板管理页面实现预览对话框，支持变量测试和实时渲染
  - AC: [AC-ASA-56, AC-ASA-57]

- [ ] (P13-13) Prompt 模板监控页面：创建 /admin/monitoring/prompt-templates 页面，展示模板使用统计
  - AC: [AC-ASA-58]

### 13.5 话术流程测试与监控

- [ ] (P13-14) 流程模拟对话框：在话术流程管理页面实现模拟执行对话框，支持步骤推进
  - AC: [AC-ASA-59]

- [ ] (P13-15) 话术流程监控页面：创建 /admin/monitoring/script-flows 页面，展示流程激活统计
  - AC: [AC-ASA-60]

- [ ] (P13-16) 流程执行记录详情：实现执行记录列表弹窗，展示详细执行记录
  - AC: [AC-ASA-61]

### 13.6 输出护栏测试与监控

- [ ] (P13-17) 护栏测试对话框：在输出护栏管理页面实现测试对话框，展示禁词检测结果
  - AC: [AC-ASA-62]

- [ ] (P13-18) 输出护栏监控页面：创建 /admin/monitoring/guardrails 页面，展示护栏拦截统计
  - AC: [AC-ASA-63]

- [ ] (P13-19) 护栏拦截记录详情：实现拦截记录列表弹窗，展示详细拦截记录
  - AC: [AC-ASA-64]

### 13.7 对话追踪页面

- [ ] (P13-20) 对话追踪列表页：创建 /admin/monitoring/conversations 页面，展示对话记录列表
  - AC: [AC-ASA-65]

- [ ] (P13-21) 对话执行链路详情：实现对话详情弹窗，展示完整 12 步执行链路
  - AC: [AC-ASA-66]

- [ ] (P13-22) 对话回放功能：实现动画回放对话执行流程
  - AC: [AC-ASA-67]

- [ ] (P13-23) 对话记录导出：实现导出功能，支持 JSON/CSV 格式
  - AC: [AC-ASA-68]

### 13.8 路由与导航整合

- [ ] (P13-24) 监控页面路由注册：将新增的 6 个监控页面注册到路由系统
  - AC: [AC-ASA-45~AC-ASA-68]

- [ ] (P13-25) 导航菜单更新：在侧边导航菜单中添加"监控中心"分组，包含所有监控页面入口
  - AC: [AC-ASA-45~AC-ASA-68]

---

## Phase 13 任务进度追踪

| 任务 | 描述 | 状态 |
|------|------|------|
| P13-01 | API 服务层 | ⏳ 待处理 |
| P13-02 | Dashboard 统计卡片 | ⏳ 待处理 |
| P13-03 | 统计卡片跳转 | ⏳ 待处理 |
| P13-04 | 时间范围筛选 | ⏳ 待处理 |
| P13-05 | 测试模式切换 | ⏳ 待处理 |
| P13-06 | 流程时间线组件 | ⏳ 待处理 |
| P13-07 | 步骤详情展开 | ⏳ 待处理 |
| P13-08 | 对比测试功能 | ⏳ 待处理 |
| P13-09 | 规则测试对话框 | ⏳ 待处理 |
| P13-10 | 意图规则监控页面 | ⏳ 待处理 |
| P13-11 | 规则命中记录详情 | ⏳ 待处理 |
| P13-12 | 模板预览对话框 | ⏳ 待处理 |
| P13-13 | Prompt 模板监控页面 | ⏳ 待处理 |
| P13-14 | 流程模拟对话框 | ⏳ 待处理 |
| P13-15 | 话术流程监控页面 | ⏳ 待处理 |
| P13-16 | 流程执行记录详情 | ⏳ 待处理 |
| P13-17 | 护栏测试对话框 | ⏳ 待处理 |
| P13-18 | 输出护栏监控页面 | ⏳ 待处理 |
| P13-19 | 护栏拦截记录详情 | ⏳ 待处理 |
| P13-20 | 对话追踪列表页 | ⏳ 待处理 |
| P13-21 | 对话执行链路详情 | ⏳ 待处理 |
| P13-22 | 对话回放功能 | ⏳ 待处理 |
| P13-23 | 对话记录导出 | ⏳ 待处理 |
| P13-24 | 监控页面路由注册 | ⏳ 待处理 |
| P13-25 | 导航菜单更新 | ⏳ 待处理 |
