weaver-work-cli 0.1.42 → 0.1.44

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 (318) hide show
  1. package/README.md +17 -0
  2. package/dist/chunks/{archive-J4I6MCKF.js → archive-P6TBQGKL.js} +13 -5
  3. package/dist/chunks/{archive-oa-BRZKKTO4.js → archive-oa-7TQ2NXOH.js} +12 -5
  4. package/dist/chunks/{asset-L7D4FAOZ.js → asset-3ELRG37G.js} +11 -4
  5. package/dist/chunks/{asset-idle-DADLLV75.js → asset-idle-WIGMUFMD.js} +7 -3
  6. package/dist/chunks/{attachment-content-K4C7VLWQ.js → attachment-content-E3276UOV.js} +5 -4
  7. package/dist/chunks/{blog-BVGQ7NZL.js → blog-C5NMZAAC.js} +11 -4
  8. package/dist/chunks/{caizhilian-SAADNFD6.js → caizhilian-5XSM2DFP.js} +13 -6
  9. package/dist/chunks/{calendar-Q7NQY5Z2.js → calendar-FI2WNSBO.js} +12 -5
  10. package/dist/chunks/{chunk-YRSZQUD2.js → chunk-3YBDYOC4.js} +3 -3
  11. package/dist/chunks/{chunk-OOUTBLZ4.js → chunk-56EZERK4.js} +1 -1
  12. package/dist/chunks/chunk-6N4JPNFL.js +76 -0
  13. package/dist/chunks/{chunk-ZUX3P6BQ.js → chunk-727FH2NI.js} +1 -1
  14. package/dist/chunks/chunk-7BDPM5ST.js +11 -0
  15. package/dist/chunks/{chunk-EKWAQSLU.js → chunk-BCVYBYYT.js} +432 -2248
  16. package/dist/chunks/{chunk-W7BEHOSR.js → chunk-CWYGFU5B.js} +2 -2
  17. package/dist/chunks/{chunk-NOODWMCL.js → chunk-D4ADSZ7H.js} +1 -1
  18. package/dist/chunks/{chunk-SA6VBIHY.js → chunk-ETNJSKMM.js} +214 -16
  19. package/dist/chunks/{chunk-BBKDXQEC.js → chunk-F4E4EM35.js} +3 -3
  20. package/dist/chunks/{chunk-IZ7S7QUS.js → chunk-FAZTGX7S.js} +6 -6
  21. package/dist/chunks/{chunk-NKZRQXST.js → chunk-FRZKBMSW.js} +52 -36
  22. package/dist/chunks/{chunk-BYBSCN4X.js → chunk-G7PQWD4L.js} +6 -3
  23. package/dist/chunks/{chunk-GEWYMQME.js → chunk-GAMZLAG2.js} +1 -1
  24. package/dist/chunks/{chunk-R4CHUSKC.js → chunk-GM6J7Q4B.js} +4 -4
  25. package/dist/chunks/{chunk-APVFJUQH.js → chunk-GRDRG6HP.js} +3 -3
  26. package/dist/chunks/{chunk-LDZQPUIA.js → chunk-HIT4Y6OI.js} +1 -1
  27. package/dist/chunks/{chunk-EZALDOQH.js → chunk-HP7JIYMT.js} +5 -2
  28. package/dist/chunks/{chunk-LADPYOWC.js → chunk-IAZ3UPY6.js} +3 -3
  29. package/dist/chunks/{chunk-ZEDWSH32.js → chunk-IC62NFM5.js} +1 -1
  30. package/dist/chunks/{chunk-P26ZWSKU.js → chunk-KIHNAS25.js} +5 -2
  31. package/dist/chunks/{chunk-BIPYLLVS.js → chunk-N4M2DDFE.js} +15 -15
  32. package/dist/chunks/{chunk-QKNKR4RH.js → chunk-OF4S23UB.js} +4 -4
  33. package/dist/chunks/{chunk-JPRO6ER2.js → chunk-PC7VKEB5.js} +57 -60
  34. package/dist/chunks/{chunk-4PD5NWAX.js → chunk-PUQS5MWL.js} +2 -2
  35. package/dist/chunks/{chunk-2LV74IWP.js → chunk-Q4OYAQYH.js} +1 -1
  36. package/dist/chunks/{chunk-72CKAUAG.js → chunk-QVSWRLLU.js} +7 -5
  37. package/dist/chunks/{chunk-4RAE6JXP.js → chunk-TA7FXXJD.js} +6 -3
  38. package/dist/chunks/{chunk-GPMFD4RD.js → chunk-TXUG266F.js} +1 -1
  39. package/dist/chunks/{chunk-FOAA27U5.js → chunk-UFIT2UU3.js} +16 -4
  40. package/dist/chunks/{chunk-LUSPKZKY.js → chunk-UG5G54VL.js} +1 -0
  41. package/dist/chunks/{chunk-NIAJ5ZCG.js → chunk-UL5XUQ25.js} +5 -2
  42. package/dist/chunks/{chunk-FMPJJYYI.js → chunk-WRXSAVKO.js} +1 -1
  43. package/dist/chunks/{chunk-G4UR6NXN.js → chunk-WSF4NNMR.js} +3 -3
  44. package/dist/chunks/chunk-XHK4MDR5.js +2497 -0
  45. package/dist/chunks/{chunk-3KTFS4IA.js → chunk-XNIK66I4.js} +19 -9
  46. package/dist/chunks/{chunk-3SO6QL6U.js → chunk-YWX377BY.js} +5 -2
  47. package/dist/chunks/{chunk-BYATLLEF.js → chunk-Z3GDFVJR.js} +1 -1
  48. package/dist/chunks/{chunk-GHXCDPTM.js → chunk-Z7VYWPZV.js} +1 -1
  49. package/dist/chunks/{conflict-F2OMZRTO.js → conflict-ARLSZJ6V.js} +4 -3
  50. package/dist/chunks/{continuation-2CKSBLA6.js → continuation-3S37AUSH.js} +4 -3
  51. package/dist/chunks/{continuation-RN6PZN2M.js → continuation-3XLYYTKV.js} +4 -3
  52. package/dist/chunks/{continuation-HZIZRZBX.js → continuation-HFW2YT5S.js} +4 -3
  53. package/dist/chunks/{continuation-NLECEJPX.js → continuation-KI7DRRZN.js} +4 -3
  54. package/dist/chunks/{contract-5BETHRSG.js → contract-DNIIW5VJ.js} +13 -5
  55. package/dist/chunks/{cowork-3MN6EQQO.js → cowork-GMLRGVIW.js} +11 -4
  56. package/dist/chunks/{create-flow-5FQNNMVO.js → create-flow-J22BO65E.js} +8 -7
  57. package/dist/chunks/{ebuilder-form-SBHOYBUD.js → ebuilder-form-ANV2FHYV.js} +12 -7
  58. package/dist/chunks/{ehr-KMOJULKG.js → ehr-GSTGAIY3.js} +266 -24
  59. package/dist/chunks/{employee-SAK2QYXX.js → employee-22BGJ3QS.js} +3 -3
  60. package/dist/chunks/{env-LB7NBL2O.js → env-BX3VRFS7.js} +4 -3
  61. package/dist/chunks/{esb-W2PJCFCX.js → esb-ATAIASX2.js} +12 -7
  62. package/dist/chunks/{factory-6ZFQXQ46.js → factory-PETTFME6.js} +3 -2
  63. package/dist/chunks/{fna-ZQPCUV4R.js → fna-YEKBSFSX.js} +14 -8
  64. package/dist/chunks/{group-chat-2HHAJN46.js → group-chat-BFVXAYFX.js} +5 -4
  65. package/dist/chunks/{host-ATKVNZAT.js → host-HRBXEPDQ.js} +5 -5
  66. package/dist/chunks/{host-BQH22NTQ.js → host-LR55CTHP.js} +5 -5
  67. package/dist/chunks/{host-X2CSLFM6.js → host-SUOY6VYQ.js} +5 -5
  68. package/dist/chunks/{host-4CBHGOHT.js → host-SZGV4UNT.js} +5 -5
  69. package/dist/chunks/{host-YTODKMSL.js → host-WIKN2EJ5.js} +5 -5
  70. package/dist/chunks/{hrm-FFM4UJFS.js → hrm-NRDO4W5G.js} +11 -7
  71. package/dist/chunks/{im-VEHKDQPB.js → im-IQ2HN23S.js} +8 -7
  72. package/dist/chunks/{invoice-LVIKSIIF.js → invoice-MNRW76PP.js} +636 -1768
  73. package/dist/chunks/{jiuchuanhui-X6DINO5P.js → jiuchuanhui-DTRBAX4N.js} +14 -6
  74. package/dist/chunks/{lazy-dispatch-KSWTN5L6.js → lazy-dispatch-ZVWAI25B.js} +7 -6
  75. package/dist/chunks/{mail-VDKRGUD3.js → mail-ZVAUXOJA.js} +16 -14
  76. package/dist/chunks/{meeting-CLC6HP3Z.js → meeting-FEVPZ67S.js} +21 -14
  77. package/dist/chunks/{okr-CHG4OO3U.js → okr-SDH3E5RA.js} +12 -5
  78. package/dist/chunks/{operations-5QL3AECO.js → operations-62N6EP3C.js} +4 -3
  79. package/dist/chunks/{plan-XWR75667.js → plan-E35JFDI7.js} +12 -5
  80. package/dist/chunks/{project-5BXOOKMG.js → project-73QXBAB2.js} +11 -4
  81. package/dist/chunks/reception-UWZVACBN.js +1899 -0
  82. package/dist/chunks/{recruit-stage-DGMFNNDE.js → recruit-stage-4MAOCKFY.js} +320 -57
  83. package/dist/chunks/registry-IM5G23LS.js +24 -0
  84. package/dist/chunks/{registry-RHMW6ANW.js → registry-JDUS4E7D.js} +7 -6
  85. package/dist/chunks/{registry-7FFOXIAW.js → registry-KNKSCJNT.js} +7 -6
  86. package/dist/chunks/{registry-Z43434VG.js → registry-PO7SI256.js} +4 -4
  87. package/dist/chunks/{registry-OZSMDVPP.js → registry-PVUZQDDQ.js} +3 -3
  88. package/dist/chunks/{room-recommend-62H7ZQQ6.js → room-recommend-H7KLXA5R.js} +6 -5
  89. package/dist/chunks/{schedule-FNXKH3DQ.js → schedule-ESZIBAUO.js} +6 -5
  90. package/dist/chunks/{workflow-ADHKCAJK.js → workflow-CWJFJLQU.js} +13 -8
  91. package/dist/cmd/action.js +6 -0
  92. package/dist/cmd/identity/index.js +45 -0
  93. package/dist/cmd/index.js +2 -0
  94. package/dist/core/continuation-ttl.js +18 -0
  95. package/dist/core/error-codes.js +85 -0
  96. package/dist/core/logger.js +11 -0
  97. package/dist/index.js +37 -31
  98. package/dist/internal/e10/auth/commands.js +163 -8
  99. package/dist/internal/e10/auth/error-log.js +182 -0
  100. package/dist/internal/e10/auth/session.js +17 -3
  101. package/dist/internal/e10/auth-recovery.js +39 -12
  102. package/dist/internal/e10/context.js +17 -2
  103. package/dist/internal/skills/install.js +9 -1
  104. package/dist/shortcuts/archive/continuation.js +2 -1
  105. package/dist/shortcuts/archive/index.js +3 -0
  106. package/dist/shortcuts/archive/operations/confirm.js +2 -1
  107. package/dist/shortcuts/archive-oa/continuation.js +2 -1
  108. package/dist/shortcuts/archive-oa/index.js +2 -0
  109. package/dist/shortcuts/archive-oa/operations/confirm.js +2 -1
  110. package/dist/shortcuts/asset/continuation.js +2 -1
  111. package/dist/shortcuts/asset/index.js +2 -0
  112. package/dist/shortcuts/asset-idle/index.js +2 -0
  113. package/dist/shortcuts/blog/continuation.js +2 -1
  114. package/dist/shortcuts/blog/index.js +2 -0
  115. package/dist/shortcuts/caizhilian/continuation.js +2 -1
  116. package/dist/shortcuts/caizhilian/index.js +2 -0
  117. package/dist/shortcuts/caizhilian/operations/confirm.js +3 -2
  118. package/dist/shortcuts/calendar/continuation.js +2 -1
  119. package/dist/shortcuts/calendar/index.js +2 -0
  120. package/dist/shortcuts/calendar/operations/write.js +1 -1
  121. package/dist/shortcuts/contract/continuation.js +2 -1
  122. package/dist/shortcuts/contract/index.js +2 -0
  123. package/dist/shortcuts/contract/operations/write.js +2 -1
  124. package/dist/shortcuts/cowork/continuation.js +2 -1
  125. package/dist/shortcuts/cowork/index.js +2 -0
  126. package/dist/shortcuts/ebuilder-form/continuation.js +2 -1
  127. package/dist/shortcuts/ebuilder-form/index.js +2 -0
  128. package/dist/shortcuts/ebuilder-form/operations/write.js +3 -2
  129. package/dist/shortcuts/ehr/continuation.js +2 -1
  130. package/dist/shortcuts/ehr/index.js +2 -0
  131. package/dist/shortcuts/ehr/operations/attend-write.js +1 -1
  132. package/dist/shortcuts/ehr/operations/recruit-candidate-import.js +182 -3
  133. package/dist/shortcuts/ehr/operations/recruit-position.js +134 -2
  134. package/dist/shortcuts/ehr/operations/recruit-write.js +1 -1
  135. package/dist/shortcuts/esb/continuation.js +2 -1
  136. package/dist/shortcuts/esb/index.js +2 -0
  137. package/dist/shortcuts/esb/operations/trigger.js +2 -1
  138. package/dist/shortcuts/fna/continuation.js +2 -1
  139. package/dist/shortcuts/fna/index.js +2 -0
  140. package/dist/shortcuts/fna/operations/invoice-writeoff.js +1 -1
  141. package/dist/shortcuts/fna/operations/loan.js +1 -1
  142. package/dist/shortcuts/hrm/index.js +2 -0
  143. package/dist/shortcuts/im/continuation.js +2 -1
  144. package/dist/shortcuts/index.js +5 -0
  145. package/dist/shortcuts/invoice/continuation.js +2 -1
  146. package/dist/shortcuts/invoice/index.js +14 -15
  147. package/dist/shortcuts/invoice/invoice-record.js +93 -0
  148. package/dist/shortcuts/invoice/manifest.js +190 -393
  149. package/dist/shortcuts/invoice/operations/add.js +2 -1
  150. package/dist/shortcuts/invoice/operations/delete.js +2 -1
  151. package/dist/shortcuts/invoice/operations/import.js +2 -1
  152. package/dist/shortcuts/invoice/operations/issuing-contract-detail.js +86 -0
  153. package/dist/shortcuts/invoice/operations/issuing-contracts.js +210 -0
  154. package/dist/shortcuts/invoice/operations/registry.js +17 -17
  155. package/dist/shortcuts/invoice/operations/reim-auto.js +4 -569
  156. package/dist/shortcuts/invoice/operations/reim.js +52 -341
  157. package/dist/shortcuts/invoice/operations/shared.js +21 -4
  158. package/dist/shortcuts/invoice/operations/update.js +2 -1
  159. package/dist/shortcuts/invoice/projection.js +10 -62
  160. package/dist/shortcuts/jiuchuanhui/continuation.js +2 -1
  161. package/dist/shortcuts/jiuchuanhui/index.js +2 -0
  162. package/dist/shortcuts/jiuchuanhui/operations/datajson.js +2 -1
  163. package/dist/shortcuts/jiuchuanhui/operations/esb.js +2 -1
  164. package/dist/shortcuts/mail/continuation.js +2 -1
  165. package/dist/shortcuts/mail/index.js +2 -0
  166. package/dist/shortcuts/mail/operations/mail-blacklist.js +1 -1
  167. package/dist/shortcuts/mail/operations/mail-contacts.js +1 -1
  168. package/dist/shortcuts/mail/operations/mail-send.js +1 -1
  169. package/dist/shortcuts/mail/operations/mail-sign.js +1 -1
  170. package/dist/shortcuts/mail/operations/mail-template.js +1 -1
  171. package/dist/shortcuts/meeting/continuation.js +2 -1
  172. package/dist/shortcuts/meeting/index.js +2 -0
  173. package/dist/shortcuts/meeting/operations/change.js +1 -1
  174. package/dist/shortcuts/meeting/operations/create.js +1 -1
  175. package/dist/shortcuts/meeting/operations/eb/create-flow.js +16 -7
  176. package/dist/shortcuts/meeting/operations/eb/decision.js +1 -1
  177. package/dist/shortcuts/meeting/operations/eb/factory.js +1 -1
  178. package/dist/shortcuts/meeting/operations/lifecycle.js +1 -1
  179. package/dist/shortcuts/meeting/operations/receipts.js +1 -1
  180. package/dist/shortcuts/meeting/operations/signs.js +1 -1
  181. package/dist/shortcuts/okr/continuation.js +2 -1
  182. package/dist/shortcuts/okr/index.js +2 -0
  183. package/dist/shortcuts/okr/operations/write.js +1 -1
  184. package/dist/shortcuts/plan/continuation.js +2 -1
  185. package/dist/shortcuts/plan/index.js +2 -0
  186. package/dist/shortcuts/plan/operations/write.js +1 -1
  187. package/dist/shortcuts/project/continuation.js +2 -1
  188. package/dist/shortcuts/project/index.js +2 -0
  189. package/dist/shortcuts/reception/constants.js +53 -0
  190. package/dist/shortcuts/reception/errors.js +54 -0
  191. package/dist/shortcuts/reception/host.js +125 -0
  192. package/dist/shortcuts/reception/index.js +198 -0
  193. package/dist/shortcuts/reception/manifest.js +177 -0
  194. package/dist/shortcuts/reception/operations/ask.js +71 -0
  195. package/dist/shortcuts/reception/operations/browsertool.js +58 -0
  196. package/dist/shortcuts/reception/operations/compose.js +129 -0
  197. package/dist/shortcuts/reception/operations/customparams.js +74 -0
  198. package/dist/shortcuts/reception/operations/doc.js +238 -0
  199. package/dist/shortcuts/reception/operations/docrender.js +36 -0
  200. package/dist/shortcuts/reception/operations/panels.js +179 -0
  201. package/dist/shortcuts/reception/operations/registry.js +26 -0
  202. package/dist/shortcuts/reception/operations/render-assets.js +184 -0
  203. package/dist/shortcuts/reception/operations/render.js +123 -0
  204. package/dist/shortcuts/reception/operations/runs.js +38 -0
  205. package/dist/shortcuts/reception/operations/schedule.js +127 -0
  206. package/dist/shortcuts/reception/operations/shared.js +196 -0
  207. package/dist/shortcuts/reception/operations/snapshot.js +68 -0
  208. package/dist/shortcuts/reception/operations/types.js +1 -0
  209. package/dist/shortcuts/reception/operations.js +33 -0
  210. package/dist/shortcuts/reception/upload.js +218 -0
  211. package/dist/shortcuts/recruit-stage/context.js +145 -33
  212. package/dist/shortcuts/recruit-stage/continuation.js +2 -1
  213. package/dist/shortcuts/recruit-stage/operations/jd-create.js +106 -17
  214. package/dist/shortcuts/recruit-stage/operations/resume-import.js +166 -10
  215. package/dist/shortcuts/workflow/continuation.js +2 -1
  216. package/dist/shortcuts/workflow/index.js +2 -0
  217. package/dist/shortcuts/workflow/operations/form.js +32 -8
  218. package/dist/shortcuts/workflow/operations/write.js +1 -1
  219. package/docs/_catalog.md +3 -0
  220. package/docs/agent-invoice.md +1 -1
  221. package/docs/archive-oa.md +1 -1
  222. package/docs/caizhilian.md +1 -1
  223. package/docs/calendar.md +1 -1
  224. package/docs/contract.md +1 -1
  225. package/docs/e10-auth.md +16 -0
  226. package/docs/ehr.md +2 -2
  227. package/docs/esb.md +1 -1
  228. package/docs/im.md +1 -1
  229. package/docs/invoice.md +8 -12
  230. package/docs/okr.md +1 -1
  231. package/docs/reception.md +119 -0
  232. package/package.json +1 -1
  233. package/scripts/clean.mjs +43 -2
  234. package/skill-template/business-info.json +18 -2
  235. package/skill-template/domains/caizhilian.md +1 -1
  236. package/skill-template/domains/reception-flow.md +18 -0
  237. package/skill-template/domains/yepiaotong.md +4 -7
  238. package/skills/weaver-e10-archive-oa/references/source-manifest.json +14 -14
  239. package/skills/weaver-e10-blog/references/blog-publish.md +1 -1
  240. package/skills/weaver-e10-blog/references/source-manifest.json +7 -7
  241. package/skills/weaver-e10-caizhilian/references/source-manifest.json +21 -21
  242. package/skills/weaver-e10-caizhilian/references/write-protocol.md +2 -2
  243. package/skills/weaver-e10-calendar/references/calendar-write.md +1 -1
  244. package/skills/weaver-e10-cowork/SKILL.md +1 -1
  245. package/skills/weaver-e10-ebuilder-form/SKILL.md +1 -1
  246. package/skills/weaver-e10-ebuilder-form/references/custom-api.md +1 -1
  247. package/skills/weaver-e10-ebuilder-form/references/openapi-write.md +1 -1
  248. package/skills/weaver-e10-esb/SKILL.md +2 -2
  249. package/skills/weaver-e10-esb/references/source-manifest.json +22 -22
  250. package/skills/weaver-e10-esb/references/trigger.md +2 -2
  251. package/skills/weaver-e10-jinchengda/references/contract-clause-library-crud.md +1 -1
  252. package/skills/weaver-e10-jinchengda/references/contract-clause-reference-save.md +1 -1
  253. package/skills/weaver-e10-jinchengda/references/contract-request-write.md +1 -1
  254. package/skills/weaver-e10-jinchengda/references/source-manifest.json +29 -29
  255. package/skills/weaver-e10-jucailin/SKILL.md +1 -1
  256. package/skills/weaver-e10-jucailin/references/attend-write.md +2 -2
  257. package/skills/weaver-e10-jucailin/references/recruit-create.md +12 -3
  258. package/skills/weaver-e10-jucailin/references/recruit-write.md +1 -1
  259. package/skills/weaver-e10-meeting/SKILL.md +8 -6
  260. package/skills/weaver-e10-meeting/references/meeting-change.md +1 -1
  261. package/skills/weaver-e10-meeting/references/meeting-create.md +1 -1
  262. package/skills/weaver-e10-meeting/references/meeting-lifecycle.md +1 -1
  263. package/skills/weaver-e10-meeting/references/meeting-verification.md +1 -1
  264. package/skills/weaver-e10-okr/references/okr-align.md +1 -1
  265. package/skills/weaver-e10-okr/references/okr-keyresult.md +1 -1
  266. package/skills/weaver-e10-okr/references/okr-write.md +1 -1
  267. package/skills/weaver-e10-okr/references/source-manifest.json +8 -8
  268. package/skills/weaver-e10-plan/references/plan-report-write.md +1 -1
  269. package/skills/weaver-e10-plan/references/source-manifest.json +20 -20
  270. package/skills/weaver-e10-qiyecheng/references/loan-management.md +1 -1
  271. package/skills/weaver-e10-qiyecheng/references/source-manifest.json +18 -18
  272. package/skills/weaver-e10-reception-flow/SKILL.md +173 -0
  273. package/skills/weaver-e10-reception-flow/assets//350/241/214/347/250/213/345/215/225/346/250/241/346/235/277-/346/263/233/345/276/256.docx +0 -0
  274. package/skills/weaver-e10-reception-flow/data/fields-snapshot.json +213 -0
  275. package/skills/weaver-e10-reception-flow/references/browsertool.md +68 -0
  276. package/skills/weaver-e10-reception-flow/references/env-pitfalls.md +51 -0
  277. package/skills/weaver-e10-reception-flow/references/fields-snapshot.md +227 -0
  278. package/skills/weaver-e10-reception-flow/references/guide.md +179 -0
  279. package/skills/weaver-e10-reception-flow/scripts/locate.sh +14 -0
  280. package/skills/weaver-e10-reception-flow/scripts/render.py +724 -0
  281. package/skills/weaver-e10-recruit-stage/SKILL.md +9 -5
  282. package/skills/weaver-e10-recruit-stage/lib/recruit-xiaoe-file.mjs +1 -1
  283. package/skills/weaver-e10-recruit-stage/lib/xiaoe-session.mjs +66 -0
  284. package/skills/weaver-e10-recruit-stage/references/position-templates.md +202 -0
  285. package/skills/weaver-e10-recruit-stage/references/recruit-jd-create.md +22 -0
  286. package/skills/weaver-e10-recruit-stage/references/recruit-resume-import.md +14 -1
  287. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +6 -0
  288. package/skills/weaver-e10-shijingran/SKILL.md +5 -5
  289. package/skills/weaver-e10-shijingran/references/source-manifest.json +37 -36
  290. package/skills/weaver-e10-skill-maker/references/module-cli-generation.md +2 -0
  291. package/skills/weaver-e10-wenshuding/references/source-manifest.json +3 -3
  292. package/skills/weaver-e10-workflow/references/source-manifest.json +32 -32
  293. package/skills/weaver-e10-yepiaotong/SKILL.md +19 -26
  294. package/skills/weaver-e10-yepiaotong/references/invoice-detail.md +13 -10
  295. package/skills/weaver-e10-yepiaotong/references/invoice-enterprise-list.md +2 -0
  296. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-workflow.md +194 -155
  297. package/skills/weaver-e10-yepiaotong/references/invoice-output-view.md +28 -32
  298. package/skills/weaver-e10-yepiaotong/references/invoice-personal-list.md +5 -1
  299. package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +8 -10
  300. package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +211 -616
  301. package/skills/weaver-e10-yepiaotong/references/reim-examples.md +149 -117
  302. package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +17 -20
  303. package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +20 -39
  304. package/skills/weaver-e10-yepiaotong/references/reim-matching-rules.md +55 -22
  305. package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +7 -17
  306. package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +88 -92
  307. package/skills/weaver-e10-yepiaotong/references/source-manifest.json +144 -354
  308. package/skills/weaver-e10-yimiaoban/SKILL.md +1 -1
  309. package/skills/weaver-e10-yimiaoban/references/msg-write.md +1 -1
  310. package/skills/weaver-e10-yimiaoban/references/safety-boundaries.md +1 -1
  311. package/skills/weaver-e10-yimiaoban/references/source-manifest.json +7 -7
  312. package/dist/chunks/chunk-TTPJJJC4.js +0 -465
  313. package/dist/chunks/registry-BKBZPBAJ.js +0 -23
  314. package/dist/shortcuts/invoice/markdown.js +0 -172
  315. package/dist/shortcuts/invoice/operations/issuing-qys.js +0 -424
  316. package/skills/weaver-e10-meeting.zip +0 -0
  317. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +0 -131
  318. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-form-fill-rules.md +0 -179
