--- module: ai-service-admin feature: ASA status: in_progress created: 2026-02-24 last_updated: "2026-02-24" version: "0.3.0" --- # AI 中台管理界面(ai-service-admin)进度文档 ## context - **module**: ai-service-admin - **feature**: ASA - **status**: 🔄进行中 ## spec_references - requirements: "spec/ai-service-admin/requirements.md" - design: "spec/ai-service-admin/design.md" - tasks: "spec/ai-service-admin/tasks.md" - openapi_admin: "spec/ai-service/openapi.admin.yaml" ## overall_progress - [x] Phase 1: 基础建设 (100%) [P1-01 ~ P1-05] - [x] Phase 2: 知识库管理 (100%) [P2-01 ~ P2-05] - [x] Phase 3: RAG 实验室 (100%) [P3-01 ~ P3-04] - [x] Phase 4: 会话监控与详情 (100%) [P4-01 ~ P4-03] - [x] Phase 5: 后端管理接口实现 (100%) [Backend Admin APIs] - [ ] Phase 6: 嵌入模型管理 (0%) [P5-01 ~ P5-08] - [ ] Phase 7: LLM 配置与 RAG 调试输出 (0%) [P6-01 ~ P6-10] 🔄当前 ## current_phase **goal**: 实现 LLM 模型配置页面及 RAG 实验室 AI 输出调试功能 ### sub_tasks #### Phase 1-5 已完成 - [x] (P1-01) 初始化前端工程 - [x] (P1-02) 接入 Pinia tenant store - [x] (P1-03) Axios 请求层封装 - [x] (P1-04) 全局异常拦截 - [x] (P1-05) 基础组件封装 - [x] (P2-01~P2-05) 知识库管理功能 - [x] (P3-01~P3-04) RAG 实验室功能 - [x] (P4-01~P4-03) 会话监控功能 - [x] (P5-01~P5-06) 后端管理接口实现 #### Phase 6: 嵌入模型管理(待处理) - [x] (P5-01) API 服务层与类型定义 [AC-ASA-08, AC-ASA-09] - [ ] (P5-02) 提供者选择组件 [AC-ASA-09] - [ ] (P5-03) 动态配置表单 [AC-ASA-09, AC-ASA-10] - [ ] (P5-04) 测试连接组件 [AC-ASA-11, AC-ASA-12] - [ ] (P5-05) 支持格式组件 [AC-ASA-13] - [ ] (P5-06) 页面骨架与路由 [AC-ASA-08] - [ ] (P5-07) 配置加载与保存 [AC-ASA-08, AC-ASA-10] - [ ] (P5-08) 组件整合与测试 [AC-ASA-08~AC-ASA-13] #### Phase 7: LLM 配置与 RAG 调试输出(当前) - [x] (P6-01) LLM API 服务层与类型定义:创建 src/api/llm.ts 和 src/types/llm.ts [AC-ASA-14, AC-ASA-15] - [ ] (P6-02) LLM 提供者选择组件:创建 LLMProviderSelect.vue [AC-ASA-15] - [ ] (P6-03) LLM 动态配置表单:创建 LLMConfigForm.vue [AC-ASA-15, AC-ASA-16] - [ ] (P6-04) LLM 测试连接组件:创建 LLMTestPanel.vue [AC-ASA-17, AC-ASA-18] - [ ] (P6-05) LLM 配置页面:创建 /admin/llm 页面 [AC-ASA-14, AC-ASA-16] - [ ] (P6-06) AI 回复展示组件:创建 AIResponseViewer.vue [AC-ASA-19] - [ ] (P6-07) 流式输出支持:实现 SSE 流式输出展示 [AC-ASA-20] - [ ] (P6-08) Token 统计展示:展示 Token 消耗、响应耗时 [AC-ASA-21] - [ ] (P6-09) LLM 选择器:在 RAG 实验室中添加 LLM 配置选择器 [AC-ASA-22] - [ ] (P6-10) RAG 实验室整合:将 AI 输出组件整合到 RAG 实验室 [AC-ASA-19~AC-ASA-22] ### next_action **immediate**: 并行启动 3 个窗口执行 Phase 6 和 Phase 7 任务 **details**: - file: "ai-service-admin/src/" - action: "窗口1: 嵌入管理组件; 窗口2: LLM 配置组件; 窗口3: RAG 实验室增强" - reference: "spec/ai-service-admin/openapi.deps.yaml" - constraints: - 每个任务必须包含 AC 标记 - 完成后更新 spec/ai-service-admin/tasks.md - commit message 格式: `feat(ASA-P6/P7): [AC-ASA-XX]` ### backend_implementation_summary **已实现的后端接口**: | 接口 | 方法 | 文件 | 验收标准 | |------|------|------|----------| | /admin/kb/documents | GET | api/admin/kb.py | [AC-ASA-08] | | /admin/kb/documents | POST | api/admin/kb.py | [AC-ASA-01] | | /admin/kb/index/jobs/{jobId} | GET | api/admin/kb.py | [AC-ASA-02] | | /admin/rag/experiments/run | POST | api/admin/rag.py | [AC-ASA-05] | | /admin/sessions | GET | api/admin/sessions.py | [AC-ASA-09] | | /admin/sessions/{sessionId} | GET | api/admin/sessions.py | [AC-ASA-07] | **代码提交规范**: - 所有文件头部标注相关 AC 编号 - 使用 `get_tenant_id()` 统一处理 X-Tenant-Id - 返回格式与契约 Schema 对齐(DocumentInfo, SessionInfo, PageInfo) ## technical_context ### module_structure ``` ai-service-admin/ # 前端工程(待创建) ├── src/ │ ├── api/ # API 请求层 │ ├── components/ # 通用组件 │ ├── composables/ # Vue Composables │ ├── router/ # 路由配置 │ ├── stores/ # Pinia stores │ ├── views/ # 页面视图 │ └── utils/ # 工具函数 └── package.json ``` ### key_decisions | decision | reason | impact | |----------|--------|--------| | Vue 3 + Element Plus | 与 RuoYi-Vue-Plus 基座技术栈一致 | 复用基座组件与权限体系 | | Pinia 状态管理 | Vue 3 官方推荐,替代 Vuex | 更简洁的 store 模式 | | localStorage 持久化 | 租户切换需跨会话保持 | 无需后端 session 支持 | ### code_snippets ```typescript // stores/tenant.ts (待实现) export const useTenantStore = defineStore('tenant', { state: () => ({ currentTenantId: localStorage.getItem('currentTenantId') || '' }), actions: { setTenant(id: string) { this.currentTenantId = id localStorage.setItem('currentTenantId', id) } } }) ``` ## session_history - session: "Session #1 (2026-02-24)" completed: [] changes: [] - session: "Session #2 (2026-02-24) - Backend Admin APIs Implementation" completed: - 补齐 openapi.admin.yaml 契约(GET /admin/kb/documents, GET /admin/sessions) - 创建 ai-service/app/api/admin/ 路由模块结构 - 实现 6 个管理接口(KB文档管理、RAG实验、会话监控) - 在 main.py 注册管理路由 - 更新进度文档 - 修复 FastAPI Query 参数语法问题(Annotated 默认值格式) changes: - spec/ai-service/openapi.admin.yaml - 添加 DocumentInfo, SessionInfo, PageInfo Schema 及列表接口 - ai-service/app/api/admin/__init__.py - 新增 - ai-service/app/api/admin/kb.py - 新增(3个接口) - ai-service/app/api/admin/rag.py - 新增(1个接口) - ai-service/app/api/admin/sessions.py - 新增(2个接口) - ai-service/app/main.py - 注册管理路由 - docs/progress/ai-service-admin-progress.md - 更新进度 - session: "Session #3 (2026-02-24) - 嵌入模型管理需求规划" completed: - 更新 spec/ai-service-admin/requirements.md 添加 v0.2.0 迭代需求 - 更新 spec/ai-service-admin/tasks.md 添加 Phase 5 任务 - 更新 spec/ai-service-admin/openapi.deps.yaml 添加嵌入管理接口 - 更新进度文档添加 Phase 6 任务 changes: - spec/ai-service-admin/requirements.md - 新增 AC-ASA-08~AC-ASA-13 - spec/ai-service-admin/tasks.md - 新增 P5-01~P5-08 任务 - spec/ai-service-admin/openapi.deps.yaml - 完整重写,添加嵌入管理接口 - docs/progress/ai-service-admin-progress.md - 添加 Phase 6 - session: "Session #4 (2026-02-24) - LLM 配置与 RAG 调试输出需求规划" completed: - 更新 spec/ai-service-admin/requirements.md 添加 v0.3.0 迭代需求 - 更新 spec/ai-service-admin/tasks.md 添加 Phase 6 任务 - 更新 spec/ai-service-admin/openapi.deps.yaml 添加 LLM 管理和 RAG 实验增强接口 - 更新进度文档添加 Phase 7 任务 changes: - spec/ai-service-admin/requirements.md - 新增 AC-ASA-14~AC-ASA-22 - spec/ai-service-admin/tasks.md - 新增 P6-01~P6-10 任务 - spec/ai-service-admin/openapi.deps.yaml - 添加 LLM 配置接口和 RAG 实验增强接口 - docs/progress/ai-service-admin-progress.md - 添加 Phase 7 ## startup_guide 1. **Step 1**: 读取本进度文档(了解当前位置与下一步) 2. **Step 2**: 读取 spec_references 中定义的模块规范(了解业务与接口约束) 3. **Step 3**: 直接执行 next_action - 初始化前端工程 --- ## Phase 任务速查 | Phase | 名称 | 任务数 | 状态 | |-------|------|--------|------| | Phase 1 | 基础建设 | 5 | ✅ 完成 | | Phase 2 | 知识库管理 | 5 | ✅ 完成 | | Phase 3 | RAG 实验室 | 4 | ✅ 完成 | | Phase 4 | 会话监控与详情 | 3 | ✅ 完成 | | Phase 5 | 后端管理接口实现 | 6 | ✅ 完成 | | Phase 6 | 嵌入模型管理 | 8 | ⏳ 待处理 | | Phase 7 | LLM 配置与 RAG 调试输出 | 10 | 🔄 进行中 | **总计: 41 个任务 | 已完成: 23 个 | 待处理: 8 个 | 进行中: 10 个**