ai-robot-core/.claude/progress/v0.7.0-window2-flow-guardra...

4.9 KiB
Raw Blame History

v0.7.0 窗口2话术流程 + 输出护栏 - 进度文档

1. 任务概述

实现 v0.7.0 迭代中话术流程和输出护栏的测试与监控功能,包括前端页面和后端 API。

2. 需求文档引用

  • spec/ai-service-admin/requirements.md - 第10节v0.7.0AC-ASA-59 ~ AC-ASA-64
  • spec/ai-service/requirements.md - 第13节v0.7.0AC-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] 护栏拦截记录详情弹窗支持分页