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.
Files changed (163) hide show
  1. package/README.md +7 -2
  2. package/dist/cmd/setup/index.js +1 -1
  3. package/dist/internal/e10/auth/commands.js +1 -6
  4. package/dist/internal/e10/auth/messages.js +3 -0
  5. package/dist/internal/e10/auth/session.js +8 -0
  6. package/dist/internal/e10/auth-recovery.js +148 -0
  7. package/dist/internal/e10/client.js +47 -15
  8. package/dist/internal/e10/context.js +8 -8
  9. package/dist/internal/e10/index.js +1 -0
  10. package/dist/internal/e10/request-runtime.js +51 -9
  11. package/dist/shortcuts/archive/host.js +3 -2
  12. package/dist/shortcuts/archive/manifest.js +1 -1
  13. package/dist/shortcuts/archive-oa/host.js +2 -1
  14. package/dist/shortcuts/archive-oa/manifest.js +1 -1
  15. package/dist/shortcuts/asset/host.js +7 -6
  16. package/dist/shortcuts/blog/host.js +4 -3
  17. package/dist/shortcuts/caizhilian/host.js +3 -2
  18. package/dist/shortcuts/caizhilian/manifest.js +1 -1
  19. package/dist/shortcuts/calendar/host.js +2 -1
  20. package/dist/shortcuts/contract/host.js +34 -59
  21. package/dist/shortcuts/ehr/host.js +2 -1
  22. package/dist/shortcuts/esb/host.js +2 -1
  23. package/dist/shortcuts/fna/host.js +6 -3
  24. package/dist/shortcuts/fna/manifest.js +10 -5
  25. package/dist/shortcuts/fna/operations/expense-chart.js +162 -0
  26. package/dist/shortcuts/fna/operations/registry.js +2 -0
  27. package/dist/shortcuts/hrm/host.js +2 -1
  28. package/dist/shortcuts/im/host.js +3 -2
  29. package/dist/shortcuts/invoice/host.js +9 -7
  30. package/dist/shortcuts/invoice/manifest.js +23 -142
  31. package/dist/shortcuts/invoice/operations/issuing-qys.js +266 -203
  32. package/dist/shortcuts/invoice/operations/registry.js +1 -6
  33. package/dist/shortcuts/jiuchuanhui/host.js +2 -1
  34. package/dist/shortcuts/mail/host.js +2 -1
  35. package/dist/shortcuts/meeting/host.js +2 -1
  36. package/dist/shortcuts/meeting/operations/eb/conflict.js +78 -12
  37. package/dist/shortcuts/okr/host.js +2 -1
  38. package/dist/shortcuts/plan/host.js +2 -1
  39. package/dist/shortcuts/project/host.js +2 -1
  40. package/dist/shortcuts/workflow/host.js +3 -5
  41. package/dist/shortcuts/workflow/index.js +4 -1
  42. package/dist/shortcuts/workflow/operations/chatscene.js +4 -22
  43. package/dist/shortcuts/workflow/operations/form.js +281 -166
  44. package/dist/shortcuts/workflow/operations/read.js +39 -8
  45. package/dist/shortcuts/workflow/operations/registry.js +2 -0
  46. package/dist/shortcuts/workflow/operations/todoSmartConvert/businessRules.js +331 -0
  47. package/dist/shortcuts/workflow/operations/todoSmartConvert/detailFieldRules.js +133 -0
  48. package/dist/shortcuts/workflow/operations/todoSmartConvert/summaryCache.js +326 -0
  49. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoDetailCache.js +113 -0
  50. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoDetailFetcher.js +259 -0
  51. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoListRows.js +64 -0
  52. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoOutputPlanner.js +28 -0
  53. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.aggregate.js +70 -0
  54. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.collect.js +267 -0
  55. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.core.js +392 -0
  56. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.detail.js +165 -0
  57. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.group.js +448 -0
  58. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.groupSummary.js +348 -0
  59. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.js +222 -0
  60. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.pipeline.js +66 -0
  61. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.smartGroup.js +502 -0
  62. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.summary.js +540 -0
  63. package/dist/shortcuts/workflow/stdout-compact.js +7 -0
  64. package/docs/SKILL.md +1 -1
  65. package/docs/_catalog.md +2 -1
  66. package/docs/agent-invoice.md +1 -1
  67. package/docs/caizhilian.md +1 -1
  68. package/docs/e10-auth.md +1 -1
  69. package/docs/fna.md +7 -3
  70. package/docs/invoice.md +4 -6
  71. package/docs/todo-smart-convert/README.md +171 -0
  72. package/docs/todo-smart-convert/data-contract.md +236 -0
  73. package/docs/todo-smart-convert/mock/ai-todo-query-target.json +209 -0
  74. package/docs/todo-smart-convert/subgroup-rules.md +245 -0
  75. package/package.json +1 -1
  76. package/scripts/package-skill.mjs +1 -1
  77. package/skill-template/business-info.json +4 -1
  78. package/skill-template/domains/caizhilian.md +2 -1
  79. package/skill-template/domains/qiyecheng.md +1 -0
  80. package/skill-template/domains/yepiaotong.md +6 -2
  81. package/skill-template/skill-template.md +1 -0
  82. package/skills/weaver-e10-blog/SKILL.md +6 -1
  83. package/skills/weaver-e10-blog/references/blog-query.md +3 -1
  84. package/skills/weaver-e10-caizhilian/SKILL.md +18 -9
  85. package/skills/weaver-e10-caizhilian/references/action-flow.md +70 -0
  86. package/skills/weaver-e10-caizhilian/references/agent-entry.md +6 -2
  87. package/skills/weaver-e10-caizhilian/references/auth-and-install.md +207 -0
  88. package/skills/weaver-e10-caizhilian/references/file-collection.md +56 -54
  89. package/skills/weaver-e10-caizhilian/references/file-upload.md +4 -4
  90. package/skills/weaver-e10-caizhilian/references/host-executor-prompt.md +32 -0
  91. package/skills/weaver-e10-caizhilian/references/host-platform-integration.md +46 -0
  92. package/skills/weaver-e10-caizhilian/references/rule-index.md +56 -0
  93. package/skills/weaver-e10-caizhilian/references/setting-attach.md +5 -16
  94. package/skills/weaver-e10-caizhilian/references/setting-backup.md +4 -13
  95. package/skills/weaver-e10-caizhilian/references/setting-encrypt.md +6 -15
  96. package/skills/weaver-e10-caizhilian/references/setting-storage-docs-summary.md +126 -0
  97. package/skills/weaver-e10-caizhilian/references/setting-storage-field-map.md +57 -0
  98. package/skills/weaver-e10-caizhilian/references/setting-storage.md +142 -482
  99. package/skills/weaver-e10-caizhilian/references/source-manifest.json +7 -7
  100. package/skills/weaver-e10-caizhilian/references/task-workflow.md +87 -0
  101. package/skills/weaver-e10-caizhilian/references/withheld.md +2 -2
  102. package/skills/weaver-e10-caizhilian/references/write-protocol.md +7 -0
  103. package/skills/weaver-e10-calendar/SKILL.md +6 -1
  104. package/skills/weaver-e10-esb/SKILL.md +8 -0
  105. package/skills/weaver-e10-esb/references/input-format.md +3 -1
  106. package/skills/weaver-e10-esb/references/source-manifest.json +5 -5
  107. package/skills/weaver-e10-hrm/SKILL.md +6 -1
  108. package/skills/weaver-e10-hrm/references/employee.md +1 -1
  109. package/skills/weaver-e10-hrm/references/org.md +1 -1
  110. package/skills/weaver-e10-hrm/references/position.md +1 -1
  111. package/skills/weaver-e10-jinchengda/SKILL.md +2 -1
  112. package/skills/weaver-e10-jinchengda/references/contract-agent-entry.md +1 -1
  113. package/skills/weaver-e10-jiuchuanhui/SKILL.md +6 -1
  114. package/skills/weaver-e10-jucailin/SKILL.md +6 -1
  115. package/skills/weaver-e10-jucailin/references/hr-contact.md +1 -1
  116. package/skills/weaver-e10-jucailin/references/salary.md +1 -1
  117. package/skills/weaver-e10-mail/SKILL.md +6 -1
  118. package/skills/weaver-e10-meeting/SKILL.md +11 -6
  119. package/skills/weaver-e10-meeting/references/meeting-eb.md +7 -3
  120. package/skills/weaver-e10-meeting/references/meeting-queries.md +3 -1
  121. package/skills/weaver-e10-meeting/references/meeting-verification.md +4 -2
  122. package/skills/weaver-e10-okr/SKILL.md +6 -1
  123. package/skills/weaver-e10-okr/references/source-manifest.json +5 -5
  124. package/skills/weaver-e10-plan/SKILL.md +6 -1
  125. package/skills/weaver-e10-plan/references/plan-overview-and-routing.md +3 -1
  126. package/skills/weaver-e10-plan/references/plan-report-query.md +3 -1
  127. package/skills/weaver-e10-plan/references/source-manifest.json +7 -7
  128. package/skills/weaver-e10-qiyecheng/SKILL.md +16 -6
  129. package/skills/weaver-e10-qiyecheng/references/catalog.md +6 -3
  130. package/skills/weaver-e10-qiyecheng/references/expense-center.md +2 -0
  131. package/skills/weaver-e10-qiyecheng/references/expense-chart.md +78 -0
  132. package/skills/weaver-e10-qiyecheng/references/source-manifest.json +87 -33
  133. package/skills/weaver-e10-shared/SKILL.md +37 -14
  134. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +11 -8
  135. package/skills/weaver-e10-shared/references/non-interactive-environment.md +4 -4
  136. package/skills/weaver-e10-shared/references/weaver-e10-installation.md +3 -1
  137. package/skills/weaver-e10-wenshuding/SKILL.md +6 -1
  138. package/skills/weaver-e10-wenshuding/references/source-manifest.json +3 -3
  139. package/skills/weaver-e10-workflow/SKILL.md +23 -1
  140. package/skills/weaver-e10-workflow/references/source-manifest.json +1 -2
  141. package/skills/weaver-e10-workflow/references/todo-smart-convert.md +282 -0
  142. package/skills/weaver-e10-workflow/references/workflow-create.md +30 -55
  143. package/skills/weaver-e10-workflow/scripts/todo-summary.cjs +695 -0
  144. package/skills/weaver-e10-yepiaotong/SKILL.md +19 -17
  145. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +75 -78
  146. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-form-fill-rules.md +179 -0
  147. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-workflow.md +238 -0
  148. package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +7 -7
  149. package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +11 -5
  150. package/skills/weaver-e10-yepiaotong/references/reim-examples.md +55 -33
  151. package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +102 -23
  152. package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +1 -1
  153. package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +53 -42
  154. package/skills/weaver-e10-yepiaotong/references/source-manifest.json +94 -214
  155. package/skills/weaver-e10-yimiaoban/SKILL.md +9 -2
  156. package/skills/weaver-e10-yimiaoban/references/file-user-i18n.md +1 -1
  157. package/skills/weaver-e10-yimiaoban/references/msg-read.md +1 -1
  158. package/skills/weaver-e10-yimiaoban/references/source-manifest.json +9 -9
  159. package/skills/weaver-e10-ziguanjia/SKILL.md +6 -1
  160. package/dist/shortcuts/invoice/operations/issuing.js +0 -198
  161. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-field-rules.md +0 -161
  162. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-qys-ledger.md +0 -66
  163. package/skills/weaver-e10-yepiaotong/references/invoice-issuing.md +0 -107
