weaver-work-cli 0.1.36 → 0.1.39

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 (169) hide show
  1. package/README.md +4 -2
  2. package/dist/chunks/{archive-XBVH7JU7.js → archive-ENZYBBME.js} +559 -68
  3. package/dist/chunks/{archive-oa-MZM3EKFQ.js → archive-oa-YWLEC5V4.js} +4 -3
  4. package/dist/chunks/{asset-4XO7UOUW.js → asset-OOV6DWPA.js} +8 -7
  5. package/dist/chunks/asset-idle-RE632MY5.js +670 -0
  6. package/dist/chunks/{attachment-content-VXSWANAC.js → attachment-content-RWN2FCLL.js} +3 -3
  7. package/dist/chunks/{blog-PGZKOPSC.js → blog-PEPOJAL7.js} +5 -4
  8. package/dist/chunks/{caizhilian-BH4ZVGUN.js → caizhilian-WYIQDVPJ.js} +5 -4
  9. package/dist/chunks/{calendar-MXEMTIO4.js → calendar-CIARBAOX.js} +4 -3
  10. package/dist/chunks/{chunk-NCOVUAZK.js → chunk-36DIFZAH.js} +4 -3
  11. package/dist/chunks/{chunk-I6QGIBDM.js → chunk-BJGXMFGD.js} +4 -3
  12. package/dist/chunks/{chunk-TC6MZAO3.js → chunk-CQHGNCK2.js} +52 -2
  13. package/dist/chunks/{chunk-WXFPWCXG.js → chunk-EINRJHQ3.js} +3 -3
  14. package/dist/chunks/{chunk-JUXVYKII.js → chunk-EZGFHJFW.js} +201 -19
  15. package/dist/chunks/{chunk-VPUTVEMC.js → chunk-F2EQXUEE.js} +436 -290
  16. package/dist/chunks/{chunk-JYKABYCV.js → chunk-GVPJZXJ2.js} +3 -3
  17. package/dist/chunks/{chunk-6LLJFKJE.js → chunk-HJYVHXUQ.js} +1 -1
  18. package/dist/chunks/{chunk-T72N74ZT.js → chunk-I2HB737U.js} +5 -4
  19. package/dist/chunks/{chunk-VPXOPQJI.js → chunk-K3RUEEOL.js} +4 -2
  20. package/dist/chunks/{chunk-HXJQI5NM.js → chunk-KTCB5R5H.js} +3 -2
  21. package/dist/chunks/{chunk-XMGSYD6S.js → chunk-L4N7B7ZD.js} +4 -4
  22. package/dist/chunks/{chunk-QYGO5EE2.js → chunk-MUQUHKPG.js} +4 -3
  23. package/dist/chunks/{chunk-QHFANTX7.js → chunk-NLK2RZKG.js} +1348 -90
  24. package/dist/chunks/{chunk-F746NKNF.js → chunk-P2DAISYW.js} +1 -1
  25. package/dist/chunks/{chunk-BPE37FPB.js → chunk-T7JDJJ7H.js} +3 -3
  26. package/dist/chunks/{chunk-JNG42JKG.js → chunk-XXJOSZTQ.js} +6 -6
  27. package/dist/chunks/{chunk-5DQEEGCC.js → chunk-YS5DPN4T.js} +1 -1
  28. package/dist/chunks/{chunk-EG6ZU444.js → chunk-ZUX3P6BQ.js} +10 -5
  29. package/dist/chunks/{chunk-JCSN3JGM.js → chunk-ZXRNHZTE.js} +7 -6
  30. package/dist/chunks/{conflict-JAB2LJEZ.js → conflict-DRMDOL56.js} +2 -2
  31. package/dist/chunks/{contract-XI2EEIZU.js → contract-73MERZWN.js} +4 -3
  32. package/dist/chunks/{cowork-SCPGLBA4.js → cowork-HNGBPD7A.js} +4 -3
  33. package/dist/chunks/{ebuilder-form-EYLHNOTA.js → ebuilder-form-OY6DVNRK.js} +3 -3
  34. package/dist/chunks/{ehr-EAP77IMT.js → ehr-RAQNEQO7.js} +4 -3
  35. package/dist/chunks/{esb-2TGGXEE7.js → esb-6XV7C7YV.js} +4 -4
  36. package/dist/chunks/{fna-2X7ZE7BU.js → fna-XTSRB7G7.js} +4 -3
  37. package/dist/chunks/{host-Q4LZGCRU.js → host-3F5UM5GN.js} +3 -3
  38. package/dist/chunks/{host-XCLDDXKQ.js → host-A7J6GDUP.js} +3 -3
  39. package/dist/chunks/{host-I4NRK4MX.js → host-VGPVP7YF.js} +3 -3
  40. package/dist/chunks/{host-C6EL2RKL.js → host-YAQAPYNP.js} +3 -3
  41. package/dist/chunks/{host-UEI5FGDM.js → host-YMBXWFWX.js} +3 -3
  42. package/dist/chunks/{hrm-YXERJM76.js → hrm-TLHKC545.js} +3 -3
  43. package/dist/chunks/{im-A4VZN2TQ.js → im-YOUCFMUK.js} +3 -3
  44. package/dist/chunks/{invoice-2Z6YPMIS.js → invoice-WNBS2B4C.js} +3 -3
  45. package/dist/chunks/{jiuchuanhui-AR5GMKZB.js → jiuchuanhui-XABWS5RN.js} +4 -3
  46. package/dist/chunks/{lazy-dispatch-QXW7P4X3.js → lazy-dispatch-NLZ5UQQI.js} +5 -5
  47. package/dist/chunks/{mail-7GZ6CPBJ.js → mail-LRYMBFNL.js} +4 -3
  48. package/dist/chunks/{meeting-3NMGA3MB.js → meeting-ESXL6MFI.js} +13 -12
  49. package/dist/chunks/{okr-BZ6XUOAG.js → okr-EOV65SSF.js} +4 -3
  50. package/dist/chunks/{plan-DR5CMUYP.js → plan-YFPVKW6Y.js} +4 -3
  51. package/dist/chunks/{project-6J63MK33.js → project-MDVZUYQW.js} +4 -3
  52. package/dist/chunks/{registry-VRTNC6UR.js → registry-QCLZEDAP.js} +8 -8
  53. package/dist/chunks/{registry-KDD7DHNK.js → registry-VT5Y2HLA.js} +4 -4
  54. package/dist/chunks/{registry-TKX2E7C7.js → registry-YX4CSEMD.js} +3 -3
  55. package/dist/chunks/{room-recommend-XCWRMB5P.js → room-recommend-L3MWH4JW.js} +4 -4
  56. package/dist/chunks/{schedule-IVBICP32.js → schedule-UASAVDVD.js} +4 -4
  57. package/dist/chunks/{workflow-D74NFK3C.js → workflow-KDGIUCNW.js} +9 -6
  58. package/dist/core/output.js +16 -6
  59. package/dist/index.js +33 -28
  60. package/dist/internal/e10/auth/messages.js +1 -0
  61. package/dist/internal/e10/auth-recovery.js +127 -7
  62. package/dist/internal/e10/client.js +16 -2
  63. package/dist/internal/e10/context.js +16 -3
  64. package/dist/internal/e10/request-runtime.js +106 -8
  65. package/dist/shortcuts/archive/host.js +5 -2
  66. package/dist/shortcuts/archive/manifest.js +1 -1
  67. package/dist/shortcuts/archive/operations/borrow-list.js +13 -1
  68. package/dist/shortcuts/archive/operations/flow-url.js +1 -1
  69. package/dist/shortcuts/archive/operations/prelib.js +472 -0
  70. package/dist/shortcuts/archive/operations/registry.js +2 -0
  71. package/dist/shortcuts/archive/operations/upload.js +1 -1
  72. package/dist/shortcuts/archive-oa/host.js +2 -1
  73. package/dist/shortcuts/asset/host.js +6 -5
  74. package/dist/shortcuts/asset-idle/errors.js +44 -0
  75. package/dist/shortcuts/asset-idle/host.js +161 -0
  76. package/dist/shortcuts/asset-idle/index.js +114 -0
  77. package/dist/shortcuts/asset-idle/manifest.js +159 -0
  78. package/dist/shortcuts/asset-idle/operations/idle.js +47 -0
  79. package/dist/shortcuts/asset-idle/operations/registry.js +33 -0
  80. package/dist/shortcuts/asset-idle/operations/shared.js +142 -0
  81. package/dist/shortcuts/asset-idle/operations/types.js +9 -0
  82. package/dist/shortcuts/asset-idle/operations.js +15 -0
  83. package/dist/shortcuts/blog/host.js +3 -2
  84. package/dist/shortcuts/caizhilian/host.js +3 -2
  85. package/dist/shortcuts/calendar/host.js +2 -1
  86. package/dist/shortcuts/contract/host.js +2 -1
  87. package/dist/shortcuts/cowork/host.js +2 -1
  88. package/dist/shortcuts/ebuilder-form/host.js +3 -1
  89. package/dist/shortcuts/ehr/host.js +2 -1
  90. package/dist/shortcuts/esb/host.js +2 -1
  91. package/dist/shortcuts/fna/host.js +2 -1
  92. package/dist/shortcuts/hrm/host.js +2 -1
  93. package/dist/shortcuts/im/host.js +3 -2
  94. package/dist/shortcuts/index.js +5 -0
  95. package/dist/shortcuts/invoice/host.js +5 -4
  96. package/dist/shortcuts/jiuchuanhui/host.js +2 -1
  97. package/dist/shortcuts/mail/host.js +2 -1
  98. package/dist/shortcuts/meeting/host.js +3 -2
  99. package/dist/shortcuts/meeting/invitation/text.js +71 -0
  100. package/dist/shortcuts/meeting/operations/eb/create-flow.js +1073 -50
  101. package/dist/shortcuts/meeting/operations/eb/crm-search.js +478 -0
  102. package/dist/shortcuts/meeting/operations/eb/factory.js +60 -1
  103. package/dist/shortcuts/meeting/operations/eb/index.js +2 -0
  104. package/dist/shortcuts/meeting/operations/invitation.js +122 -9
  105. package/dist/shortcuts/okr/host.js +2 -1
  106. package/dist/shortcuts/plan/host.js +2 -1
  107. package/dist/shortcuts/project/host.js +2 -1
  108. package/dist/shortcuts/workflow/host.js +3 -0
  109. package/dist/shortcuts/workflow/index.js +1 -1
  110. package/dist/shortcuts/workflow/operations/form.js +44 -11
  111. package/dist/shortcuts/workflow/operations/todoSmartConvert/aigroupRules.js +77 -26
  112. package/dist/shortcuts/workflow/operations/todoSmartConvert/aigroupStore.js +6 -0
  113. package/dist/shortcuts/workflow/operations/todoSmartConvert/summaryCache.js +59 -117
  114. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoDetailCache.js +44 -7
  115. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoDetailFetcher.js +37 -29
  116. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.collect.js +20 -6
  117. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.detail.js +22 -18
  118. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.groupSummary.js +34 -10
  119. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.js +4 -2
  120. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.smartGroup.js +9 -2
  121. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.summary.js +110 -20
  122. package/docs/_catalog.md +3 -0
  123. package/docs/asset-idle.md +45 -0
  124. package/docs/e10-auth.md +1 -1
  125. package/docs/todo-smart-convert/subgroup-rules.md +1 -1
  126. package/package.json +1 -1
  127. package/scripts/package-skill.mjs +2 -0
  128. package/skill-template/business-info.json +14 -1
  129. package/skill-template/domains/asset-idle.md +13 -0
  130. package/skill-template/domains/wenshuding.md +3 -0
  131. package/skills/weaver-e10-archive-oa/SKILL.md +1 -0
  132. package/skills/weaver-e10-archive-oa/references/my-borrow.md +49 -0
  133. package/skills/weaver-e10-asset-idle/SKILL.md +73 -0
  134. package/skills/weaver-e10-asset-idle/references/idle-list.md +62 -0
  135. package/skills/weaver-e10-asset-idle/references/idle-stats-and-charts.md +65 -0
  136. package/skills/weaver-e10-asset-idle/references/source-manifest.json +193 -0
  137. package/skills/weaver-e10-asset-idle/references/widget-style.md +205 -0
  138. package/skills/weaver-e10-caizhilian/SKILL.md +29 -11
  139. package/skills/weaver-e10-caizhilian/references/auth-and-install.md +12 -0
  140. package/skills/weaver-e10-caizhilian/references/files.md +1 -1
  141. package/skills/weaver-e10-caizhilian/references/setting-encrypt.md +1 -1
  142. package/skills/weaver-e10-caizhilian/references/source-manifest.json +45 -45
  143. package/skills/weaver-e10-cowork/SKILL.md +2 -0
  144. package/skills/weaver-e10-jucailin/SKILL.md +2 -0
  145. package/skills/weaver-e10-jucailin/references/recruit-read.md +2 -0
  146. package/skills/weaver-e10-jucailin/references/recruit-write.md +1 -1
  147. package/skills/weaver-e10-mail/SKILL.md +3 -0
  148. package/skills/weaver-e10-meeting/SKILL.md +250 -301
  149. package/skills/weaver-e10-meeting/references/meeting-eb.md +203 -0
  150. package/skills/weaver-e10-meeting/references/meeting-invitation.md +37 -5
  151. package/skills/weaver-e10-meeting.zip +0 -0
  152. package/skills/weaver-e10-okr/references/source-manifest.json +3 -3
  153. package/skills/weaver-e10-shared/SKILL.md +5 -5
  154. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +3 -3
  155. package/skills/weaver-e10-wenshuding/SKILL.md +29 -6
  156. package/skills/weaver-e10-wenshuding/references/archive-borrow-list.md +14 -0
  157. package/skills/weaver-e10-wenshuding/references/archive-download.md +2 -0
  158. package/skills/weaver-e10-wenshuding/references/archive-flow.md +1 -1
  159. package/skills/weaver-e10-wenshuding/references/archive-prelib-arrange.md +76 -0
  160. package/skills/weaver-e10-wenshuding/references/archive-prelib-list.md +107 -0
  161. package/skills/weaver-e10-wenshuding/references/archive-prelib-open.md +59 -0
  162. package/skills/weaver-e10-wenshuding/references/archive-upload.md +4 -1
  163. package/skills/weaver-e10-wenshuding/references/source-manifest.json +108 -65
  164. package/skills/weaver-e10-workflow/SKILL.md +5 -2
  165. package/skills/weaver-e10-workflow/aigroup/default.json +154 -19
  166. package/skills/weaver-e10-workflow/references/todo-smart-convert.md +59 -27
  167. package/skills/weaver-e10-workflow/tools/todo-serve.cjs +113 -25
  168. package/skills/weaver-e10-workflow/tools/todo-summary.cjs +292 -42
  169. package/skills/weaver-e10-yimiaoban/references/source-manifest.json +3 -3
