{ "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": [] } } ] }