@@ -0,0 +1,46 @@
1
+ # 宿主平台集成(文件采集)
2
+
3
+ 本模块通过 `weaver-work-cli` 直接执行:宿主调用 CLI、消费 JSON 结果,**从不**自行构造业务请求体。
4
+
5
+ ## 运行前提
6
+
7
+ 1. 已安装 `weaver-work-cli`(`weaver-work-cli --version` 有输出)。
8
+ 2. 已读取 `auth-and-install.md`:安装、认证、超时与重试预算以该文档为准。
9
+ 3. 已登录:`weaver-work-cli auth status` 显示已登录;失效时按 `auth-and-install.md` 复用宿主判定恢复会话,禁止在本提示中写死登录命令或调用其他登录 Skill。
10
+
11
+ ## 调用方式
12
+
13
+ - 统一形式:`weaver-work-cli --json caizhilian run caizhilian.file-collection.<操作> --input-json '<json>'`(全局参数在子命令前)。
14
+ - 输入按复杂度选:`--input-json '<json>'`、`--input <UTF-8 文件路径>`、确认当前 shell 稳定后再用 `--input -`。
15
+ - 命令示例同时给 Windows PowerShell 与 macOS/Linux 两套;Windows 示例不用 Unix-only 写法(`printf`、`~/`、`rm` 等)。
16
+ - 能力与字段以 `weaver-work-cli caizhilian operations` / `caizhilian schema` 与 references 文档为准,不靠失败试错发现参数。
17
+
18
+ ## 结果处理
19
+
20
+ - 输出为 JSON 信封:`ok`、`operation`、`data`。业务原始返回在 `data` 中;`run.result` 返回归一化的 `file_collection_result.v1`。
21
+ - 错误按类型处理:
22
+
23
+ | 类型 | 场景 | 处理 |
24
+ | --- | --- | --- |
25
+ | `confirmation` | 写操作缺确认 | 按 `write-protocol.md` 走确认后再 apply |
26
+ | `continuation_*` | 票据缺失/过期/不匹配/入参变化 | 重新 prepare,不改参硬套 |
27
+ | `business_error` | 服务端业务失败 | 原样反馈原因,不重试蒙混 |
28
+ | 认证错误 | 登录态失效 | 提示并按 `auth-and-install.md` 重新登录 |
29
+
30
+ ## 执行顺序与操作面
31
+
32
+ 按 `task-workflow.md` 的总流程推进;动作流细节见 `action-flow.md`;执行纪律见 `host-executor-prompt.md`。操作面速查(写操作均含 `.prepare` / `.apply`):
33
+
34
+ | 阶段 | 只读 | 写 |
35
+ | --- | --- | --- |
36
+ | 任务 | `task.list` / `task.form` | `task.save` / `task.save-as` / `task.switch` / `task.cancel` / `task.delete` / `task.update-fonds` |
37
+ | 资源 | `connector.query` | `connector.create` / `resource.create` |
38
+ | 动作流 | `workflow.search` / `workflow.inspect` | `workflow.create` / `workflow.enable` / `workflow.update-task` |
39
+ | 执行 | `storage.check` / `scan.progress` / `scan.wait` / `run.progress` / `run.result` / `detail` | `scan` / `run` |
40
+
41
+ ## 安全与输出
42
+
43
+ - 凭证由 CLI 统一注入:宿主与 Agent 不读取、不打印、不转存 Cookie / eteamsid / 密码。
44
+ - 面向用户的摘要必须脱敏:掩码 FTP 密码与动作流密钥,不展示长 ID 与完整请求体。
45
+ - FTP/SFTP 密码只作为必要入参传递,不写入日志、文件或对话记录。
46
+ - 仅文件分支不暴露全宗相关询问;归档分支按 `task-workflow.md` 的全宗确认流程执行。
@@ -0,0 +1,56 @@
1
+ # 文件采集规则索引
2
+
3
+ 每条规则给出适用范围与典型违反表现,细节见对应文档。
4
+
5
+ ## FILE-AUTH-001 认证由 CLI 托管
6
+
7
+ - 适用:所有文件采集操作。
8
+ - 要求:登录态与请求头凭证统一由 `weaver-work-cli auth ...` 托管;不写死域名,不读取、不输出 Cookie / eteamsid。
9
+ - 违反表现:手写认证头、把凭证写进入参或日志、绕过 CLI 直接发 HTTP 请求。
10
+ - 详见:`file-collection.md`「认证前置」、`auth-and-install.md`。
11
+
12
+ ## FILE-WRITE-001 写操作先确认再执行
13
+
14
+ - 适用:保存任务、扫描、运行、取消、删除、切换/另存为任务、更新全宗、创建连接器/资源、创建/启用动作流、更新任务动作流。
15
+ - 要求:一律走 prepare → 向用户确认 → apply(见 `write-protocol.md`);apply 入参与 prepare 完全一致。
16
+ - 违反表现:跳过确认直接写、改参数后复用票据、把 prepare 的返回当成已执行。
17
+
18
+ ## FILE-TASK-001 任务入参真实且一致
19
+
20
+ - 适用:保存采集任务、更新任务动作流。
21
+ - 要求:`source_id`、`workflow_id` 只能来自真实查询或创建结果;`retain_dir_struct` 在动作流检测/创建与保存任务时取值一致;默认任务名按 UTC+8 生成 `文件采集(yyyyMMdd HHmmss)`。
22
+ - 违反表现:编造 ID、目录结构模式前后不一致、把候选列表行直接当 ID 使用。
23
+
24
+ ## FILE-FONDS-001 全宗仅限归档分支
25
+
26
+ - 适用:采集到档案的分支。
27
+ - 要求:仅文件分支不询问、不写入全宗;归档分支的全宗 ID 必须经用户明确确认后写入(`task.update-fonds`)。
28
+ - 违反表现:仅文件分支要全宗、单个候选自动确认、把展示名称当成全宗 ID 写入。
29
+ - 详见:`task-workflow.md`「采集目标」。
30
+
31
+ ## FILE-FLOW-001 动作流必须回读校验
32
+
33
+ - 适用:选择已有动作流。
34
+ - 要求:搜索结果仅供展示;用户确认后必须执行兼容性检测(`workflow.inspect`),检测通过后才允许用于保存任务。
35
+ - 违反表现:列表未经校验就关联、把不兼容或未启用的应用关联进任务。
36
+ - 详见:`action-flow.md`。
37
+
38
+ ## FILE-FLOW-002 动作流动态创建,不使用固定包
39
+
40
+ - 适用:新建动作流。
41
+ - 要求:由 `workflow.create` 动态生成标准链路(自定义触发 → 文档保存 → 输出);不手写设计文件,不上传或导入固定动作流包。
42
+ - 违反表现:手工拼设计、导入模板包、往链路里插入其他节点。
43
+ - 详见:`action-flow.md`。
44
+
45
+ ## FILE-EXEC-001 执行证据分级
46
+
47
+ - 适用:扫描、运行、结果汇报。
48
+ - 要求:扫描默认增量,只有用户明确要求才全量;`run` 只证明启动;只有 `run.result` 满足成功条件才能报告采集成功。
49
+ - 违反表现:把「已启动 / 扫描完成」当成采集成功、没有文件级结果就报成功。
50
+ - 详见:`task-workflow.md`「结果判读」。
51
+
52
+ ## FILE-OUTPUT-001 输出脱敏
53
+
54
+ - 适用:所有面向用户的输出。
55
+ - 要求:不展示长 ID、Cookie、FTP 明文密码、动作流密钥、票据(continuation)或大段请求体;只给序号、名称、地址、状态与短摘要。
56
+ - 违反表现:原样打印接口返回、密码或密钥出现在对话里。
@@ -2,7 +2,7 @@
2
2
  name: weaver-setting-attach
