---
module: ai-service-admin
feature: ASA
status: in-progress
created: 2026-02-24
last_updated: "2026-02-27"
version: "0.7.0"
---

# AI 中台管理界面（ai-service-admin）进度文档

## context

- **module**: ai-service-admin
- **feature**: ASA
- **status**: 🔄 进行中 (Phase 8-12 前端页面已实现)

## 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]
- [x] Phase 6: 嵌入模型管理 (100%) [P5-01 ~ P5-08]
- [x] Phase 7: LLM 配置与 RAG 调试输出 (100%) [P6-01 ~ P6-10]
- [x] Phase 8: Prompt 模板管理 (100%) [P8-01 ~ P8-06] ✅
- [x] Phase 9: 多知识库管理 (100%) [P9-01 ~ P9-06] ✅
- [x] Phase 10: 意图规则管理 (100%) [P10-01 ~ P10-06] ✅
- [x] Phase 11: 话术流程管理 (100%) [P11-01 ~ P11-05] ✅
- [x] Phase 12: 输出护栏管理 (100%) [P12-01 ~ P12-07] ✅

## current_phase

**goal**: ✅ Phase 8-12 前端页面已实现完成

### backend_api_status

| Phase | 后端 API 状态 | 前端页面状态 |
|-------|--------------|--------------|
| Phase 8: Prompt 模板管理 | ✅ 已完成 | ✅ 已完成 |
| Phase 9: 多知识库管理 | ✅ 已完成 | ✅ 已完成 |
| Phase 10: 意图规则管理 | ✅ 已完成 | ✅ 已完成 |
| Phase 11: 话术流程管理 | ✅ 已完成 | ✅ 已完成 |
| Phase 12: 输出护栏管理 | ✅ 已完成 | ✅ 已完成 |

### 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]
- [x] (P5-02) 提供者选择组件 [AC-ASA-09]
- [x] (P5-03) 动态配置表单 [AC-ASA-09, AC-ASA-10]
- [x] (P5-04) 测试连接组件 [AC-ASA-11, AC-ASA-12]
- [x] (P5-05) 支持格式组件 [AC-ASA-13]
- [x] (P5-06) 页面骨架与路由 [AC-ASA-08]
- [x] (P5-07) 配置加载与保存 [AC-ASA-08, AC-ASA-10]
- [x] (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]
- [x] (P6-02) LLM 提供者选择组件：创建通用 ProviderSelect.vue [AC-ASA-15]
- [x] (P6-03) LLM 动态配置表单：创建通用 ConfigForm.vue [AC-ASA-15, AC-ASA-16]
- [x] (P6-04) LLM 测试连接组件：创建通用 TestPanel.vue [AC-ASA-17, AC-ASA-18]
- [x] (P6-05) LLM 配置页面：创建 /admin/llm 页面 [AC-ASA-14, AC-ASA-16]
- [x] (P6-06) AI 回复展示组件：创建 AIResponseViewer.vue [AC-ASA-19]
- [x] (P6-07) 流式输出支持：实现 SSE 流式输出展示 [AC-ASA-20]
- [x] (P6-08) Token 统计展示：展示 Token 消耗、响应耗时 [AC-ASA-21]
- [x] (P6-09) LLM 选择器：在 RAG 实验室中添加 LLM 配置选择器 [AC-ASA-22]
- [x] (P6-10) RAG 实验室整合：将 AI 输出组件整合到 RAG 实验室 [AC-ASA-19~AC-ASA-22]

### next_action

**immediate**: ✅ Phase 8-12 前端页面已全部实现完成，待集成测试

**commit message**: `feat(ASA): 实现 Phase 8-12 前端管理页面 [AC-ASA-23~AC-ASA-44]`

### 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

- session: "Session #5 (2026-02-25) - 嵌入配置与 LLM 配置页面组件实现"
  completed:
    - 创建通用提供者选择组件 ProviderSelect.vue
    - 创建通用动态配置表单 ConfigForm.vue
    - 创建通用测试连接组件 TestPanel.vue
    - 创建 LLM API 服务层 src/api/llm.ts 和类型定义 src/types/llm.ts
    - 创建 LLM Pinia Store src/stores/llm.ts
    - 创建 LLM 配置页面 src/views/admin/llm/index.vue
    - 添加 LLM 配置路由 /admin/llm
    - 更新 tasks.md 和 progress.md 文档
  changes:
    - ai-service-admin/src/components/common/ProviderSelect.vue - 新增
    - ai-service-admin/src/components/common/ConfigForm.vue - 新增
    - ai-service-admin/src/components/common/TestPanel.vue - 新增
    - ai-service-admin/src/api/llm.ts - 新增
    - ai-service-admin/src/types/llm.ts - 新增
    - ai-service-admin/src/stores/llm.ts - 新增
    - ai-service-admin/src/views/admin/llm/index.vue - 新增
    - ai-service-admin/src/router/index.ts - 添加 LLM 配置路由
    - spec/ai-service-admin/tasks.md - 更新 P5-02~P5-08, P6-02~P6-05 状态
    - docs/progress/ai-service-admin-progress.md - 更新进度

