weaver-work-cli 0.1.26 → 0.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -2
- package/dist/cmd/setup/index.js +1 -1
- package/dist/internal/e10/auth/commands.js +1 -6
- package/dist/internal/e10/auth/messages.js +3 -0
- package/dist/internal/e10/auth/session.js +8 -0
- package/dist/internal/e10/auth-recovery.js +148 -0
- package/dist/internal/e10/client.js +47 -15
- package/dist/internal/e10/context.js +8 -8
- package/dist/internal/e10/index.js +1 -0
- package/dist/internal/e10/request-runtime.js +51 -9
- package/dist/shortcuts/archive/host.js +3 -2
- package/dist/shortcuts/archive/manifest.js +1 -1
- package/dist/shortcuts/archive-oa/host.js +2 -1
- package/dist/shortcuts/archive-oa/manifest.js +1 -1
- package/dist/shortcuts/asset/host.js +7 -6
- package/dist/shortcuts/blog/host.js +4 -3
- package/dist/shortcuts/caizhilian/host.js +3 -2
- package/dist/shortcuts/caizhilian/manifest.js +1 -1
- package/dist/shortcuts/calendar/host.js +2 -1
- package/dist/shortcuts/contract/host.js +34 -59
- package/dist/shortcuts/ehr/host.js +2 -1
- package/dist/shortcuts/esb/host.js +2 -1
- package/dist/shortcuts/fna/host.js +6 -3
- package/dist/shortcuts/fna/manifest.js +10 -5
- package/dist/shortcuts/fna/operations/expense-chart.js +162 -0
- package/dist/shortcuts/fna/operations/registry.js +2 -0
- package/dist/shortcuts/hrm/host.js +2 -1
- package/dist/shortcuts/im/host.js +3 -2
- package/dist/shortcuts/invoice/host.js +9 -7
- package/dist/shortcuts/invoice/manifest.js +23 -142
- package/dist/shortcuts/invoice/operations/issuing-qys.js +266 -203
- package/dist/shortcuts/invoice/operations/registry.js +1 -6
- package/dist/shortcuts/jiuchuanhui/host.js +2 -1
- package/dist/shortcuts/mail/host.js +2 -1
- package/dist/shortcuts/meeting/host.js +2 -1
- package/dist/shortcuts/meeting/operations/eb/conflict.js +78 -12
- package/dist/shortcuts/okr/host.js +2 -1
- package/dist/shortcuts/plan/host.js +2 -1
- package/dist/shortcuts/project/host.js +2 -1
- package/dist/shortcuts/workflow/host.js +3 -5
- package/dist/shortcuts/workflow/index.js +4 -1
- package/dist/shortcuts/workflow/operations/chatscene.js +4 -22
- package/dist/shortcuts/workflow/operations/form.js +281 -166
- package/dist/shortcuts/workflow/operations/read.js +39 -8
- package/dist/shortcuts/workflow/operations/registry.js +2 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/businessRules.js +331 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/detailFieldRules.js +133 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/summaryCache.js +326 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoDetailCache.js +113 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoDetailFetcher.js +259 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoListRows.js +64 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoOutputPlanner.js +28 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.aggregate.js +70 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.collect.js +267 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.core.js +392 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.detail.js +165 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.group.js +448 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.groupSummary.js +348 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.js +222 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.pipeline.js +66 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.smartGroup.js +502 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.summary.js +540 -0
- package/dist/shortcuts/workflow/stdout-compact.js +7 -0
- package/docs/SKILL.md +1 -1
- package/docs/_catalog.md +2 -1
- package/docs/agent-invoice.md +1 -1
- package/docs/caizhilian.md +1 -1
- package/docs/e10-auth.md +1 -1
- package/docs/fna.md +7 -3
- package/docs/invoice.md +4 -6
- package/docs/todo-smart-convert/README.md +171 -0
- package/docs/todo-smart-convert/data-contract.md +236 -0
- package/docs/todo-smart-convert/mock/ai-todo-query-target.json +209 -0
- package/docs/todo-smart-convert/subgroup-rules.md +245 -0
- package/package.json +1 -1
- package/scripts/package-skill.mjs +1 -1
- package/skill-template/business-info.json +4 -1
- package/skill-template/domains/caizhilian.md +2 -1
- package/skill-template/domains/qiyecheng.md +1 -0
- package/skill-template/domains/yepiaotong.md +6 -2
- package/skill-template/skill-template.md +1 -0
- package/skills/weaver-e10-blog/SKILL.md +6 -1
- package/skills/weaver-e10-blog/references/blog-query.md +3 -1
- package/skills/weaver-e10-caizhilian/SKILL.md +18 -9
- package/skills/weaver-e10-caizhilian/references/action-flow.md +70 -0
- package/skills/weaver-e10-caizhilian/references/agent-entry.md +6 -2
- package/skills/weaver-e10-caizhilian/references/auth-and-install.md +207 -0
- package/skills/weaver-e10-caizhilian/references/file-collection.md +56 -54
- package/skills/weaver-e10-caizhilian/references/file-upload.md +4 -4
- package/skills/weaver-e10-caizhilian/references/host-executor-prompt.md +32 -0
- package/skills/weaver-e10-caizhilian/references/host-platform-integration.md +46 -0
- package/skills/weaver-e10-caizhilian/references/rule-index.md +56 -0
- package/skills/weaver-e10-caizhilian/references/setting-attach.md +5 -16
- package/skills/weaver-e10-caizhilian/references/setting-backup.md +4 -13
- package/skills/weaver-e10-caizhilian/references/setting-encrypt.md +6 -15
- package/skills/weaver-e10-caizhilian/references/setting-storage-docs-summary.md +126 -0
- package/skills/weaver-e10-caizhilian/references/setting-storage-field-map.md +57 -0
- package/skills/weaver-e10-caizhilian/references/setting-storage.md +142 -482
- package/skills/weaver-e10-caizhilian/references/source-manifest.json +7 -7
- package/skills/weaver-e10-caizhilian/references/task-workflow.md +87 -0
- package/skills/weaver-e10-caizhilian/references/withheld.md +2 -2
- package/skills/weaver-e10-caizhilian/references/write-protocol.md +7 -0
- package/skills/weaver-e10-calendar/SKILL.md +6 -1
- package/skills/weaver-e10-esb/SKILL.md +8 -0
- package/skills/weaver-e10-esb/references/input-format.md +3 -1
- package/skills/weaver-e10-esb/references/source-manifest.json +5 -5
- package/skills/weaver-e10-hrm/SKILL.md +6 -1
- package/skills/weaver-e10-hrm/references/employee.md +1 -1
- package/skills/weaver-e10-hrm/references/org.md +1 -1
- package/skills/weaver-e10-hrm/references/position.md +1 -1
- package/skills/weaver-e10-jinchengda/SKILL.md +2 -1
- package/skills/weaver-e10-jinchengda/references/contract-agent-entry.md +1 -1
- package/skills/weaver-e10-jiuchuanhui/SKILL.md +6 -1
- package/skills/weaver-e10-jucailin/SKILL.md +6 -1
- package/skills/weaver-e10-jucailin/references/hr-contact.md +1 -1
- package/skills/weaver-e10-jucailin/references/salary.md +1 -1
- package/skills/weaver-e10-mail/SKILL.md +6 -1
- package/skills/weaver-e10-meeting/SKILL.md +11 -6
- package/skills/weaver-e10-meeting/references/meeting-eb.md +7 -3
- package/skills/weaver-e10-meeting/references/meeting-queries.md +3 -1
- package/skills/weaver-e10-meeting/references/meeting-verification.md +4 -2
- package/skills/weaver-e10-okr/SKILL.md +6 -1
- package/skills/weaver-e10-okr/references/source-manifest.json +5 -5
- package/skills/weaver-e10-plan/SKILL.md +6 -1
- package/skills/weaver-e10-plan/references/plan-overview-and-routing.md +3 -1
- package/skills/weaver-e10-plan/references/plan-report-query.md +3 -1
- package/skills/weaver-e10-plan/references/source-manifest.json +7 -7
- package/skills/weaver-e10-qiyecheng/SKILL.md +16 -6
- package/skills/weaver-e10-qiyecheng/references/catalog.md +6 -3
- package/skills/weaver-e10-qiyecheng/references/expense-center.md +2 -0
- package/skills/weaver-e10-qiyecheng/references/expense-chart.md +78 -0
- package/skills/weaver-e10-qiyecheng/references/source-manifest.json +87 -33
- package/skills/weaver-e10-shared/SKILL.md +37 -14
- package/skills/weaver-e10-shared/references/e10-auth-and-session.md +11 -8
- package/skills/weaver-e10-shared/references/non-interactive-environment.md +4 -4
- package/skills/weaver-e10-shared/references/weaver-e10-installation.md +3 -1
- package/skills/weaver-e10-wenshuding/SKILL.md +6 -1
- package/skills/weaver-e10-wenshuding/references/source-manifest.json +3 -3
- package/skills/weaver-e10-workflow/SKILL.md +23 -1
- package/skills/weaver-e10-workflow/references/source-manifest.json +1 -2
- package/skills/weaver-e10-workflow/references/todo-smart-convert.md +282 -0
- package/skills/weaver-e10-workflow/references/workflow-create.md +30 -55
- package/skills/weaver-e10-workflow/scripts/todo-summary.cjs +695 -0
- package/skills/weaver-e10-yepiaotong/SKILL.md +19 -17
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +75 -78
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-form-fill-rules.md +179 -0
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-workflow.md +238 -0
- package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +7 -7
- package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +11 -5
- package/skills/weaver-e10-yepiaotong/references/reim-examples.md +55 -33
- package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +102 -23
- package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +1 -1
- package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +53 -42
- package/skills/weaver-e10-yepiaotong/references/source-manifest.json +94 -214
- package/skills/weaver-e10-yimiaoban/SKILL.md +9 -2
- package/skills/weaver-e10-yimiaoban/references/file-user-i18n.md +1 -1
- package/skills/weaver-e10-yimiaoban/references/msg-read.md +1 -1
- package/skills/weaver-e10-yimiaoban/references/source-manifest.json +9 -9
- package/skills/weaver-e10-ziguanjia/SKILL.md +6 -1
- package/dist/shortcuts/invoice/operations/issuing.js +0 -198
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-field-rules.md +0 -161
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-qys-ledger.md +0 -66
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing.md +0 -107
|
@@ -682,7 +682,7 @@
|
|
|
682
682
|
}
|
|
683
683
|
},
|
|
684
684
|
"artifactBaseline": {
|
|
685
|
-
"aggregateSha256": "
|
|
685
|
+
"aggregateSha256": "409dbb3e91997fcc6dadffbdd27f41a89d79a22c39135240738219b6010846cb",
|
|
686
686
|
"files": [
|
|
687
687
|
{
|
|
688
688
|
"path": "src/shortcuts/plan/index.ts",
|
|
@@ -771,8 +771,8 @@
|
|
|
771
771
|
{
|
|
772
772
|
"path": "skills/weaver-e10-plan/SKILL.md",
|
|
773
773
|
"role": "generated-skill-entry",
|
|
774
|
-
"size":
|
|
775
|
-
"sha256": "
|
|
774
|
+
"size": 14533,
|
|
775
|
+
"sha256": "8cc64e590e9b107b88a4e82fe886f3717fe3f5c229b02f1c73b90eff280aaf5c"
|
|
776
776
|
},
|
|
777
777
|
{
|
|
778
778
|
"path": "skill-template/product.json",
|
|
@@ -783,14 +783,14 @@
|
|
|
783
783
|
{
|
|
784
784
|
"path": "skills/weaver-e10-plan/references/plan-overview-and-routing.md",
|
|
785
785
|
"role": "generated-reference",
|
|
786
|
-
"size":
|
|
787
|
-
"sha256": "
|
|
786
|
+
"size": 8800,
|
|
787
|
+
"sha256": "9e8b84cc7aabfea49b3901cc1635abec5f22c062c35636bb7fdb50442e83702b"
|
|
788
788
|
},
|
|
789
789
|
{
|
|
790
790
|
"path": "skills/weaver-e10-plan/references/plan-report-query.md",
|
|
791
791
|
"role": "generated-reference",
|
|
792
|
-
"size":
|
|
793
|
-
"sha256": "
|
|
792
|
+
"size": 6562,
|
|
793
|
+
"sha256": "a4ae9773b4e5d0421b7c1d55bf440552aa0d7eaae9da9b6aa3706ac4cbbc327c"
|
|
794
794
|
},
|
|
795
795
|
{
|
|
796
796
|
"path": "skills/weaver-e10-plan/references/plan-report-write.md",
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
name: weaver-e10-qiyecheng
|
|
3
3
|
display_name: 泛微齐业成费控
|
|
4
4
|
display_name_en: Weaver Qiyecheng FNA
|
|
5
|
-
description:
|
|
6
|
-
description_zh:
|
|
7
|
-
description_en: Expense, budget and loan assistant for Weaver Qiyecheng FNA. Queries pre-application budget details, budget execution reports, reimbursed/loan/prepay amounts, company-wide loan summary and list, invoice write-off summary and list. Sends repayment reminders and invoice call-tickets through the weaver-work-cli fna command with a prepare/apply confirmation chain.
|
|
8
|
-
version: 1.0.
|
|
5
|
+
description: 泛微齐业成费控中心(预算查询/费用中心/报销报表/借款管理/发票核销)的 E10 查询与提醒写操作能力,通过 weaver-work-cli fna 命令执行。
|
|
6
|
+
description_zh: 泛微齐业成费控中心助手:事前申请单预算详情、预算执行报表、报销/借款/预付核销金额、报销报表 AI 问答(自然语言出部门/期间/费用类型分组报表)、全公司借款汇总与列表、提醒还款、发票核销金额与列表、催票。所有能力通过 weaver-work-cli fna 命令执行,提醒还款与催票为写操作,必须先 prepare 预览并经用户明确确认后 apply。
|
|
7
|
+
description_en: Expense, budget and loan assistant for Weaver Qiyecheng FNA. Queries pre-application budget details, budget execution reports, reimbursed/loan/prepay amounts, natural-language expense reports (grouping by department, period or expense type), company-wide loan summary and list, invoice write-off summary and list. Sends repayment reminders and invoice call-tickets through the weaver-work-cli fna command with a prepare/apply confirmation chain.
|
|
8
|
+
version: 1.0.4
|
|
9
9
|
author: 泛微网络科技股份有限公司
|
|
10
10
|
agent_created: true
|
|
11
11
|
requires:
|
|
@@ -24,7 +24,7 @@ cliHelp: "weaver-work-cli fna --help"
|
|
|
24
24
|
|
|
25
25
|
## 适用场景(何时使用本技能)
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
用户提到事前申请单预算、预算执行报表、报销/借款/预付核销金额、报销报表 AI 问答(部门/期间/费用类型分组、排名、趋势)、全公司借款汇总与列表、提醒还款、发票核销金额与列表或催票时,使用本技能。
|
|
28
28
|
|
|
29
29
|
发票票夹与 OCR 走 `weaver-e10-yepiaotong`,人员与流程 ID 解析不属于本技能范围。
|
|
30
30
|
|
|
@@ -39,6 +39,7 @@ cliHelp: "weaver-work-cli fna --help"
|
|
|
39
39
|
|---|---|---|
|
|
40
40
|
| 预算查询 | 事前申请单预算详情、预算执行报表(只读) | 登录即可(接口公开) |
|
|
41
41
|
| 费用中心 | 报销金额合计、借款金额分段、预付核销金额(只读) | 登录即可(默认当前登录人) |
|
|
42
|
+
| 报销报表 AI 问答 | 自然语言问题 → AI 生成 SQL → 部门/期间/费用类型等分组报表(只读,每次消耗一次大模型对话 + 一次 SQL) | 登录即可(接口公开,结果可能是全租户范围) |
|
|
42
43
|
| 借款管理 | 全公司待还/还款中汇总、全员借款单列表(只读);提醒还款(写) | 管理员 |
|
|
43
44
|
| 发票核销财务 | 金额 tab 汇总、核销列表(只读);催票(写) | 财务/管理员 |
|
|
44
45
|
|
|
@@ -49,6 +50,7 @@ cliHelp: "weaver-work-cli fna --help"
|
|
|
49
50
|
- 「这个事前申请单预算还剩多少」「某 requestId 的预算情况」→ `fna.budget.application.detail`
|
|
50
51
|
- 「预算执行报表」「某模板/部门/期间预算执行情况」→ `fna.budget.execute.list`
|
|
51
52
|
- 「我/某人某段时间报销了多少」→ `fna.expense.reimbursed.sum`
|
|
53
|
+
- 「本月各部门报销金额排名」「按月份/费用类型统计报销金额」「报销金额 TOP10」→ `fna.expense.chart`
|
|
52
54
|
- 「还有多少借款没还」「各状态借款金额/笔数」→ `fna.expense.loan.sum`
|
|
53
55
|
- 「预付核销进度」「未到账多少」→ `fna.expense.prepay.writeoff.sum`
|
|
54
56
|
- 「全公司待还款/还款中多少钱」→ `fna.loan.main.page`
|
|
@@ -67,6 +69,7 @@ cliHelp: "weaver-work-cli fna --help"
|
|
|
67
69
|
| `fna.expense.reimbursed.sum` | read | 报销金额合计(body 可为空) |
|
|
68
70
|
| `fna.expense.loan.sum` | read | 借款金额分段汇总(已知缺陷:仅统计首条借款记录;瞬时空响应自动重试) |
|
|
69
71
|
| `fna.expense.prepay.writeoff.sum` | read | 预付核销金额汇总 |
|
|
72
|
+
| `fna.expense.chart` | read | 报销报表 AI 问答(userInput 必填;按 data.kind=rows/empty/clarify/blocked/unexpected 判成败;每次消耗一次大模型对话 + 一次 SQL) |
|
|
70
73
|
| `fna.loan.main.page` | read | 借款首页汇总(dhk/hkz) |
|
|
71
74
|
| `fna.loan.main.list` | read | 借款首页列表(menuCode/permissionSetCode 必填) |
|
|
72
75
|
| `fna.loan.remind.repay.prepare` | write | 提醒还款预览(不发送) |
|
|
@@ -83,6 +86,7 @@ cliHelp: "weaver-work-cli fna --help"
|
|
|
83
86
|
- 金额双套口径:`data` 原始精度字符串(计算)、`displayData` 格式化(展示/回传);金额单位为元。
|
|
84
87
|
- 费用中心日期口径不同:报销按明细费用日期、借款按流程创建时间、预付核销按核销记录创建时间。
|
|
85
88
|
- 借款费用中心接口 requestId/employeeId/workflowId 只认**数字**(字符串会静默返回空);超 2^53 的巨型 ID 保留字符串并提示人工核验。
|
|
89
|
+
- `fna.expense.chart` 是二开接口(`/api/secondev/fna/getExpenseChart`):服务端只把当前人/当前部门作为**提示文本**拼进 prompt,不做强制过滤,返回可能是全租户数据;个人金额口径必须改用 `fna.expense.reimbursed.sum`(按 `employeeId` 过滤),并在汇报中注明数据范围。
|
|
86
90
|
|
|
87
91
|
## 执行原则
|
|
88
92
|
|
|
@@ -92,6 +96,8 @@ cliHelp: "weaver-work-cli fna --help"
|
|
|
92
96
|
4. 借款金额查询已知实现缺陷:对外汇报注明「可能仅反映首条记录口径」。
|
|
93
97
|
5. 写操作(remindRepay/callTicket)失败决策树:`partial` / `write_uncertain` / 登录失效 / 网络中断 → **立即停止,禁止自动重试**,做一次只读回查(`fna.loan.main.list` / `fna.invoice.writeoff.list`)后向用户汇报;若返回 `confirmation.required`,说明缺少明确确认,先 prepare 再确认后 apply。
|
|
94
98
|
6. 金额结论口径存疑时(如借款缺陷、瞬时空响应)先说明不确定性;`total=0` 或空列表提示「暂无记录」,不得伪造成功。
|
|
99
|
+
7. `fna.expense.chart` 的成败看 `data.kind` 而不是 `code`(`code` 恒为 200,追问/拦截也走 success):`rows`/`empty` 属正常,`clarify` 按文案补口径后最多重问一次,`blocked` 换更贴近报销业务的问法而**不是**自己写 SQL;`unexpected` 只描述现象并反馈维护者。
|
|
100
|
+
8. `fna.expense.chart` 每次调用都真实消耗一次大模型对话 + 一次 SQL,一轮对话最多问 1-2 次,禁止循环试探;`maxRows` 只截断本地展示、不改变服务端查询;列名由 AI SQL 别名决定,不要假设固定列名。
|
|
95
101
|
|
|
96
102
|
## References
|
|
97
103
|
|
|
@@ -100,6 +106,7 @@ cliHelp: "weaver-work-cli fna --help"
|
|
|
100
106
|
| 接口目录与按模块路由 | [references/catalog.md](references/catalog.md) |
|
|
101
107
|
| 预算:事前申请单预算详情 / 预算执行报表 | [references/budget.md](references/budget.md) |
|
|
102
108
|
| 费用中心:报销 / 借款 / 预付核销 | [references/expense-center.md](references/expense-center.md) |
|
|
109
|
+
| 报销报表 AI 问答:自然语言出报表、五个 `kind`、额度与数据范围风险 | [references/expense-chart.md](references/expense-chart.md) |
|
|
103
110
|
| 借款管理:汇总 / 列表 / 提醒还款(prepare→apply) | [references/loan-management.md](references/loan-management.md) |
|
|
104
111
|
| 发票核销:金额 tab / 列表 / 催票(prepare→apply) | [references/invoice-writeoff.md](references/invoice-writeoff.md) |
|
|
105
112
|
| 源资料指纹与更新检测 | [references/source-manifest.json](references/source-manifest.json) |
|
|
@@ -111,6 +118,7 @@ Windows PowerShell:
|
|
|
111
118
|
```powershell
|
|
112
119
|
weaver-work-cli --json fna run fna.budget.application.detail --input-json '{"requestId":"1001"}'
|
|
113
120
|
weaver-work-cli --json fna run fna.expense.loan.sum --input-json '{"employeeId":12345,"startDate":"2026-01-01","endDate":"2026-08-31"}'
|
|
121
|
+
weaver-work-cli --json fna run fna.expense.chart --input-json '{"userInput":"2026-08 各部门报销金额排名前三"}'
|
|
114
122
|
weaver-work-cli --json fna run fna.loan.main.list --input-json '{"current":1,"pageSize":20,"menuCode":"fesx_fna_borrowingManagement","permissionSetCode":"fesx_fna_borrowingManagement.default"}'
|
|
115
123
|
```
|
|
116
124
|
|
|
@@ -119,15 +127,17 @@ macOS/Linux(bash/zsh):
|
|
|
119
127
|
```bash
|
|
120
128
|
weaver-work-cli --json fna run fna.budget.application.detail --input-json '{"requestId":"1001"}'
|
|
121
129
|
weaver-work-cli --json fna run fna.expense.loan.sum --input-json '{"employeeId":12345,"startDate":"2026-01-01","endDate":"2026-08-31"}'
|
|
130
|
+
weaver-work-cli --json fna run fna.expense.chart --input-json '{"userInput":"2026-08 各部门报销金额排名前三"}'
|
|
122
131
|
weaver-work-cli --json fna run fna.loan.main.list --input-json '{"current":1,"pageSize":20,"menuCode":"fesx_fna_borrowingManagement","permissionSetCode":"fesx_fna_borrowingManagement.default"}'
|
|
123
132
|
```
|
|
124
133
|
|
|
125
134
|
## 附件与文件安全
|
|
126
135
|
|
|
127
|
-
本 Skill 的
|
|
136
|
+
本 Skill 的 12 个接口均为查询/提醒类,**不涉及附件、图片或文件上传解析**。若后续扩展接口涉及附件或文件内容解析,必须先向用户说明「附件内容可能会发送到当前大模型服务处理,可能进入大模型上下文」,并在用户明确确认后才能处理;不得把用户仅提供路径或文件名视为同意解析或上传。
|
|
128
137
|
|
|
129
138
|
## 不在本 Skill 范围
|
|
130
139
|
|
|
131
140
|
- 借款「确认已还 confirmRepay」、核销明细等页面按钮能力(源资料未提供接口)→ 见 `weaver-work-cli fna schema` 的 `withheldOperations`,不得编造 operation 或直连接口。
|
|
141
|
+
- 报销报表 AI 问答只接受自然语言 `userInput`:不接受自写 SQL、不暴露 AI 生成的 SQL,也没有 `scope=self/dept/tenant` 之类的强制过滤参数(服务端未提供)。
|
|
132
142
|
- 姓名/流程名 → ID 的解析、创建借款单/预付单/事前申请单等需联动工作流的写流程(未提供接口依据)。
|
|
133
143
|
- 其它模块(发票票夹、人事、流程待办)请路由到对应 Skill,不在此重复实现。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# FNA 齐业成费控接口目录
|
|
2
2
|
|
|
3
|
-
对应 `weaver-work-cli fna` 的
|
|
3
|
+
对应 `weaver-work-cli fna` 的 14 个 operation,覆盖源资料四大模块 12 个接口(预算 2 / 费用中心 3 + 报销报表 AI 问答 1 / 借款管理 3 / 发票核销 3,其中提醒还款与催票拆为 prepare/apply 两个操作)。完整接口路径与认证由 weaver-work-cli 托管,Agent 只写业务 JSON。
|
|
4
4
|
|
|
5
5
|
## 一、预算查询(budget,2 个)
|
|
6
6
|
|
|
@@ -13,18 +13,20 @@
|
|
|
13
13
|
- 预算执行报表期间筛选 `periodName` 传**金额列名**(`budget_amount1`~`budget_amount12`),维度 key(`dimenMem1` 等)随模板 `corrColumn` 变化;`formDatas` 每个 value 是「单元素数组包裹同名 key 数组」的二层嵌套,拼错层级会筛选失效而不是报错。
|
|
14
14
|
- 汇总口径优先读响应 `totals`(customParameters)中 `budget_sumAmount` 前缀字段,金额/比率为字符串。
|
|
15
15
|
|
|
16
|
-
## 二、费用中心(expense,
|
|
16
|
+
## 二、费用中心(expense,4 个)
|
|
17
17
|
|
|
18
18
|
| 用户意图 | operation |
|
|
19
19
|
|---|---|
|
|
20
20
|
| 「我/某人报销了多少」「某时间段报销金额合计」 | `fna.expense.reimbursed.sum` |
|
|
21
21
|
| 「还有多少借款没还」「各状态借款金额/笔数」 | `fna.expense.loan.sum` |
|
|
22
22
|
| 「预付核销进度」「未到账多少」 | `fna.expense.prepay.writeoff.sum` |
|
|
23
|
+
| 「本月各部门报销金额排名」「按月/按费用类型统计报销金额」 | `fna.expense.chart` |
|
|
23
24
|
|
|
24
|
-
-
|
|
25
|
+
- 前三个共用 `SumAmountByAiVo`(employeeId/startDate/endDate/workflowId/requestId),**body 可为空**,不传按当前登录人。
|
|
25
26
|
- 报销口径:明细状态 `status=1`(审批完成)的 `reimburse_amount` 合计 = 已报销金额;无数据返回 `0.0`。
|
|
26
27
|
- ⚠️ 借款接口缺陷:仅统计首条借款记录(对外汇报注明);且首次/冷启动可能瞬时空响应(缺 data 键),CLI 自动重试最多 2 次。
|
|
27
28
|
- 借款接口 requestId 等必须传数字;预付核销接口日期按核销记录创建时间、employeeId 匹配预付单创建人。
|
|
29
|
+
- 报销报表 AI 问答(`fna.expense.chart`)是二开接口(`/api/secondev/fna/getExpenseChart`):自然语言进 AI 场景生成 SQL,服务端做租户隔离改写 + 安全校验后执行;返回 `kind=rows/empty/clarify/blocked/unexpected`(`code` 恒为 200,不能用它判成败)。每次调用消耗一次大模型对话 + 一次 SQL,且不做当前人强制过滤,详见 `expense-chart.md`。
|
|
28
30
|
|
|
29
31
|
## 三、借款管理(loan,管理员)
|
|
30
32
|
|
|
@@ -53,4 +55,5 @@
|
|
|
53
55
|
|
|
54
56
|
- 失败时按错误 envelope 的 `type/subtype` 处理:`confirmation.required` 缺确认;`partial.write_uncertain` 不确定结果立即停止并回查,禁止自动重试。
|
|
55
57
|
- 无记录时输出 `total=0`/空 `rows` 或 `segments:null`,提示「暂无记录」,不得伪造成功。
|
|
58
|
+
- `fna.expense.chart` 的「有结果」判断看 `kind`(不是 `code`):`code` 恒为 200,追问与安全拦截同样走 `WeaResult.success`;`clarify` 最多重问一次,`blocked` 换业务问法而不是自己写 SQL。
|
|
56
59
|
- 全部金额字段单位为元。
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
三个查询共用 `SumAmountByAiVo`,**body 可为空**(默认当前登录人)。每个意图只选一个接口,不要自动切换近义接口。
|
|
6
6
|
|
|
7
|
+
> 分组 / 排名 / 趋势 / 对比型报销报表(如「本月各部门报销金额排名」)不在本文范围,走 [`expense-chart.md`](expense-chart.md) 的 `fna.expense.chart`。
|
|
8
|
+
|
|
7
9
|
| 用户意图 | operation |
|
|
8
10
|
|---|---|
|
|
9
11
|
| 「我/某人某时间段报销了多少」「这笔报销流程报销了多少钱」 | `fna.expense.reimbursed.sum` |
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# 报销报表 AI 问答(fna.expense.chart)
|
|
2
|
+
|
|
3
|
+
## 何时使用
|
|
4
|
+
|
|
5
|
+
用户要**分组 / 排名 / 趋势 / 对比**型的报销报表口径时使用,标准汇总接口给不出维度时用它:
|
|
6
|
+
|
|
7
|
+
- 「本月各部门报销金额排名前三」
|
|
8
|
+
- 「2026 年 1-8 月按月统计报销金额」
|
|
9
|
+
- 「研发中心今年各费用类型报销占比」「哪个部门报销最多」「报销金额 TOP10」
|
|
10
|
+
|
|
11
|
+
**不要用于**:
|
|
12
|
+
|
|
13
|
+
- 只要一个合计数(「我这个月报销了多少」)→ 用 `fna.expense.reimbursed.sum`,更快、口径确定、可复现。
|
|
14
|
+
- 需要精确个人/部门强制过滤口径 → 本接口不做强制过滤(见「注意」第 2 条)。
|
|
15
|
+
- 预算、借款、发票核销、催票 → 各自有独立 operation,按 `catalog.md` 路由。
|
|
16
|
+
|
|
17
|
+
本 operation 只读,不写业务数据,但**每次调用都真实消耗一次大模型对话 + 一次 SQL 执行**,不是纯计算接口。
|
|
18
|
+
|
|
19
|
+
## 输入要点
|
|
20
|
+
|
|
21
|
+
| 字段 | 必填 | 说明 |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| `userInput` | 是 | 自然语言问题,≤500 字符。只写业务问题,**不要**自己拼「当前用户id / 当前部门id」(服务端会拼),也不要传 SQL |
|
|
24
|
+
| `maxRows` | 否 | 本地展示上限,默认 200、最大 5000。只截断返回给调用方的行,**不改变服务端查询** |
|
|
25
|
+
|
|
26
|
+
提问结构:时间范围 + 统计维度 + 指标 + 排序/条数。问得太泛(「报销情况」)大概率返回 `clarify`。
|
|
27
|
+
|
|
28
|
+
服务端会对 AI 生成的 SQL 做租户隔离改写与安全校验,因此:CTE(`WITH`)、`EXISTS`、`UNION` 全系、`SLEEP`/`BENCHMARK` 会被拒;必备的 `delete_type = 0` 只能由 AI 生成,问法越贴近报销业务越稳。
|
|
29
|
+
|
|
30
|
+
## 命令
|
|
31
|
+
|
|
32
|
+
Windows PowerShell:
|
|
33
|
+
|
|
34
|
+
```powershell
|
|
35
|
+
weaver-work-cli --json fna run fna.expense.chart --input-json '{"userInput":"2026-08 各部门报销金额排名前三"}'
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
macOS/Linux(bash/zsh):
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
weaver-work-cli --json fna run fna.expense.chart --input-json '{"userInput":"2026-08 各部门报销金额排名前三"}'
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## 输出处理
|
|
45
|
+
|
|
46
|
+
`code` 恒为 200,**不能**用它判断成败;以 `data.kind` 为准:
|
|
47
|
+
|
|
48
|
+
| kind | 含义 | 怎么回话 |
|
|
49
|
+
|---|---|---|
|
|
50
|
+
| `rows` | 拿到结果集(`rows`/`columns`/`rowCount`) | 给「结论摘要 + 列名 + 行数」,不原样粘贴长 JSON;`truncated=true` 说明只展示前 `maxRows` 行,`meta.requestedRows` 是服务端实际返回行数 |
|
|
51
|
+
| `empty` | SQL 执行成功但 0 行 | 提示「暂无匹配记录」,可换问法再问一次,不得编造数据 |
|
|
52
|
+
| `clarify` | AI 判定需求不明确,`message` 是追问文案 | 转述文案,补充时间/部门/口径后**最多再问一次** |
|
|
53
|
+
| `blocked` | AI 生成的 SQL 未通过服务端安全校验 | 说明该问法触发安全拦截,换更贴近报销业务的问法;**不要**自己写 SQL 绕过 |
|
|
54
|
+
| `unexpected` | `data` 类型意外 | 只描述现象,不猜测数据,反馈维护者 |
|
|
55
|
+
|
|
56
|
+
- 列名由 AI 生成 SQL 的别名决定、**不固定**,展示时不要假设 `dept_name` / `total_amount` 一定存在。
|
|
57
|
+
- 金额单位为元;口径由 AI SQL 决定,关键结论建议用 `fna.expense.reimbursed.sum` 等标准接口交叉核对。
|
|
58
|
+
- `kind=clarify/blocked` 是按返回文案推断的(`meta.messageKindInferred=true`),原始 `message` 一并返回,口径存疑时以原文为准。
|
|
59
|
+
|
|
60
|
+
## 注意
|
|
61
|
+
|
|
62
|
+
1. **额度与耗时**:单次调用是「大模型 → SQL → 执行」串行,通常数秒级;禁止为「多试几个问法」循环调用,一轮对话最多问 1-2 次,问之前先想清楚时间范围和维度。
|
|
63
|
+
2. **数据范围不是「当前人」**:服务端只是把「当前部门id / 当前用户id」作为**提示文本**拼进 prompt,不做强制过滤,返回的可能是**全租户**报销数据;`userInput` 又是用户可控文本。涉及「我/某人」的个人金额口径时改用 `fna.expense.reimbursed.sum`(按 `employeeId` 过滤),并在汇报里注明数据范围。
|
|
64
|
+
3. **无服务端 LIMIT**:大租户下可能很慢或返回大量行;`maxRows` 只做本地截断。
|
|
65
|
+
4. **单轮问答**:每次请求生成新的会话 ID,不能凭上一次结果续聊;追问请把上下文重新写进新的 `userInput`。
|
|
66
|
+
5. **二开接口依赖**:路径是 `/api/secondev/fna/`(`FexsCommonController`)。若同租户其它 `fna.*` 正常、只有本 operation 返回 404 或 500,先怀疑该租户未安装 seconddev 的 fna 二开包,不要判为「能力不存在」。
|
|
67
|
+
|
|
68
|
+
## 失败处理
|
|
69
|
+
|
|
70
|
+
| 现象 | 含义 | 处理 |
|
|
71
|
+
|---|---|---|
|
|
72
|
+
| `validation.user_input_required` | 没传或传空白 | 向用户要一个具体问题 |
|
|
73
|
+
| `validation.user_input_too_long` | 超过 500 字符 | 压缩或拆成多个问题 |
|
|
74
|
+
| `validation.max_rows_invalid` | `maxRows` 越界 | 用 1-5000 的整数 |
|
|
75
|
+
| `api.server_error`(HTTP 500) | 当前人查不到(服务端 NPE)/ AI 场景异常 / SQL 执行失败 | **不自动重试**;说明可能原因,必要时换标准接口 |
|
|
76
|
+
| `api.business_error` | `code != 200` | 按 `message` 转述,不猜测数据 |
|
|
77
|
+
| `authentication.session_expired` | 登录态失效 | 先向用户确认 E10 登录域名,再刷新登录;不得带失效 Cookie 重试 |
|
|
78
|
+
| `network.timeout` | AI/SQL 串行超过 90s | 换更窄的时间范围;是否重试由用户决定(重试会再消耗一次模型额度) |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"module": "fna",
|
|
4
4
|
"skill": "weaver-e10-qiyecheng",
|
|
5
|
-
"generatedAt": "2026-
|
|
5
|
+
"generatedAt": "2026-10-26T02:55:00.000Z",
|
|
6
6
|
"generatedFrom": {
|
|
7
7
|
"kind": "user-provided-folder",
|
|
8
8
|
"sourceRoots": [
|
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
"note": "用户桌面目录的旧版 weaver-e10-qiyecheng 文档型 Skill(含 scripts/agents/icon 等打包文件,未纳入功能源资料指纹)"
|
|
12
12
|
},
|
|
13
13
|
"sourceSet": {
|
|
14
|
-
"aggregateSha256": "
|
|
14
|
+
"aggregateSha256": "b215f269ff9ca0bbe00cb99958f84abcbd4538753232c7c0f8540ff76c64efa6",
|
|
15
15
|
"sourceRoots": [
|
|
16
|
-
"<本地源资料仓库路径>/weaver-e10-qiyecheng"
|
|
16
|
+
"<本地源资料仓库路径>/weaver-e10-qiyecheng",
|
|
17
|
+
"<用户提供的接口文档目录>"
|
|
17
18
|
],
|
|
18
19
|
"detectionStrength": "strong"
|
|
19
20
|
},
|
|
@@ -115,6 +116,12 @@
|
|
|
115
116
|
"role": "api-doc",
|
|
116
117
|
"size": 6509,
|
|
117
118
|
"sha256": "3146c04af0c44622a4d45966e1e7a744f96757f29faf986445a201cd93e89688"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"path": "接口文档-FexsCommonController-getExpenseChart.md",
|
|
122
|
+
"role": "api-doc",
|
|
123
|
+
"size": 28534,
|
|
124
|
+
"sha256": "b3a10c346b74e3a20b5a7d8f54acfe698b8cfe398d108ba62dfd51f713147a7d"
|
|
118
125
|
}
|
|
119
126
|
],
|
|
120
127
|
"sourceChunks": [
|
|
@@ -251,6 +258,18 @@
|
|
|
251
258
|
"mapsToReferences": [
|
|
252
259
|
"references/invoice-writeoff.md"
|
|
253
260
|
]
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"id": "FexsCommonController.getExpenseChart",
|
|
264
|
+
"sourcePath": "接口文档-FexsCommonController-getExpenseChart.md",
|
|
265
|
+
"anchor": "GET /api/secondev/fna/getExpenseChart",
|
|
266
|
+
"sha256": "b3a10c346b74e3a20b5a7d8f54acfe698b8cfe398d108ba62dfd51f713147a7d",
|
|
267
|
+
"mapsToOperations": [
|
|
268
|
+
"fna.expense.chart"
|
|
269
|
+
],
|
|
270
|
+
"mapsToReferences": [
|
|
271
|
+
"references/expense-chart.md"
|
|
272
|
+
]
|
|
254
273
|
}
|
|
255
274
|
],
|
|
256
275
|
"operationImpact": {
|
|
@@ -514,16 +533,37 @@
|
|
|
514
533
|
],
|
|
515
534
|
"risk": "write",
|
|
516
535
|
"requiresConfirmationChain": true
|
|
536
|
+
},
|
|
537
|
+
"fna.expense.chart": {
|
|
538
|
+
"sourceChunkIds": [
|
|
539
|
+
"FexsCommonController.getExpenseChart"
|
|
540
|
+
],
|
|
541
|
+
"schemaFields": [
|
|
542
|
+
"userInput",
|
|
543
|
+
"maxRows"
|
|
544
|
+
],
|
|
545
|
+
"references": [
|
|
546
|
+
"references/expense-chart.md"
|
|
547
|
+
],
|
|
548
|
+
"tests": [
|
|
549
|
+
"test/business/fna-operations.test.ts",
|
|
550
|
+
"test/business/fna-host.test.ts"
|
|
551
|
+
],
|
|
552
|
+
"risk": "read",
|
|
553
|
+
"requiresConfirmationChain": false,
|
|
554
|
+
"withheld": [
|
|
555
|
+
"fna.expense.chart.raw.sql"
|
|
556
|
+
]
|
|
517
557
|
}
|
|
518
558
|
},
|
|
519
559
|
"artifactBaseline": {
|
|
520
|
-
"aggregateSha256": "
|
|
560
|
+
"aggregateSha256": "6217808ada9c8c868ebda553253b72c4b2d899d06b67d8555b894b13920bda7f",
|
|
521
561
|
"files": [
|
|
522
562
|
{
|
|
523
563
|
"path": "src/shortcuts/fna/manifest.ts",
|
|
524
564
|
"role": "generated",
|
|
525
|
-
"size":
|
|
526
|
-
"sha256": "
|
|
565
|
+
"size": 2368,
|
|
566
|
+
"sha256": "7bd33a769509e4fc5b5990066da3a8d42c0e07ec87c42813575b029330358adf"
|
|
527
567
|
},
|
|
528
568
|
{
|
|
529
569
|
"path": "src/shortcuts/fna/operations.ts",
|
|
@@ -540,8 +580,8 @@
|
|
|
540
580
|
{
|
|
541
581
|
"path": "src/shortcuts/fna/host.ts",
|
|
542
582
|
"role": "generated",
|
|
543
|
-
"size":
|
|
544
|
-
"sha256": "
|
|
583
|
+
"size": 6925,
|
|
584
|
+
"sha256": "7783a29e978886498ca22373b38a984bff320624221a287ffee96ab181a52665"
|
|
545
585
|
},
|
|
546
586
|
{
|
|
547
587
|
"path": "src/shortcuts/fna/continuation.ts",
|
|
@@ -570,8 +610,8 @@
|
|
|
570
610
|
{
|
|
571
611
|
"path": "src/shortcuts/fna/operations/registry.ts",
|
|
572
612
|
"role": "generated",
|
|
573
|
-
"size":
|
|
574
|
-
"sha256": "
|
|
613
|
+
"size": 1511,
|
|
614
|
+
"sha256": "73fb806911f2de00b5f1df78124697963f2f38fdb38f4ee63da219caaf1afdb7"
|
|
575
615
|
},
|
|
576
616
|
{
|
|
577
617
|
"path": "src/shortcuts/fna/operations/budget.ts",
|
|
@@ -600,44 +640,44 @@
|
|
|
600
640
|
{
|
|
601
641
|
"path": "src/shortcuts/index.ts",
|
|
602
642
|
"role": "generated",
|
|
603
|
-
"size":
|
|
604
|
-
"sha256": "
|
|
643
|
+
"size": 1500,
|
|
644
|
+
"sha256": "fe10e9918df3c47bf9038298df7c7d590c74cc3de62fce173f6f610938ae9090"
|
|
605
645
|
},
|
|
606
646
|
{
|
|
607
647
|
"path": "test/business/fna-operations.test.ts",
|
|
608
648
|
"role": "generated",
|
|
609
|
-
"size":
|
|
610
|
-
"sha256": "
|
|
649
|
+
"size": 25122,
|
|
650
|
+
"sha256": "d9ead65a821e36fa2c838c9c1d594689f5f9ab198ef6b93312b6787c6c38da7f"
|
|
611
651
|
},
|
|
612
652
|
{
|
|
613
653
|
"path": "test/business/fna-host.test.ts",
|
|
614
654
|
"role": "generated",
|
|
615
|
-
"size":
|
|
616
|
-
"sha256": "
|
|
655
|
+
"size": 3788,
|
|
656
|
+
"sha256": "00f023ceeb22b11657b1115e6f2e7762cd33828b5367be5d67dcbc773575c287"
|
|
617
657
|
},
|
|
618
658
|
{
|
|
619
659
|
"path": "docs/fna.md",
|
|
620
660
|
"role": "generated",
|
|
621
|
-
"size":
|
|
622
|
-
"sha256": "
|
|
661
|
+
"size": 6479,
|
|
662
|
+
"sha256": "549ea77b1dbebdabd04b2b448f6e2f714b090ec89396b596e544561ae7a1b597"
|
|
623
663
|
},
|
|
624
664
|
{
|
|
625
665
|
"path": "docs/_catalog.md",
|
|
626
666
|
"role": "generated",
|
|
627
|
-
"size":
|
|
628
|
-
"sha256": "
|
|
667
|
+
"size": 5355,
|
|
668
|
+
"sha256": "b980b43bc1c9dabfa9b5b6da0a6e0187357d4c4f73c6f80a141c0c317acc182b"
|
|
629
669
|
},
|
|
630
670
|
{
|
|
631
671
|
"path": "docs/SKILL.md",
|
|
632
672
|
"role": "generated",
|
|
633
|
-
"size":
|
|
634
|
-
"sha256": "
|
|
673
|
+
"size": 5009,
|
|
674
|
+
"sha256": "9ff7f21bd833e7e18856bb46a3af1667740c1ab743c448184f72286ea27447df"
|
|
635
675
|
},
|
|
636
676
|
{
|
|
637
677
|
"path": "skills/weaver-e10-qiyecheng/SKILL.md",
|
|
638
678
|
"role": "generated",
|
|
639
|
-
"size":
|
|
640
|
-
"sha256": "
|
|
679
|
+
"size": 13840,
|
|
680
|
+
"sha256": "71d2bb8b8d57fc0fa0530a718d7120b7d58ca1df30294ea77a51c4e1323b58a1"
|
|
641
681
|
},
|
|
642
682
|
{
|
|
643
683
|
"path": "skill-template/product.json",
|
|
@@ -648,8 +688,8 @@
|
|
|
648
688
|
{
|
|
649
689
|
"path": "skills/weaver-e10-qiyecheng/references/catalog.md",
|
|
650
690
|
"role": "generated",
|
|
651
|
-
"size":
|
|
652
|
-
"sha256": "
|
|
691
|
+
"size": 4983,
|
|
692
|
+
"sha256": "c73bd5fe277552bedc0e25da6a94ced3786c16ae6d016b1057b0460917178c13"
|
|
653
693
|
},
|
|
654
694
|
{
|
|
655
695
|
"path": "skills/weaver-e10-qiyecheng/references/budget.md",
|
|
@@ -660,8 +700,8 @@
|
|
|
660
700
|
{
|
|
661
701
|
"path": "skills/weaver-e10-qiyecheng/references/expense-center.md",
|
|
662
702
|
"role": "generated",
|
|
663
|
-
"size":
|
|
664
|
-
"sha256": "
|
|
703
|
+
"size": 3184,
|
|
704
|
+
"sha256": "f3224c15667abfdd6077a3b93cce83ce92a7cfadc05377bd73d147f9e67eb1e5"
|
|
665
705
|
},
|
|
666
706
|
{
|
|
667
707
|
"path": "skills/weaver-e10-qiyecheng/references/loan-management.md",
|
|
@@ -678,14 +718,26 @@
|
|
|
678
718
|
{
|
|
679
719
|
"path": "skill-template/business-info.json",
|
|
680
720
|
"role": "generated",
|
|
681
|
-
"size":
|
|
682
|
-
"sha256": "
|
|
721
|
+
"size": 8592,
|
|
722
|
+
"sha256": "06f4c239dfcd50f0be1febb00b663e962064a4d2c19193632957fdf5ef85d39a"
|
|
683
723
|
},
|
|
684
724
|
{
|
|
685
725
|
"path": "skill-template/domains/qiyecheng.md",
|
|
686
726
|
"role": "generated",
|
|
687
|
-
"size":
|
|
688
|
-
"sha256": "
|
|
727
|
+
"size": 1915,
|
|
728
|
+
"sha256": "6706240d8928ea9b8572fb651f1e12db77316edd6ab0a4a912648f86c431fe74"
|
|
729
|
+
},
|
|
730
|
+
{
|
|
731
|
+
"path": "src/shortcuts/fna/operations/expense-chart.ts",
|
|
732
|
+
"role": "generated",
|
|
733
|
+
"size": 8202,
|
|
734
|
+
"sha256": "c1bc8cffc0f38425b92fec4fd8b7e973697abe183e19e5641d564780b0cfc940"
|
|
735
|
+
},
|
|
736
|
+
{
|
|
737
|
+
"path": "skills/weaver-e10-qiyecheng/references/expense-chart.md",
|
|
738
|
+
"role": "generated",
|
|
739
|
+
"size": 5348,
|
|
740
|
+
"sha256": "8511fe75e9edabd90e93d9a888d064e7e4a1196859f8a7e965aa695f1d2d9f30"
|
|
689
741
|
}
|
|
690
742
|
]
|
|
691
743
|
},
|
|
@@ -693,6 +745,8 @@
|
|
|
693
745
|
"源资料为用户桌面目录的旧版 weaver-e10-qiyecheng 文档型 Skill;只将 SKILL.md、catalog.md 与 11 份单接口文档纳入功能源指纹;agents/scripts/_icon.png/domain-login-contract/workflow-selection 等打包或旧认证材料未纳入(新 CLI 认证由 src/internal/e10 托管,不复制旧 Mode1 登录脚本)。",
|
|
694
746
|
"不保存 Cookie、Token 或大段源正文。",
|
|
695
747
|
"已知实现缺陷与口径(借款仅统计首条、日期口径差异、menuCode/permissionSetCode 环境相关、超 2^53 ID 保留字符串)写入 docs/fna.md 与 Skill references。",
|
|
696
|
-
"2026-09-09 由 weaver-e10-skill-maker 首次生成:CLI 命令后缀 fna、Skill 后缀 qiyecheng。"
|
|
748
|
+
"2026-09-09 由 weaver-e10-skill-maker 首次生成:CLI 命令后缀 fna、Skill 后缀 qiyecheng。",
|
|
749
|
+
"fna.expense.chart 只暴露自然语言 userInput,不接受也不回传 AI 生成的 SQL;data 由 CLI 归一化为 kind=rows/empty/clarify/blocked/unexpected,clarify 与 blocked 按文案推断并在 meta.messageKindInferred 标注;每次调用消耗一次大模型对话 + 一次 SQL,CLI 超时 180s。",
|
|
750
|
+
"2026-10-26 集成报销报表 AI 问答:新增 GET /api/secondev/fna/getExpenseChart(userInput 必填 ≤500 字、maxRows 本地截断 1-5000),同步 CLI operation、host 路径白名单、SKILL.md/catalog/docs/domain 与测试。"
|
|
697
751
|
]
|
|
698
752
|
}
|