@@ -0,0 +1,227 @@
1
+ # 泛微客户参观接待流程 · 字段预热快照
2
+
3
+ > 本文件是人读对照版;程序用的是 `data/fields-snapshot.json`,由 `weaver-work-cli reception doc/render --snapshot` 加载。明细表部分与 CLI 的 `SCHEDULE_DETAIL` 规格一致。
4
+ > 导出时间:2026-10-28 14:26(UTC+8)
5
+
6
+ ## 一、流程与环境标识
7
+
8
+ | 项 | 值 |
9
+ |---|---|
10
+ | 流程名称 | 泛微客户参观接待流程 |
11
+ | 流程 ID | `100003460000000737` |
12
+ | 流程分类 | 销售管理 |
13
+ | 表单 ID | `100003669000000023` |
14
+ | 环境域名 | `www.e-cology.com.cn` |
15
+ | 登录 profile | `e-cology` |
16
+ | 主表字段数 | 10 |
17
+ | 明细表数 | 1(日程明细) |
18
+ | continuation(本次) | `wc-7734ef8ce7ef0097` |
19
+ | continuation TTL | 24 小时 |
20
+ | 缓存状态 | `cached: false`(冷启动) |
21
+ | 自愈状态 | `healed: false`(未触发重登) |
22
+
23
+ > ⚠️ **continuation 是会话级凭证,24 小时过期,不可跨会话复用**。本文件缓存的是**字段结构**,不是 continuation。建单时仍需实时获取有效 continuation。
24
+
25
+ ## 二、主表字段清单(10 个,按真实返回顺序)
26
+
27
+ | # | 字段 ID | 字段名称 | 组件类型 | 必填 | 取值格式 |
28
+ |---|---|---|---|---|---|
29
+ | 1 | `100003720000001122` | 参观访问类型 | Select | ✅ | 选项名称字符串 |
30
+ | 2 | `100003720000001124` | 来访客户名称 | Ebuilder | ✅ | `{id, name}` 对象 |
31
+ | 3 | `100003720000001125` | 客户到达日期 | DateComponent | ✅ | `yyyy-MM-dd` |
32
+ | 4 | `100003720000001126` | 客户参观日期 | DateComponent | ✅ | `yyyy-MM-dd` |
33
+ | 5 | `100003720000001127` | 客户性质 | Select | ✅ | 选项名称字符串 |
34
+ | 6 | `100003720000001128` | 客户需求 | TextArea | ✅ | 原样字符串 |
35
+ | 7 | `100003720000001129` | 项目金额(万元) | NumberComponent | ✅ | 数字;未给留空 |
36
+ | 8 | `100003720000001130` | 泛微分支机构参与人员(主联络人,此人必须陪客户一同参观) | Employee(多选) | ✅ | 人员 id 数组 |
37
+ | 9 | `100003720000001131` | 是否需要高层参与 | Select | ✅ | 选项名称字符串 |
38
+ | 10 | `100003720000001132` | **客户参观接待行程单(由行政经理汇总后反馈)** | FileComponent | ✅ | 附件对象 |
39
+
40
+ > 📌 **字段 10 已按需求调整**:原「相关文档(参观交流日程安排表、案例讲解PPT文件)」替换为「客户参观接待行程单(由行政经理汇总后反馈)」,字段 ID 仍为 `100003720000001132`。
41
+
42
+ ## 三、明细表:日程明细(formtable_main_23_dt2)
43
+
44
+ ### 3.1 子表规格
45
+
46
+ | 项 | 值 |
47
+ |---|---|
48
+ | 子表名称 | 日程明细 |
49
+ | **dataKey(库表名)** | `formtable_main_23_dt2` |
50
+ | **subFormId(入参键)** | `100003690000000143` |
51
+ | 启用开关字段 | `100003720000014930`,值 `启用` |
52
+
53
+ > ⚠️ **关键口径**:`details` 的键必须是 **subFormId**(`100003690000000143`),`dataKey`(`formtable_main_23_dt2`)是库表名,**不能当入参键**。这是 v4.8 起固化的规则。
54
+
55
+ ### 3.2 明细列定义(7 列,真实字段 ID)
56
+
57
+ | # | 语义 | 字段 ID | 列名 | 取值格式 | 说明 |
58
+ |---|---|---|---|---|---|
59
+ | 1 | 日期 | `100003720000014936` | date | `yyyy-MM-dd` | 每行日程所属日期 |
60
+ | 2 | 时间 | `100003720000014937` | time | `HH:mm` | 环节开始时间 |
61
+ | 3 | 环节 | `100003720000014938` | item | 字符串 | 如「公司参观」「方案介绍」「讨论交流」 |
62
+ | 4 | 地点 | `100003720000014939` | place | 字符串 | 如「泛微上海总部」「总部129会议室」 |
63
+ | 5 | 人员 | `100003720000014940` | person | 字符串 | 该环节参与/接待人员 |
64
+ | 6 | 活动内容 | `100003720000014941` | activity | 字符串 | 环节具体内容描述 |
65
+ | 7 | 备注 | `100003720000014942` | remark | 字符串 | 补充说明 |
66
+
67
+ ### 3.3 明细表入参结构
68
+
69
+ ```json
70
+ {
71
+ "details": {
72
+ "100003690000000143": [
73
+ {
74
+ "100003720000014936": "2026-10-29",
75
+ "100003720000014937": "09:30",
76
+ "100003720000014938": "公司参观",
77
+ "100003720000014939": "泛微上海总部",
78
+ "100003720000014940": "",
79
+ "100003720000014941": "参观泛微上海总部展厅与办公区,了解公司发展历程与产品能力",
80
+ "100003720000014942": ""
81
+ }
82
+ ]
83
+ }
84
+ }
85
+ ```
86
+
87
+ ### 3.4 标准议程兜底(源码 STANDARD_AGENDA)
88
+
89
+ 当 `scheduleRows` / `schedule` / `agenda` 三个来源全空时,按以下标准议程兜底,保证明细表不为 0 行:
90
+
91
+ | 偏移(分钟) | 环节 | 活动内容 |
92
+ |---|---|---|
93
+ | 0 | 公司参观 | 参观泛微上海总部展厅与办公区,了解公司发展历程与产品能力 |
94
+ | 45 | 方案介绍 | (空,由调用方补) |
95
+ | 120 | 讨论交流 | 双方围绕关注点交流答疑,明确后续推进节奏 |
96
+
97
+ > 默认起点 `09:30`,按偏移顺延得 09:30 / 10:15 / 11:30。`agendaStart` 可覆盖起点。
98
+
99
+ ## 四、选项枚举(Select 字段,真实返回)
100
+
101
+ ### 4.1 参观访问类型 `100003720000001122`
102
+
103
+ | 选项 ID | 选项名称 |
104
+ |---|---|
105
+ | `0` | 参观上海总部 |
106
+ | `1` | 参观典型客户 |
107
+ | `2` | 参观上海总部及典型客户 |
108
+
109
+ ### 4.2 客户性质 `100003720000001127`
110
+
111
+ | 选项 ID | 选项名称 |
112
+ |---|---|
113
+ | `0` | 国企 |
114
+ | `1` | 民企 |
115
+ | `2` | 外企 |
116
+ | `3` | 台企 |
117
+ | `4` | 政府事业单位 |
118
+
119
+ ### 4.3 是否需要高层参与 `100003720000001131`
120
+
121
+ | 选项 ID | 选项名称 |
122
+ |---|---|
123
+ | `0` | 是 |
124
+ | `1` | 否 |
125
+
126
+ ## 五、特殊组件说明
127
+
128
+ ### 5.1 Ebuilder 浏览按钮 `100003720000001124`(来访客户名称)
129
+
130
+ - `isBrowser: true`
131
+ - **必须传对象**:`{"id":"<客户ID>","name":"<客户名>"}`
132
+ - **禁止** `String()` 强转,否则会写成 `[object Object]`(实测踩坑点)
133
+ - 客户 ID 需通过客户查询接口实时获取,不可硬编码
134
+
135
+ ### 5.2 Employee 多选 `100003720000001130`(分支机构参与人员)
136
+
137
+ - `isBrowser: true`、`isMultiple: true`
138
+ - 传**人员 id 数组**,不是 `userid` / `cid`
139
+ - 该字段语义为「主联络人,必须陪客户一同参观」
140
+
141
+ ### 5.3 FileComponent `100003720000001132`(客户参观接待行程单)
142
+
143
+ - 字段名称已调整为「客户参观接待行程单(由行政经理汇总后反馈)」
144
+ - 上传参数含**动态签名**(`authSignatureStr`、`authStr`),每次 createForm 都会变化
145
+ - `sizeLimit: 300`(MB)、`maxNum: 100`、`formatLimit: white / *.*`
146
+ - `folderId: 100000660000000899`
147
+ - **该字段的签名不可缓存**,必须实时获取
148
+
149
+ ### 5.4 附件字段 `100003720000001141`(客户参观接待行程单 · 挂载键)
150
+
151
+ - 该字段**不在表单字段清单的 10 个字段中**,属于流程表单的隐藏/系统字段
152
+ - 建单时按固定 ID 挂载:`{"optionId":"<上传后的fileid>","content":"客户接待行程单.docx","type":"docx"}`
153
+ - 这是本 Skill 唯一允许挂附件的字段,**禁止改挂到 `100003720000001132`**
154
+ - 源码规则原文:`附件只写 mainKey=100003720000001141;字段清单里没有该字段属正常,禁止改挂【相关文档】`
155
+
156
+ ### 5.5 明细表启用开关 `100003720000014930`
157
+
158
+ - 值固定为 `启用`(字符串)
159
+ - 未启用时明细表可能不落库,建单前需确认该字段已写入
160
+
161
+ ## 六、极限速度优化用法
162
+
163
+ ### 6.1 可缓存(本文件已覆盖)
164
+
165
+ | 内容 | 可缓存性 | 说明 |
166
+ |---|---|---|
167
+ | 主表字段 ID ↔ 名称映射 | ✅ 稳定 | 流程未复制/迁移时不变 |
168
+ | 明细表 subFormId / dataKey | ✅ 稳定 | 同上 |
169
+ | 明细表 7 列字段 ID | ✅ 稳定 | 同上 |
170
+ | 组件类型(componentKey) | ✅ 稳定 | 决定取值格式 |
171
+ | Select 选项 ID ↔ 名称 | ✅ 稳定 | 选项增删时需刷新 |
172
+ | 主表字段数(10) | ✅ 稳定 | 可作为失效校验信号 |
173
+ | 流程 ID / 表单 ID | ✅ 稳定 | 同环境内不变 |
174
+
175
+ ### 6.2 不可缓存(必须实时获取)
176
+
177
+ | 内容 | 原因 |
178
+ |---|---|
179
+ | continuation | 24 小时 TTL,会话级 |
180
+ | FileComponent 的 authSignatureStr / authStr | 每次 createForm 动态签发 |
181
+ | 客户 ID | 需按名称实时查询 |
182
+ | 人员 ID | 需按姓名实时查询 |
183
+ | 附件 fileid | 每次上传生成新 ID |
184
+
185
+ ### 6.3 建议的快速路径
186
+
187
+ ```
188
+ 1. 读本快照 → 拿到主表 10 字段 + 明细表 7 列的 ID / 名称 / 组件类型 / 选项
189
+ 2. 轻量校验:实时取一次主表字段数量,与快照的 10 比对
190
+ - 一致 → 直接复用快照,跳过快照预热
191
+ - 不一致 → 回退完整预热,并刷新本快照
192
+ 3. 仍需实时获取:continuation、客户 ID、人员 ID、附件 fileid
193
+ 4. 按快照的组件类型做取值格式转换(见 §2、§3.2 取值格式列)
194
+ 5. 明细表按 subFormId=100003690000000143 组装,禁止用 dataKey 当键
195
+ ```
196
+
197
+ ### 6.4 失效条件(任一命中即刷新快照)
198
+
199
+ - 主表字段数量 ≠ 10
200
+ - 流程 ID ≠ `100003460000000737`
201
+ - 表单 ID ≠ `100003669000000023`
202
+ - 明细表 subFormId ≠ `100003690000000143`
203
+ - 明细表 dataKey ≠ `formtable_main_23_dt2`
204
+ - 环境域名 ≠ `www.e-cology.com.cn`
205
+ - 任一字段名称与快照不符
206
+ - Select 选项数量与快照不符
207
+
208
+ ## 七、实测耗时参考
209
+
210
+ | 场景 | 耗时 | 说明 |
211
+ |---|---|---|
212
+ | prepare 冷启动(cached: false) | 17.6s / 17.99s | 两次实测,稳定复现 |
213
+ | build(渲染+上传+校验) | 7.3s ~ 7.5s | 4 次实测区间 |
214
+ | submit(BROWSER_FILL) | 2.3s | 成功建单 |
215
+ | submit(幂等回放) | 0.002s | 同 payload 命中缓存 |
216
+
217
+ > 若快照命中,理论上可省去完整预热的绝大部分耗时,`prepare` 有望降至 1~2 秒级(仍需客户查询与登录校验)。
218
+
219
+ ## 八、风险提示
220
+
221
+ 1. **跨环境不可复用**:本快照绑定 `www.e-cology.com.cn`,测试环境或客户环境的字段 ID 不同,必须按环境分别缓存。
222
+ 2. **流程复制会失效**:流程迁入迁出、复制、跨环境复制都会重新生成字段 ID,届时快照全部失效,需重新导出。
223
+ 3. **不要缓存签名**:FileComponent 的 `authSignatureStr` / `authStr` 是动态签名,缓存后必然上传失败。
224
+ 4. **不要缓存 continuation**:24 小时过期,且与登录会话绑定。
225
+ 5. **字段名称含占位标记**:`项目金额(万元)` 中的 `万元` 是有效标记,匹配字段时需原样保留,不可剥离。
226
+ 6. **明细表键名易错**:`details` 的键必须是 subFormId `100003690000000143`,写成 dataKey `formtable_main_23_dt2` 会导致明细不落库。
227
+ 7. **附件挂载键易错**:附件必须挂 `100003720000001141`,不能挂到 `100003720000001132`(后者是「客户参观接待行程单」文件字段,两者不同)。
@@ -0,0 +1,179 @@
1
+ # 原话抽取指南(只讲抽取,不讲交互形态)
2
+
3
+ > **边界**:本文只帮你把用户原话过一遍 7 项、判断哪些已经说清。
4
+ > **交互形态不在这里定义**——面板由 CLI 生成,屏数、`title`、`placeholder`、选项全以 `ask` 回包为准。
5
+ > 读到这里不要自行设计提问方式,不要按"缺口多少"决定问几轮。
6
+
7
+ ---
8
+
9
+ ## 一、总则
10
+
11
+ ```
12
+ ① 预抽取 → 把原话过 7 项,逐项标 filled / ambiguous / gap(纯模型侧解析,零命令)
13
+ ② 回填 → filled 项直接写进 --known
14
+ ③ 交给 CLI → ask 只对 gap + ambiguous 出面板,屏数由 CLI 决定(上限 2)
15
+ ④ 收口 → 用户答完直接进 doc,不再补问
16
+ ```
17
+
18
+ **贯穿全程一条**:同一字段在一次对话里只出现一次。已填的不再问,也不做"确认一下是不是这样"。
19
+
20
+ ---
21
+
22
+ ## 二、逐项判三态
23
+
24
+ | 态 | 判据 | 后续动作 |
25
+ |---|---|---|
26
+ | `filled` | 原话**明确**说出,取值唯一 | 写进 `--known`,**不进面板** |
27
+ | `ambiguous` | 提到了但取值不唯一("下周""某某""几个人") | 留给 CLI 面板,用户点一下或手填 |
28
+ | `gap` | 完全没提 | 留给 CLI 面板 / 进待办 |
29
+
30
+ ## 三、命中线索表
31
+
32
+ | # | 项 | 命中线索(出现即判 filled) | 直接填成 | 判 ambiguous |
33
+ |---|---|---|---|---|
34
+ | 1 | 客户 | 「XX 来访 / 到访 / 参观 / 交流 / 考察」+ 主体词:有限公司、集团、股份、控股、银行、医院、大学、学院、局、委、办、中心、研究院 | 名称原文直接用于入参(不查 ID);简称也照传,不追问全称 | 只给简称("XX""某某集团""XX 客户") |
35
+ | 2 | 人数 | 数字 + 人 / 位 / 名;「一行 N 人」「N 人团队」「带队 N 人」 | 数字 | "几个人""一行""一个团队" |
36
+ | 3 | 参观日期 | 今天 / 明天 / 后天 / 大后天 / 周X / 本周X / 下周X / X 月 X 日 / X.X | 换算 `YYYY-MM-DD`(明天 = 当前 +1 天) | "下周""月底""近期""过几天" |
37
+ | 4 | 参观类型 | 总部 / 上海总部 / 来总部 → 参观上海总部;标杆 / 典型客户 / 看案例 / 去项目现场 → 参观典型客户 | 选项名原文 | 只说"参观""来看看" |
38
+ | 5 | 陪同人员 | 陪同 / 随行 / 我方 / 对接人是 / 由 X 负责 / 我跟着 + 姓名;顺带的 11 位手机号 | 姓名数组直接用于入参(不查 ID);手机号并入第 7 项 | 只说"安排人陪" |
39
+ | 6 | 客户需求 | 交流 / 洽谈 / 演示 / 汇报 / 调研 / 考察 / 答疑 / 座谈 + 主题(OA、协同、数字化、合同、费控、档案、采购、AI…) | 原话提炼 | 只说"交流一下""聊聊" |
40
+ | 7 | 接待细节 | 会议室(**只认总部129/130/131**)/ 接待室;接机 / 接站 / 高铁 / 机场 / 用车 / 派车 / 商务车 / 大巴 / 自驾 / 自行前往 + 时间 + 车数;午餐 / 晚餐 / 中饭 / 晚饭 / 食堂用餐 / 食堂 / 员工餐厅 / 小餐厅 / 外部用餐 / 不用餐 / 吃过再来;当天往返 / 当天回 / 不住 / 无需住宿 / 不用订房 / 住宿 / 订房 / N 间房 / 入住 X 晚;伴手礼 / 纪念品 / 送点东西 / 不需要伴手礼;11 位手机号 | **按子项分别回填**(会议室、接送、用餐、住宿、伴手礼、手机各自独立判定) | 任一子项没提 → 交给 CLI 的接待细节面板一次问全 |
41
+
42
+ ## 四、第 6 项必须写实
43
+
44
+ 「客户需求」**不是一句"交流一下"就算填了**,它决定整份方案的目标与日程取舍。判 `filled` 的最低门槛是**能看出客户为什么来、想解决什么**;只有"来交流""来参观""聊聊"这类空泛说法 → 判 `ambiguous`。
45
+
46
+ 抽取时把客户原话里的**动因**和**关注点**一并记进 `demand`,例如:
47
+ `正在选型协同办公平台,重点关注流程落地与移动端体验,希望看到同行业案例并明确实施周期`。
48
+
49
+ 判 ambiguous 后怎么问由 CLI 面板负责,本文不定义话术。
50
+
51
+ ## 五、抽取三准则
52
+
53
+ 1. **只取明确说出的**:不补、不按惯例默认(红线「不编造」不变)。
54
+ 2. **否定表述也算命中**:"不需要住宿""不用接机""不用伴手礼""名单未确认"都是有效信息,填"不需要 / 未确认",**不再追问**。
55
+ 3. **模糊不猜**:取值不唯一一律留 ambiguous,不自行补全。
56
+
57
+ ## 六、容易抽错的七种情况
58
+
59
+ | 情况 | 正确做法 |
60
+ |---|---|
61
+ | 客户名带地区 | 「广州某某集团客户来访」→ 客户 `广州某某集团`(保留地区前缀);不要把"客户""来访"并进名称 |
62
+ | 「XX 客户」中的"客户" | 是类别词,不是名称的一部分 |
63
+ | 客户方人员 ≠ 我方陪同 | 「副总带队 10 人来访」里的"副总"是客户方 → 进待办 `客户带队人`,**不写进 companions** |
64
+ | 人数歧义 | 「中午 10 人用餐」不能当来访人数;只有"来访 N 人 / 一行 N 人 / 带队 N 人"才记 `headcount` |
65
+ | 时间只说半天 | 「上午到、下午交流」不推参观日期,只记需求/行程;「明天上午 10 点」→ 日期 filled,接送填时间 |
66
+ | 地点类信息 | 「15 人会议室」「参观展厅」属于第 7 项子项或方案内容 → 原话提到就直接记,不进待办 |
67
+ | 一个短句命中多项 | 一次全部回填,按 7 项重跑一遍再算缺口,不要逐项追问 |
68
+
69
+ ## 七、抽取示例
70
+
71
+ | 用户原话 | filled | 剩余缺口 |
72
+ |---|---|---|
73
+ | 明天某某客户参观总部 | 客户=某某、日期=明天、**类型=参观上海总部** | 人数、陪同、需求、接送、用餐、住宿、伴手礼 |
74
+ | 明天某某集团客户来访 | 客户=某某集团(查询后定)、日期=明天 | 人数、类型、陪同、需求、接送、用餐、住宿、伴手礼 |
75
+ | 明天某某集团 10 人来访,参观总部,我做陪同,食堂用餐,当天往返 | 客户、日期、人数=10、类型=参观上海总部、陪同=我、用餐=食堂用餐、住宿=无需住宿 | 需求、接送、伴手礼 |
76
+ | 后天上午去虹桥接某某集团 8 人,看总部,中午小餐厅,不用伴手礼 | 客户、日期、人数=8、接送、类型、用餐、伴手礼=不需要 | 陪同、需求、住宿 |
77
+
78
+ > 「不需要领导参与」「名单未确认」都在原话里时,**不再问**。
79
+
80
+ ## 八、案例与专家检索(必做,工具缺失才跳过)
81
+
82
+ `ask` 返回后、跑 `doc` 之前,用宿主检索工具做**两次**查询,结果都只进内部《接待交流参考文档》。
83
+
84
+ | 项 | 口径 |
85
+ |---|---|
86
+ | 何时搜 | **客户名已确定就必须搜**;客户名都没定才跳过 |
87
+ | 检索词底座 | **客户名 + 客户需求**:面板出过用 `customer_need` 选中值,原话已给用原话提炼值;选了「暂未确定,先进待办」就只用客户名 |
88
+ | ① 搜案例 | 检索词「客户名 + 需求」,取同业签约/实施材料 2~5 条 |
89
+ | ② 搜专家 | 检索词「**需求 + 专家**」,如「泛微产品与政务行业解决方案专家」,2~5 人;工具会自行核对在职与岗位匹配,**不要自己拼人名** |
90
+ | 不许怎么写 | 不得追问需求、不得改写需求、不得用"拜访目的""合作方向"这类模糊词替代 |
91
+ | 关联怎么写 | 写清跟**本次需求**的关系("同属工程咨询,档案与流程打通"/"政务行业方案讲解"),不写"同行业"这种空话 |
92
+ | 未命中客户本身 | 正常情况:`note` 里写明「未命中该客户本身案例,以下为同业参考」,不要硬凑 |
93
+ | 专家怎么写 | 只写检索到的在职人员(姓名 + 部门/岗位 + 匹配点),**不臆造人名、不推测职位** |
94
+ | 只进哪里 | 只进内部《接待交流参考文档》;对外《客户接待行程单》绝不出现案例、同业名、材料名、专家名 |
95
+ | 真的跳过时 | 不补问、不换关键词重试;在 `--answers` 带 `"fields":{"todo":["案例/专家检索未命中(原因)"]}`,让它出现在「待确认事项」 |
96
+
97
+ ## 九、不引导 → 进待办
98
+
99
+ | 字段 | 说明 |
100
+ |---|---|
101
+ | 客户性质 | 平台必填,但技能不追问;留空进待办 |
102
+ | 项目金额(万元) | 禁止估算;留空进待办 |
103
+ | 是否需要高层参与 | 原话提到才记录 |
104
+ | 客户带队人 / 来访名单 | 原话提到姓名就记(如"副总带队");常见"名单未定"进待办 |
105
+ | 用餐人数 | 按「客户人数 + 陪同人数」预填,待办里注明可改 |
106
+ | 用餐档次 | **不问** |
107
+ | 陪同客户游玩 | 原话提到才记录,否则进待办 |
108
+ | 欢迎字幕 | 按客户名自动生成 |
109
+ | 其他行政事项 | 进待办 |
110
+
111
+ 待办清单格式:`字段名 —— 为什么需要补`,一行一条,不展开追问。
112
+
113
+ ## 十、语气
114
+
115
+ - 简洁、专业;不寒暄、不铺垫。
116
+ - 开场一句话说明进度,例如「已从你的话里识别 4 项,还差 3 项」。
117
+ - 只问缺口项,不发散。
118
+ - 用户答不上来 → 留空进待办,不逼问。
119
+
120
+ ## 十一、禁止事项
121
+
122
+ 1. 禁止在方案任何位置指定或推荐具体领导姓名。
123
+ 2. 禁止在方案任何位置出现具体客户名称作为参观对象。
124
+ 3. 禁止编造未提供的信息(人员、场地、车牌、价格、房间号、金额)。
125
+ 4. 禁止对「7 项」之外的内容主动追问。
126
+ 5. 禁止同一字段重复提问:**已 `filled` 的项不得再进面板,也不得做"确认一下"式复述**。
127
+ 6. 禁止把内部口径(待办、分工、金额、审批)写进对外行程单。
128
+ 7. **禁止自己设计面板**:不问"要不要都按默认生成"、不按缺口数拆屏、不写固定提示条、不在面板前加清单式文本提问。
129
+ 8. **禁止补问第二轮**:用户只答部分 → 其余进待办,本轮结束。
130
+ 9. **禁止在技能文档、示例、注释、默认值里写真实客户名称与真实员工姓名**:一律用占位名(`某某集团` / `广州某某集团` / `张三`)。
131
+ 10. **禁止把"来交流一下"当成核心目标填完**:判 `ambiguous`,交给 CLI 面板。
132
+ 11. 禁止跑已退役的旧链路:本技能只有 `weaver-work-cli reception ask / doc / render`(兜底走 `weaver-work-cli workflow`),其它命令一律不跑。
133
+ 12. 禁止把案例写进对外行程单,也禁止编造案例名、客户名、时间——案例只能是检索结果原文。
134
+
135
+ ## 十二、cases.json 结构(`doc --cases-file`)
136
+
137
+ 一个文件装两类检索结果,字段名必须对,否则 CLI 读不到:
138
+
139
+ ```json
140
+ {
141
+ "query": "某某集团 交流具体项目合作与实施细节",
142
+ "note": "未命中该客户本身案例,以下为同业参考",
143
+ "cases": [
144
+ { "title": "某某设计院 · 项目档案一体化", "relevance": "同行业档案场景,与本项目诉求一致", "date": "2026-03" }
145
+ ],
146
+ "expertsQuery": "交流具体项目合作与实施细节专家",
147
+ "expertsNote": "按需求检索到的内部专家",
148
+ "experts": [
149
+ { "name": "张三", "dept": "政务事业部", "relevance": "主导过同类项目实施" }
150
+ ]
151
+ }
152
+ ```
153
+
154
+ - 案例 2~5 条、专家 2~5 人;`relevance` 写清跟**这次需求**的关系,不写「同行业」这类空话;
155
+ - 字段别名同样认:`items` / `casesNote` / `expertItems` / `expertNote`;
156
+ - 空数组等同没有,整段不出,不报错;
157
+ - 两类都只进内部《接待交流参考文档》,对外行程单零泄漏(`externalLeaks` 必须为 0)。
158
+
159
+ ## 十三、面板取值口径(供核对,不作选项)
160
+
161
+ 接待细节是**手动输入**面板,**不给预设选项**。用户写完后 CLI 用 `parseLogistics` 归一,下表是可识别的写法:
162
+
163
+ | 子项 | 可识别写法 | 归一结果 |
164
+ |---|---|---|
165
+ | 会议室 | 总部129 / 131会议室 / 总部131会议室 | `总部131会议室` |
166
+ | | 不需会议室 / 不用会议室 | `不需会议室` |
167
+ | 接送 | 接站、接机、用车、派车、商务车、大巴、司机、高铁 | 原文保留 |
168
+ | | 自行前往、自驾、不用接、不用车 | `客户自行前往` |
169
+ | 用餐 | 食堂、小餐厅、外部餐厅、午餐、晚餐、中饭 | 原文保留 |
170
+ | | 不用餐、不需要用餐、不吃饭、吃过再来 | `不用餐` |
171
+ | 住宿 | 住宿、订房、N 间房、住 N 晚 | 原文保留 |
172
+ | | 无需住宿、不住、当天往返、不用订房 | `无需住宿` |
173
+ | 伴手礼 | 伴手礼、纪念品、礼品、礼盒 | 原文保留 |
174
+ | | 不需要伴手礼、不送、伴手礼不用 | `不需要伴手礼` |
175
+ | 手机 | 11 位手机号(可写在任意位置) | 挂到第一个陪同身上 |
176
+
177
+ - 人数认「10人」这种精确值,也认「6-10人」区间(取下限);
178
+ - 解析不到的子项按原文进待办(`data.logisticsRaw`),**不要追问第二次**;
179
+ - 用户原样提交 `placeholder` 文本时不会产出脏数据,CLI 有专门判据,不必替他清理。
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env bash
2
+ # locate.sh — 打印技能根目录(技能包部署路径带 hash、且每次部署会变,写死路径必失效)
3
+ # 用法:SD=$(bash scripts/locate.sh) 或 bash scripts/locate.sh --cd
4
+ set -u
5
+ SD=$(cd "$(dirname "$0")/.." && pwd)
6
+ # 若当前目录已是可执行工作副本,直接用;否则在常见挂载点里找
7
+ if [ ! -f "$SD/scripts/render.py" ]; then
8
+ for base in /workspace/skills /workspace/.skill-runs "$HOME/.workbuddy/skills"; do
9
+ [ -d "$base" ] || continue
10
+ hit=$(find "$base" -maxdepth 4 -type f -name render.py 2>/dev/null | head -1)
11
+ if [ -n "$hit" ]; then SD=$(cd "$(dirname "$hit")/.." && pwd); break; fi
12
+ done
13
+ fi
14
+ if [ "${1:-}" = "--cd" ]; then cd "$SD" && pwd; else printf '%s\n' "$SD"; fi