@@ -2,23 +2,24 @@
2
2
  name: weaver-e10-caizhilian
3
3
  display_name: 泛微E10采知连知识管理
4
4
  display_name_en: Weaver E10 Document Management
5
- description: "泛微E10采知连知识管理系统Skill,包含多个功能模块,覆盖文档创建/搜索/编辑/比对、附件管理、文件夹操作、参与人与标签管理、文档共享与权限设置、文件存储/备份/加解密/附件设置、FTP/SFTP文件采集、本地文件上传。"
6
- description_zh: "泛微E10采知连知识管理系统Skill,包含多个功能模块,覆盖文档创建/搜索/编辑/比对、附件管理、文件夹操作、参与人与标签管理、文档共享与权限设置、文件存储/备份/加解密/附件设置、FTP/SFTP文件采集、本地文件上传。"
7
- description_en: "Weaver E10 document management Skill with multiple functional modules covering document CRUD, attachments, folders, sharing, permissions, file settings, FTP/SFTP collection, and file upload."
8
- version: 1.1.36
5
+ description: "泛微E10采知连知识管理:文档创建/搜索/编辑/比对、文件夹与权限共享、标签参与人、附件封面、文件采集与上传。当用户处理采知连/知识库的文档、文件夹、共享权限或附件时使用。"
6
+ description_zh: "泛微E10采知连知识管理:文档创建/搜索/编辑/比对、文件夹与权限共享、标签参与人、附件封面、文件采集与上传。当用户处理采知连/知识库的文档、文件夹、共享权限或附件时使用。"
7
+ description_en: "Weaver E10 caizhilian knowledge management: document create/search/edit/compare, folders and sharing permissions, tags and participants, attachments and covers, file collection and upload. Use this skill when the user works with caizhilian or knowledge-base documents, folders, sharing permissions, or attachments."
8
+ version: 1.1.42
9
9
  author: 泛微网络科技股份有限公司