3
3
  description: "对话式修改\"文件设置 → 附件设置\"页面的 15 个配置项(上传最大、上传格式控制 方式、附件打开方式、批量下载、禁止移动端下载、附加提示、图片压缩、版本清理、 打印转 PDF 等)。通过自然语言 / `setting set --item key=value` 即可完成 GET 全量 → modify(保留原值) → diff 让用户确认 → POST 落库,无需打开 浏览器逐项点击。覆盖 weapp 端 `POST /api/file/tenant/setting` 与 `POST /api/file/tenant/setting/save` 两条接口。另提供只读查询:按审批流程 ID 查附件上传目录(caizhilian.setting-attach.list-upload-folders)。Use for 改附件设置、改上传 最大、改附件打开方式、改白名单黑名单、附件批量下载、禁止移动端下载、附加 提示、文件设置、文件上传、格式限制、图片压缩、版本清理、清理文件版本、 打印转 PDF、按流程查上传目录、流程附件目录、流程上传文件夹、eteams-file 后台、<your-e10-domain>/info/fileSet/attach."
4
4
  license: Proprietary
5
- compatibility: 泛微E10采知连配套使用,内部可自由使用与修改,禁止对外分发
5
+ compatibility: 泛微E10采知连配套使用,随 weaver-e10-caizhilian 技能分发
6
6
  metadata:
7
7
  maintainer: unknown
8
8
  type: capability
@@ -21,22 +21,13 @@ metadata:
21
21
 
22
22
  ### 认证前置(必须)
23
23
 
24
- 本模块通过 CLI 托管的认证获取凭证(base_url + Cookie + eteamsid + User-Agent),凭证契约见同级 `weaver-e10-shared` 技能的共享规则,不依赖手动配置文件,Agent 不得自己读取或输出凭证。
24
+ 本模块通过 CLI 托管的认证获取凭证(base_url + Cookie + eteamsid + User-Agent),凭证契约见 `auth-and-install.md`,不依赖手动配置文件,Agent 不得自己读取或输出凭证。
25
25
 
26
26
  **使用前必须确保**:
27
27
  1. CLI 已安装:`weaver-work-cli --version` 能正常输出版本号
28
28
  2. 已完成登录:`weaver-work-cli auth status` 显示已登录
29
29
 
30
- **首次登录**:
31
- ```text
32
- # OAuth2.0 浏览器授权(推荐)
33
- weaver-work-cli auth login
34
-
35
- # 或手动写入 ETEAMSID(从浏览器 DevTools 复制)
36
- weaver-work-cli auth set --eteamsid "PCACCOUNT_xxx"
37
- ```
38
-
39
- **凭证过期处理**:操作返回认证错误时,提示用户通过 `weaver-work-cli auth login` 或 `weaver-work-cli auth set` 重新登录。
30
+ **登录与登录失效处理**:读取 `auth-and-install.md`,由 Agent 复用任务开始时的宿主判定,禁止调用任何其他登录 Skill。明确为 XiaoE 时只执行 `weaver-work-cli auth xiaoe`,失败即停止且不得改走浏览器;非 XiaoE 时先取得用户确认的真实 E10 域名,再执行 `weaver-work-cli auth login --base-url "<用户确认的 E10 登录域名>" --agent_type "<当前智能体名称>"`。
40
31
 
41
32
  ## When to use
42
33
 
@@ -178,7 +169,7 @@ weaver-work-cli --json caizhilian run caizhilian.setting-attach.search-workflows
178
169
 
179
170
  1. **操作前必查登录态**
180
171
  每次执行业务操作前,确认 CLI 已完成登录:
181
- - 若 `weaver-work-cli auth status` 显示未登录,提示用户执行 `weaver-work-cli auth login` 或 `weaver-work-cli auth set` 完成登录
172
+ - 若 `weaver-work-cli auth status` 显示未登录,立即停止业务操作并按 `auth-and-install.md` 的宿主分流恢复会话,不得直接指定或调用其他登录 Skill
182
173
  - 登录完成后**立刻**继续用户原本的请求,不要让用户再敲一次命令
183
174
 
184
175
  2. **查询要简洁**(`show` / 读设置时的输出格式)