- session: "Session #5 (2026-02-25) - RAG 实验室 AI 输出增强组件"
  completed:
    - 创建 LLM API 服务层 src/api/llm.ts
    - 更新 RAG API 服务层 src/api/rag.ts 添加流式输出支持
    - 创建 RAG Store src/stores/rag.ts
    - 创建 AI 回复展示组件 src/components/rag/AIResponseViewer.vue [AC-ASA-19, AC-ASA-21]
    - 创建流式输出组件 src/components/rag/StreamOutput.vue [AC-ASA-20]
    - 创建 LLM 选择器组件 src/components/rag/LLMSelector.vue [AC-ASA-22]
    - 更新 RAG 实验室页面整合所有新组件 [AC-ASA-19~AC-ASA-22]
    - 更新 tasks.md 和 progress.md 进度文档
  changes:
    - ai-service-admin/src/api/llm.ts - 新增
    - ai-service-admin/src/api/rag.ts - 更新（添加流式输出支持）
    - ai-service-admin/src/stores/rag.ts - 新增
    - ai-service-admin/src/components/rag/AIResponseViewer.vue - 新增
    - ai-service-admin/src/components/rag/StreamOutput.vue - 新增
    - ai-service-admin/src/components/rag/LLMSelector.vue - 新增
    - ai-service-admin/src/views/rag-lab/index.vue - 更新（整合 AI 输出组件）
    - spec/ai-service-admin/tasks.md - 更新 P6-06~P6-10 状态
    - docs/progress/ai-service-admin-progress.md - 更新进度

- session: "Session #6 (2026-02-27) - 后端意图规则 API 完成"
  completed:
    - 后端 Phase 12 意图识别与规则引擎核心功能完成 (T12.1-T12.5)
    - 实现 IntentRule SQLModel 实体（关键词、正则、优先级、四种响应类型）
    - 实现 IntentRuleService（CRUD、命中统计、缓存）
    - 实现 IntentRouter 匹配引擎（按优先级 DESC 遍历，先关键词再正则）
    - 实现意图规则管理 API（POST/GET/PUT/DELETE /admin/intent-rules）
  changes:
    - ai-service/app/models/entities.py - 新增 IntentRule 相关实体
    - ai-service/app/services/intent/ - 新增意图识别服务模块
    - ai-service/app/api/admin/intent_rules.py - 新增规则管理 API
    - docs/progress/ai-service-admin-progress.md - 更新进度
  notes:
    - 前端 Phase 10 意图规则管理页面待实现
    - 后端 T12.6（Orchestrator 集成）和 T12.7（单元测试）留待集成阶段

- session: "Session #7 (2026-02-27) - Phase 8-12 前端页面实现"
  completed:
    - 实现 Phase 8 Prompt 模板管理前端页面 [AC-ASA-23~AC-ASA-28]
    - 实现 Phase 9 多知识库管理前端页面 [AC-ASA-29~AC-ASA-33]
    - 实现 Phase 10 意图规则管理前端页面 [AC-ASA-34~AC-ASA-36]
    - 实现 Phase 11 话术流程管理前端页面 [AC-ASA-37~AC-ASA-39]
    - 实现 Phase 12 输出护栏管理前端页面 [AC-ASA-40~AC-ASA-44]
    - 创建 API 服务层和类型定义（prompt-template, knowledge-base, intent-rule, script-flow, guardrail）
    - 更新路由配置，注册 5 个新页面
    - 添加 vuedraggable 依赖用于话术流程步骤拖拽排序
  changes:
    - ai-service-admin/src/types/prompt-template.ts - 新增
    - ai-service-admin/src/types/knowledge-base.ts - 新增
    - ai-service-admin/src/types/intent-rule.ts - 新增
    - ai-service-admin/src/types/script-flow.ts - 新增
    - ai-service-admin/src/types/guardrail.ts - 新增
    - ai-service-admin/src/api/prompt-template.ts - 新增
    - ai-service-admin/src/api/knowledge-base.ts - 新增
    - ai-service-admin/src/api/intent-rule.ts - 新增
    - ai-service-admin/src/api/script-flow.ts - 新增
    - ai-service-admin/src/api/guardrail.ts - 新增
    - ai-service-admin/src/views/admin/prompt-template/index.vue - 新增
    - ai-service-admin/src/views/admin/prompt-template/components/TemplateDetail.vue - 新增
    - ai-service-admin/src/views/admin/knowledge-base/index.vue - 新增
    - ai-service-admin/src/views/admin/knowledge-base/components/DocumentList.vue - 新增
    - ai-service-admin/src/views/admin/intent-rule/index.vue - 新增
    - ai-service-admin/src/views/admin/intent-rule/components/KeywordInput.vue - 新增
    - ai-service-admin/src/views/admin/intent-rule/components/PatternInput.vue - 新增
    - ai-service-admin/src/views/admin/script-flow/index.vue - 新增
    - ai-service-admin/src/views/admin/script-flow/components/FlowPreview.vue - 新增
    - ai-service-admin/src/views/admin/guardrail/index.vue - 新增
    - ai-service-admin/src/views/admin/guardrail/components/ForbiddenWordsTab.vue - 新增
    - ai-service-admin/src/views/admin/guardrail/components/BehaviorRulesTab.vue - 新增
    - ai-service-admin/src/router/index.ts - 更新（添加 5 个新路由）
    - ai-service-admin/package.json - 更新（添加 vuedraggable 依赖）
    - docs/progress/ai-service-admin-progress.md - 更新进度

## 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 | ✅ 完成 |
| Phase 8 | Prompt 模板管理 | 6 | ✅ 完成 |
| Phase 9 | 多知识库管理 | 6 | ✅ 完成 |
| Phase 10 | 意图规则管理 | 6 | ✅ 完成 |
| Phase 11 | 话术流程管理 | 5 | ✅ 完成 |
| Phase 12 | 输出护栏管理 | 7 | ✅ 完成 |

**总计: 71 个任务 | 已完成: 71 个 | 待处理: 0 个 | 进行中: 0 个**