10
+ tags: [文档管理, 知识库, 泛微E10, document-management, knowledge-base]
10
11
  agent_created: true
11
12
  requires:
12
13
  bins: ["weaver-work-cli"]
14
+ dependencies:
15
+ - weaver-e10-shared
13
16
  cliHelp: "weaver-work-cli caizhilian --help"
17
+ compatibility: "需 Node.js >=18 与 npm 全局安装 weaver-work-cli;业务操作需可访问目标 E10 系统并完成登录;支持 Windows / macOS / Linux"
14
18
  ---
15
19
 
16
- **CRITICAL — 开始前先读共享规则**:同级目录存在 `weaver-e10-shared` 技能时,MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)(安装、E10 认证、JSON 输出和高风险写入规则)。
17
- 若共享规则不存在、CLI 未安装或读取失败,说明本技能的必需依赖缺失,必须调用宿主提供的提问/确认弹框,向用户说明必须补齐 `weaver-work-cli` 与共享 skill `weaver-e10-shared`(不补齐本技能无法执行)及补齐计划,并把下面两条待执行命令原样完整展示在确认信息中;Agent 不能在未确认时自行安装。
18
- 用户明确确认后,Agent 必须直接代为按顺序执行且每条仅执行一次,不得要求或引导用户手动执行:① 缺 CLI 时执行 `npm install -g weaver-work-cli`;② 再执行 `weaver-work-cli skills install shared --target-dir <SKILLS_ROOT>` 装回共享 skill,
19
- `<SKILLS_ROOT>` 取本 SKILL.md 所在目录的上一级绝对目录(即与本技能同级的 skills 根目录),不要省略 `--target-dir`——省略会装进默认目录,
20
- 导致本技能依然读不到共享规则。
21
- 命令均成功后重新读取共享规则;若环境中确实无法补齐共享规则,停止依赖登录态的业务操作,告知用户共享认证规则缺失;不要在业务 Skill 中猜测宿主或写死登录命令。
20
+ **开始前先做环境自检,首轮必须有产出**:先按 [`auth-and-install.md`](references/auth-and-install.md) 检查 `weaver-work-cli` 是否可用(`weaver-work-cli --version`),并按需执行 `weaver-work-cli caizhilian schema` / `caizhilian operations`(不依赖登录态,不发起业务请求);`caizhilian health` 需已有登录配置,未登录时返回认证错误属预期结果、如实转述即可。把能力目录或自检结论随首轮草案一并交付,见「首轮必有产出」。
21
+ 本包的安装、认证、JSON 输出与高风险写入规则已完整沉淀在 [`auth-and-install.md`](references/auth-and-install.md) 与 [`write-protocol.md`](references/write-protocol.md),**不依赖任何包外技能**;同级目录若装有共享规则技能(weaver-e10-shared),可顺带读取作规则复核——它是可选增强,缺它也能跑,不存在或读取失败都直接按本包规则继续。
22
+ CLI 未安装时**不要空手终止、也不要擅自安装**:先把安装命令原样展示给用户(`npm install -g weaver-work-cli`,用户提供 registry 时加 `--registry "<用户提供的 registry 地址>"`),等用户明确确认后代为执行一次;确实无法补齐时,停止依赖登录态的业务操作,但仍交付「能力边界说明 + 安装/登录步骤 + 本任务执行草案」。不要在业务 Skill 中猜测宿主或写死登录命令。
22
23
  **`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。
23
24
  传 `true` 时不要再写 `--profile` / `--base-url`。
24
25
  完整规则见 [`auth-and-install.md`](references/auth-and-install.md)。
@@ -39,6 +40,23 @@ Windows/PowerShell 下不要使用 `printf`、`$HOME/...`、`~/...`、bash 反
39
40
 
40
41
  涉及附件、封面图片、正文文件、本地文件上传或下载落盘的操作,执行前必须提醒用户:文件内容可能被上传到 E10 采知连文档中心或文件服务器、下载内容会写入本地磁盘,并可能进入当前大模型上下文用于理解和处理;必须等待用户明确确认后才继续。
41
42
 
43
+ ## 执行预算(最小动作集,避免冗余读取与重复调用)
44
+
45
+ - 同一轮已有新鲜查询结果时不重复查询同一列表或同一详情;`*.form` 的表单结构同轮内复用。
46
+ - 列表默认小页(`page_size=10`)且只查第一页;用户要求「继续」才翻页,不自动拉全量。
47
+ - 已拿到 `doc_id` / `folder_id` / `attachment_id` 或本地文件路径时直达对应操作,不默认走「search -> get -> form -> list -> prepare -> apply」全链路。
48
+ - 一次只跑一个文件上传/下载;reference 按需读取,不为同一件事连翻多个文件。
49
+
50
+ ## 首轮必有产出(先给草案,再补信息)
51
+
52
+ 用户一句话进来,第一轮回复必须包含产出物,不允许只回提问、只报依赖缺失或空手等待:
53
+
54
+ - **先给草案卡**:任务理解(对象 / 动作 / 范围 / 预期结果)+ 执行方案(准备走的处理链与关键取值)+「本卡假设(不符请改)」列出所用默认假设;能推断的按最稳默认直接写进草案,用户否决再改。
55
+ - **必问项 ≤3 且附在产出之后**:只问确实缺失、无默认值且影响动手的问题,一次问全;不要第一句先反问,不要挤牙膏式追问。
56
+ - **确认门只卡写操作落地**:查询、方案、草案与结果摘要直接交付,不设确认门;只有真正执行写操作(prepare → apply、上传、下载落盘)前才等用户明确确认。
57
+ - **环境缺失不等于零产出**:CLI 未装 / 未登录 / 规则缺失时,交付「能力边界说明 + 原样展示的安装与登录步骤 + 本任务执行草案」,按 [`auth-and-install.md`](references/auth-and-install.md) 执行。
58
+ - **无交互 / 无登录环境同样要有产出**:拿不到用户应答(自动化执行器、托管沙箱),或 CLI 未装、未登录、无 E10 环境时,首轮直接交付四件套:①环境自检结论(`--version` / `schema` / `operations` 的真实输出摘要;`health` 报认证错误属预期,原样转述)②能力目录摘要 ③本任务的分步执行方案——可直接复制执行的真实命令 + 参数模板 + 字段取值来源 ④前置条件清单(安装 CLI、提供登录域名、所需权限)。此环境下不等待确认,也不执行安装、登录与任何写操作——方案交付即为本轮产出;恢复交互后回到正常流程。
59
+
42
60
  ## 路由优先级(先判断是不是采知连文档中心,再选 operation)
43
61
 
44
62
  采知连是 E10 的文档中心 / 知识库能力,不是通用网盘,也不是流程表单。**只要用户的核心对象是采知连文档、知识库文件夹、文档共享与权限、文档标签/参与人、文档附件与封面、文档比对,就优先使用 `weaver-e10-caizhilian`。**
@@ -195,7 +213,7 @@ Windows/PowerShell 下不要使用 `printf`、`$HOME/...`、`~/...`、bash 反
195
213
  ### 9) 先明确需求,再动手
196
214
 
197
215
  - **动手前先确认理解一致**:对象、动作、范围、预期结果四个方面是否都清楚——清楚才动手。
198
- - **分辨不清必须澄清**:需求含糊、可能有多种理解、信息不足时,通过对话向用户确认;不要自己挑一种理解就执行。
216
+ - **分辨不清必须澄清**:需求含糊、可能有多种理解、信息不足时,把理解写成草案卡 + 假设清单向用户确认(见「首轮必有产出」),不要自己挑一种理解就执行。
199
217
  - **一次问清**:需要澄清时把关键问题一次问全,不要挤牙膏式反复追问。
200
218
  - **自检信号**:当你心里出现「用户应该是想要……」「这样应该也满足需求」「大概就是这个意思」时——停下,先确认,不要替用户拍板。
201
219
 
@@ -10,6 +10,8 @@
10
10
 
11
11
  本 Skill 不自行发起 HTTP 请求、不搭建登录流程。安装检查、登录、Cookie 拼接、请求头注入全部由 `weaver-work-cli` 托管,Agent 只负责调用 CLI 并把结果转述给用户。
12
12
 
13
+ 本文件是本包安装与认证规则的完整来源,不依赖任何包外技能;同级共享规则技能只作可选复核,缺失不影响执行。CLI 未安装或未登录时按 SKILL.md「首轮必有产出」交付能力边界说明、安装与登录步骤和任务执行草案,不要空手终止。
14
+
13
15
  ## 安装与可用性检查
14
16
 
15
17
  ```text