@@ -262,9 +253,7 @@ CLI 入口:`weaver-work-cli caizhilian run caizhilian.setting-attach.<operatio
262
253
 
263
254
  ## 鉴权
264
255
 
265
- 走 `Cookie: ETEAMSID=<id>`,与前端 `axios` 默认 cookie 行为一致。
266
-
267
- CLI 自动从 `.env.local` / ENV 读取并塞进 Cookie。
256
+ 请求头凭证由 CLI 统一注入(见 `auth-and-install.md`「请求头契约」),Agent 不自行拼 Cookie、不读写本地凭证文件。
268
257
 
269
258
  ## FileSettingDto 节选(11 字段 + 只读)
270
259
 
@@ -2,7 +2,7 @@
2
2
  name: weaver-setting-backup
3
3
  description: "对话式管理 weapp 后台\"文件设置 → 备份设置\"页面:开关本地备份、列出备份规则、 调整规则路径/周期/启停、删除规则。`backup on` 一句话开启、`backup update --id N --period 720` 一句话调整。覆盖 `POST /api/file/tenant/setting/save`(开关 `sysLocalFileBackup`)+ `FileBackupController` 全部 5 个 CRUD 端点。Use for 备份设置、本地备份、附件备份、备份规则、backupRule、backupPath、备份周期、 文件设置备份、eteams-file 备份、<your-e10-domain>/info/fileSet/backup."
4
4
  license: Proprietary
5
- compatibility: 泛微E10采知连配套使用,内部可自由使用与修改,禁止对外分发
5
+ compatibility: 泛微E10采知连配套使用,随 weaver-e10-caizhilian 技能分发
6
6
  metadata:
7
7
  maintainer: unknown
8
8
  type: capability
@@ -23,22 +23,13 @@ metadata:
23
23
 
24
24
  ### 认证前置(必须)
25
25
 
26
- 本模块通过 CLI 托管的认证获取凭证(base_url + Cookie + eteamsid + User-Agent),凭证契约见同级 `weaver-e10-shared` 技能的共享规则,不依赖手动配置文件,Agent 不得自己读取或输出凭证。
26
+ 本模块通过 CLI 托管的认证获取凭证(base_url + Cookie + eteamsid + User-Agent),凭证契约见 `auth-and-install.md`,不依赖手动配置文件,Agent 不得自己读取或输出凭证。
27
27
 
28
28
  **使用前必须确保**:
29
29
  1. CLI 已安装:`weaver-work-cli --version` 能正常输出版本号
30
30
  2. 已完成登录:`weaver-work-cli auth status` 显示已登录
31
31
 
32
- **首次登录**:
33
- ```text
34
- # OAuth2.0 浏览器授权(推荐)
35
- weaver-work-cli auth login
36
-
37
- # 或手动写入 ETEAMSID(从浏览器 DevTools 复制)
38
- weaver-work-cli auth set --eteamsid "PCACCOUNT_xxx"
39
- ```
40
-
41
- **凭证过期处理**:操作返回认证错误时,提示用户通过 `weaver-work-cli auth login` 或 `weaver-work-cli auth set` 重新登录。
32
+ **登录与登录失效处理**:读取 `auth-and-install.md`,由 Agent 复用任务开始时的宿主判定,禁止调用任何其他登录 Skill。明确为 XiaoE 时只执行 `weaver-work-cli auth xiaoe`,失败即停止且不得改走浏览器;非 XiaoE 时先取得用户确认的真实 E10 域名,再执行 `weaver-work-cli auth login --base-url "<用户确认的 E10 登录域名>" --agent_type "<当前智能体名称>"`。
42
33
 
43
34
  ## When to use
44
35
 
@@ -109,7 +100,7 @@ backup delete --id 2 --yes
109
100
 
110
101
  1. **操作前必查登录态**
111
102
  每次执行业务操作前,确认 CLI 已完成登录:
112
- - 若 `weaver-work-cli auth status` 显示未登录,提示用户执行 `weaver-work-cli auth login` 或 `weaver-work-cli auth set` 完成登录
103
+ - 若 `weaver-work-cli auth status` 显示未登录,立即停止业务操作并按 `auth-and-install.md` 的宿主分流恢复会话,不得直接指定或调用其他登录 Skill
113
104
  - 登录完成后**立刻**继续用户原本的请求,不要让用户再敲一次命令
114
105
 
115
106
  2. **查询要简洁**(`show / list` 时的输出格式)
@@ -2,7 +2,7 @@
2
2
  name: weaver-setting-encrypt
3
3
  description: "对话式修改 weapp 后台\"文件设置 → 加解密设置\"页面的全部 8 个子字段(加解密功能开关、 第三方加解密软件、软件地址、加解密场景、加密/未加密 × 上传/下载 4 个文件处理字段)。 通过自然语言 / `setting-encrypt set --item key=value` 即可完成读取全量 → modify(保留原值)→ diff 让用户确认 → POST 落库。查询优先使用 `GET /api/file/thirdPlugEncDec/config`,旧版本 404 时兼容 `POST /api/file/tenant/setting`;保存使用 `POST /api/file/tenant/setting/save`。Use for 加解密、加密场景、华途、天锐绿盾、亿赛通、文件设置加解密、 <your-e10-domain>/info/fileSet/encryption."
4
4
  license: Proprietary
5
- compatibility: 泛微E10采知连配套使用,内部可自由使用与修改,禁止对外分发
5
+ compatibility: 泛微E10采知连配套使用,随 weaver-e10-caizhilian 技能分发
6
6
  metadata:
7
7
  maintainer: unknown
8
8
  type: capability
@@ -28,22 +28,13 @@ metadata:
28
28
 
29
29
  ### 认证前置(必须)
30
30
 
31
- 本模块通过 CLI 托管的认证获取凭证(base_url + Cookie + eteamsid + User-Agent),凭证契约见同级 `weaver-e10-shared` 技能的共享规则,不依赖手动配置文件,Agent 不得自己读取或输出凭证。
31
+ 本模块通过 CLI 托管的认证获取凭证(base_url + Cookie + eteamsid + User-Agent),凭证契约见 `auth-and-install.md`,不依赖手动配置文件,Agent 不得自己读取或输出凭证。
32
32
 
33
33
  **使用前必须确保**:
34
34
  1. CLI 已安装:`weaver-work-cli --version` 能正常输出版本号
35
35
  2. 已完成登录:`weaver-work-cli auth status` 显示已登录
36
36
 
37
- **首次登录**:
38
- ```text
39
- # OAuth2.0 浏览器授权(推荐)
40
- weaver-work-cli auth login
41
-
42
- # 或手动写入 ETEAMSID(从浏览器 DevTools 复制)
43
- weaver-work-cli auth set --eteamsid "PCACCOUNT_xxx"
44
- ```
45
-
46
- **凭证过期处理**:操作返回认证错误时,提示用户通过 `weaver-work-cli auth login` 或 `weaver-work-cli auth set` 重新登录。
37
+ **登录与登录失效处理**:读取 `auth-and-install.md`,由 Agent 复用任务开始时的宿主判定,禁止调用任何其他登录 Skill。明确为 XiaoE 时只执行 `weaver-work-cli auth xiaoe`,失败即停止且不得改走浏览器;非 XiaoE 时先取得用户确认的真实 E10 域名,再执行 `weaver-work-cli auth login --base-url "<用户确认的 E10 登录域名>" --agent_type "<当前智能体名称>"`。
47
38
 
48
39
  ## When to use
49
40
 
@@ -106,7 +97,7 @@ CLI 接受三种写法:snake-case 别名 / 中英别名 / DTO 字段名。完
106
97
 
107
98
  ### 后端接口执行规则
108
99
 
109
- 加解密设置必须通过 CLI 的加解密设置操作完成,禁止通过浏览器表单或浏览器自动化写入。浏览器仅可参与 `weaver-work-cli auth login` 登录授权。
100
+ 加解密设置必须通过 CLI 的加解密设置操作完成,禁止通过浏览器表单或浏览器自动化写入。浏览器仅可参与非 XiaoE 环境的 `weaver-work-cli auth login` 登录授权;XiaoE 环境不得回退浏览器登录。
110
101
 
111
102
  - 查询接口优先是 `GET /api/file/thirdPlugEncDec/config`;旧版本返回 404 时,使用
112
103
  `POST /api/file/tenant/setting` 读取 `data.encryptionSettings`。保存接口是
@@ -114,7 +105,7 @@ CLI 接受三种写法:snake-case 别名 / 中英别名 / DTO 字段名。完
114
105
  - 保存前必须 GET 读取完整的 8 字段对象,合并目标字段后整体保存,不能只提交变更字段。
115
106
  - 保存后必须重新 GET,确认 `encryptPlugs`、`encryptUrl`、`encryptScene` 与目标值一致;否则明确报告“未保存成功”。
116
107
  - 下拉列表出现“亿赛通”仅说明前端提供该选项,不代表当前租户已经保存亿赛通;接口回读为空才是未配置。
117
- - `[http://12332](http://12332).com` 不是无歧义的 URL。应先确认用户是否要写入 `http://12332.com`,不能由 agent 静默猜测。
108
+ - 用户给出的加解密服务地址若不是无歧义的 URL(例如只有主机片段、缺协议头),应先确认用户要写入的完整地址(协议 + 主机),不能由 agent 静默猜测补全。
118
109
  - 用户明确表达“设置为 X”是修改意图;在提交外部写入前仍需按对话确认规则取得明确确认。确认一旦收到,应继续当前待保存流程,不要再次结束在“等待确认”。
119
110
 
120
111
  ## 对话式交互规则
@@ -124,7 +115,7 @@ CLI 接受三种写法:snake-case 别名 / 中英别名 / DTO 字段名。完
124
115
 
125
116
  1. **操作前必查登录态**
126
117
  每次执行业务操作前,确认 CLI 已完成登录:
127
- - 若 `weaver-work-cli auth status` 显示未登录,提示用户执行 `weaver-work-cli auth login` 或 `weaver-work-cli auth set` 完成登录
118
+ - 若 `weaver-work-cli auth status` 显示未登录,立即停止业务操作并按 `auth-and-install.md` 的宿主分流恢复会话,不得直接指定或调用其他登录 Skill
128
119
  - 登录完成后**立刻**继续用户原本的请求,不要让用户再敲一次命令
129
120
 
130
121
  2. **查询要简洁**(`show` / 读设置时的输出格式)
@@ -0,0 +1,126 @@
1
+ # 文件存储目录知识库摘要
2
+
3
+ > 用途:改存储设置时核对概念、确认目录归属、解释字段业务含义。字段对照见 `setting-storage-field-map.md`。
4
+ > 操作入口见 `setting-storage.md`,以 `weaver-work-cli caizhilian run caizhilian.setting-storage.<操作>` 为准。
5
+
6
+ ---
7
+
8
+ ## 1. 文件存储目录架构(7 个标识)
9
+
10
+ 物理文件存储分 **业务文件** + **静态文件** 两类,目录结构按「标识 1~7」分:
11
+
12
+ | 标识 | 目录 | 分类 | 内容 | 走哪条规则 |
13
+ |---|---|---|---|---|
14
+ | 1 | 根目录 | — | 文件存储最外层目录(如共享存储根路径) | — |
15
+ | 2 | `all_teams` | 业务 | 系统公共业务文件(模版等) | 系统级业务规则 |
16
+ | 3 | `ecodedev` / `ecodestatict` | 静态 | ecode 模块二开文件 + 静态文件 | 系统级静态规则 |
17
+ | 4 | `static` | 静态 | 国际化静态文件 | 系统级静态规则 |
18
+ | 5 | `visitstatic` | 静态 | 系统通用静态文件(素材库图片等) | 系统级静态规则 |
19
+ | 6 | `weatempfiles`(旧版 `weaTempFiles` 逐渐废弃) | 业务 | 系统临时文件:ESB 日志 / 表单日志 / 云桥日志 | 系统级业务规则 |
20
+ | 7 | `租户标识` | 业务 | 单租户内的业务文件(每个租户一个子目录) | **先用系统级业务规则;租户级也可以在「后台管理中心 → 文件设置 → 存储设置」里建自己的实例和规则覆盖** |
21
+
22
+ **访问路径**:
23
+
24
+ - 静态文件 → nginx 直接代理到物理存储
25
+ - 业务文件 → 走 E10 服务和物理存储交互
26
+
27
+ **操作对应**:
28
+
29
+ - 改「系统级业务规则」= 改业务文件最终落到哪个实例 + 路径 → 存储规则保存(业务规则)
30
+ - 改「系统级静态规则」= 改静态文件最终落到哪个实例 + nginx 配置 → 存储规则保存(静态规则)
31
+ - 改「租户级业务规则」= 单租户覆盖 → 租户级存储规则
32
+
33
+ ---
34
+
35
+ ## 2. 确认「现在用的是哪个存储」
36
+
37
+ ### 业务文件(标识 7 `租户标识`)
38
+
39
+ ```text
40
+ 1. 租户平台 → 文件存储设置 → 存储规则 → 业务文件存储规则
41
+ 看「业务文件存储规则」上的存储实例
42
+ 2. 进存储实例详情,确认存储类型
43
+ - 云存储 → 文件在云存储桶里,结构:<bucket>/all_teams/weatempfiles/<租户标识>
44
+ - 本地存储 → 文件在配置的根目录下,结构:/<根目录>/all_teams/weatempfiles/<租户标识>
45
+ 3. 进 E10 后台管理中心 → 文件设置 → 存储设置 → 存储规则
46
+ 看「默认存储规则」绑定的存储实例
47
+ - 与上面一致 → 标识 7 目录就在这个实例里
48
+ - 不一致 → 租户自己新建了实例,标识 7 在租户自己的实例里
49
+ ```
50
+
51
+ ### 静态文件(标识 3/4/5)
52
+
53
+ ```text
54
+ 1. 租户平台 → 文件存储设置 → 存储规则 → 静态文件存储规则
55
+ 看静态规则上的存储实例
56
+ 2. 进存储实例详情确认存储类型(同上)
57
+ ```
58
+
59
+ **用 CLI 复核**:`caizhilian.setting-storage.instance.list` / `instance.get` 看实例类型和路径;`rule.table` / `rule.search` / `rule.form` 看哪条规则用了哪个实例。
60
+
61
+ ---
62
+
63
+ ## 3. 7 种支持的存储类型
64
+
65
+ | 编号 | 类型 | 关键字段 | 适用 |
66
+ |---|---|---|---|
67
+ | 0 | 本地存储 | `storagePath`(共享根目录) | 客户自己有文件服务器,能挂载到所有 E10 节点 |
68
+ | 1 | 腾讯云 COS | region / bucket / accessId / accessKey / endPoint | 公有云 |
69
+ | 2 | 阿里云 OSS | 同上 + cname | 公有云 |
70
+ | 3 | 华为云 OBS | 同上 + rootPath | 公有云(region 信息在 endPoint 里,不单独传) |
71
+ | 4 | S3 标准云存储 | region / bucket / accessId / accessKey / storageHost / pathStyle / rootPath | 自建 S3 兼容存储 |
72
+ | 5 | FastDFS | trackerServers / downLoadHost | 内网分布式 |
73
+ | 6 | HDFS | hdfsServerIp / hdfsServerPort / hdfsUserName / rootPath | 内网分布式 |
74
+
75
+ **本地存储额外要求**:共享目录必须挂载到所有需要访问文件的节点(应用节点、nginx 节点、二开服务节点;微服务部署时含所有微服务节点)。共享目录可自定义。
76
+
77
+ **对象存储额外要求**:业务文件桶用**私有读写**权限;静态文件桶用**公共读 + 私有写**权限(公共读不开会导致静态资源访问 403)。业务文件量大的场景对象存储更稳定、易扩容。
78
+
79
+ **FastDFS / HDFS**:需要提前部署好集群;适合内网分布式 + 文件量大的场景。
80
+
81
+ ---
82
+
83
+ ## 4. 4 种存储方案推荐
84
+
85
+ | 方案 | 业务文件 | 静态文件 | 优点 | 缺点 | 适用 |
86
+ |---|---|---|---|---|---|
87
+ | 1(推荐) | 对象存储(腾讯/阿里/华为/S3) | 本地存储 | 业务稳定 + 静态快 | 需要 2 套存储 | 文件量大 + 访问量大 |
88
+ | 2 | 对象存储 | 对象存储 | 全部云上 | 静态桶要公共读 | 已有 2 个云桶 |
89
+ | 3 | 本地存储 | 本地存储 | 简单便宜 | 性能 + 容量瓶颈 | 文件量少 / 中等 |
90
+ | 4 | 分布式(HDFS/FastDFS) | 本地存储 | 内网大文件 | 部署复杂 | 已有分布式集群 |
91
+
92
+ **默认推荐方案 1**(业务云上 + 静态本地)。
93
+
94
+ ---
95
+
96
+ ## 5. 文件清理说明(慎做)
97
+
98
+ ### 5.1 业务文件(标识 7)清理
99
+
100
+ **慎重**。开启「系统物理文件删除」后,系统中删除文件会同步删除物理文件,风险大,必须先走内部风险确认流程(客户对话里说「走厂商侧流程」,不透露内部对接方式),再在后台「文件深度清理」里操作。没有删除入口时属于配置未开启,同样走厂商侧处理。
101
+
102
+ 确认业务文件占比由厂商侧用运维手段查询,不在本技能里执行。
103
+
104
+ ### 5.2 临时文件(标识 6 `weatempfiles`)清理
105
+
106
+ 主要是日志(ESB 动作流执行日志、表单日志、云桥日志)。清理前先看各子目录占比;对应日志的清理流程走厂商侧。
107
+
108
+ ### 5.3 其他目录
109
+
110
+ 不建议清理(都是系统基础组件依赖)。
111
+
112
+ ---
113
+
114
+ ## 6. 概念 → 现行操作映射
115
+
116
+ | 知识库概念 | 现行操作 |
117
+ |---|---|
118
+ | 看存储实例(名称/类型/启用状态) | `caizhilian.setting-storage.instance.list` / `instance.get` |
119
+ | 看默认规则 / 规则表 / 搜索规则 | `caizhilian.setting-storage.rule.form` / `rule.table` / `rule.search` |
120
+ | 改「业务/静态文件最终落到哪」(实例 + 路径) | `caizhilian.setting-storage.rule.save`(`rule_info_list` 传对应 DTO 字段,见 `setting-storage-field-map.md`) |
121
+ | 改子目录(按年/月/天/部门)、压缩/加密/算法 | 同上,改 `subDirectoryType` / `compressedStorage` / `encryptedStorage` / `sysFileAlgorithm` |
122
+ | 启停某条规则 | `caizhilian.setting-storage.rule.enable` |
123
+ | 改规则顺序 | `caizhilian.setting-storage.rule.order` |
124
+ | 删除规则 | `caizhilian.setting-storage.rule.delete` |
125
+
126
+ 写操作一律 prepare → 用户确认 → apply(见 `write-protocol.md`)。改规则前先列出当前所有规则并逐项说明业务含义,只改用户明确要改的项。
@@ -0,0 +1,57 @@
1
+ # 存储规则字段对照表
2
+
3
+ > 对应存储规则保存接口的规则信息结构(业务规则与静态规则共用一套 DTO 字段命名)。
4
+ > 保存规则时把字段放进 `caizhilian.setting-storage.rule.save` 的 `rule_info_list`(对象数组,键用下表 DTO 字段名)。
5
+ > 业务规则(ruleType=0)与静态规则(ruleType=1)字段集不一样;改规则时按规则类型校验字段兼容性。
6
+
7
+ ## 通用(业务/静态都可用)
8
+
9
+ | 中文 | DTO 字段 | 类型 | 备注 |
10
+ |---|---|---|---|
11
+ | 规则名称 | `ruleName` | str | 多语言字段 |
12
+ | 启用状态 | `ruleOpen` | bool | 默认 true;批量启停走 `caizhilian.setting-storage.rule.enable` |
13
+
14
+ ## 业务规则(ruleType=0)
15
+
16
+ | 中文 | DTO 字段 | 类型 | 备注 |
17
+ |---|---|---|---|
18
+ | 存储实例 | `storageInstanceId` | str | id 字符串;先用 `instance.list` / `rule.form` 拿真实 id |
19
+ | 存储路径 | `storagePath` | str | 相对租户标识子路径;前端显示带租户标识前缀 |
20
+ | 文件来源 | `fileSourceValue` | str | id 列表,逗号分隔(如 `"id1,id2,id3"`) |
21
+ | 文件来源类型 | `fileSourceType` | enum | `-1`=默认 0=模块 1=目录 2=分部 3=部门 |
22
+ | 子目录 | `subDirectoryType` | enum | `1`=年 `2`=月 `3`=天 `4`=部门 `5`=无(仅本地存储) |
23
+ | 压缩存储 | `compressedStorage` | bool | 仅本地存储可用 |
24
+ | 加密存储 | `encryptedStorage` | bool | 仅本地存储可用,配套 `sysFileAlgorithm` |
25
+ | 加密算法 | `sysFileAlgorithm` | str | 默认 `SM4` |
26
+
27
+ ## 静态规则(ruleType=1)
28
+
29
+ | 中文 | DTO 字段 | 类型 | 备注 |
30
+ |---|---|---|---|
31
+ | 静态资源存储实例 | `staticStorageInstanceId` | str | id 字符串 |
32
+ | 静态资源存储路径 / 存储桶 | `staticStoragePath` | str | 按实例类型显示名不同(「存储路径」/「存储桶」/「存储组」) |
33
+ | nginx 配置 | `staticNginxConfig`(挂在扩展配置下) | str | nginx 配置块;保存时按扩展配置子字段合并 |
34
+
35
+ 以上 13 个字段(通用 2 + 业务 8 + 静态 3)即改规则时逐项说明的业务清单。
36
+
37
+ ## 存储实例关键字段(按类型不同)
38
+
39
+ 实例编辑为动态表单;实例写入当前不由本技能开放,只读查看用 `caizhilian.setting-storage.instance.get`。
40
+
41
+ | 类型 code | 名称 | 关键字段 |
42
+ |---|---|---|
43
+ | 0 | 本地存储 | `instanceName` / `storagePath` / `storageState` |
44
+ | 1 | 腾讯云 COS | `region` / `bucket` / `accessId` / `accessKey` / `endPoint` |
45
+ | 2 | 阿里云 OSS | 同上 + `cname` |
46
+ | 3 | 华为云 OBS | 同上 + `rootPath` |
47
+ | 4 | S3 标准 | `region` / `bucket` / `accessId` / `accessKey` / `storageHost` / `pathStyle` / `rootPath` |
48
+ | 5 | FastDFS | `trackerServers` / `downLoadHost` |
49
+ | 6 | HDFS | `hdfsServerIp` / `hdfsServerPort` / `hdfsUserName` / `rootPath` |
50
+
51
+ 存储类型业务含义见 `setting-storage-docs-summary.md` 第 3 节。
52
+
53
+ ## 保存注意事项
54
+
55
+ - `rule_info_list` 里只放用户明确要改的字段;未提到的字段保留原值,不要「顺便」改。
56
+ - 枚举值必须按上表取值;错误枚举会原样传给服务端,不做本地纠正。
57
+ - 改默认规则与改子规则都走 `rule.save`(`default_rule` 标明是否默认规则);写操作先 prepare 再 apply(见 `write-protocol.md`)。