Files
verify-invoice-default/assets/actions.json

417 lines
12 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"schemaVersion": 1,
"skill": "verify-invoice-default",
"actions": [
{
"id": "prereview-invoice",
"label": "票据合规预审",
"description": "录入发票结构化字段(可由发票照片识别后粘贴)与报销上下文,执行四步合规审核,生成红黄绿灯清单与《初审意见单》。",
"placements": ["agent", "toolbar"],
"executionProfile": "sync",
"interaction": "form",
"bind": {
"tables": ["invoice_records"]
},
"entrypoint": {
"type": "cli",
"command": "prereview",
"args": [
"--invoice-json", "{{invoiceJson}}",
"--purpose", "{{purpose}}",
"--project-no", "{{projectNo}}",
"--trip-start", "{{tripStart}}",
"--trip-end", "{{tripEnd}}",
"--trip-city", "{{tripCity}}",
"--staff-title", "{{staffTitle}}"
]
},
"inputSchema": {
"type": "object",
"properties": {
"invoiceJson": {
"type": "string",
"title": "发票字段 JSON",
"description": "单张发票对象或同批数组,字段如 invoiceNumber、issueDate、amount、buyerTaxNo、sellerName、expenseCategory、city、days。",
"display_type": "textarea"
},
"purpose": {
"type": "string",
"title": "报销事由",
"description": "本次报销的事由文字。可选。"
},
"projectNo": {
"type": "string",
"title": "预算项目编号",
"description": "系统带入的预算项目编号。可选。"
},
"tripStart": {
"type": "string",
"title": "出差开始日",
"description": "差旅审批的出发日期,格式 YYYY-MM-DD。差旅报销建议填写。",
"display_type": "date"
},
"tripEnd": {
"type": "string",
"title": "出差结束日",
"description": "差旅审批的返回日期,格式 YYYY-MM-DD。可选。",
"display_type": "date"
},
"tripCity": {
"type": "string",
"title": "目的地城市",
"description": "出差目的地,用于匹配住宿费城市等级。可选。"
},
"staffTitle": {
"type": "string",
"title": "职级",
"description": "报销人职级档位。",
"enum": ["副高及以上", "中级及以下"]
}
},
"required": ["invoiceJson"]
},
"hostEffects": {
"onSuccess": ["reloadTable"]
}
},
{
"id": "prereview-batch-input",
"label": "批量预审(input 目录)",
"description": "将多份发票字段 JSON 文件放入技能 input 目录后一键批量预审;任务中心可见进度。",
"placements": ["agent"],
"executionProfile": "async",
"entrypoint": {
"type": "cli",
"command": "prereview-batch-input",
"args": []
}
},
{
"id": "render-html",
"label": "生成初审意见单",
"description": "重建《初审意见单》HTML 报告并写入技能数据目录 html/(缺省重建最近 10 份)。",
"placements": ["toolbar", "skill-detail", "agent"],
"executionProfile": "sync",
"interaction": "direct",
"bind": {
"tables": ["prereview_reports"]
},
"entrypoint": {
"type": "cli",
"command": "render-html",
"args": []
},
"steps": [
{
"when": "afterSuccess",
"do": "refreshCatalog"
}
]
},
{
"id": "mark-verified",
"label": "回填查验结果",
"description": "在全国增值税发票查验平台核验后,回填该发票的人工查验结果;回填“不符”则结论升级为驳回。",
"placements": ["row"],
"executionProfile": "sync",
"interaction": "form",
"bind": {
"tables": ["prereview_reports"],
"inputMapping": {
"reportId": "{{id}}"
}
},
"entrypoint": {
"type": "cli",
"command": "mark-verified",
"args": [
"--report-id", "{{reportId}}",
"--result", "{{result}}",
"--note", "{{note}}"
]
},
"inputSchema": {
"type": "object",
"properties": {
"reportId": {
"type": "number",
"title": "报告编号",
"description": "初审意见单编号(由所在行预填)。"
},
"result": {
"type": "string",
"title": "查验结果",
"description": "在全国增值税发票查验平台的核验结论。",
"enum": ["pass", "fail"]
},
"note": {
"type": "string",
"title": "查验备注",
"description": "备注说明。可选。"
}
},
"required": ["reportId", "result"]
},
"hostEffects": {
"onSuccess": ["reloadTable"]
}
},
{
"id": "list-reports",
"label": "查询初审历史",
"description": "查看最近的票据预审结论列表。",
"placements": ["agent"],
"executionProfile": "sync",
"entrypoint": {
"type": "cli",
"command": "list-reports",
"args": [
"--limit", "{{limit}}",
"--verdict", "{{verdict}}"
]
},
"inputSchema": {
"type": "object",
"properties": {
"limit": {
"type": "number",
"title": "条数",
"description": "返回条数,默认 20。可选。"
},
"verdict": {
"type": "string",
"title": "结论筛选",
"description": "通过 / 待确认 / 驳回。可选。",
"enum": ["通过", "待确认", "驳回"]
}
}
}
},
{
"id": "view-standards",
"label": "查看经费标准",
"description": "查看住宿费上限与交通席位等级标准(城市等级 × 职级)。",
"placements": ["agent", "skill-detail"],
"executionProfile": "sync",
"entrypoint": {
"type": "cli",
"command": "view-standards",
"args": [
"--category", "{{category}}"
]
},
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"title": "费用类别",
"description": "住宿费 / 交通费。可选。",
"enum": ["住宿费", "交通费"]
}
}
}
},
{
"id": "set-standard",
"label": "更新经费标准",
"description": "按(费用类别、城市等级、职级)更新标准值;不存在时新增。",
"placements": ["row"],
"executionProfile": "sync",
"interaction": "form",
"bind": {
"tables": ["expense_standards"],
"inputMapping": {
"category": "{{category}}",
"cityTier": "{{city_tier}}",
"staffTitle": "{{staff_title}}"
}
},
"entrypoint": {
"type": "cli",
"command": "set-standard",
"args": [
"--category", "{{category}}",
"--city-tier", "{{cityTier}}",
"--staff-title", "{{staffTitle}}",
"--max-amount", "{{maxAmount}}",
"--unit", "{{unit}}",
"--basis-doc", "{{basisDoc}}",
"--clause", "{{clause}}"
]
},
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"title": "费用类别",
"description": "住宿费 / 交通费(由所在行预填)。"
},
"cityTier": {
"type": "string",
"title": "城市等级",
"description": "一线城市 / 省会及计划单列市 / 其他地区 / 通用(由所在行预填)。"
},
"staffTitle": {
"type": "string",
"title": "职级",
"description": "副高及以上 / 中级及以下(由所在行预填)。"
},
"maxAmount": {
"type": "number",
"title": "标准值",
"description": "新的标准值(住宿费为元/人/天)。"
},
"unit": {
"type": "string",
"title": "单位",
"description": "如 元/人/天。可选。"
},
"basisDoc": {
"type": "string",
"title": "依据文件",
"description": "标准出处文件名。可选。"
},
"clause": {
"type": "string",
"title": "条款",
"description": "标准出处条款号。可选。"
}
},
"required": ["category", "cityTier", "staffTitle", "maxAmount"]
},
"hostEffects": {
"onSuccess": ["reloadTable"]
}
},
{
"id": "add-whitelist",
"label": "新增税号白名单",
"description": "向准予报销的购买方税号白名单新增一条记录。",
"placements": ["toolbar"],
"executionProfile": "sync",
"interaction": "form",
"bind": {
"tables": ["taxid_whitelist"]
},
"entrypoint": {
"type": "cli",
"command": "add-whitelist",
"args": [
"--tax-no", "{{taxNo}}",
"--name", "{{orgName}}",
"--note", "{{note}}"
]
},
"inputSchema": {
"type": "object",
"properties": {
"taxNo": {
"type": "string",
"title": "税号",
"description": "购买方统一社会信用代码。"
},
"orgName": {
"type": "string",
"title": "单位名称",
"description": "税号对应单位全称。"
},
"note": {
"type": "string",
"title": "备注",
"description": "维护说明。可选。"
}
},
"required": ["taxNo", "orgName"]
},
"hostEffects": {
"onSuccess": ["reloadTable"]
}
},
{
"id": "remove-whitelist",
"label": "删除税号",
"description": "从税号白名单中删除该条记录。",
"placements": ["row"],
"executionProfile": "sync",
"interaction": "form",
"bind": {
"tables": ["taxid_whitelist"],
"inputMapping": {
"taxNo": "{{tax_no}}"
}
},
"entrypoint": {
"type": "cli",
"command": "remove-whitelist",
"args": [
"--tax-no", "{{taxNo}}"
]
},
"inputSchema": {
"type": "object",
"properties": {
"taxNo": {
"type": "string",
"title": "税号",
"description": "要删除的税号(由所在行预填)。"
}
},
"required": ["taxNo"]
},
"hostEffects": {
"onSuccess": ["reloadTable"]
}
},
{
"id": "stats",
"label": "预审统计",
"description": "查看预审总量、通过/待确认/驳回分布与集中开票商家。",
"placements": ["agent", "skill-detail"],
"executionProfile": "sync",
"entrypoint": {
"type": "cli",
"command": "stats",
"args": []
}
},
{
"id": "health",
"label": "运行检查",
"description": "检查技能运行环境并返回结构化结果。",
"placements": ["skill-detail"],
"executionProfile": "sync",
"entrypoint": {
"type": "cli",
"command": "health",
"args": []
}
},
{
"id": "version",
"label": "查看版本",
"description": "返回技能版本和机器标识。",
"placements": ["skill-detail"],
"executionProfile": "sync",
"entrypoint": {
"type": "cli",
"command": "version",
"args": []
}
},
{
"id": "config-path",
"label": "查看配置位置",
"description": "返回用户 .env 与模板路径。",
"placements": ["skill-detail"],
"executionProfile": "sync",
"entrypoint": {
"type": "cli",
"command": "config-path",
"args": []
}
}
]
}