@@ -74,6 +76,16 @@ weaver-work-cli --version
74
76
  - 权限错误时停止并如实报告,不自动加 `sudo`。
75
77
  - 每条命令只执行一次;成功后用 `weaver-work-cli --version` 确认版本,再继续原业务操作。
76
78
 
79
+ ## 无交互 / 无登录环境(自动化执行器、托管沙箱)
80
+
81
+ 判定信号:宿主/会话没有用户应答通道(自动评测、无人值守执行器),或上文判定未安装且安装确认无人可问,或本地无登录配置。
82
+
83
+ 1. 本地自检照常:`weaver-work-cli --version`(未装则跳过并记录)、`caizhilian schema`、`caizhilian operations`——二者不依赖登录态。
84
+ 2. `caizhilian health` 或业务命令返回 `authentication/session_unavailable` 属预期结果:如实转述,不当作故障,也不重试。
85
+ 3. **不等待确认,也不执行安装、登录与写操作**——「安装 / 登录域名 / 写操作必须用户确认」的红线不变。
86
+ 4. 首轮交付四件套:环境自检结论、能力目录摘要、本任务分步执行方案(真实命令 + 参数模板 + 字段取值来源,取自本包 references,不编造)、前置条件清单(安装 CLI、提供登录域名、所需权限)。
87
+ 5. 恢复用户应答后,回到「安装与可用性检查」「登录流程」的正常路径继续。
88
+
77
89
  ## 登录态判断
