feat(ASA): 实现 Phase 8-12 前端管理页面 [AC-ASA-23~AC-ASA-44]
实现内容:
- Phase 8: Prompt 模板管理页面(列表、编辑、版本历史、发布/回滚)
- Phase 9: 多知识库管理页面(卡片列表、文档管理)
- Phase 10: 意图规则管理页面(动态表单、关键词/正则输入组件)
- Phase 11: 话术流程管理页面(步骤拖拽编辑、流程预览)
- Phase 12: 输出护栏管理页面(禁词管理、行为规则)
新增文件:
- src/types/prompt-template.ts, knowledge-base.ts, intent-rule.ts, script-flow.ts, guardrail.ts
- src/api/prompt-template.ts, knowledge-base.ts, intent-rule.ts, script-flow.ts, guardrail.ts
- src/views/admin/prompt-template/index.vue, components/TemplateDetail.vue
- src/views/admin/knowledge-base/index.vue, components/DocumentList.vue
- src/views/admin/intent-rule/index.vue, components/KeywordInput.vue, components/PatternInput.vue
- src/views/admin/script-flow/index.vue, components/FlowPreview.vue
- src/views/admin/guardrail/index.vue, components/ForbiddenWordsTab.vue, components/BehaviorRulesTab.vue
更新:
- src/router/index.ts - 添加 5 个新路由
- package.json - 添加 vuedraggable 依赖
- docs/progress/ai-service-admin-progress.md - 更新进度
- spec/ai-service-admin/tasks.md - 更新任务状态
2026-02-27 10:33:25 +00:00
|
|
|
import request from '@/utils/request'
|
|
|
|
|
import type {
|
|
|
|
|
ScriptFlow,
|
|
|
|
|
ScriptFlowDetail,
|
|
|
|
|
ScriptFlowCreate,
|
|
|
|
|
ScriptFlowUpdate,
|
|
|
|
|
ScriptFlowListResponse
|
|
|
|
|
} from '@/types/script-flow'
|
|
|
|
|
|
feat(v0.7.0-window2): implement flow simulation and guardrail testing/monitoring
Refs: AC-AISVC-101, AC-AISVC-102, AC-AISVC-103, AC-AISVC-104, AC-AISVC-105, AC-AISVC-106, AC-AISVC-107
Refs: AC-ASA-59, AC-ASA-60, AC-ASA-61, AC-ASA-62, AC-ASA-63, AC-ASA-64
Backend changes:
- New: ai-service/app/services/flow/tester.py (ScriptFlowTester)
- New: ai-service/app/services/guardrail/tester.py (GuardrailTester)
- New: ai-service/app/services/monitoring/flow_monitor.py (FlowMonitor)
- New: ai-service/app/services/monitoring/guardrail_monitor.py (GuardrailMonitor)
- Modified: ai-service/app/api/admin/script_flows.py (add POST /{flowId}/simulate)
- Modified: ai-service/app/api/admin/guardrails.py (add POST /test)
- Modified: ai-service/app/api/admin/monitoring.py (add flow/guardrail stats endpoints)
Frontend changes:
- New: SimulateDialog.vue (flow simulation dialog)
- New: TestDialog.vue (guardrail test dialog)
- New: ScriptFlows.vue (flow monitoring page)
- New: Guardrails.vue (guardrail monitoring page)
- Extended: API services (monitoring.ts, script-flow.ts, guardrail.ts)
- Updated: Router with new monitoring routes
2026-02-27 15:11:59 +00:00
|
|
|
export interface FlowSimulateRequest {
|
|
|
|
|
userInputs: string[]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface FlowSimulateResponse {
|
|
|
|
|
flowId: string
|
|
|
|
|
flowName: string
|
|
|
|
|
simulation: FlowSimulationStep[]
|
|
|
|
|
result: {
|
|
|
|
|
completed: boolean
|
|
|
|
|
totalSteps: number
|
|
|
|
|
totalDurationMs: number
|
|
|
|
|
finalMessage: string | null
|
|
|
|
|
}
|
|
|
|
|
coverage: {
|
|
|
|
|
totalSteps: number
|
|
|
|
|
coveredSteps: number
|
|
|
|
|
coverageRate: number
|
|
|
|
|
uncoveredSteps: number[]
|
|
|
|
|
}
|
|
|
|
|
issues: string[]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface FlowSimulationStep {
|
|
|
|
|
stepNo: number
|
|
|
|
|
botMessage: string
|
|
|
|
|
userInput: string
|
|
|
|
|
matchedCondition: {
|
|
|
|
|
type: string
|
|
|
|
|
gotoStep: number
|
|
|
|
|
keywords?: string[]
|
|
|
|
|
pattern?: string
|
|
|
|
|
} | null
|
|
|
|
|
nextStep: number | null
|
|
|
|
|
durationMs: number
|
|
|
|
|
}
|
|
|
|
|
|
feat(ASA): 实现 Phase 8-12 前端管理页面 [AC-ASA-23~AC-ASA-44]
实现内容:
- Phase 8: Prompt 模板管理页面(列表、编辑、版本历史、发布/回滚)
- Phase 9: 多知识库管理页面(卡片列表、文档管理)
- Phase 10: 意图规则管理页面(动态表单、关键词/正则输入组件)
- Phase 11: 话术流程管理页面(步骤拖拽编辑、流程预览)
- Phase 12: 输出护栏管理页面(禁词管理、行为规则)
新增文件:
- src/types/prompt-template.ts, knowledge-base.ts, intent-rule.ts, script-flow.ts, guardrail.ts
- src/api/prompt-template.ts, knowledge-base.ts, intent-rule.ts, script-flow.ts, guardrail.ts
- src/views/admin/prompt-template/index.vue, components/TemplateDetail.vue
- src/views/admin/knowledge-base/index.vue, components/DocumentList.vue
- src/views/admin/intent-rule/index.vue, components/KeywordInput.vue, components/PatternInput.vue
- src/views/admin/script-flow/index.vue, components/FlowPreview.vue
- src/views/admin/guardrail/index.vue, components/ForbiddenWordsTab.vue, components/BehaviorRulesTab.vue
更新:
- src/router/index.ts - 添加 5 个新路由
- package.json - 添加 vuedraggable 依赖
- docs/progress/ai-service-admin-progress.md - 更新进度
- spec/ai-service-admin/tasks.md - 更新任务状态
2026-02-27 10:33:25 +00:00
|
|
|
export function listScriptFlows(params?: {
|
|
|
|
|
is_enabled?: boolean
|
|
|
|
|
}): Promise<ScriptFlowListResponse> {
|
|
|
|
|
return request({
|
|
|
|
|
url: '/admin/script-flows',
|
|
|
|
|
method: 'get',
|
|
|
|
|
params
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function getScriptFlow(flowId: string): Promise<ScriptFlowDetail> {
|
|
|
|
|
return request({
|
|
|
|
|
url: `/admin/script-flows/${flowId}`,
|
|
|
|
|
method: 'get'
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function createScriptFlow(data: ScriptFlowCreate): Promise<ScriptFlow> {
|
|
|
|
|
return request({
|
|
|
|
|
url: '/admin/script-flows',
|
|
|
|
|
method: 'post',
|
|
|
|
|
data
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function updateScriptFlow(flowId: string, data: ScriptFlowUpdate): Promise<ScriptFlow> {
|
|
|
|
|
return request({
|
|
|
|
|
url: `/admin/script-flows/${flowId}`,
|
|
|
|
|
method: 'put',
|
|
|
|
|
data
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function deleteScriptFlow(flowId: string): Promise<void> {
|
|
|
|
|
return request({
|
|
|
|
|
url: `/admin/script-flows/${flowId}`,
|
|
|
|
|
method: 'delete'
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
feat(v0.7.0-window2): implement flow simulation and guardrail testing/monitoring
Refs: AC-AISVC-101, AC-AISVC-102, AC-AISVC-103, AC-AISVC-104, AC-AISVC-105, AC-AISVC-106, AC-AISVC-107
Refs: AC-ASA-59, AC-ASA-60, AC-ASA-61, AC-ASA-62, AC-ASA-63, AC-ASA-64
Backend changes:
- New: ai-service/app/services/flow/tester.py (ScriptFlowTester)
- New: ai-service/app/services/guardrail/tester.py (GuardrailTester)
- New: ai-service/app/services/monitoring/flow_monitor.py (FlowMonitor)
- New: ai-service/app/services/monitoring/guardrail_monitor.py (GuardrailMonitor)
- Modified: ai-service/app/api/admin/script_flows.py (add POST /{flowId}/simulate)
- Modified: ai-service/app/api/admin/guardrails.py (add POST /test)
- Modified: ai-service/app/api/admin/monitoring.py (add flow/guardrail stats endpoints)
Frontend changes:
- New: SimulateDialog.vue (flow simulation dialog)
- New: TestDialog.vue (guardrail test dialog)
- New: ScriptFlows.vue (flow monitoring page)
- New: Guardrails.vue (guardrail monitoring page)
- Extended: API services (monitoring.ts, script-flow.ts, guardrail.ts)
- Updated: Router with new monitoring routes
2026-02-27 15:11:59 +00:00
|
|
|
export function simulateScriptFlow(flowId: string, data: FlowSimulateRequest): Promise<FlowSimulateResponse> {
|
|
|
|
|
return request({
|
|
|
|
|
url: `/admin/script-flows/${flowId}/simulate`,
|
|
|
|
|
method: 'post',
|
|
|
|
|
data
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
feat(ASA): 实现 Phase 8-12 前端管理页面 [AC-ASA-23~AC-ASA-44]
实现内容:
- Phase 8: Prompt 模板管理页面(列表、编辑、版本历史、发布/回滚)
- Phase 9: 多知识库管理页面(卡片列表、文档管理)
- Phase 10: 意图规则管理页面(动态表单、关键词/正则输入组件)
- Phase 11: 话术流程管理页面(步骤拖拽编辑、流程预览)
- Phase 12: 输出护栏管理页面(禁词管理、行为规则)
新增文件:
- src/types/prompt-template.ts, knowledge-base.ts, intent-rule.ts, script-flow.ts, guardrail.ts
- src/api/prompt-template.ts, knowledge-base.ts, intent-rule.ts, script-flow.ts, guardrail.ts
- src/views/admin/prompt-template/index.vue, components/TemplateDetail.vue
- src/views/admin/knowledge-base/index.vue, components/DocumentList.vue
- src/views/admin/intent-rule/index.vue, components/KeywordInput.vue, components/PatternInput.vue
- src/views/admin/script-flow/index.vue, components/FlowPreview.vue
- src/views/admin/guardrail/index.vue, components/ForbiddenWordsTab.vue, components/BehaviorRulesTab.vue
更新:
- src/router/index.ts - 添加 5 个新路由
- package.json - 添加 vuedraggable 依赖
- docs/progress/ai-service-admin-progress.md - 更新进度
- spec/ai-service-admin/tasks.md - 更新任务状态
2026-02-27 10:33:25 +00:00
|
|
|
export type {
|
|
|
|
|
ScriptFlow,
|
|
|
|
|
ScriptFlowDetail,
|
|
|
|
|
ScriptFlowCreate,
|
|
|
|
|
ScriptFlowUpdate,
|
|
|
|
|
ScriptFlowListResponse
|
|
|
|
|
}
|