250 lines
10 KiB
JavaScript
250 lines
10 KiB
JavaScript
|
|
import { computed, ref } from 'vue'
|
|||
|
|
|
|||
|
|
export default {
|
|||
|
|
name: 'AuditView' ,
|
|||
|
|
setup(props, { emit }) {
|
|||
|
|
const tabs = ['全部技能', '已上线', '草稿中', '待评审', '异常告警']
|
|||
|
|
const filters = ['按分类筛选', '按模型筛选', '按负责人筛选']
|
|||
|
|
const activeTab = ref(tabs[0])
|
|||
|
|
const selectedSkill = ref(null)
|
|||
|
|
|
|||
|
|
const skills = [
|
|||
|
|
{
|
|||
|
|
id: 'SKL-001',
|
|||
|
|
short: 'TR',
|
|||
|
|
name: '差旅申请助手',
|
|||
|
|
summary: '生成出差申请、补齐行程信息并关联预订动作。',
|
|||
|
|
category: '流程型 Skill',
|
|||
|
|
owner: '张晓明',
|
|||
|
|
scope: '员工自助',
|
|||
|
|
model: 'GPT-5.4',
|
|||
|
|
version: 'v2.3',
|
|||
|
|
status: '已上线',
|
|||
|
|
statusTone: 'success',
|
|||
|
|
hitRate: '92.6%',
|
|||
|
|
updatedAt: '2026-05-05 09:20',
|
|||
|
|
badgeTone: 'emerald',
|
|||
|
|
triggerMode: '显式入口 + 语义触发',
|
|||
|
|
spotlight: true,
|
|||
|
|
promptSections: [
|
|||
|
|
{
|
|||
|
|
title: '系统定位',
|
|||
|
|
intent: '约束 Skill 目标与边界',
|
|||
|
|
content: '负责帮助员工完成差旅申请草稿生成、行程补齐和预订前核对。禁止直接跳过必要审批节点。'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '输入预期',
|
|||
|
|
intent: '定义需要抽取的字段',
|
|||
|
|
content: '抽取出发地、目的地、出差日期、事由、同行人、预算中心与是否需要预订机票/酒店。缺失时逐步追问。'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '输出格式',
|
|||
|
|
intent: '约束最终返回结构',
|
|||
|
|
content: '输出申请摘要、缺失项清单、下一步操作建议。若信息齐全,生成结构化草稿并提示用户确认。'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
outputRules: [
|
|||
|
|
'优先返回结构化摘要,再给行动建议。',
|
|||
|
|
'缺失信息必须列成 checklist,不可混写在段落里。',
|
|||
|
|
'遇到预算冲突时必须提示人工审批节点。'
|
|||
|
|
],
|
|||
|
|
tests: [
|
|||
|
|
{ name: '基础申请生成', input: '北京到上海,后天出差两天', result: '通过', tone: 'success' },
|
|||
|
|
{ name: '缺失预算中心追问', input: '我要去深圳见客户', result: '通过', tone: 'success' },
|
|||
|
|
{ name: '异常日期冲突', input: '返回日期早于出发日期', result: '待修复', tone: 'warning' }
|
|||
|
|
],
|
|||
|
|
triggers: ['差旅申请', '出差申请', '预订机票', '补齐行程'],
|
|||
|
|
tools: [
|
|||
|
|
{ name: '预订系统 API', scope: '机票 / 酒店查询', mode: '只读', tone: 'safe' },
|
|||
|
|
{ name: '报销草稿生成器', scope: '创建申请草稿', mode: '写入', tone: 'active' },
|
|||
|
|
{ name: '预算中心校验', scope: '预算占用校验', mode: '校验', tone: 'safe' }
|
|||
|
|
],
|
|||
|
|
history: [
|
|||
|
|
{ version: 'v2.3', note: '补充预算冲突追问逻辑', time: '05-05 09:20' },
|
|||
|
|
{ version: 'v2.2', note: '优化酒店预订字段抽取', time: '05-01 17:45' },
|
|||
|
|
{ version: 'v2.1', note: '新增同行人识别', time: '04-28 11:10' }
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
id: 'SKL-002',
|
|||
|
|
short: 'AU',
|
|||
|
|
name: '审批意见生成器',
|
|||
|
|
summary: '基于单据、风险点和制度命中结果生成审批意见。',
|
|||
|
|
category: '审核型 Skill',
|
|||
|
|
owner: '李文静',
|
|||
|
|
scope: '财务审批',
|
|||
|
|
model: 'GPT-5.4',
|
|||
|
|
version: 'v1.8',
|
|||
|
|
status: '待评审',
|
|||
|
|
statusTone: 'warning',
|
|||
|
|
hitRate: '88.4%',
|
|||
|
|
updatedAt: '2026-05-04 19:10',
|
|||
|
|
badgeTone: 'violet',
|
|||
|
|
triggerMode: '审批中心按钮触发',
|
|||
|
|
promptSections: [
|
|||
|
|
{
|
|||
|
|
title: '系统定位',
|
|||
|
|
intent: '聚焦审批建议生成',
|
|||
|
|
content: '读取单据、制度命中和风险标签后,生成可直接复用的审批意见,不代替最终审批决定。'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '输入预期',
|
|||
|
|
intent: '依赖字段',
|
|||
|
|
content: '依赖报销类型、金额、风险项、附件齐备情况、历史审批结论。'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '输出格式',
|
|||
|
|
intent: '生成标准话术',
|
|||
|
|
content: '输出通过 / 驳回 / 补件三种意见模板,并附上判断依据。'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
outputRules: [
|
|||
|
|
'意见必须引用风险点或制度条款作为依据。',
|
|||
|
|
'驳回类结论需明确补充动作。',
|
|||
|
|
'避免输出过长段落,优先三段式表达。'
|
|||
|
|
],
|
|||
|
|
tests: [
|
|||
|
|
{ name: '高风险驳回意见', input: '重复发票 + 缺附件', result: '通过', tone: 'success' },
|
|||
|
|
{ name: '低风险通过意见', input: '规则全通过', result: '通过', tone: 'success' },
|
|||
|
|
{ name: '混合场景表达', input: '超标但说明充分', result: '评审中', tone: 'warning' }
|
|||
|
|
],
|
|||
|
|
triggers: ['生成审批意见', '通过意见', '驳回意见', '补件说明'],
|
|||
|
|
tools: [
|
|||
|
|
{ name: '审批单据上下文', scope: '当前单据读取', mode: '只读', tone: 'safe' },
|
|||
|
|
{ name: '制度命中服务', scope: '条款引用', mode: '校验', tone: 'safe' },
|
|||
|
|
{ name: '审批结果写回', scope: '保存意见', mode: '写入', tone: 'active' }
|
|||
|
|
],
|
|||
|
|
history: [
|
|||
|
|
{ version: 'v1.8', note: '调整高风险话术严谨度', time: '05-04 19:10' },
|
|||
|
|
{ version: 'v1.7', note: '补充制度条款引用模板', time: '05-02 10:30' }
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
id: 'SKL-003',
|
|||
|
|
short: 'KB',
|
|||
|
|
name: '知识检索编排器',
|
|||
|
|
summary: '根据问题意图匹配制度、FAQ 与最近更新文档。',
|
|||
|
|
category: '知识型 Skill',
|
|||
|
|
owner: '王磊',
|
|||
|
|
scope: '知识管理',
|
|||
|
|
model: 'GPT-5.2',
|
|||
|
|
version: 'v3.1',
|
|||
|
|
status: '已上线',
|
|||
|
|
statusTone: 'success',
|
|||
|
|
hitRate: '94.1%',
|
|||
|
|
updatedAt: '2026-05-03 15:40',
|
|||
|
|
badgeTone: 'blue',
|
|||
|
|
triggerMode: '问答语义召回',
|
|||
|
|
promptSections: [
|
|||
|
|
{
|
|||
|
|
title: '系统定位',
|
|||
|
|
intent: '文档命中与答案编排',
|
|||
|
|
content: '识别问题主题后,优先召回制度文档、FAQ 与近期更新资料,再组织成引用式回答。'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '输入预期',
|
|||
|
|
intent: '需要识别的意图',
|
|||
|
|
content: '识别报销、发票、差旅、借款、预算等主题,以及用户是否在追问例外情况。'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '输出格式',
|
|||
|
|
intent: '答案结构',
|
|||
|
|
content: '先结论,再条款引用,再相关文档链接。若知识不足,明确提示未命中。'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
outputRules: [
|
|||
|
|
'必须区分“制度原文依据”和“解释性建议”。',
|
|||
|
|
'引用命中不足时,不可编造制度条款。',
|
|||
|
|
'输出需附上最近更新时间。'
|
|||
|
|
],
|
|||
|
|
tests: [
|
|||
|
|
{ name: '标准知识问答', input: '住宿超标怎么办', result: '通过', tone: 'success' },
|
|||
|
|
{ name: '跨文档综合问答', input: '差旅借款后如何冲销', result: '通过', tone: 'success' }
|
|||
|
|
],
|
|||
|
|
triggers: ['制度查询', '差旅标准', '发票规范', '借款冲销'],
|
|||
|
|
tools: [
|
|||
|
|
{ name: '知识库索引', scope: '文档召回', mode: '只读', tone: 'safe' },
|
|||
|
|
{ name: 'FAQ 排序器', scope: '答案重排', mode: '校验', tone: 'safe' }
|
|||
|
|
],
|
|||
|
|
history: [
|
|||
|
|
{ version: 'v3.1', note: '加入最近更新知识优先级', time: '05-03 15:40' },
|
|||
|
|
{ version: 'v3.0', note: '知识命中格式重构', time: '04-29 18:20' }
|
|||
|
|
]
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
id: 'SKL-004',
|
|||
|
|
short: 'RK',
|
|||
|
|
name: '风险解释助手',
|
|||
|
|
summary: '向员工解释拦截原因,并给出补件或修正建议。',
|
|||
|
|
category: '解释型 Skill',
|
|||
|
|
owner: '陈杰',
|
|||
|
|
scope: '员工自助',
|
|||
|
|
model: 'GPT-5.4-Mini',
|
|||
|
|
version: 'v1.4',
|
|||
|
|
status: '草稿中',
|
|||
|
|
statusTone: 'draft',
|
|||
|
|
hitRate: '79.8%',
|
|||
|
|
updatedAt: '2026-05-02 11:05',
|
|||
|
|
badgeTone: 'amber',
|
|||
|
|
triggerMode: '风险拦截后提示入口',
|
|||
|
|
promptSections: [
|
|||
|
|
{
|
|||
|
|
title: '系统定位',
|
|||
|
|
intent: '解释风控结论',
|
|||
|
|
content: '将复杂风控规则解释成员工可执行的修正动作,不暴露内部评分细节。'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '输入预期',
|
|||
|
|
intent: '关注异常标签',
|
|||
|
|
content: '读取异常标签、相关票据、制度限制和当前流程节点。'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '输出格式',
|
|||
|
|
intent: '行动导向',
|
|||
|
|
content: '按“原因 - 影响 - 处理建议”输出,不使用过于生硬的审计口吻。'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
outputRules: [
|
|||
|
|
'建议必须可以执行,避免空泛表述。',
|
|||
|
|
'不展示内部风控分值。',
|
|||
|
|
'涉及附件缺失时输出具体材料名称。'
|
|||
|
|
],
|
|||
|
|
tests: [
|
|||
|
|
{ name: '住宿超标解释', input: '酒店单晚超标 18%', result: '通过', tone: 'success' },
|
|||
|
|
{ name: '重复发票风险解释', input: '发票号重复', result: '待修复', tone: 'warning' }
|
|||
|
|
],
|
|||
|
|
triggers: ['为什么被拦截', '风险原因', '补件说明'],
|
|||
|
|
tools: [
|
|||
|
|
{ name: '风险标签读取', scope: '异常原因', mode: '只读', tone: 'safe' },
|
|||
|
|
{ name: '制度比对服务', scope: '规则解释', mode: '校验', tone: 'safe' }
|
|||
|
|
],
|
|||
|
|
history: [
|
|||
|
|
{ version: 'v1.4', note: '新增补件导向模板', time: '05-02 11:05' },
|
|||
|
|
{ version: 'v1.3', note: '优化语气控制', time: '04-30 16:48' }
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
const visibleSkills = computed(() => {
|
|||
|
|
if (activeTab.value === '全部技能') return skills
|
|||
|
|
const map = {
|
|||
|
|
已上线: '已上线',
|
|||
|
|
草稿中: '草稿中',
|
|||
|
|
待评审: '待评审',
|
|||
|
|
异常告警: '异常告警'
|
|||
|
|
}
|
|||
|
|
return skills.filter((item) => item.status === map[activeTab.value])
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
return {
|
|||
|
|
tabs,
|
|||
|
|
filters,
|
|||
|
|
activeTab,
|
|||
|
|
selectedSkill,
|
|||
|
|
skills,
|
|||
|
|
visibleSkills
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|