78
90
 
79
91
  只允许通过 CLI 命令判断登录态:
@@ -21,7 +21,7 @@
21
21
 
22
22
  - `upload` 是新增附件;`replace` 走源 `reUpload`,**保留原附件 ID**(旧文件版本被顶替),所以 `attachment_id` 与 `folder_id` 都是必填,必须先用 `caizhilian.document.get` 或 `caizhilian.compare.list-file-objects` 拿到真实附件 ID。
23
23
  - `download` 的 `save_path` 可以是**完整文件路径**,也可以是以 `/` 或 `\` 结尾的**目录**(目录时文件名取自响应头 `content-disposition`,已过滤路径穿越字符)。
24
- - 未传 `save_path` 且没有配置默认下载目录时直接报 `no_save_path`(源 `assets/config.json` 的 `http.download.default_dir` 为空,CLI 侧不提供默认目录),必须让用户给出保存位置。
24
+ - 未传 `save_path` 且默认下载目录配置为空时直接报 `no_save_path`(CLI 侧不提供默认目录),必须让用户给出保存位置。
25
25
  - `download-as-pdf` 会先调 `/api/file/download/toPdf?fileId=<attachment_id>` 预检,服务端返回不支持时报 `pdf_not_supported`;支持时带 `downloadToPdf=true` 下载 PDF 版本。
26
26
  - 下载单文件上限 **100MB**,超限报 `file_too_large`;下载/上传超时 **120 秒**(普通接口 12 秒)。
27
27
  - 同名文件已存在时按源的 `rename` 策略自动改名为 `名称(1).扩展名`、`名称(2).扩展名`……**不覆盖**已有文件。
@@ -38,7 +38,7 @@ metadata:
38
38
 
39
39
  ## When to use
40
40
 
41
- - 用户说"把加解密功能打开""加解密软件地址改成 xxx""场景切到上传下载均不处理"
41
+ - 用户说"把加解密功能打开""把加解密软件地址改一下""场景切到上传下载均不处理"
42
42
  "加密文件上传=1 加密"等
43
43
  - 改 weapp 后台的"加解密设置"页(`<your-e10-domain>/info/fileSet/encryption`)
44
44
  - 调试 eteams-file 后台加解密功能(华途 / 天锐绿盾 / 亿赛通)
@@ -6056,57 +6056,57 @@
6056
6056
  }
6057
6057
  ],
6058
6058
  "artifactBaseline": {
6059
- "aggregateSha256": "a30810157d58d076404fd6447b94996eb30178f384a0d6c13bca14589156983e",
6059
+ "aggregateSha256": "9daa9ebc569f2f2ea9291e26e8b8ffd6ad553e4650e6480b6ea20311f4e0f90e",
6060
6060
  "files": [
6061
6061
  {
6062
6062
  "path": "docs/_catalog.md",
6063
- "size": 5332,
6064
- "sha256": "a81903939aea5bf1196d1e3243709d2facf50d9bdcf74d8a6ca731061310dbbe"
6063
+ "size": 5355,
6064
+ "sha256": "b980b43bc1c9dabfa9b5b6da0a6e0187357d4c4f73c6f80a141c0c317acc182b"
6065
6065
  },
6066
6066
  {
6067
6067
  "path": "docs/caizhilian.md",
6068
- "size": 26447,
6069
- "sha256": "02654c81ca71b16201b0866e55cb0b480af5a9f43a864c29970213755f3e41a9"
6068
+ "size": 26779,
6069
+ "sha256": "011b212cca9c6214cccb2dfc81043cb90b831b86078903e49f6cb3e87ff6ecc3"
6070
6070
  },
6071
6071
  {
6072
6072
  "path": "skill-template/business-info.json",
6073
- "size": 8216,
6074
- "sha256": "370a45e86c6b7e33869c5df1bf08d9f22bd98fa8b157b49716e13bca0e7b63c3"
6073
+ "size": 8592,
6074
+ "sha256": "06f4c239dfcd50f0be1febb00b663e962064a4d2c19193632957fdf5ef85d39a"
6075
6075
  },
6076
6076
  {
6077
6077
  "path": "skill-template/domains/caizhilian.md",
6078
- "size": 3275,
6079
- "sha256": "78954d0b2704b75fd22c9c672b4a5a1a461fc9813b8b362edc8643b50625a06e"
6078
+ "size": 3575,
6079
+ "sha256": "9468ab0220d55c0c8efbd9bdeb1dec65656611e8e363fbb61708680e0f43f3a1"
6080
6080
  },
6081
6081
  {
6082
6082
  "path": "skills/weaver-e10-caizhilian/references/agent-entry.md",
6083
- "size": 7752,
6084
- "sha256": "c96913824f58a3524b19c4723cb21a316fc513588482ef9db7cdfd7e8da5289f"
6083
+ "size": 8917,
6084
+ "sha256": "cc733e3906938553fc9af92887f73f8c0a87211c2bb06a225f48703f86f9516d"
6085
6085
  },
6086
6086
  {
6087
6087
  "path": "skills/weaver-e10-caizhilian/references/collaboration.md",
6088
- "size": 9829,
6089
- "sha256": "d6c413f44f768202c29c136b93e461774ff156bab47b5709cf275fdc72a0ebcf"
6088
+ "size": 9836,
6089
+ "sha256": "74b2695da815994a12ec98d01b0317500b22713486779b760478ba608e740d25"
6090
6090
  },
6091
6091
  {
6092
6092
  "path": "skills/weaver-e10-caizhilian/references/document.md",
6093
- "size": 12586,
6094
- "sha256": "63ba0d1832c1945078ffbf1a61f4ab8e97c4978150d44daa256c3392003b42ec"
6093
+ "size": 12651,
6094
+ "sha256": "d825ec32e0239eb624df0d12f0aed6d9b1bcc61c86930e093eb5e8b0fd7a3f93"
6095
6095
  },
6096
6096
  {
6097
6097
  "path": "skills/weaver-e10-caizhilian/references/file-upload.md",
6098
- "size": 8136,
6099
- "sha256": "4bb244ff2f0c3771012bc39ae88b2cfafe7c5c2f9bc04dcefe1806e12ef85f62"
6098
+ "size": 8148,
6099
+ "sha256": "642ac8243797099a0d25f250002bcc920cb4c00b696a6f3cfef0d5af01ad939b"
6100
6100
  },
6101
6101
  {
6102
6102
  "path": "skills/weaver-e10-caizhilian/references/files.md",
6103
- "size": 11756,
6104
- "sha256": "8eefbc54bea16371c226aee6c4d7d302a7b307971f57b57ec6f79914e51a1a36"
6103
+ "size": 13266,
6104
+ "sha256": "c6f2bf50dc907cd70beef5652bf5f508099f9d0b1c8fc28a8b138d195ea85a21"
6105
6105
  },
6106
6106
  {
6107
6107
  "path": "skills/weaver-e10-caizhilian/references/folder.md",
6108
- "size": 20400,
6109
- "sha256": "bf8ab9adabcc5191068b70996e0e89a3edd3d9f60a3aacbab7860e0f7b6ee751"
6108
+ "size": 20487,
6109
+ "sha256": "4635473c58785dda2abf0613a40b27a99073b749e44600d9638a935be1e1a8ff"
6110
6110
  },
6111
6111
  {
6112
6112
  "path": "skills/weaver-e10-caizhilian/references/org-browser.md",
@@ -6120,18 +6120,18 @@
6120
6120
  },
6121
6121
  {
6122
6122
  "path": "skills/weaver-e10-caizhilian/references/write-protocol.md",
6123
- "size": 10102,
6124
- "sha256": "ef81f029b1fee09544bb5e8d840c0316b2ca769701ef7d578cbbca6d4038f055"
6123
+ "size": 10704,
6124
+ "sha256": "6f47273ed588ebaa82e2efc1b4afcdb4b4775be2ae30df97a5664719ac691911"
6125
6125
  },
6126
6126
  {
6127
6127
  "path": "skills/weaver-e10-caizhilian/SKILL.md",
6128
- "size": 31272,
6129
- "sha256": "2f6fad343e6f6a428c67b172a52eb58e62eaa2fcaab95f0e97da74c8d77021dc"
6128
+ "size": 34205,
6129
+ "sha256": "5d4403aacf845b0aa73266be007015f9c1e9109edb9c93408f78ee8efaae2fed"
6130
6130
  },
6131
6131
  {
6132
6132
  "path": "src/internal/e10/request-runtime.ts",
6133
- "size": 17560,
6134
- "sha256": "f6f45fb9d142042123d58b2b678b5b43b797413a8efbaab2f178e0e1db2d0639"
6133
+ "size": 19854,
6134
+ "sha256": "cb58d21cdc018d027b5c13b1e5cfd4befa8a3e466e8c60fcff41852bc1047982"
6135
6135
  },
6136
6136
  {
6137
6137
  "path": "src/shortcuts/caizhilian/continuation.ts",
@@ -6165,8 +6165,8 @@
6165
6165
  },
6166
6166
  {
6167
6167
  "path": "src/shortcuts/caizhilian/host.ts",
6168
- "size": 11840,
6169
- "sha256": "ecf8cabc21308fabd18428dbf043ea4d3d0ff03a925725518f7475a4411a571f"
6168
+ "size": 11801,
6169
+ "sha256": "000fa19a7527a1238bfb05c1cd0bae8406dba406d6a654173a5979119fbb17ae"
6170
6170
  },
6171
6171
  {
6172
6172
  "path": "src/shortcuts/caizhilian/index.ts",
@@ -6175,8 +6175,8 @@
6175
6175
  },
6176
6176
  {
6177
6177
  "path": "src/shortcuts/caizhilian/manifest.ts",
6178
- "size": 2717,
6179
- "sha256": "075b5fc9336b95c3dbe8b920e428008e134d3f8400bdcc3b68394b576b65ab2f"
6178
+ "size": 2660,
6179
+ "sha256": "0a8d1bc549e5890f7e4c0c3fec694f4e7147d6e28ef67e2779b0c8a22b150d69"
6180
6180
  },
6181
6181
  {
6182
6182
  "path": "src/shortcuts/caizhilian/operations.ts",
@@ -6220,8 +6220,8 @@
6220
6220
  },
6221
6221
  {
6222
6222
  "path": "src/shortcuts/caizhilian/operations/handlers/fileops.ts",
6223
- "size": 28091,
6224
- "sha256": "9059d991d2106780eb3681e11c6fc237b91c0bf2b68af04f5cba40478e35d98a"
6223
+ "size": 30889,
6224
+ "sha256": "6607f1b658e124a57858b07e29a902a137edcf15416113fc6784eddb2eeed811"
6225
6225
  },
6226
6226
  {
6227
6227
  "path": "src/shortcuts/caizhilian/operations/handlers/folder.ts",
@@ -6245,13 +6245,13 @@
6245
6245
  },
6246
6246
  {
6247
6247
  "path": "src/shortcuts/caizhilian/operations/shared.ts",
6248
- "size": 18398,
6249
- "sha256": "31db19e4fc3a121cc6eb8b599a83f03949120376c2ab608d66671510427bd094"
6248
+ "size": 19527,
6249
+ "sha256": "04262196e9a9ca6f433cf516f7a3c9b800ef5153acf483d042ffcf9ab5d530aa"
6250
6250
  },
6251
6251
  {
6252
6252
  "path": "src/shortcuts/caizhilian/operations/specs.ts",
6253
- "size": 46465,
6254
- "sha256": "a3c5c766d3f065e19cdf34632981e87a2562c91a0356ac7b91e09df325cf7661"
6253
+ "size": 47492,
6254
+ "sha256": "9b06a4016c3114c3fee0d9a29a8ad0f88fc0efa0c6f54949442fc525b58574d2"
6255
6255
  },
6256
6256
  {
6257
6257
  "path": "src/shortcuts/caizhilian/operations/types.ts",
@@ -6260,28 +6260,28 @@
6260
6260
  },
6261
6261
  {
6262
6262
  "path": "src/shortcuts/index.ts",
6263
- "size": 1420,
6264
- "sha256": "569bef374df2d86b511150a0c609ce1abee63f8317994513bce6241276b5be40"
6263
+ "size": 1500,
6264
+ "sha256": "fe10e9918df3c47bf9038298df7c7d590c74cc3de62fce173f6f610938ae9090"
6265
6265
  },
6266
6266
  {
6267
6267
  "path": "test/business/caizhilian-command.test.ts",
6268
6268
  "size": 3836,
6269
- "sha256": "62bc9398fb1a8bb5d9a41773c053329d6852a6568c397a15f92e4aa3adac1dc7"
6269
+ "sha256": "3e92a7f26748d25a3230497aa1ab3b94b6aaaf06b16114775633dc8cb3cd2d6b"
6270
6270
  },
6271
6271
  {
6272
6272
  "path": "test/business/caizhilian-file-upload.test.ts",
6273
- "size": 17801,
6274
- "sha256": "64e1394d0ae03c1de3bbda8a6ff1e9ec78571b514e855cb41127abb81a35bc27"
6273
+ "size": 18269,
6274
+ "sha256": "b7fc967a6f590ca722b8e26d9f666695974f882001629feacb6c428ccb1ed50b"
6275
6275
  },
6276
6276
  {
6277
6277
  "path": "test/business/caizhilian-operations.test.ts",
6278
- "size": 28267,
6279
- "sha256": "fc921abc2239bb39d7867048bcd1e098d586de7f7d05dbfa9116c6552dae2f3c"
6278
+ "size": 42970,
6279
+ "sha256": "b6e079743201f14c27ef48315091a49f53d11cbc23c00a84b806e77e67586237"
6280
6280
  },
6281
6281
  {
6282
6282
  "path": "test/business/caizhilian-source-manifest.test.ts",
6283
6283
  "size": 9659,
6284
- "sha256": "b5feba9d8a348ac9bbcdb692fd4745fd9041274bf6377f5da2fc7e0650dc7edd"
6284
+ "sha256": "100cb5cf4b037f5e252465bd8e7f8293336e073ceba570d8934b5bce3199f085"
6285
6285
  }
6286
6286
  ]
6287
6287
  },
@@ -21,6 +21,8 @@ cliHelp: "weaver-work-cli cowork --help"
21
21
  **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若共享规则不存在、CLI 未安装或读取失败,说明本技能的必需依赖缺失,必须调用宿主提供的提问/确认弹框,向用户说明必须补齐 `weaver-work-cli` 与共享 skill `weaver-e10-shared`(不补齐本技能无法执行)及补齐计划,并把下面两条待执行命令原样完整展示在确认信息中;Agent 不能在未确认时自行安装。用户明确确认后,Agent 必须直接代为按顺序执行且每条仅执行一次,不得要求或引导用户手动执行:① 缺 CLI 时执行 `npm install -g weaver-work-cli`;② 再执行 `weaver-work-cli skills install shared --target-dir <SKILLS_ROOT>` 装回共享 skill,`<SKILLS_ROOT>` 取本 SKILL.md 所在目录的上一级绝对目录(即与本技能同级的 skills 根目录),不要省略 `--target-dir`——省略会装进默认目录,导致本技能依然读不到共享规则。命令均成功后重新读取共享规则;仍读不到就停止并把结果报告用户,不得凭猜测继续。**
22
22
  **`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)。
