2026-02-24 05:47:12 +00:00
|
|
|
|
openapi: 3.1.0
|
|
|
|
|
|
info:
|
|
|
|
|
|
title: "AI Service Admin API"
|
|
|
|
|
|
description: "AI 中台管理类接口契约(Provider: ai-service),支持 ai-service-admin 模块进行知识库、Prompt 及 RAG 调试管理。"
|
2026-02-28 04:52:50 +00:00
|
|
|
|
version: "0.7.0"
|
|
|
|
|
|
x-contract-level: L1
|
2026-02-24 05:47:12 +00:00
|
|
|
|
components:
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
XTenantId:
|
|
|
|
|
|
name: X-Tenant-Id
|
|
|
|
|
|
in: header
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "租户ID,用于物理隔离知识库与数据"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
Unauthorized:
|
|
|
|
|
|
description: "未认证(缺少或无效的认证信息)"
|
|
|
|
|
|
Forbidden:
|
|
|
|
|
|
description: "无权限(当前身份无权访问该资源)"
|
2026-02-24 06:20:22 +00:00
|
|
|
|
schemas:
|
|
|
|
|
|
DocumentInfo:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
docId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "文档ID"
|
|
|
|
|
|
kbId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "知识库ID"
|
|
|
|
|
|
fileName:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "文件名"
|
|
|
|
|
|
status:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "文档状态"
|
|
|
|
|
|
enum: [pending, processing, completed, failed]
|
|
|
|
|
|
createdAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
description: "创建时间"
|
|
|
|
|
|
updatedAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
description: "更新时间"
|
|
|
|
|
|
SessionInfo:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
sessionId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "会话ID"
|
|
|
|
|
|
status:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "会话状态"
|
|
|
|
|
|
enum: [active, closed, expired]
|
|
|
|
|
|
startTime:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
description: "开始时间"
|
|
|
|
|
|
endTime:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
description: "结束时间"
|
|
|
|
|
|
messageCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "消息数量"
|
|
|
|
|
|
PageInfo:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
page:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "当前页码"
|
|
|
|
|
|
pageSize:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "每页大小"
|
|
|
|
|
|
total:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "总记录数"
|
|
|
|
|
|
totalPages:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "总页数"
|
2026-02-28 04:52:50 +00:00
|
|
|
|
# v0.6.0 新增 schemas
|
|
|
|
|
|
KnowledgeBaseInfo:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "知识库ID"
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "知识库名称"
|
|
|
|
|
|
kbType:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "知识库类型"
|
|
|
|
|
|
enum: [product, faq, script, policy, general]
|
|
|
|
|
|
description:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "描述"
|
|
|
|
|
|
priority:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "优先级权重"
|
|
|
|
|
|
isEnabled:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
description: "是否启用"
|
|
|
|
|
|
docCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "文档数量"
|
|
|
|
|
|
createdAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
updatedAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
KnowledgeBaseCreate:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [name, kbType]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
kbType:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [product, faq, script, policy, general]
|
|
|
|
|
|
description:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
priority:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 0
|
|
|
|
|
|
KnowledgeBaseUpdate:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
kbType:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [product, faq, script, policy, general]
|
|
|
|
|
|
description:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
priority:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
isEnabled:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
PromptTemplateInfo:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "模板名称"
|
|
|
|
|
|
scene:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "场景标签"
|
|
|
|
|
|
description:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
isDefault:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
publishedVersion:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "当前发布版本号"
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
createdAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
updatedAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
PromptTemplateCreate:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [name, scene, systemInstruction]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
scene:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
systemInstruction:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "系统指令内容,支持 {{variable}} 占位符"
|
|
|
|
|
|
variables:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
default:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
PromptTemplateDetail:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
scene:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
currentVersion:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
status:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [draft, published, archived]
|
|
|
|
|
|
systemInstruction:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
variables:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
versions:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
status:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [draft, published, archived]
|
|
|
|
|
|
createdAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
IntentRuleInfo:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "意图名称"
|
|
|
|
|
|
keywords:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
patterns:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
priority:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
responseType:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [flow, rag, fixed, transfer]
|
|
|
|
|
|
targetKbIds:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
flowId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
fixedReply:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
transferMessage:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
isEnabled:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
hitCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
createdAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
updatedAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
IntentRuleCreate:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [name, responseType]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
keywords:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
patterns:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
priority:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 0
|
|
|
|
|
|
responseType:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [flow, rag, fixed, transfer]
|
|
|
|
|
|
targetKbIds:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
flowId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
fixedReply:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
transferMessage:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
ScriptFlowInfo:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
stepCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
isEnabled:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
linkedRuleCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "关联意图规则数"
|
|
|
|
|
|
createdAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
updatedAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
ScriptFlowCreate:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [name, steps]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
steps:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/FlowStep"
|
|
|
|
|
|
FlowStep:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [stepNo, content]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
stepNo:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
content:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "话术内容"
|
|
|
|
|
|
waitInput:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
default: true
|
|
|
|
|
|
timeoutSeconds:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 120
|
|
|
|
|
|
timeoutAction:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [repeat, skip, transfer]
|
|
|
|
|
|
default: repeat
|
|
|
|
|
|
nextConditions:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
keywords:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
pattern:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
gotoStep:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
defaultNext:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
ForbiddenWordInfo:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
word:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
category:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [competitor, sensitive, political, custom]
|
|
|
|
|
|
strategy:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [mask, replace, block]
|
|
|
|
|
|
replacement:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
fallbackReply:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
isEnabled:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
hitCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
createdAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
ForbiddenWordCreate:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [word, category, strategy]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
word:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
category:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [competitor, sensitive, political, custom]
|
|
|
|
|
|
strategy:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [mask, replace, block]
|
|
|
|
|
|
replacement:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
fallbackReply:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
BehaviorRuleInfo:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
ruleText:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "行为约束描述"
|
|
|
|
|
|
category:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [compliance, tone, boundary, custom]
|
|
|
|
|
|
isEnabled:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
createdAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
BehaviorRuleCreate:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [ruleText, category]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ruleText:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
category:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [compliance, tone, boundary, custom]
|
|
|
|
|
|
|
|
|
|
|
|
# v0.7.0 新增 schemas - 测试与监控
|
|
|
|
|
|
FlowExecutionStep:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "流程执行步骤详情"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
step:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "步骤编号(1-12)"
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "步骤名称"
|
|
|
|
|
|
status:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [success, failed, skipped]
|
|
|
|
|
|
description: "执行状态"
|
|
|
|
|
|
durationMs:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "执行耗时(毫秒)"
|
|
|
|
|
|
input:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "步骤输入数据"
|
|
|
|
|
|
output:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "步骤输出数据"
|
|
|
|
|
|
error:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
description: "错误信息(如果失败)"
|
|
|
|
|
|
metadata:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "步骤元数据"
|
|
|
|
|
|
|
|
|
|
|
|
FlowExecutionResult:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "完整流程执行结果"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
executionId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
steps:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/FlowExecutionStep"
|
|
|
|
|
|
totalDurationMs:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
finalReply:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
confidence:
|
|
|
|
|
|
type: number
|
|
|
|
|
|
format: float
|
|
|
|
|
|
shouldTransfer:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
|
|
|
|
|
|
IntentRuleTestResult:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "意图规则测试结果"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
matched:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
description: "是否命中该规则"
|
|
|
|
|
|
matchedKeywords:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "匹配的关键词列表"
|
|
|
|
|
|
matchedPatterns:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "匹配的正则表达式列表"
|
|
|
|
|
|
priority:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "规则优先级"
|
|
|
|
|
|
priorityRank:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "在所有规则中的优先级排名"
|
|
|
|
|
|
conflictRules:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ruleId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
ruleName:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
priority:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "同时命中的其他规则列表"
|
|
|
|
|
|
reason:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
description: "未命中原因"
|
|
|
|
|
|
|
|
|
|
|
|
IntentRuleStats:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "意图规则监控统计"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ruleId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
ruleName:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
hitCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "命中次数"
|
|
|
|
|
|
hitRate:
|
|
|
|
|
|
type: number
|
|
|
|
|
|
format: float
|
|
|
|
|
|
description: "命中率"
|
|
|
|
|
|
avgResponseTime:
|
|
|
|
|
|
type: number
|
|
|
|
|
|
format: float
|
|
|
|
|
|
description: "平均响应时间(毫秒)"
|
|
|
|
|
|
lastHitTime:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
responseType:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [flow, rag, fixed, transfer]
|
|
|
|
|
|
|
|
|
|
|
|
IntentRuleHitRecord:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "意图规则命中记录"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
conversationId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
sessionId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
userMessage:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
matchedKeywords:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
matchedPatterns:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responseType:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
executionResult:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [success, failed]
|
|
|
|
|
|
hitTime:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
|
|
|
|
|
|
PromptTemplatePreview:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "Prompt 模板预览结果"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
templateId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
templateName:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
rawContent:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "原始模板内容"
|
|
|
|
|
|
variables:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
value:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "变量列表及当前值"
|
|
|
|
|
|
renderedContent:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "渲染后的完整 Prompt"
|
|
|
|
|
|
estimatedTokens:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "预估 Token 数量"
|
|
|
|
|
|
|
|
|
|
|
|
PromptTemplateStats:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "Prompt 模板监控统计"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
templateId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
templateName:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
scene:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
usageCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
avgTokens:
|
|
|
|
|
|
type: number
|
|
|
|
|
|
format: float
|
|
|
|
|
|
avgPromptTokens:
|
|
|
|
|
|
type: number
|
|
|
|
|
|
format: float
|
|
|
|
|
|
avgCompletionTokens:
|
|
|
|
|
|
type: number
|
|
|
|
|
|
format: float
|
|
|
|
|
|
lastUsedTime:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
|
|
|
|
|
|
ScriptFlowSimulation:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "话术流程模拟执行结果"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
simulationId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
flowId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
flowName:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
currentStep:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
stepContent:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
waitForInput:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
nextConditions:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
keywords:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nextStep:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
|
|
|
|
|
|
ScriptFlowStats:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "话术流程监控统计"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
flowId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
flowName:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
activationCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
completionCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
completionRate:
|
|
|
|
|
|
type: number
|
|
|
|
|
|
format: float
|
|
|
|
|
|
avgCompletionTime:
|
|
|
|
|
|
type: number
|
|
|
|
|
|
format: float
|
|
|
|
|
|
description: "平均完成时长(秒)"
|
|
|
|
|
|
interruptionCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
interruptionRate:
|
|
|
|
|
|
type: number
|
|
|
|
|
|
format: float
|
|
|
|
|
|
|
|
|
|
|
|
ScriptFlowExecution:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "话术流程执行记录"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
executionId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
sessionId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
activationTime:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
currentStep:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
status:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [in_progress, completed, interrupted]
|
|
|
|
|
|
interruptionReason:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
completionTime:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
|
|
|
|
|
|
GuardrailTestResult:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "输出护栏测试结果"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
originalText:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
processedText:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
detectedWords:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
word:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
category:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
position:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
strategy:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [mask, replace, block]
|
|
|
|
|
|
isBlocked:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
blockReason:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
|
|
|
|
|
|
GuardrailStats:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "输出护栏监控统计"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
wordId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
word:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
category:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
blockCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
replaceCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
maskCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
lastBlockTime:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
|
|
|
|
|
|
GuardrailBlockRecord:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "禁词拦截记录"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
blockId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
sessionId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
originalText:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
processedText:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
strategy:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [mask, replace, block]
|
|
|
|
|
|
blockTime:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
|
|
|
|
|
|
ConversationRecord:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "对话追踪记录"
|
|
|
|
|
|
properties:
|
|
|
|
|
|
conversationId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
sessionId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
userMessage:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
aiReply:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
triggeredRules:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "触发的意图规则 ID 列表"
|
|
|
|
|
|
usedTemplate:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
description: "使用的 Prompt 模板 ID"
|
|
|
|
|
|
usedFlow:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
description: "使用的话术流程 ID"
|
|
|
|
|
|
executionTime:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "执行耗时(毫秒)"
|
|
|
|
|
|
createdAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
|
|
|
|
|
|
paths:
|
|
|
|
|
|
/admin/kb/documents:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询文档列表"
|
|
|
|
|
|
operationId: "listDocuments"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- KB Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-08", "AC-AISVC-23"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: kbId
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "知识库ID"
|
|
|
|
|
|
- name: status
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [pending, processing, completed, failed]
|
|
|
|
|
|
description: "文档状态"
|
|
|
|
|
|
- name: page
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 1
|
|
|
|
|
|
description: "页码"
|
|
|
|
|
|
- name: pageSize
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 20
|
|
|
|
|
|
description: "每页大小"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "文档列表"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/DocumentInfo"
|
|
|
|
|
|
pagination:
|
|
|
|
|
|
$ref: "#/components/schemas/PageInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "上传/导入文档"
|
|
|
|
|
|
operationId: "uploadDocument"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- KB Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-01", "AC-AISVC-21", "AC-AISVC-22"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
multipart/form-data:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
file:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: binary
|
|
|
|
|
|
kbId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'202':
|
|
|
|
|
|
description: "已接受上传请求,异步启动索引任务"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
jobId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
status:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [pending, processing]
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
/admin/kb/index/jobs/{jobId}:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询索引任务详情"
|
|
|
|
|
|
operationId: "getIndexJob"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- KB Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-02", "AC-AISVC-24"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: jobId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "任务状态详情"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
jobId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
status:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [pending, processing, completed, failed]
|
|
|
|
|
|
progress:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
minimum: 0
|
|
|
|
|
|
maximum: 100
|
|
|
|
|
|
errorMsg:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
nullable: true
|
|
|
|
|
|
/admin/config/prompt-templates/{tplId}/publish:
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "发布指定版本的 Prompt 模板"
|
|
|
|
|
|
operationId: "publishPromptTemplate"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Prompt Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-03"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: tplId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
version:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "发布成功"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
/admin/rag/experiments/run:
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "触发 RAG 调试实验"
|
|
|
|
|
|
operationId: "runRagExperiment"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- RAG Lab
|
|
|
|
|
|
x-requirements: ["AC-ASA-05", "AC-AISVC-25", "AC-AISVC-26"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
query:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
kbIds:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
params:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "检索参数集"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "实验结果"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
retrievalResults:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
content:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
score:
|
|
|
|
|
|
type: number
|
|
|
|
|
|
format: float
|
|
|
|
|
|
source:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
finalPrompt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
/admin/sessions:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询会话列表"
|
|
|
|
|
|
operationId: "listSessions"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Session Monitoring
|
|
|
|
|
|
x-requirements: ["AC-ASA-09", "AC-AISVC-27"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: status
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [active, closed, expired]
|
|
|
|
|
|
description: "会话状态"
|
|
|
|
|
|
- name: startTime
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
description: "开始时间"
|
|
|
|
|
|
- name: endTime
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
description: "结束时间"
|
|
|
|
|
|
- name: page
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 1
|
|
|
|
|
|
description: "页码"
|
|
|
|
|
|
- name: pageSize
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 20
|
|
|
|
|
|
description: "每页大小"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "会话列表"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/SessionInfo"
|
|
|
|
|
|
pagination:
|
|
|
|
|
|
$ref: "#/components/schemas/PageInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
/admin/sessions/{sessionId}:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "获取会话详情"
|
|
|
|
|
|
operationId: "getSessionDetail"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Session Monitoring
|
|
|
|
|
|
x-requirements: ["AC-ASA-07", "AC-AISVC-28"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: sessionId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "全链路会话详情"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
sessionId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
messages:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
trace:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "含检索、工具调用等追踪信息"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
# ========== v0.6.0 新增 paths ==========
|
|
|
|
|
|
|
|
|
|
|
|
/admin/kb/knowledge-bases:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询知识库列表"
|
|
|
|
|
|
operationId: "listKnowledgeBases"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- KB Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-29", "AC-AISVC-59"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: kbType
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [product, faq, script, policy, general]
|
|
|
|
|
|
description: "知识库类型筛选"
|
|
|
|
|
|
- name: isEnabled
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
description: "启用状态筛选"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "知识库列表"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/KnowledgeBaseInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "创建知识库"
|
|
|
|
|
|
operationId: "createKnowledgeBase"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- KB Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-30", "AC-AISVC-59"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/KnowledgeBaseCreate"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'201':
|
|
|
|
|
|
description: "创建成功"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/KnowledgeBaseInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/kb/knowledge-bases/{kbId}:
|
|
|
|
|
|
put:
|
|
|
|
|
|
summary: "更新知识库"
|
|
|
|
|
|
operationId: "updateKnowledgeBase"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- KB Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-32", "AC-AISVC-61"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: kbId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/KnowledgeBaseUpdate"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "更新成功"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/KnowledgeBaseInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
delete:
|
|
|
|
|
|
summary: "删除知识库"
|
|
|
|
|
|
operationId: "deleteKnowledgeBase"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- KB Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-33", "AC-AISVC-62"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: kbId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'204':
|
|
|
|
|
|
description: "删除成功"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/prompt-templates:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询 Prompt 模板列表"
|
|
|
|
|
|
operationId: "listPromptTemplates"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Prompt Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-23", "AC-AISVC-57"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: scene
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "场景标签筛选"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "模板列表"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/PromptTemplateInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "创建 Prompt 模板"
|
|
|
|
|
|
operationId: "createPromptTemplate"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Prompt Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-24", "AC-AISVC-52"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/PromptTemplateCreate"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'201':
|
|
|
|
|
|
description: "创建成功"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/PromptTemplateInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/prompt-templates/{tplId}:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询 Prompt 模板详情"
|
|
|
|
|
|
operationId: "getPromptTemplateDetail"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Prompt Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-28", "AC-AISVC-58"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: tplId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "模板详情(含版本历史)"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/PromptTemplateDetail"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
put:
|
|
|
|
|
|
summary: "更新 Prompt 模板(自动创建新版本)"
|
|
|
|
|
|
operationId: "updatePromptTemplate"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Prompt Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-25", "AC-AISVC-53"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: tplId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/PromptTemplateCreate"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "更新成功,返回新版本信息"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/PromptTemplateInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/prompt-templates/{tplId}/publish:
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "发布 Prompt 模板指定版本"
|
|
|
|
|
|
operationId: "publishPromptTemplateVersion"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Prompt Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-26", "AC-AISVC-54"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: tplId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [version]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "要发布的版本号"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "发布成功"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/prompt-templates/{tplId}/rollback:
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "回滚 Prompt 模板到指定版本"
|
|
|
|
|
|
operationId: "rollbackPromptTemplate"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Prompt Management
|
|
|
|
|
|
x-requirements: ["AC-ASA-27", "AC-AISVC-55"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: tplId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [version]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
description: "要回滚到的版本号"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "回滚成功"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/intent-rules:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询意图规则列表"
|
|
|
|
|
|
operationId: "listIntentRules"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Intent Rules
|
|
|
|
|
|
x-requirements: ["AC-ASA-34", "AC-AISVC-65"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: responseType
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [flow, rag, fixed, transfer]
|
|
|
|
|
|
description: "响应类型筛选"
|
|
|
|
|
|
- name: isEnabled
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
description: "启用状态筛选"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "规则列表"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/IntentRuleInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "创建意图规则"
|
|
|
|
|
|
operationId: "createIntentRule"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Intent Rules
|
|
|
|
|
|
x-requirements: ["AC-ASA-35", "AC-AISVC-66"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/IntentRuleCreate"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'201':
|
|
|
|
|
|
description: "创建成功"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/IntentRuleInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/intent-rules/{ruleId}:
|
|
|
|
|
|
put:
|
|
|
|
|
|
summary: "更新意图规则"
|
|
|
|
|
|
operationId: "updateIntentRule"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Intent Rules
|
|
|
|
|
|
x-requirements: ["AC-ASA-36", "AC-AISVC-67"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: ruleId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/IntentRuleCreate"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "更新成功"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/IntentRuleInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
delete:
|
|
|
|
|
|
summary: "删除意图规则"
|
|
|
|
|
|
operationId: "deleteIntentRule"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Intent Rules
|
|
|
|
|
|
x-requirements: ["AC-ASA-36", "AC-AISVC-68"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: ruleId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'204':
|
|
|
|
|
|
description: "删除成功"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/script-flows:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询话术流程列表"
|
|
|
|
|
|
operationId: "listScriptFlows"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Script Flows
|
|
|
|
|
|
x-requirements: ["AC-ASA-37", "AC-AISVC-71"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: isEnabled
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
description: "启用状态筛选"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "流程列表"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/ScriptFlowInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "创建话术流程"
|
|
|
|
|
|
operationId: "createScriptFlow"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Script Flows
|
|
|
|
|
|
x-requirements: ["AC-ASA-38", "AC-AISVC-72"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/ScriptFlowCreate"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'201':
|
|
|
|
|
|
description: "创建成功"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/ScriptFlowInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/script-flows/{flowId}:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询话术流程详情"
|
|
|
|
|
|
operationId: "getScriptFlowDetail"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Script Flows
|
|
|
|
|
|
x-requirements: ["AC-ASA-39", "AC-AISVC-73"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: flowId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "流程详情(含完整步骤定义)"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
isEnabled:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
steps:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/FlowStep"
|
|
|
|
|
|
linkedRuleCount:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
createdAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
updatedAt:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
put:
|
|
|
|
|
|
summary: "更新话术流程"
|
|
|
|
|
|
operationId: "updateScriptFlow"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Script Flows
|
|
|
|
|
|
x-requirements: ["AC-ASA-38", "AC-AISVC-72"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: flowId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/ScriptFlowCreate"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "更新成功"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/ScriptFlowInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/guardrails/forbidden-words:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询禁词列表"
|
|
|
|
|
|
operationId: "listForbiddenWords"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Guardrails
|
|
|
|
|
|
x-requirements: ["AC-ASA-41", "AC-AISVC-78"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: category
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [competitor, sensitive, political, custom]
|
|
|
|
|
|
description: "类别筛选"
|
|
|
|
|
|
- name: isEnabled
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
description: "启用状态筛选"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "禁词列表"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/ForbiddenWordInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "添加禁词"
|
|
|
|
|
|
operationId: "createForbiddenWord"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Guardrails
|
|
|
|
|
|
x-requirements: ["AC-ASA-42", "AC-AISVC-79"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/ForbiddenWordCreate"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'201':
|
|
|
|
|
|
description: "添加成功"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/ForbiddenWordInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/guardrails/forbidden-words/{wordId}:
|
|
|
|
|
|
put:
|
|
|
|
|
|
summary: "更新禁词"
|
|
|
|
|
|
operationId: "updateForbiddenWord"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Guardrails
|
|
|
|
|
|
x-requirements: ["AC-ASA-42", "AC-AISVC-80"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: wordId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/ForbiddenWordCreate"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "更新成功"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/ForbiddenWordInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
delete:
|
|
|
|
|
|
summary: "删除禁词"
|
|
|
|
|
|
operationId: "deleteForbiddenWord"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Guardrails
|
|
|
|
|
|
x-requirements: ["AC-ASA-42", "AC-AISVC-81"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: wordId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'204':
|
|
|
|
|
|
description: "删除成功"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/guardrails/behavior-rules:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询行为规则列表"
|
|
|
|
|
|
operationId: "listBehaviorRules"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Guardrails
|
|
|
|
|
|
x-requirements: ["AC-ASA-43", "AC-AISVC-84"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: category
|
|
|
|
|
|
in: query
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [compliance, tone, boundary, custom]
|
|
|
|
|
|
description: "类别筛选"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "行为规则列表"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/BehaviorRuleInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "添加行为规则"
|
|
|
|
|
|
operationId: "createBehaviorRule"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Guardrails
|
|
|
|
|
|
x-requirements: ["AC-ASA-44", "AC-AISVC-85"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/BehaviorRuleCreate"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'201':
|
|
|
|
|
|
description: "添加成功"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/BehaviorRuleInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/guardrails/behavior-rules/{ruleId}:
|
|
|
|
|
|
put:
|
|
|
|
|
|
summary: "更新行为规则"
|
|
|
|
|
|
operationId: "updateBehaviorRule"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Guardrails
|
|
|
|
|
|
x-requirements: ["AC-ASA-43", "AC-AISVC-85"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: ruleId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/BehaviorRuleCreate"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "更新成功"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/BehaviorRuleInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
delete:
|
|
|
|
|
|
summary: "删除行为规则"
|
|
|
|
|
|
operationId: "deleteBehaviorRule"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Guardrails
|
|
|
|
|
|
x-requirements: ["AC-ASA-43", "AC-AISVC-85"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: ruleId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'204':
|
|
|
|
|
|
description: "删除成功"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
2026-02-24 05:47:12 +00:00
|
|
|
|
|
2026-02-28 04:52:50 +00:00
|
|
|
|
# v0.7.0 新增 paths - 测试与监控
|
|
|
|
|
|
/admin/test/flow-execution:
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "完整流程测试"
|
|
|
|
|
|
operationId: "testFlowExecution"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Testing
|
|
|
|
|
|
x-requirements: ["AC-ASA-49", "AC-AISVC-93", "AC-AISVC-94", "AC-AISVC-95"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [message]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
message:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "测试消息"
|
|
|
|
|
|
sessionId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "会话 ID(可选)"
|
|
|
|
|
|
compareConfigs:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
description: "对比配置列表"
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
templateId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
kbIds:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
retrievalParams:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "流程执行结果"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
oneOf:
|
|
|
|
|
|
- $ref: "#/components/schemas/FlowExecutionResult"
|
|
|
|
|
|
- type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
comparisons:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/FlowExecutionResult"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/intent-rules/{ruleId}/test:
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "测试意图规则"
|
|
|
|
|
|
operationId: "testIntentRule"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Testing
|
|
|
|
|
|
x-requirements: ["AC-ASA-53", "AC-AISVC-96"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: ruleId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [message]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
message:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "测试消息"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "测试结果"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/IntentRuleTestResult"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
/admin/monitoring/intent-rules:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询意图规则监控统计"
|
|
|
|
|
|
operationId: "getIntentRuleStats"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Monitoring
|
|
|
|
|
|
x-requirements: ["AC-ASA-54", "AC-AISVC-97"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: startTime
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
- name: endTime
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
- name: responseType
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [flow, rag, fixed, transfer]
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "规则统计列表"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/IntentRuleStats"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/monitoring/intent-rules/{ruleId}/hits:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询意图规则命中记录"
|
|
|
|
|
|
operationId: "getIntentRuleHits"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Monitoring
|
|
|
|
|
|
x-requirements: ["AC-ASA-55", "AC-AISVC-98"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: ruleId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
- name: page
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 1
|
|
|
|
|
|
- name: pageSize
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 20
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "命中记录列表"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/IntentRuleHitRecord"
|
|
|
|
|
|
pagination:
|
|
|
|
|
|
$ref: "#/components/schemas/PageInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/prompt-templates/{tplId}/preview:
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "预览 Prompt 模板"
|
|
|
|
|
|
operationId: "previewPromptTemplate"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Testing
|
|
|
|
|
|
x-requirements: ["AC-ASA-56", "AC-AISVC-99"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: tplId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
variables:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
description: "变量测试值(key-value 对)"
|
|
|
|
|
|
additionalProperties:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "预览结果"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/PromptTemplatePreview"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/monitoring/prompt-templates:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询 Prompt 模板监控统计"
|
|
|
|
|
|
operationId: "getPromptTemplateStats"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Monitoring
|
|
|
|
|
|
x-requirements: ["AC-ASA-58", "AC-AISVC-100"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: scene
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "场景标签筛选"
|
|
|
|
|
|
- name: startTime
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
- name: endTime
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "模板统计列表"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/PromptTemplateStats"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/script-flows/{flowId}/simulate:
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "模拟执行话术流程"
|
|
|
|
|
|
operationId: "simulateScriptFlow"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Testing
|
|
|
|
|
|
x-requirements: ["AC-ASA-59", "AC-AISVC-101"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: flowId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "模拟执行结果"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/ScriptFlowSimulation"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/script-flows/{flowId}/simulate/{simulationId}/next:
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "推进话术流程模拟"
|
|
|
|
|
|
operationId: "simulateScriptFlowNext"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Testing
|
|
|
|
|
|
x-requirements: ["AC-ASA-59", "AC-AISVC-102"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: flowId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
- name: simulationId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [userInput]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
userInput:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "用户模拟输入"
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "下一步结果"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/ScriptFlowSimulation"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/monitoring/script-flows:
|
2026-02-24 06:20:22 +00:00
|
|
|
|
get:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
summary: "查询话术流程监控统计"
|
|
|
|
|
|
operationId: "getScriptFlowStats"
|
2026-02-24 06:20:22 +00:00
|
|
|
|
tags:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
- Monitoring
|
|
|
|
|
|
x-requirements: ["AC-ASA-60", "AC-AISVC-103"]
|
2026-02-24 06:20:22 +00:00
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
2026-02-28 04:52:50 +00:00
|
|
|
|
- name: startTime
|
2026-02-24 06:20:22 +00:00
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
2026-02-28 04:52:50 +00:00
|
|
|
|
format: date-time
|
|
|
|
|
|
- name: endTime
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "流程统计列表"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/ScriptFlowStats"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/monitoring/script-flows/{flowId}/executions:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询话术流程执行记录"
|
|
|
|
|
|
operationId: "getScriptFlowExecutions"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Monitoring
|
|
|
|
|
|
x-requirements: ["AC-ASA-61", "AC-AISVC-104"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: flowId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
2026-02-24 06:20:22 +00:00
|
|
|
|
- name: status
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
2026-02-28 04:52:50 +00:00
|
|
|
|
enum: [in_progress, completed, interrupted]
|
2026-02-24 06:20:22 +00:00
|
|
|
|
- name: page
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 1
|
|
|
|
|
|
- name: pageSize
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 20
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
2026-02-28 04:52:50 +00:00
|
|
|
|
description: "执行记录列表"
|
2026-02-24 06:20:22 +00:00
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
$ref: "#/components/schemas/ScriptFlowExecution"
|
2026-02-24 06:20:22 +00:00
|
|
|
|
pagination:
|
|
|
|
|
|
$ref: "#/components/schemas/PageInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
2026-02-28 04:52:50 +00:00
|
|
|
|
|
|
|
|
|
|
/admin/guardrails/test:
|
2026-02-24 05:47:12 +00:00
|
|
|
|
post:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
summary: "测试输出护栏"
|
|
|
|
|
|
operationId: "testGuardrail"
|
2026-02-24 05:47:12 +00:00
|
|
|
|
tags:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
- Testing
|
|
|
|
|
|
x-requirements: ["AC-ASA-62", "AC-AISVC-105"]
|
2026-02-24 05:47:12 +00:00
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
application/json:
|
2026-02-24 05:47:12 +00:00
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
2026-02-28 04:52:50 +00:00
|
|
|
|
required: [text]
|
2026-02-24 05:47:12 +00:00
|
|
|
|
properties:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
text:
|
2026-02-24 05:47:12 +00:00
|
|
|
|
type: string
|
2026-02-28 04:52:50 +00:00
|
|
|
|
description: "测试文本"
|
2026-02-24 05:47:12 +00:00
|
|
|
|
responses:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
'200':
|
|
|
|
|
|
description: "测试结果"
|
2026-02-24 05:47:12 +00:00
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
$ref: "#/components/schemas/GuardrailTestResult"
|
2026-02-24 05:47:12 +00:00
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
2026-02-28 04:52:50 +00:00
|
|
|
|
|
|
|
|
|
|
/admin/monitoring/guardrails:
|
2026-02-24 05:47:12 +00:00
|
|
|
|
get:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
summary: "查询输出护栏监控统计"
|
|
|
|
|
|
operationId: "getGuardrailStats"
|
2026-02-24 05:47:12 +00:00
|
|
|
|
tags:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
- Monitoring
|
|
|
|
|
|
x-requirements: ["AC-ASA-63", "AC-AISVC-106"]
|
2026-02-24 05:47:12 +00:00
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
2026-02-28 04:52:50 +00:00
|
|
|
|
- name: category
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [competitor, sensitive, political, custom]
|
|
|
|
|
|
- name: startTime
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
- name: endTime
|
|
|
|
|
|
in: query
|
2026-02-24 05:47:12 +00:00
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
2026-02-28 04:52:50 +00:00
|
|
|
|
format: date-time
|
2026-02-24 05:47:12 +00:00
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
2026-02-28 04:52:50 +00:00
|
|
|
|
description: "护栏统计列表"
|
2026-02-24 05:47:12 +00:00
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: "#/components/schemas/GuardrailStats"
|
2026-02-24 05:47:12 +00:00
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
2026-02-28 04:52:50 +00:00
|
|
|
|
|
|
|
|
|
|
/admin/monitoring/guardrails/{wordId}/blocks:
|
|
|
|
|
|
get:
|
|
|
|
|
|
summary: "查询禁词拦截记录"
|
|
|
|
|
|
operationId: "getGuardrailBlocks"
|
2026-02-24 05:47:12 +00:00
|
|
|
|
tags:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
- Monitoring
|
|
|
|
|
|
x-requirements: ["AC-ASA-64", "AC-AISVC-107"]
|
2026-02-24 05:47:12 +00:00
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
2026-02-28 04:52:50 +00:00
|
|
|
|
- name: wordId
|
|
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
- name: page
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 1
|
|
|
|
|
|
- name: pageSize
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 20
|
2026-02-24 05:47:12 +00:00
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
2026-02-28 04:52:50 +00:00
|
|
|
|
description: "拦截记录列表"
|
2026-02-24 05:47:12 +00:00
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
data:
|
2026-02-24 05:47:12 +00:00
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
$ref: "#/components/schemas/GuardrailBlockRecord"
|
|
|
|
|
|
pagination:
|
|
|
|
|
|
$ref: "#/components/schemas/PageInfo"
|
2026-02-24 05:47:12 +00:00
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
2026-02-28 04:52:50 +00:00
|
|
|
|
|
|
|
|
|
|
/admin/monitoring/conversations:
|
2026-02-24 06:20:22 +00:00
|
|
|
|
get:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
summary: "查询对话追踪列表"
|
|
|
|
|
|
operationId: "getConversations"
|
2026-02-24 06:20:22 +00:00
|
|
|
|
tags:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
- Monitoring
|
|
|
|
|
|
x-requirements: ["AC-ASA-65", "AC-AISVC-108"]
|
2026-02-24 06:20:22 +00:00
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
- name: startTime
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
- name: endTime
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
2026-02-28 04:52:50 +00:00
|
|
|
|
- name: ruleId
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "意图规则 ID 筛选"
|
|
|
|
|
|
- name: templateId
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "Prompt 模板 ID 筛选"
|
|
|
|
|
|
- name: flowId
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: "话术流程 ID 筛选"
|
2026-02-24 06:20:22 +00:00
|
|
|
|
- name: page
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 1
|
|
|
|
|
|
- name: pageSize
|
|
|
|
|
|
in: query
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
default: 20
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
2026-02-28 04:52:50 +00:00
|
|
|
|
description: "对话记录列表"
|
2026-02-24 06:20:22 +00:00
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
$ref: "#/components/schemas/ConversationRecord"
|
2026-02-24 06:20:22 +00:00
|
|
|
|
pagination:
|
|
|
|
|
|
$ref: "#/components/schemas/PageInfo"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
2026-02-28 04:52:50 +00:00
|
|
|
|
|
|
|
|
|
|
/admin/monitoring/conversations/{conversationId}:
|
2026-02-24 05:47:12 +00:00
|
|
|
|
get:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
summary: "查询对话执行链路详情"
|
|
|
|
|
|
operationId: "getConversationDetail"
|
2026-02-24 05:47:12 +00:00
|
|
|
|
tags:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
- Monitoring
|
|
|
|
|
|
x-requirements: ["AC-ASA-66", "AC-AISVC-109"]
|
2026-02-24 05:47:12 +00:00
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
2026-02-28 04:52:50 +00:00
|
|
|
|
- name: conversationId
|
2026-02-24 05:47:12 +00:00
|
|
|
|
in: path
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
2026-02-28 04:52:50 +00:00
|
|
|
|
description: "对话执行链路详情"
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: "#/components/schemas/FlowExecutionResult"
|
|
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
|
|
|
|
|
|
|
|
/admin/monitoring/conversations/export:
|
|
|
|
|
|
post:
|
|
|
|
|
|
summary: "导出对话记录"
|
|
|
|
|
|
operationId: "exportConversations"
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Monitoring
|
|
|
|
|
|
x-requirements: ["AC-ASA-68", "AC-AISVC-110"]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- $ref: "#/components/parameters/XTenantId"
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
format:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [json, csv]
|
|
|
|
|
|
default: json
|
|
|
|
|
|
startTime:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
endTime:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: date-time
|
|
|
|
|
|
filters:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ruleId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
templateId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
flowId:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: "导出文件"
|
2026-02-24 05:47:12 +00:00
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
2026-02-28 04:52:50 +00:00
|
|
|
|
downloadUrl:
|
2026-02-24 05:47:12 +00:00
|
|
|
|
type: string
|
2026-02-28 04:52:50 +00:00
|
|
|
|
description: "下载链接"
|
|
|
|
|
|
text/csv:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: binary
|
2026-02-24 05:47:12 +00:00
|
|
|
|
'401':
|
|
|
|
|
|
$ref: "#/components/responses/Unauthorized"
|
|
|
|
|
|
'403':
|
|
|
|
|
|
$ref: "#/components/responses/Forbidden"
|