4.9 KiB
4.9 KiB
v0.7.0 窗口2:话术流程 + 输出护栏 - 进度文档
1. 任务概述
实现 v0.7.0 迭代中话术流程和输出护栏的测试与监控功能,包括前端页面和后端 API。
2. 需求文档引用
- spec/ai-service-admin/requirements.md - 第10节(v0.7.0),AC-ASA-59 ~ AC-ASA-64
- spec/ai-service/requirements.md - 第13节(v0.7.0),AC-AISVC-101 ~ AC-AISVC-107
3. 总体进度
- 后端任务(4个)
- T16.22-T16.24: 话术流程模拟测试 API
- T16.25-T16.27: 话术流程监控 API
- T16.28-T16.29: 输出护栏测试 API
- T16.30-T16.32: 输出护栏监控 API
- 前端任务(5个)
- P13-14: 流程模拟对话框
- P13-15-P13-16: 话术流程监控页面
- P13-17: 护栏测试对话框
- P13-18-P13-19: 输出护栏监控页面
- P13-01: API 服务层扩展
4. Phase 详细进度
Phase 1: 话术流程模拟测试 API (T16.22-T16.24)
状态: 已完成 文件修改记录:
- 新建: ai-service/app/services/flow/tester.py - ScriptFlowTester 类
- 修改: ai-service/app/api/admin/script_flows.py - 添加 POST /{flowId}/simulate 端点
Phase 2: 话术流程监控 API (T16.25-T16.27)
状态: 已完成 文件修改记录:
- 新建: ai-service/app/services/monitoring/flow_monitor.py - FlowMonitor 类
- 修改: ai-service/app/api/admin/monitoring.py - 添加 GET /script-flows 和 GET /script-flows/{flowId}/executions 端点
Phase 3: 输出护栏测试 API (T16.28-T16.29)
状态: 已完成 文件修改记录:
- 新建: ai-service/app/services/guardrail/tester.py - GuardrailTester 类
- 修改: ai-service/app/api/admin/guardrails.py - 添加 POST /test 端点
Phase 4: 输出护栏监控 API (T16.30-T16.32)
状态: 已完成 文件修改记录:
- 新建: ai-service/app/services/monitoring/guardrail_monitor.py - GuardrailMonitor 类
- 修改: ai-service/app/api/admin/monitoring.py - 添加 GET /guardrails 和 GET /guardrails/{wordId}/blocks 端点
- 修改: ai-service/app/services/monitoring/init.py - 导出新模块
Phase 5: 前端实现 (P13-14 ~ P13-19, P13-01)
状态: 已完成 文件修改记录:
- 新建: ai-service-admin/src/views/admin/script-flow/components/SimulateDialog.vue
- 新建: ai-service-admin/src/views/admin/monitoring/ScriptFlows.vue
- 新建: ai-service-admin/src/views/admin/guardrail/components/TestDialog.vue
- 新建: ai-service-admin/src/views/admin/monitoring/Guardrails.vue
- 扩展: ai-service-admin/src/api/monitoring.ts - 添加流程和护栏监控 API
- 扩展: ai-service-admin/src/api/script-flow.ts - 添加流程模拟 API
- 扩展: ai-service-admin/src/api/guardrail.ts - 添加护栏测试 API
- 修改: ai-service-admin/src/views/admin/script-flow/index.vue - 添加模拟按钮
- 修改: ai-service-admin/src/views/admin/guardrail/components/ForbiddenWordsTab.vue - 添加测试按钮
- 修改: ai-service-admin/src/router/index.ts - 添加监控页面路由
5. 技术上下文
项目结构
- 前端:
ai-service-admin/- Vue 3 + Element Plus + TypeScript - 后端:
ai-service/- Python FastAPI + SQLModel + PostgreSQL
核心约定
- 所有 API 必须支持多租户隔离(
tenant_id参数) - 流程模拟不应修改数据库状态(只读操作)
- 护栏测试应复用现有的
OutputFilter逻辑 - 监控数据异步更新,不阻塞主流程
关键代码示例
- 流程引擎:
app/services/flow/engine.py-_match_next_step()方法 - 护栏过滤:
app/services/guardrail/output_filter.py-filter()方法 - 禁词服务:
app/services/guardrail/word_service.py-get_enabled_words_for_filtering()方法
模块依赖
- FlowEngine: 流程状态机引擎
- OutputFilter: 输出护栏过滤器
- ForbiddenWordService: 禁词管理服务
- ScriptFlowService: 话术流程管理服务
6. 会话历史
会话 1 (2026-02-27)
- 完成:所有后端 API 和前端页面实现
- 问题:无
- 解决方案:无
7. 下一步行动
任务已完成
8. 待解决问题
暂无
9. 最终验收标准
- [AC-AISVC-101] 流程模拟测试接口返回完整的模拟执行结果
- [AC-AISVC-102] 流程模拟支持覆盖率分析和问题检测
- [AC-AISVC-103] 流程监控统计接口返回激活次数、完成率等统计
- [AC-AISVC-104] 流程执行记录接口支持分页查询
- [AC-AISVC-105] 护栏测试接口返回详细的检测结果
- [AC-AISVC-106] 护栏监控统计接口返回拦截次数等统计
- [AC-AISVC-107] 禁词拦截记录接口支持分页查询
- [AC-ASA-59] 流程模拟对话框支持步骤可视化
- [AC-ASA-60] 话术流程监控页面展示流程激活统计
- [AC-ASA-61] 流程执行记录详情弹窗支持分页
- [AC-ASA-62] 护栏测试对话框展示禁词检测结果
- [AC-ASA-63] 输出护栏监控页面展示护栏拦截统计
- [AC-ASA-64] 护栏拦截记录详情弹窗支持分页