23
23
 
24
+ **共享规则定位与回退(发布包已裁 shared 时必须走此回退,不得直接判定依赖缺失)**:先读 `../weaver-e10-shared/SKILL.md`;该相对路径不存在时,按以下顺序回退定位,命中即读并继续任务,不要中断:① 与本技能目录同级的 `weaver-e10-shared/SKILL.md`(即 skills 根目录下);② weaver-work-cli 安装根下的 `node_modules/weaver-work-cli/skills/weaver-e10-shared/SKILL.md`(安装根可用 `npm root -g` 定位,或从 weaver-work-cli 可执行文件所在目录向上查找 `node_modules`);③ 本机其他已安装位置的 `skills/weaver-e10-shared/SKILL.md`。以上三条均取不到,才判定依赖缺失并进入下述确认流程。
25
+
24
26
  # 泛微 E10 协作区
25
27
 
26
28
  ## 概述
@@ -23,6 +23,8 @@ cliHelp: "weaver-work-cli ehr --help"
23
23
  **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若共享规则不存在、CLI 未安装或读取失败,说明本技能的必需依赖缺失,必须调用宿主提供的提问/确认弹框,向用户说明必须补齐 `weaver-work-cli` 与共享 skill `weaver-e10-shared`(不补齐本技能无法执行)及补齐计划,并把下面两条待执行命令原样完整展示在确认信息中;Agent 不能在未确认时自行安装。用户明确确认后,Agent 必须直接代为按顺序执行且每条仅执行一次,不得要求或引导用户手动执行:① 缺 CLI 时执行 `npm install -g weaver-work-cli`;② 再执行 `weaver-work-cli skills install shared --target-dir <SKILLS_ROOT>` 装回共享 skill,`<SKILLS_ROOT>` 取本 SKILL.md 所在目录的上一级绝对目录(即与本技能同级的 skills 根目录),不要省略 `--target-dir`——省略会装进默认目录,导致本技能依然读不到共享规则。命令均成功后重新读取共享规则;仍读不到就停止并把结果报告用户,不得凭猜测继续。**
24
24
  **`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)。
25
25
 
26
+ **共享规则定位与回退(发布包已裁 shared 时必须走此回退,不得直接判定依赖缺失)**:先读 `../weaver-e10-shared/SKILL.md`;该相对路径不存在时,按以下顺序回退定位,命中即读并继续任务,不要中断:① 与本技能目录同级的 `weaver-e10-shared/SKILL.md`(即 skills 根目录下);② weaver-work-cli 安装根下的 `node_modules/weaver-work-cli/skills/weaver-e10-shared/SKILL.md`(安装根可用 `npm root -g` 定位,或从 weaver-work-cli 可执行文件所在目录向上查找 `node_modules`);③ 本机其他已安装位置的 `skills/weaver-e10-shared/SKILL.md`。以上三条均取不到,才判定依赖缺失并进入下述确认流程。
27
+
26
28
  本技能覆盖聚才林业务域:**人事档案(hr)**、**出勤管理(attend)**、**薪酬管理(salary)**、**招聘(recruit,读 + 写)**。招聘写操作走 prepare→apply 确认协议;撤销类写操作不实现,原因见 [`references/safety-boundaries.md`](references/safety-boundaries.md)。
27
29
 
28
30
  ## 命令入口
@@ -97,5 +97,7 @@ weaver-work-cli --json ehr run ehr.recruit.interview.feedbackTodo --input-json '
97
97
  「AI 面试结束时间已过 且(有录像附件 或 已开始录制)且 反馈结果为空」——「待反馈」本身就等于
98
98
  「已完成 + 有视频 + 未填意见」。`video_url_info` 是「视频面试地址」(HR 手填的会议链接),与录像无关。
99
99
 
100
+ **截断可见性(强制)**:本接口靠客户端翻页后筛选,`maxPages`(默认 5)× `pageSize`(默认 200)之外的数据不会被扫到。回答前必须先判断是否可能被截断——只要出现下列任一情况即判定可能截断:`scanned` 已达 `maxPages`×`pageSize` 上限、`note` 提示需加大 `maxPages`、或命中数接近扫描上限。判定可能截断时**必须**在回答中写明「本次仅扫描 N 条,可能仍有未覆盖的待反馈记录,可指定更大 maxPages 继续查」,**禁止把可能不完整的清单当作全量结果交付**;确认未截断时无需提示。
101
+
100
102
  **时效性**:状态由 E10 调度任务定时同步,刚结束的面试可能有几分钟延迟;回答时要说明「以系统状态为准」。
101
103
  **下一步**:用户确认要评价某人后,用 `ehr.recruit.candidate.interview.feedback.edit.prepare` 提交反馈(写操作,需确认)。
@@ -27,7 +27,7 @@
27
27
  2. `apply` 入参 = prepare 相同业务参数 + `confirm: true` + `continuation`。**apply 会校验指纹**:业务参数与 prepare 快照不一致时报 `target_changed`,须重新 prepare。
28
28
  3. continuation 与当前 CLI 登录环境绑定(由 `weaver-work-cli auth` 托管),切换租户或账号后报 `context_mismatch`,此时须重新 prepare。登录与认证细节见共享规则 [`../../weaver-e10-shared/SKILL.md`](../../weaver-e10-shared/SKILL.md)。
29
29
  4. 多步写入(saveFormData → initTalentBatch / sendOffer / saveEstPreEntry / runEsb)中途网络中断时报 `partial/write_uncertain` 并给出已落地的记录 id——**禁止自动重试**,先按提示回查(`candidate.search` / `candidate.card`)确认实际状态。
30
- 5. prepare 与 apply 应连续执行。`arrange` 默认时间窗取「当前时刻」,间隔跨分钟后指纹不一致会报 `target_changed`;如需指定时间请显式传 `startTime`/`endTime`(格式 `YYYY-MM-DD HH:mm`)。
30
+ 5. prepare 与 apply 应连续执行。`arrange` 默认时间窗取「当前时刻」,间隔跨分钟后指纹不一致会报 `target_changed`。**因此 `arrange` 必须显式传 `startTime`/`endTime`(格式 `YYYY-MM-DD HH:mm`)**:用户给了时间就用用户时间;用户没给时按默认值(当前整分钟起 + 该环境默认时长)显式写入这两项,不要省略交给服务端取实时值。这样即使用户看摘要超过 1 分钟再确认,apply 也不会误报 `target_changed`。若显式传参后仍报 `target_changed`,说明业务参数被改动,必须重新 prepare 并重新确认,不要重试原 apply。
31
31
 
32
32
  ## 参数要点
33
33
 
@@ -21,6 +21,8 @@ cliHelp: "weaver-work-cli mail --help"
21
21
  **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若共享规则不存在、CLI 未安装或读取失败,说明本技能的必需依赖缺失,必须调用宿主提供的提问/确认弹框,向用户说明必须补齐 `weaver-work-cli` 与共享 skill `weaver-e10-shared`(不补齐本技能无法执行)及补齐计划,并把下面两条待执行命令原样完整展示在确认信息中;Agent 不能在未确认时自行安装。用户明确确认后,Agent 必须直接代为按顺序执行且每条仅执行一次,不得要求或引导用户手动执行:① 缺 CLI 时执行 `npm install -g weaver-work-cli`;② 再执行 `weaver-work-cli skills install shared --target-dir <SKILLS_ROOT>` 装回共享 skill,`<SKILLS_ROOT>` 取本 SKILL.md 所在目录的上一级绝对目录(即与本技能同级的 skills 根目录),不要省略 `--target-dir`——省略会装进默认目录,导致本技能依然读不到共享规则。命令均成功后重新读取共享规则;仍读不到就停止并把结果报告用户,不得凭猜测继续。**
22
22
  **`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)。
23
23
 
24
+ **共享规则定位与回退(发布包已裁 shared 时必须走此回退,不得直接判定依赖缺失)**:先读 `../weaver-e10-shared/SKILL.md`;该相对路径不存在时,按以下顺序回退定位,命中即读并继续任务,不要中断:① 与本技能目录同级的 `weaver-e10-shared/SKILL.md`(即 skills 根目录下);② weaver-work-cli 安装根下的 `node_modules/weaver-work-cli/skills/weaver-e10-shared/SKILL.md`(安装根可用 `npm root -g` 定位,或从 weaver-work-cli 可执行文件所在目录向上查找 `node_modules`);③ 本机其他已安装位置的 `skills/weaver-e10-shared/SKILL.md`。以上三条均取不到,才判定依赖缺失并进入下述确认流程。
25
+
24
26
  认证和登录态只能按共享规则通过 `weaver-work-cli auth ...` 命令判断;禁止直接读取、列出、打印或解析用户主目录下的旧 `.e10-cli`、auth、config 或 Keychain 数据。
25
27
  所有命令通过 `weaver-work-cli --json mail run <operation>` 执行:简单 JSON 优先传 `--input-json '<json>'`,复杂或多行 JSON 先写入 UTF-8 文件再传 `--input <path>`,只有确认当前 shell 能稳定传管道时才使用 `--input -`。调用前先按需读取 references 下对应的文件,查参数结构,不要猜字段;**references 是第一信息源**,`weaver-work-cli mail schema` 是 operation、字段和风险等级的合约来源。
26
28
  命令示例、提示词和临时说明必须同时兼容 Windows 和 macOS/Linux;涉及 JSON 输入、用户目录、路径分隔符、Python 启动器、文件删除、目录查看或文件比对时,同时给 Windows PowerShell 与 macOS/Linux(bash/zsh)两套示例。Agent 先根据当前系统和 shell 选择对应示例,不确定时用 `node -p "process.platform"` 判断。Windows/PowerShell 下不要使用 `printf`、`$HOME/...`、`~/...`、bash 反斜杠续行、`rm/ls/diff/python3` 等 Unix-only 写法。
@@ -101,6 +103,7 @@ cliHelp: "weaver-work-cli mail --help"
101
103
  - 已拿到邮件 id、联系人 id、模板 id、签名 id、附件 id 或本地文件路径时,优先调用对应 operation
102
104
  - 同一轮里如果已有足够的新鲜查询结果,不要重复查询同一列表或同一详情
103
105
  - 不要默认走 `list -> filter -> view -> prepare -> apply` 全链路;对象已明确时应压缩步骤
106
+ - **写操作已按风险分级,不要给单步命令强加双段确认**:`mail.star` / `mail.read.status` / `mail.read.all` / `mail.wait.add` / `mail.move.folder` / `mail.delete.move` / `mail.folder.create` / `mail.folder.delete` / `mail.recall` 都是单条命令,一步执行即可,不要再套 `prepare`→`apply`。仅 `mail.send.*`、`mail.contacts.save.*`、`mail.template.save.*`、`mail.sign.save.*`、`mail.blacklist.operate.*` 走双段确认。
104
107
 
105
108
  ### 3) 错误语义驱动,而不是盲目重试
106
109