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.
- package/README.md +17 -0
- package/dist/chunks/{archive-J4I6MCKF.js → archive-P6TBQGKL.js} +13 -5
- package/dist/chunks/{archive-oa-BRZKKTO4.js → archive-oa-7TQ2NXOH.js} +12 -5
- package/dist/chunks/{asset-L7D4FAOZ.js → asset-3ELRG37G.js} +11 -4
- package/dist/chunks/{asset-idle-DADLLV75.js → asset-idle-WIGMUFMD.js} +7 -3
- package/dist/chunks/{attachment-content-K4C7VLWQ.js → attachment-content-E3276UOV.js} +5 -4
- package/dist/chunks/{blog-BVGQ7NZL.js → blog-C5NMZAAC.js} +11 -4
- package/dist/chunks/{caizhilian-SAADNFD6.js → caizhilian-5XSM2DFP.js} +13 -6
- package/dist/chunks/{calendar-Q7NQY5Z2.js → calendar-FI2WNSBO.js} +12 -5
- package/dist/chunks/{chunk-YRSZQUD2.js → chunk-3YBDYOC4.js} +3 -3
- package/dist/chunks/{chunk-OOUTBLZ4.js → chunk-56EZERK4.js} +1 -1
- package/dist/chunks/chunk-6N4JPNFL.js +76 -0
- package/dist/chunks/{chunk-ZUX3P6BQ.js → chunk-727FH2NI.js} +1 -1
- package/dist/chunks/chunk-7BDPM5ST.js +11 -0
- package/dist/chunks/{chunk-EKWAQSLU.js → chunk-BCVYBYYT.js} +432 -2248
- package/dist/chunks/{chunk-W7BEHOSR.js → chunk-CWYGFU5B.js} +2 -2
- package/dist/chunks/{chunk-NOODWMCL.js → chunk-D4ADSZ7H.js} +1 -1
- package/dist/chunks/{chunk-SA6VBIHY.js → chunk-ETNJSKMM.js} +214 -16
- package/dist/chunks/{chunk-BBKDXQEC.js → chunk-F4E4EM35.js} +3 -3
- package/dist/chunks/{chunk-IZ7S7QUS.js → chunk-FAZTGX7S.js} +6 -6
- package/dist/chunks/{chunk-NKZRQXST.js → chunk-FRZKBMSW.js} +52 -36
- package/dist/chunks/{chunk-BYBSCN4X.js → chunk-G7PQWD4L.js} +6 -3
- package/dist/chunks/{chunk-GEWYMQME.js → chunk-GAMZLAG2.js} +1 -1
- package/dist/chunks/{chunk-R4CHUSKC.js → chunk-GM6J7Q4B.js} +4 -4
- package/dist/chunks/{chunk-APVFJUQH.js → chunk-GRDRG6HP.js} +3 -3
- package/dist/chunks/{chunk-LDZQPUIA.js → chunk-HIT4Y6OI.js} +1 -1
- package/dist/chunks/{chunk-EZALDOQH.js → chunk-HP7JIYMT.js} +5 -2
- package/dist/chunks/{chunk-LADPYOWC.js → chunk-IAZ3UPY6.js} +3 -3
- package/dist/chunks/{chunk-ZEDWSH32.js → chunk-IC62NFM5.js} +1 -1
- package/dist/chunks/{chunk-P26ZWSKU.js → chunk-KIHNAS25.js} +5 -2
- package/dist/chunks/{chunk-BIPYLLVS.js → chunk-N4M2DDFE.js} +15 -15
- package/dist/chunks/{chunk-QKNKR4RH.js → chunk-OF4S23UB.js} +4 -4
- package/dist/chunks/{chunk-JPRO6ER2.js → chunk-PC7VKEB5.js} +57 -60
- package/dist/chunks/{chunk-4PD5NWAX.js → chunk-PUQS5MWL.js} +2 -2
- package/dist/chunks/{chunk-2LV74IWP.js → chunk-Q4OYAQYH.js} +1 -1
- package/dist/chunks/{chunk-72CKAUAG.js → chunk-QVSWRLLU.js} +7 -5
- package/dist/chunks/{chunk-4RAE6JXP.js → chunk-TA7FXXJD.js} +6 -3
- package/dist/chunks/{chunk-GPMFD4RD.js → chunk-TXUG266F.js} +1 -1
- package/dist/chunks/{chunk-FOAA27U5.js → chunk-UFIT2UU3.js} +16 -4
- package/dist/chunks/{chunk-LUSPKZKY.js → chunk-UG5G54VL.js} +1 -0
- package/dist/chunks/{chunk-NIAJ5ZCG.js → chunk-UL5XUQ25.js} +5 -2
- package/dist/chunks/{chunk-FMPJJYYI.js → chunk-WRXSAVKO.js} +1 -1
- package/dist/chunks/{chunk-G4UR6NXN.js → chunk-WSF4NNMR.js} +3 -3
- package/dist/chunks/chunk-XHK4MDR5.js +2497 -0
- package/dist/chunks/{chunk-3KTFS4IA.js → chunk-XNIK66I4.js} +19 -9
- package/dist/chunks/{chunk-3SO6QL6U.js → chunk-YWX377BY.js} +5 -2
- package/dist/chunks/{chunk-BYATLLEF.js → chunk-Z3GDFVJR.js} +1 -1
- package/dist/chunks/{chunk-GHXCDPTM.js → chunk-Z7VYWPZV.js} +1 -1
- package/dist/chunks/{conflict-F2OMZRTO.js → conflict-ARLSZJ6V.js} +4 -3
- package/dist/chunks/{continuation-2CKSBLA6.js → continuation-3S37AUSH.js} +4 -3
- package/dist/chunks/{continuation-RN6PZN2M.js → continuation-3XLYYTKV.js} +4 -3
- package/dist/chunks/{continuation-HZIZRZBX.js → continuation-HFW2YT5S.js} +4 -3
- package/dist/chunks/{continuation-NLECEJPX.js → continuation-KI7DRRZN.js} +4 -3
- package/dist/chunks/{contract-5BETHRSG.js → contract-DNIIW5VJ.js} +13 -5
- package/dist/chunks/{cowork-3MN6EQQO.js → cowork-GMLRGVIW.js} +11 -4
- package/dist/chunks/{create-flow-5FQNNMVO.js → create-flow-J22BO65E.js} +8 -7
- package/dist/chunks/{ebuilder-form-SBHOYBUD.js → ebuilder-form-ANV2FHYV.js} +12 -7
- package/dist/chunks/{ehr-KMOJULKG.js → ehr-GSTGAIY3.js} +266 -24
- package/dist/chunks/{employee-SAK2QYXX.js → employee-22BGJ3QS.js} +3 -3
- package/dist/chunks/{env-LB7NBL2O.js → env-BX3VRFS7.js} +4 -3
- package/dist/chunks/{esb-W2PJCFCX.js → esb-ATAIASX2.js} +12 -7
- package/dist/chunks/{factory-6ZFQXQ46.js → factory-PETTFME6.js} +3 -2
- package/dist/chunks/{fna-ZQPCUV4R.js → fna-YEKBSFSX.js} +14 -8
- package/dist/chunks/{group-chat-2HHAJN46.js → group-chat-BFVXAYFX.js} +5 -4
- package/dist/chunks/{host-ATKVNZAT.js → host-HRBXEPDQ.js} +5 -5
- package/dist/chunks/{host-BQH22NTQ.js → host-LR55CTHP.js} +5 -5
- package/dist/chunks/{host-X2CSLFM6.js → host-SUOY6VYQ.js} +5 -5
- package/dist/chunks/{host-4CBHGOHT.js → host-SZGV4UNT.js} +5 -5
- package/dist/chunks/{host-YTODKMSL.js → host-WIKN2EJ5.js} +5 -5
- package/dist/chunks/{hrm-FFM4UJFS.js → hrm-NRDO4W5G.js} +11 -7
- package/dist/chunks/{im-VEHKDQPB.js → im-IQ2HN23S.js} +8 -7
- package/dist/chunks/{invoice-LVIKSIIF.js → invoice-MNRW76PP.js} +636 -1768
- package/dist/chunks/{jiuchuanhui-X6DINO5P.js → jiuchuanhui-DTRBAX4N.js} +14 -6
- package/dist/chunks/{lazy-dispatch-KSWTN5L6.js → lazy-dispatch-ZVWAI25B.js} +7 -6
- package/dist/chunks/{mail-VDKRGUD3.js → mail-ZVAUXOJA.js} +16 -14
- package/dist/chunks/{meeting-CLC6HP3Z.js → meeting-FEVPZ67S.js} +21 -14
- package/dist/chunks/{okr-CHG4OO3U.js → okr-SDH3E5RA.js} +12 -5
- package/dist/chunks/{operations-5QL3AECO.js → operations-62N6EP3C.js} +4 -3
- package/dist/chunks/{plan-XWR75667.js → plan-E35JFDI7.js} +12 -5
- package/dist/chunks/{project-5BXOOKMG.js → project-73QXBAB2.js} +11 -4
- package/dist/chunks/reception-UWZVACBN.js +1899 -0
- package/dist/chunks/{recruit-stage-DGMFNNDE.js → recruit-stage-4MAOCKFY.js} +320 -57
- package/dist/chunks/registry-IM5G23LS.js +24 -0
- package/dist/chunks/{registry-RHMW6ANW.js → registry-JDUS4E7D.js} +7 -6
- package/dist/chunks/{registry-7FFOXIAW.js → registry-KNKSCJNT.js} +7 -6
- package/dist/chunks/{registry-Z43434VG.js → registry-PO7SI256.js} +4 -4
- package/dist/chunks/{registry-OZSMDVPP.js → registry-PVUZQDDQ.js} +3 -3
- package/dist/chunks/{room-recommend-62H7ZQQ6.js → room-recommend-H7KLXA5R.js} +6 -5
- package/dist/chunks/{schedule-FNXKH3DQ.js → schedule-ESZIBAUO.js} +6 -5
- package/dist/chunks/{workflow-ADHKCAJK.js → workflow-CWJFJLQU.js} +13 -8
- package/dist/cmd/action.js +6 -0
- package/dist/cmd/identity/index.js +45 -0
- package/dist/cmd/index.js +2 -0
- package/dist/core/continuation-ttl.js +18 -0
- package/dist/core/error-codes.js +85 -0
- package/dist/core/logger.js +11 -0
- package/dist/index.js +37 -31
- package/dist/internal/e10/auth/commands.js +163 -8
- package/dist/internal/e10/auth/error-log.js +182 -0
- package/dist/internal/e10/auth/session.js +17 -3
- package/dist/internal/e10/auth-recovery.js +39 -12
- package/dist/internal/e10/context.js +17 -2
- package/dist/internal/skills/install.js +9 -1
- package/dist/shortcuts/archive/continuation.js +2 -1
- package/dist/shortcuts/archive/index.js +3 -0
- package/dist/shortcuts/archive/operations/confirm.js +2 -1
- package/dist/shortcuts/archive-oa/continuation.js +2 -1
- package/dist/shortcuts/archive-oa/index.js +2 -0
- package/dist/shortcuts/archive-oa/operations/confirm.js +2 -1
- package/dist/shortcuts/asset/continuation.js +2 -1
- package/dist/shortcuts/asset/index.js +2 -0
- package/dist/shortcuts/asset-idle/index.js +2 -0
- package/dist/shortcuts/blog/continuation.js +2 -1
- package/dist/shortcuts/blog/index.js +2 -0
- package/dist/shortcuts/caizhilian/continuation.js +2 -1
- package/dist/shortcuts/caizhilian/index.js +2 -0
- package/dist/shortcuts/caizhilian/operations/confirm.js +3 -2
- package/dist/shortcuts/calendar/continuation.js +2 -1
- package/dist/shortcuts/calendar/index.js +2 -0
- package/dist/shortcuts/calendar/operations/write.js +1 -1
- package/dist/shortcuts/contract/continuation.js +2 -1
- package/dist/shortcuts/contract/index.js +2 -0
- package/dist/shortcuts/contract/operations/write.js +2 -1
- package/dist/shortcuts/cowork/continuation.js +2 -1
- package/dist/shortcuts/cowork/index.js +2 -0
- package/dist/shortcuts/ebuilder-form/continuation.js +2 -1
- package/dist/shortcuts/ebuilder-form/index.js +2 -0
- package/dist/shortcuts/ebuilder-form/operations/write.js +3 -2
- package/dist/shortcuts/ehr/continuation.js +2 -1
- package/dist/shortcuts/ehr/index.js +2 -0
- package/dist/shortcuts/ehr/operations/attend-write.js +1 -1
- package/dist/shortcuts/ehr/operations/recruit-candidate-import.js +182 -3
- package/dist/shortcuts/ehr/operations/recruit-position.js +134 -2
- package/dist/shortcuts/ehr/operations/recruit-write.js +1 -1
- package/dist/shortcuts/esb/continuation.js +2 -1
- package/dist/shortcuts/esb/index.js +2 -0
- package/dist/shortcuts/esb/operations/trigger.js +2 -1
- package/dist/shortcuts/fna/continuation.js +2 -1
- package/dist/shortcuts/fna/index.js +2 -0
- package/dist/shortcuts/fna/operations/invoice-writeoff.js +1 -1
- package/dist/shortcuts/fna/operations/loan.js +1 -1
- package/dist/shortcuts/hrm/index.js +2 -0
- package/dist/shortcuts/im/continuation.js +2 -1
- package/dist/shortcuts/index.js +5 -0
- package/dist/shortcuts/invoice/continuation.js +2 -1
- package/dist/shortcuts/invoice/index.js +14 -15
- package/dist/shortcuts/invoice/invoice-record.js +93 -0
- package/dist/shortcuts/invoice/manifest.js +190 -393
- package/dist/shortcuts/invoice/operations/add.js +2 -1
- package/dist/shortcuts/invoice/operations/delete.js +2 -1
- package/dist/shortcuts/invoice/operations/import.js +2 -1
- package/dist/shortcuts/invoice/operations/issuing-contract-detail.js +86 -0
- package/dist/shortcuts/invoice/operations/issuing-contracts.js +210 -0
- package/dist/shortcuts/invoice/operations/registry.js +17 -17
- package/dist/shortcuts/invoice/operations/reim-auto.js +4 -569
- package/dist/shortcuts/invoice/operations/reim.js +52 -341
- package/dist/shortcuts/invoice/operations/shared.js +21 -4
- package/dist/shortcuts/invoice/operations/update.js +2 -1
- package/dist/shortcuts/invoice/projection.js +10 -62
- package/dist/shortcuts/jiuchuanhui/continuation.js +2 -1
- package/dist/shortcuts/jiuchuanhui/index.js +2 -0
- package/dist/shortcuts/jiuchuanhui/operations/datajson.js +2 -1
- package/dist/shortcuts/jiuchuanhui/operations/esb.js +2 -1
- package/dist/shortcuts/mail/continuation.js +2 -1
- package/dist/shortcuts/mail/index.js +2 -0
- package/dist/shortcuts/mail/operations/mail-blacklist.js +1 -1
- package/dist/shortcuts/mail/operations/mail-contacts.js +1 -1
- package/dist/shortcuts/mail/operations/mail-send.js +1 -1
- package/dist/shortcuts/mail/operations/mail-sign.js +1 -1
- package/dist/shortcuts/mail/operations/mail-template.js +1 -1
- package/dist/shortcuts/meeting/continuation.js +2 -1
- package/dist/shortcuts/meeting/index.js +2 -0
- package/dist/shortcuts/meeting/operations/change.js +1 -1
- package/dist/shortcuts/meeting/operations/create.js +1 -1
- package/dist/shortcuts/meeting/operations/eb/create-flow.js +16 -7
- package/dist/shortcuts/meeting/operations/eb/decision.js +1 -1
- package/dist/shortcuts/meeting/operations/eb/factory.js +1 -1
- package/dist/shortcuts/meeting/operations/lifecycle.js +1 -1
- package/dist/shortcuts/meeting/operations/receipts.js +1 -1
- package/dist/shortcuts/meeting/operations/signs.js +1 -1
- package/dist/shortcuts/okr/continuation.js +2 -1
- package/dist/shortcuts/okr/index.js +2 -0
- package/dist/shortcuts/okr/operations/write.js +1 -1
- package/dist/shortcuts/plan/continuation.js +2 -1
- package/dist/shortcuts/plan/index.js +2 -0
- package/dist/shortcuts/plan/operations/write.js +1 -1
- package/dist/shortcuts/project/continuation.js +2 -1
- package/dist/shortcuts/project/index.js +2 -0
- package/dist/shortcuts/reception/constants.js +53 -0
- package/dist/shortcuts/reception/errors.js +54 -0
- package/dist/shortcuts/reception/host.js +125 -0
- package/dist/shortcuts/reception/index.js +198 -0
- package/dist/shortcuts/reception/manifest.js +177 -0
- package/dist/shortcuts/reception/operations/ask.js +71 -0
- package/dist/shortcuts/reception/operations/browsertool.js +58 -0
- package/dist/shortcuts/reception/operations/compose.js +129 -0
- package/dist/shortcuts/reception/operations/customparams.js +74 -0
- package/dist/shortcuts/reception/operations/doc.js +238 -0
- package/dist/shortcuts/reception/operations/docrender.js +36 -0
- package/dist/shortcuts/reception/operations/panels.js +179 -0
- package/dist/shortcuts/reception/operations/registry.js +26 -0
- package/dist/shortcuts/reception/operations/render-assets.js +184 -0
- package/dist/shortcuts/reception/operations/render.js +123 -0
- package/dist/shortcuts/reception/operations/runs.js +38 -0
- package/dist/shortcuts/reception/operations/schedule.js +127 -0
- package/dist/shortcuts/reception/operations/shared.js +196 -0
- package/dist/shortcuts/reception/operations/snapshot.js +68 -0
- package/dist/shortcuts/reception/operations/types.js +1 -0
- package/dist/shortcuts/reception/operations.js +33 -0
- package/dist/shortcuts/reception/upload.js +218 -0
- package/dist/shortcuts/recruit-stage/context.js +145 -33
- package/dist/shortcuts/recruit-stage/continuation.js +2 -1
- package/dist/shortcuts/recruit-stage/operations/jd-create.js +106 -17
- package/dist/shortcuts/recruit-stage/operations/resume-import.js +166 -10
- package/dist/shortcuts/workflow/continuation.js +2 -1
- package/dist/shortcuts/workflow/index.js +2 -0
- package/dist/shortcuts/workflow/operations/form.js +32 -8
- package/dist/shortcuts/workflow/operations/write.js +1 -1
- package/docs/_catalog.md +3 -0
- package/docs/agent-invoice.md +1 -1
- package/docs/archive-oa.md +1 -1
- package/docs/caizhilian.md +1 -1
- package/docs/calendar.md +1 -1
- package/docs/contract.md +1 -1
- package/docs/e10-auth.md +16 -0
- package/docs/ehr.md +2 -2
- package/docs/esb.md +1 -1
- package/docs/im.md +1 -1
- package/docs/invoice.md +8 -12
- package/docs/okr.md +1 -1
- package/docs/reception.md +119 -0
- package/package.json +1 -1
- package/scripts/clean.mjs +43 -2
- package/skill-template/business-info.json +18 -2
- package/skill-template/domains/caizhilian.md +1 -1
- package/skill-template/domains/reception-flow.md +18 -0
- package/skill-template/domains/yepiaotong.md +4 -7
- package/skills/weaver-e10-archive-oa/references/source-manifest.json +14 -14
- package/skills/weaver-e10-blog/references/blog-publish.md +1 -1
- package/skills/weaver-e10-blog/references/source-manifest.json +7 -7
- package/skills/weaver-e10-caizhilian/references/source-manifest.json +21 -21
- package/skills/weaver-e10-caizhilian/references/write-protocol.md +2 -2
- package/skills/weaver-e10-calendar/references/calendar-write.md +1 -1
- package/skills/weaver-e10-cowork/SKILL.md +1 -1
- package/skills/weaver-e10-ebuilder-form/SKILL.md +1 -1
- package/skills/weaver-e10-ebuilder-form/references/custom-api.md +1 -1
- package/skills/weaver-e10-ebuilder-form/references/openapi-write.md +1 -1
- package/skills/weaver-e10-esb/SKILL.md +2 -2
- package/skills/weaver-e10-esb/references/source-manifest.json +22 -22
- package/skills/weaver-e10-esb/references/trigger.md +2 -2
- package/skills/weaver-e10-jinchengda/references/contract-clause-library-crud.md +1 -1
- package/skills/weaver-e10-jinchengda/references/contract-clause-reference-save.md +1 -1
- package/skills/weaver-e10-jinchengda/references/contract-request-write.md +1 -1
- package/skills/weaver-e10-jinchengda/references/source-manifest.json +29 -29
- package/skills/weaver-e10-jucailin/SKILL.md +1 -1
- package/skills/weaver-e10-jucailin/references/attend-write.md +2 -2
- package/skills/weaver-e10-jucailin/references/recruit-create.md +12 -3
- package/skills/weaver-e10-jucailin/references/recruit-write.md +1 -1
- package/skills/weaver-e10-meeting/SKILL.md +8 -6
- package/skills/weaver-e10-meeting/references/meeting-change.md +1 -1
- package/skills/weaver-e10-meeting/references/meeting-create.md +1 -1
- package/skills/weaver-e10-meeting/references/meeting-lifecycle.md +1 -1
- package/skills/weaver-e10-meeting/references/meeting-verification.md +1 -1
- package/skills/weaver-e10-okr/references/okr-align.md +1 -1
- package/skills/weaver-e10-okr/references/okr-keyresult.md +1 -1
- package/skills/weaver-e10-okr/references/okr-write.md +1 -1
- package/skills/weaver-e10-okr/references/source-manifest.json +8 -8
- package/skills/weaver-e10-plan/references/plan-report-write.md +1 -1
- package/skills/weaver-e10-plan/references/source-manifest.json +20 -20
- package/skills/weaver-e10-qiyecheng/references/loan-management.md +1 -1
- package/skills/weaver-e10-qiyecheng/references/source-manifest.json +18 -18
- package/skills/weaver-e10-reception-flow/SKILL.md +173 -0
- 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
- package/skills/weaver-e10-reception-flow/data/fields-snapshot.json +213 -0
- package/skills/weaver-e10-reception-flow/references/browsertool.md +68 -0
- package/skills/weaver-e10-reception-flow/references/env-pitfalls.md +51 -0
- package/skills/weaver-e10-reception-flow/references/fields-snapshot.md +227 -0
- package/skills/weaver-e10-reception-flow/references/guide.md +179 -0
- package/skills/weaver-e10-reception-flow/scripts/locate.sh +14 -0
- package/skills/weaver-e10-reception-flow/scripts/render.py +724 -0
- package/skills/weaver-e10-recruit-stage/SKILL.md +9 -5
- package/skills/weaver-e10-recruit-stage/lib/recruit-xiaoe-file.mjs +1 -1
- package/skills/weaver-e10-recruit-stage/lib/xiaoe-session.mjs +66 -0
- package/skills/weaver-e10-recruit-stage/references/position-templates.md +202 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-jd-create.md +22 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-resume-import.md +14 -1
- package/skills/weaver-e10-shared/references/e10-auth-and-session.md +6 -0
- package/skills/weaver-e10-shijingran/SKILL.md +5 -5
- package/skills/weaver-e10-shijingran/references/source-manifest.json +37 -36
- package/skills/weaver-e10-skill-maker/references/module-cli-generation.md +2 -0
- package/skills/weaver-e10-wenshuding/references/source-manifest.json +3 -3
- package/skills/weaver-e10-workflow/references/source-manifest.json +32 -32
- package/skills/weaver-e10-yepiaotong/SKILL.md +19 -26
- package/skills/weaver-e10-yepiaotong/references/invoice-detail.md +13 -10
- package/skills/weaver-e10-yepiaotong/references/invoice-enterprise-list.md +2 -0
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-workflow.md +194 -155
- package/skills/weaver-e10-yepiaotong/references/invoice-output-view.md +28 -32
- package/skills/weaver-e10-yepiaotong/references/invoice-personal-list.md +5 -1
- package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +8 -10
- package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +211 -616
- package/skills/weaver-e10-yepiaotong/references/reim-examples.md +149 -117
- package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +17 -20
- package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +20 -39
- package/skills/weaver-e10-yepiaotong/references/reim-matching-rules.md +55 -22
- package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +7 -17
- package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +88 -92
- package/skills/weaver-e10-yepiaotong/references/source-manifest.json +144 -354
- package/skills/weaver-e10-yimiaoban/SKILL.md +1 -1
- package/skills/weaver-e10-yimiaoban/references/msg-write.md +1 -1
- package/skills/weaver-e10-yimiaoban/references/safety-boundaries.md +1 -1
- package/skills/weaver-e10-yimiaoban/references/source-manifest.json +7 -7
- package/dist/chunks/chunk-TTPJJJC4.js +0 -465
- package/dist/chunks/registry-BKBZPBAJ.js +0 -23
- package/dist/shortcuts/invoice/markdown.js +0 -172
- package/dist/shortcuts/invoice/operations/issuing-qys.js +0 -424
- package/skills/weaver-e10-meeting.zip +0 -0
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +0 -131
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-form-fill-rules.md +0 -179
|
@@ -7,7 +7,7 @@ description: "泛微E10招聘助手:在小e 对话里完成招聘三件事—
|
|
|
7
7
|
description_zh: "泛微E10招聘助手:在小e 对话里完成招聘三件事——①招聘启事智能生成:把岗位需求描述转成符合企业标准的招聘启事与岗位JD初稿,确认后自动创建到 E10 招聘岗位列表;②简历解析与人岗匹配:上传简历自动解析建档、触发智能标签,并按岗位筛选推荐优质候选人;③AI面试邀约与记录:查看近期面试安排、安排面试(含AI面试方案选择与通知)、填写面试反馈。字段值、枚举、表单 id 全部运行时解析,跨环境自适应;写操作遵循『先确认摘要、后落库』红线;产物以可点击 Markdown 链接给出。完整接口地址与认证由 weaver-work-cli 托管的登录会话提供。"
|
|
8
8
|
description_en: "Weaver E10 Recruit Assistant covers three recruiting flows in the XiaoE chat: (1) job-posting generation - turn spoken requirements into a company-standard posting and JD draft, then auto-create the position after explicit confirmation; (2) resume parsing and person-job matching - parse an uploaded resume, create the talent record with smart tags, and shortlist quality candidates for a position; (3) AI interview scheduling and records - review upcoming interviews, arrange interviews (including AI-interview plan selection and notifications), and submit interview feedback. Field values, enums and form ids are resolved at runtime across environments; write operations follow the confirm-then-commit discipline; deliverables are clickable Markdown links. Address and authentication come from the login session managed by weaver-work-cli."
|
|
9
9
|
category: business
|
|
10
|
-
version: 1.0.
|
|
10
|
+
version: 1.0.20
|
|
11
11
|
author: 泛微网络科技股份有限公司
|
|
12
12
|
permissions: [network]
|
|
13
13
|
execution:
|
|
@@ -65,6 +65,7 @@ cliHelp: "weaver-work-cli recruit-stage --help"
|
|
|
65
65
|
| 创建人、成员、面试官等人员名称 → EB 用户 ID | [`references/recruit-resolve-creator.md`](references/recruit-resolve-creator.md) |
|
|
66
66
|
| 生成招聘启事/JD 并建职位(写,prepare→apply) | [`references/recruit-jd-create.md`](references/recruit-jd-create.md) |
|
|
67
67
|
| JD 与招聘启事的文案模板、企业口径 | [`references/recruit-jd-template.md`](references/recruit-jd-template.md) |
|
|
68
|
+
| **生成 JD 前必读**:岗位分类范式、职责/要求要点、字段推荐默认值(替代运行时拉取同类职位参考) | [`references/position-templates.md`](references/position-templates.md) |
|
|
68
69
|
| 简历 OCR 解析(仅 AI 无法解析原件时兜底) | [`references/recruit-resume-parse.md`](references/recruit-resume-parse.md) |
|
|
69
70
|
| 简历导入建人才(附件上传、标签、查重) | [`references/recruit-resume-import.md`](references/recruit-resume-import.md) |
|
|
70
71
|
| 按手机号/姓名/邮箱搜索人才,取 talentId | [`references/recruit-search-candidate.md`](references/recruit-search-candidate.md) |
|
|
@@ -82,7 +83,7 @@ cliHelp: "weaver-work-cli recruit-stage --help"
|
|
|
82
83
|
| 能做 | 说明 |
|
|
83
84
|
| --- | --- |
|
|
84
85
|
| 解析岗位需求 | 从自然语言里抽:职位名称 / 职责 / 任职要求 / 招聘人数等;缺项先问 |
|
|
85
|
-
| 生成招聘启事 + JD 初稿 |
|
|
86
|
+
| 生成招聘启事 + JD 初稿 | 先按 [`references/position-templates.md`](references/position-templates.md) 取岗位范式与字段推荐值,再按 [`references/recruit-jd-template.md`](references/recruit-jd-template.md)(企业标准模板)生成,全文展示在对话里 |
|
|
86
87
|
| 确认后自动落库 | `jd.create.apply`:`saveFormData`(职位管理)→ `addPosition` 生成职位,与页面「保存」等价 |
|
|
87
88
|
| 打开招聘岗位列表 | 产出 **两个 Markdown 链接**(`viewLink` / `listLocateLink`):① 新建职位详情查看页 ② 列表+滑出新建职位详情 |
|
|
88
89
|
| 简历解析建档 | 上传简历(或本地路径)→ 解析建人才 + 应聘批次 → 触发智能标签 + 平台标签 |
|
|
@@ -141,9 +142,12 @@ cliHelp: "weaver-work-cli recruit-stage --help"
|
|
|
141
142
|
```text
|
|
142
143
|
[1] 抽取岗位要素(名称 / 职责 / 要求 / 人数) ← 缺项先问
|
|
143
144
|
↓
|
|
144
|
-
[2]
|
|
145
|
+
[2] 先读 references/position-templates.md 判定岗位归属并取「职责/要求要点 + 字段推荐值 + 薪资推荐区间(§1.1)」
|
|
146
|
+
→ 按企业模板生成招聘启事 + JD 初稿,全文展示(不调用运行时同类职位参考)
|
|
147
|
+
→ 薪资:用户没说就按 §1.1 取推荐区间(元/月数值),摘要注明「薪资为推荐值」;用户给了就以用户为准
|
|
145
148
|
↓
|
|
146
|
-
[3] 跑 recruit-stage.jd.create.prepare
|
|
149
|
+
[3] 跑 recruit-stage.jd.create.prepare(自动补必填默认值)→ 中文复述确认摘要
|
|
150
|
+
⚠️ 返回 inheritedFromRef / inheritedNote 时,必须把继承来的字段与值逐项列进摘要(尤其 work_location),不得当内部字段略过
|
|
147
151
|
↓
|
|
148
152
|
[4] 用户明确确认
|
|
149
153
|
↓
|
|
@@ -152,7 +156,7 @@ cliHelp: "weaver-work-cli recruit-stage --help"
|
|
|
152
156
|
[6] 输出:两个 Markdown 链接(详情查看页 + 列表·已定位新建职位)+ JD 初稿全文
|
|
153
157
|
```
|
|
154
158
|
|
|
155
|
-
详细字段说明与命令参数见 [`references/recruit-jd-create.md`](references/recruit-jd-create.md);产物格式见 [`references/recruit-output-links.md`](references/recruit-output-links.md)
|
|
159
|
+
详细字段说明与命令参数见 [`references/recruit-jd-create.md`](references/recruit-jd-create.md);产物格式见 [`references/recruit-output-links.md`](references/recruit-output-links.md);**岗位范式与字段推荐值见 [`references/position-templates.md`](references/position-templates.md)(生成前必读)**;JD 文案标准见 [`references/recruit-jd-template.md`](references/recruit-jd-template.md)。
|
|
156
160
|
|
|
157
161
|
## 任务2:简历解析与人岗匹配
|
|
158
162
|
|
|
@@ -28,7 +28,7 @@ import crypto from 'node:crypto';
|
|
|
28
28
|
import fs from 'node:fs';
|
|
29
29
|
import path from 'node:path';
|
|
30
30
|
import { tmpdir } from 'node:os';
|
|
31
|
-
import { readXiaoeClientSession } from './
|
|
31
|
+
import { readXiaoeClientSession } from './xiaoe-session.mjs';
|
|
32
32
|
const __T0 = Date.now(); // 耗时基准(P1-3 耗时量化;elapsed_ms 为内部诊断字段,按输出纪律不进回答)
|
|
33
33
|
|
|
34
34
|
// ── 与 ecology_xiaoe src/api/file/encrypt.ts 逐行对齐 ─────────────────────────
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* xiaoe-session.mjs —— 读取小E 客户端会话(附件桥专用,精简版)
|
|
4
|
+
*
|
|
5
|
+
* 背景:原 lib/e10-request.mjs(35KB / 12 个导出)是 CLI 化之前脚本版的整套运行时,
|
|
6
|
+
* 其中 resolveRuntime / getSession / request / loadAuth / 各类 env-cache 等 11 个能力
|
|
7
|
+
* 现已由 weaver-work-cli 托管,技能包内完全用不到;附件桥只依赖其中 1 个函数。
|
|
8
|
+
* 2026-11-05 按用户要求瘦身:抽出此文件(仅 Node 内置模块,无私有依赖),原文件下线。
|
|
9
|
+
*
|
|
10
|
+
* 产出:{ sessionId, erpa, authToken, publicKey } 或 null
|
|
11
|
+
* · erpa —— 小E 服务域名(附件桥的下载基址)
|
|
12
|
+
* · authToken —— 网页端同款下载鉴权 token
|
|
13
|
+
* · publicKey —— 环境 RSA 公钥(密文/明文自适应,桥侧处理)
|
|
14
|
+
*
|
|
15
|
+
* 查找规则(与原实现保持一致,未改动行为):
|
|
16
|
+
* Windows: %LOCALAPPDATA%\XiaoE\Robots\<profile>\user_settings.json
|
|
17
|
+
* macOS: ~/Library/Application Support/XiaoE/Robots/<profile>/user_settings.json
|
|
18
|
+
* 多个 profile 时取 mtime 最新的那个。
|
|
19
|
+
*/
|
|
20
|
+
import { readFileSync, existsSync, statSync, readdirSync } from 'node:fs';
|
|
21
|
+
import { homedir } from 'node:os';
|
|
22
|
+
import { resolve } from 'node:path';
|
|
23
|
+
|
|
24
|
+
/** 小E 客户端 Robots 根目录(平台相关) */
|
|
25
|
+
function robotsRoot() {
|
|
26
|
+
return process.platform === 'win32'
|
|
27
|
+
? resolve(String(process.env.LOCALAPPDATA || ''), 'XiaoE', 'Robots')
|
|
28
|
+
: resolve(homedir(), 'Library', 'Application Support', 'XiaoE', 'Robots');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** 读取最近使用的小E 客户端会话;任何异常都返回 null(调用方按「凭据缺失」处理) */
|
|
32
|
+
export function readXiaoeClientSession() {
|
|
33
|
+
try {
|
|
34
|
+
const base = robotsRoot();
|
|
35
|
+
if (!base || !existsSync(base)) return null;
|
|
36
|
+
|
|
37
|
+
let best = null;
|
|
38
|
+
let bestT = -1;
|
|
39
|
+
for (const d of readdirSync(base)) {
|
|
40
|
+
const f = resolve(base, String(d), 'user_settings.json');
|
|
41
|
+
if (!existsSync(f)) continue;
|
|
42
|
+
const t = statSync(f).mtimeMs;
|
|
43
|
+
if (t > bestT) {
|
|
44
|
+
best = f;
|
|
45
|
+
bestT = t;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (!best) return null;
|
|
49
|
+
|
|
50
|
+
const cfg = JSON.parse(readFileSync(best, 'utf8'));
|
|
51
|
+
const sessionId = String(cfg.session_id || '').trim();
|
|
52
|
+
const erpa = String(cfg.erpa || '').trim();
|
|
53
|
+
if (!sessionId || !erpa) return null;
|
|
54
|
+
|
|
55
|
+
return {
|
|
56
|
+
sessionId,
|
|
57
|
+
erpa,
|
|
58
|
+
authToken: String(cfg.authToken || '').trim(),
|
|
59
|
+
publicKey: String(cfg.public_key || '').trim(),
|
|
60
|
+
};
|
|
61
|
+
} catch {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export default { readXiaoeClientSession };
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# 岗位模板库(position-templates)
|
|
2
|
+
|
|
3
|
+
> **用途**:`recruit-stage.jd.create.*` 生成 JD 时,直接从本文件取岗位写法与字段范式,**不再运行时拉取「最近同类职位参考」**。
|
|
4
|
+
> **收益**:省掉 6 次接口请求(列表 1 次 + 详情 5 次),prepare 从约 10.7 秒降到 3 秒内;同时避免脏数据污染新职位字段。
|
|
5
|
+
> **数据来源**:2026-11-05 对当前环境 836 条职位抽样 100 条统计(分布见文末「环境观测」),岗位分类按实测出现频次归纳,非臆测。
|
|
6
|
+
> **维护约定**:公司招聘口径调整时直接改本文件;新增岗位类型追加模板段落即可,不改脚本。
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 一、通用字段范式(实测统计得出)
|
|
11
|
+
|
|
12
|
+
| 字段 | 推荐默认 | 实测依据 |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| 岗位性质 `position_nature` | **全职**(实习岗选「实习」) | 抽样 100 条中全职 79 条、实习 21 条 |
|
|
15
|
+
| 招聘人数 `recruit_count` | **1** | 抽样中 1 人占 67%、2 人占 19% |
|
|
16
|
+
| 状态 `status` | 招聘中 | 新发布岗位固定用此值 |
|
|
17
|
+
| 招聘类型 `recruit_type` | 社会招聘(实习岗可考虑校园/实习) | — |
|
|
18
|
+
| 薪酬类型 `salary_type` | 月薪 | — |
|
|
19
|
+
| 薪酬月数 `number_of_pay_months` | 12 | — |
|
|
20
|
+
| 招聘负责人 / 用人经理 | 当前登录人 | 由脚本自动填充,模板不指定 |
|
|
21
|
+
|
|
22
|
+
> **薪资区间按本文件 §1.1 的推荐表取值**(不再从历史职位继承——历史记录可能带脏数据,实测抓到过 300 元月薪)。
|
|
23
|
+
> 用户没说薪资时:按岗位类型 + 经验年限取推荐区间,填进 `sets` 的 `salary_min`/`salary_max`(单位**元/月**,如 15K 写 `15000`),
|
|
24
|
+
> 并在确认摘要里注明「薪资为推荐值」请用户确认;用户明确给了数字就以用户为准。
|
|
25
|
+
|
|
26
|
+
> ⚠️ **枚举类字段必须与环境字典对齐,否则会被静默跳过**(2026-11-05 实测:`work_years=1年以上` 字典无此选项 → 进 `setSkipped`):
|
|
27
|
+
> - `work_years`(经验年限):**优先用「不限」**(已实测可用);写具体年限前先确认本环境该字段的实际选项值。
|
|
28
|
+
> - `work_location`(工作地点):✅ **v1.0.20 起可通过 `sets` 指定**——原实现只读 `cache.menus`(该环境缓存无此字段)导致恒取不到,现改为 `lists.all_search` → `cache.menus` → `allMenus` 三级来源;实测传入完整地址后进入 `setApplied`。⚠️ 提交后必须检查 `setApplied`/`setSkipped`,`setSkipped` 非空即未写入;未指定时该字段仍会从历史职位继承,摘要里要核对。
|
|
29
|
+
> - `education`(学历):用裸名称(「本科」「硕士」),已实测可用。
|
|
30
|
+
>
|
|
31
|
+
> 提交 `sets` 时**务必检查返回的 `setApplied` / `setSkipped`**:`setSkipped` 非空说明该值没写进去,需换值或改用完整名称重试。
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### 1.1 薪资推荐区间(`salary_min` / `salary_max`)
|
|
36
|
+
|
|
37
|
+
> **用途**:用户未提薪资时,按「岗位类型 + 经验年限」从本表取推荐区间,填入 `sets` 的 `salary_min`/`salary_max`,并在确认摘要写明「薪资为推荐值」让用户确认。
|
|
38
|
+
> **单位**:元/月(月薪 15K 写 `15000`)。环境字段是数值型,**不要写 "15K" 或 "15000-20000" 这类字符串**。
|
|
39
|
+
> **口径**:ToB 软件/信息化行业、国内一二线城市的常见区间初稿(2026-11)。**换城市/换行业需按当地行情校准**;本表由业务维护,改表即可、不改脚本。
|
|
40
|
+
|
|
41
|
+
| 岗位模板 | 经验档 | `salary_min` | `salary_max` | 说明 |
|
|
42
|
+
|---|---|---|---|---|
|
|
43
|
+
| Java / 后端开发 | 1-3 年 | 12000 | 18000 | 初级 |
|
|
44
|
+
| Java / 后端开发 | 3-5 年 | 18000 | 30000 | 中级(**默认档**)|
|
|
45
|
+
| Java / 后端开发 | 5 年以上 | 30000 | 45000 | 高级 / 技术负责人 |
|
|
46
|
+
| 实施工程师 | 1-3 年 | 8000 | 13000 | 初级 |
|
|
47
|
+
| 实施工程师 | 3-5 年 | 13000 | 20000 | 中级(**默认档**)|
|
|
48
|
+
| 实施工程师 | 5 年以上 | 20000 | 30000 | 高级 / 项目负责人 |
|
|
49
|
+
| 项目经理 | 3-5 年 | 15000 | 22000 | 中级 |
|
|
50
|
+
| 项目经理 | 5 年以上 | 22000 | 35000 | 高级(**默认档**)|
|
|
51
|
+
| 销售 / 客户经理 | 不限 | 8000 | 15000 | **底薪**,提成另议;摘要里必须注明「仅底薪」 |
|
|
52
|
+
| 实习生 | 在校 | 100 | 200 | **元/天**,`salary_type` 取「日薪」,摘要注明「日薪」 |
|
|
53
|
+
|
|
54
|
+
> ⚠️ **岗位归属不确定时用「中级(默认档)」并在摘要说明**——不要空着不填(空着会落到历史职位继承,可能带出脏数据),也不要擅自给高档。
|
|
55
|
+
> ⚠️ **销售岗只填底薪**:`salary_min/max` 是底薪区间,提成规则写进 JD 正文,不折算进数值。
|
|
56
|
+
> ⚠️ **`work_years`(经验年限)字段本身**按环境字典填(优先「不限」,已实测可用),本表的「经验档」只用于选薪资档,不直接写入该字段。
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
## 二、岗位模板
|
|
60
|
+
|
|
61
|
+
### 模板 1:Java / 后端开发工程师(技术类)
|
|
62
|
+
|
|
63
|
+
**适用**:Java 开发、后端开发、项目开发工程师、FDE 工程师
|
|
64
|
+
|
|
65
|
+
**职责要点**(4-6 条,按需裁剪)
|
|
66
|
+
1. 负责核心业务系统的后端服务设计与开发,保障系统高可用与高性能运行
|
|
67
|
+
2. 主导关键模块的技术方案设计、评审与落地,输出可维护的技术文档
|
|
68
|
+
3. 负责核心接口与数据模型设计,保障数据一致性与安全性
|
|
69
|
+
4. 参与系统性能优化与线上问题排查,降低故障率与响应时延
|
|
70
|
+
5. 参与技术选型与框架演进,推动技术栈统一与升级
|
|
71
|
+
6. 参与代码评审并指导中初级开发人员,提升团队交付质量
|
|
72
|
+
|
|
73
|
+
**要求要点**(4-6 条)
|
|
74
|
+
1. 本科及以上学历,计算机、软件工程等相关专业
|
|
75
|
+
2. 精通 Java,熟悉 JVM 原理、多线程与并发编程,具备扎实的数据结构与算法基础
|
|
76
|
+
3. 熟练使用 Spring Boot、Spring Cloud 等主流框架,具备微服务架构实践经验
|
|
77
|
+
4. 熟悉 MySQL、Redis、消息队列等常用中间件,具备数据库设计与性能调优能力
|
|
78
|
+
5. 具备良好的系统设计能力与问题定位能力,能独立承担核心模块开发
|
|
79
|
+
6. 具备良好的沟通协作能力与责任心,有带教经验者优先
|
|
80
|
+
|
|
81
|
+
**推荐字段**:岗位性质=全职|招聘人数=1|学历=本科及以上|经验=3年以上(高级岗可写 5 年以上)|职位类别=技术
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
### 模板 2:实施工程师(交付类)
|
|
86
|
+
|
|
87
|
+
**适用**:实施工程师、项目实施工程师、交付顾问
|
|
88
|
+
|
|
89
|
+
**职责要点**
|
|
90
|
+
1. 负责客户现场 OA/协同办公系统的实施交付,包括环境搭建、配置调试与上线支持
|
|
91
|
+
2. 对接客户业务部门,梳理业务流程并转化为系统配置方案
|
|
92
|
+
3. 负责系统功能配置、表单与流程搭建,完成客户化需求落地
|
|
93
|
+
4. 开展用户培训与操作指导,编写实施文档与操作手册
|
|
94
|
+
5. 负责上线后的问题响应与运维支持,保障系统稳定运行
|
|
95
|
+
6. 配合项目经理推进项目进度,反馈实施风险
|
|
96
|
+
|
|
97
|
+
**要求要点**
|
|
98
|
+
1. 本科及以上学历,计算机、信息管理等相关专业
|
|
99
|
+
2. 熟悉数据库基本操作(SQL 查询、数据维护),具备系统实施或运维经验
|
|
100
|
+
3. 具备良好的沟通表达能力,能与客户业务部门有效对接
|
|
101
|
+
4. 具备较强的问题分析与现场应变能力,能适应出差
|
|
102
|
+
5. 有 OA、ERP 等企业管理软件实施经验者优先
|
|
103
|
+
6. 具备良好的服务意识与责任心,能承受一定工作压力
|
|
104
|
+
|
|
105
|
+
**推荐字段**:岗位性质=全职|招聘人数=2|学历=本科及以上|经验=1年以上|职位类别=技术
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
### 模板 3:项目经理(管理类)
|
|
110
|
+
|
|
111
|
+
**适用**:项目经理、项目负责人、交付经理
|
|
112
|
+
|
|
113
|
+
**职责要点**
|
|
114
|
+
1. 负责项目全生命周期管理,包括立项、计划制定、进度跟踪与验收交付
|
|
115
|
+
2. 统筹项目资源,协调实施、开发、测试等角色,保障项目按期交付
|
|
116
|
+
3. 对接客户关键干系人,管理需求边界与变更,控制项目风险
|
|
117
|
+
4. 负责项目成本与质量的平衡管控,及时识别并上报重大风险
|
|
118
|
+
5. 组织项目例会与阶段汇报,输出项目周报、阶段总结与验收文档
|
|
119
|
+
6. 推动项目复盘与经验沉淀,持续优化交付流程
|
|
120
|
+
|
|
121
|
+
**要求要点**
|
|
122
|
+
1. 本科及以上学历,计算机、项目管理等相关专业
|
|
123
|
+
2. 具备 3 年以上软件项目实施或项目管理经验,独立负责过完整项目交付
|
|
124
|
+
3. 熟悉项目管理方法论,具备进度、成本、质量、风险的统筹能力
|
|
125
|
+
4. 具备优秀的客户沟通与干系人管理能力,能处理复杂现场情况
|
|
126
|
+
5. 持有 PMP、信息系统项目管理师等证书者优先
|
|
127
|
+
6. 具备较强的抗压能力与责任心,能适应短期出差
|
|
128
|
+
|
|
129
|
+
**推荐字段**:岗位性质=全职|招聘人数=1|学历=本科及以上|经验=3年以上|职位类别=技术
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
### 模板 4:销售 / 客户经理(销售类)
|
|
134
|
+
|
|
135
|
+
**适用**:软件销售、销售代表、客户经理、城市负责人、EBU 负责人
|
|
136
|
+
|
|
137
|
+
**职责要点**
|
|
138
|
+
1. 负责所辖区域或行业客户的 OA/协同管理软件销售,完成销售业绩指标
|
|
139
|
+
2. 开拓新客户资源,建立并维护客户关系,挖掘客户信息化需求
|
|
140
|
+
3. 对接客户决策层,推动商机立项、方案汇报与商务谈判
|
|
141
|
+
4. 协同售前、实施团队完成方案设计与投标响应
|
|
142
|
+
5. 负责合同签订、回款跟进与客户满意度维护
|
|
143
|
+
6. 收集市场与竞品信息,反馈市场动态支持产品与策略优化
|
|
144
|
+
|
|
145
|
+
**要求要点**
|
|
146
|
+
1. 本科及以上学历,市场营销、计算机等相关专业
|
|
147
|
+
2. 具备 2 年以上 B 端软件或解决方案销售经验,有独立成单能力
|
|
148
|
+
3. 熟悉企业信息化产品,能快速理解客户业务场景
|
|
149
|
+
4. 具备优秀的商务谈判与客户关系维护能力
|
|
150
|
+
5. 具备较强的目标导向与自我驱动力,能承受业绩压力
|
|
151
|
+
6. 有 OA、ERP、CRM 等行业客户资源者优先
|
|
152
|
+
|
|
153
|
+
**推荐字段**:岗位性质=全职|招聘人数=1|学历=本科及以上|经验=2年以上|职位类别=销售
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
### 模板 5:实习生岗(通用)
|
|
158
|
+
|
|
159
|
+
**适用**:各类实习岗(开发实习、实施实习、客服实习等)
|
|
160
|
+
|
|
161
|
+
**职责要点**(按方向裁剪)
|
|
162
|
+
1. 协助团队完成日常业务工作,参与项目执行与文档整理
|
|
163
|
+
2. 在指导下完成分配的具体任务,按时交付并主动反馈进展
|
|
164
|
+
3. 参与团队会议与业务学习,快速熟悉公司产品与业务流程
|
|
165
|
+
4. 完成上级交办的其他支持性工作
|
|
166
|
+
|
|
167
|
+
**要求要点**
|
|
168
|
+
1. 本科及以上在读,每周可保证 4 天以上实习时间,实习期 3 个月以上
|
|
169
|
+
2. 具备良好的学习能力与主动性,能快速上手新任务
|
|
170
|
+
3. 具备良好的沟通协作能力与责任心
|
|
171
|
+
4. 熟练使用 Office 等办公软件
|
|
172
|
+
5. 有相关项目或实习经历者优先
|
|
173
|
+
|
|
174
|
+
**推荐字段**:岗位性质=**实习**|招聘人数=1|学历=本科及以上|经验=不限|职位类别=按方向选择
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## 三、使用方式
|
|
179
|
+
|
|
180
|
+
生成 JD 时:
|
|
181
|
+
|
|
182
|
+
1. **先判断岗位归属**:技术 / 交付 / 管理 / 销售 / 实习
|
|
183
|
+
2. **取对应模板的职责与要求**,按用户实际需求裁剪条数(职责 4-6 条、要求 4-6 条)
|
|
184
|
+
3. **字段值直接采用模板「推荐字段」**,涉及薪资时向用户确认,不使用默认值
|
|
185
|
+
4. 用户明确提出与本模板不同的要求时,**以用户为准**,模板只作起点
|
|
186
|
+
|
|
187
|
+
> 若岗位明显不属于以上五类(如财务、行政、法务),按 `recruit-jd-template.md` 的通用兜底结构生成,不必强行套用。
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## 四、环境观测(2026-11-05 实测,供参考不复用为默认值)
|
|
192
|
+
|
|
193
|
+
抽样 100 条 / 系统共 836 条职位:
|
|
194
|
+
|
|
195
|
+
| 维度 | 分布 |
|
|
196
|
+
|---|---|
|
|
197
|
+
| 岗位性质 | 全职 79、实习 21 |
|
|
198
|
+
| 状态 | 招聘中 49、待发布 49、招聘结束 2 |
|
|
199
|
+
| 招聘人数 | 1 人 67、2 人 19、10 人 8、3 人 3、5 人 1、6 人 1、30 人 1 |
|
|
200
|
+
| 名称重复度 | 100 条中仅 60 个不同名称;"舟山民宿管家" 30 条、"蓝堡舟山普陀区蓝堡" 35 条 |
|
|
201
|
+
|
|
202
|
+
> ⚠️ **该环境存在大量重复与疑似测试数据**。这正是取消「运行时拉取同类职位作参考」的直接原因——照此取默认值会把重复地点/名称带进新职位。模板库采用人工归纳口径,不依赖该数据分布。
|
|
@@ -63,6 +63,28 @@ node scripts/recruit-generate-jd.mjs --commit ...同参数...
|
|
|
63
63
|
|
|
64
64
|
状态=招聘中、招聘流程=当前环境默认启用流程、招聘负责人/用人经理=当前登录人、招聘人数等数值/枚举类按 JD 推导或环境默认。字段 id、枚举 id、菜单 id、appId **全部运行时解析**,跨环境不写死。
|
|
65
65
|
|
|
66
|
+
> **招聘流程取值来源(四层,v1.0.20 起)**:
|
|
67
|
+
> ① legacy 缓存 `defaultRecruitFlow` → ② 「招聘流程」菜单列表(`listInit` 反查 objId → `getListDatas`)→ ③ 旧接口 `/api/recruit/position/recruitFlow/list` → ④ **自用系统写死兜底**。
|
|
68
|
+
> ④ 仅在 `selfUse=1` **且**域名为 `www.e-cology.com.cn` 时生效(自用系统只有一条「初筛+面试+offer阶段」),其他环境不受影响。
|
|
69
|
+
> 四层全未命中时**不写该字段**,表单自身默认值生效——结果仍正确,摘要显示「(沿用表单默认值)」。解析失败**不缓存**,下次会重试。
|
|
70
|
+
|
|
71
|
+
> ⚠️ **继承字段必须在摘要里核对(v1.0.20 起)**:`DEF_FROM_REF` 这批默认值(岗位性质、职位类别、学历、经验、工作地点、薪资上下限)来自**环境内最近一条职位记录**,不是用户指定的。
|
|
72
|
+
> 摘要新增两个字段:
|
|
73
|
+
>
|
|
74
|
+
> | 字段 | 含义 |
|
|
75
|
+
> |---|---|
|
|
76
|
+
> | `inheritedFromRef` | 实际继承的字段清单 `[{field, value}]` |
|
|
77
|
+
> | `inheritedNote` | 提示语:「以上字段未指定,值继承自环境内最近一条职位记录,可能含历史脏数据(如重复地点),请核对后再提交」 |
|
|
78
|
+
>
|
|
79
|
+
> **这两个字段存在时,Agent 必须在确认摘要里点名列出继承来的值,提示用户核对**——实测该环境继承出过重复地点这类脏数据。**不得因为 `inheritedNote` 是系统提示语就略过不报。**
|
|
80
|
+
>
|
|
81
|
+
> 🔴 **薪资不参与继承(v1.0.20 起)**:`salary_min` / `salary_max` 已从继承清单移除(历史职位薪资可能是脏数据,实测抓到过 `300.00`)。薪资一律按 [`position-templates.md`](position-templates.md) §1.1 的推荐区间取;用户明确给了就用用户的;未给且表里无对应档就留空,由用户补。
|
|
82
|
+
|
|
83
|
+
> **`work_location` 可正常通过 `sets` 指定(v1.0.20 修复)**:原实现读 `cache.menus` 找「办公地点」菜单,但该环境缓存**没有 `menus` 字段** → 恒取不到 → 无论传什么都进 `setSkipped`。
|
|
84
|
+
> 现改为三级来源:`lists.all_search` → `cache.menus`(若存在)→ `allMenus` 接口兜底,`cusMenuId` 不再作为硬条件。
|
|
85
|
+
> 实测传入完整地址「上海市闵行区三鲁公路3419号泛微软件园」后成功进 `setApplied`。
|
|
86
|
+
> ⚠️ 提交 `sets` 后**必须检查 `setApplied` / `setSkipped`**:`setSkipped` 非空即该值未写入。
|
|
87
|
+
|
|
66
88
|
## 执行纪律(强制)
|
|
67
89
|
|
|
68
90
|
1. **写操作必须先确认**:`--prepare` 摘要经用户明确确认后才可 `--commit`;**禁止跳过确认直接写库**。
|
|
@@ -317,7 +317,7 @@ node scripts/recruit-resume-import.mjs --commit ...同参数...
|
|
|
317
317
|
"parsed": { "name": "张三", "mobile": "138…", "degree": "本科", "college": "…", "intendPosition": "…", "jobCount": 2 },
|
|
318
318
|
"mappedFieldCount": 8, "dup": "无重复", "willTag": ["双一流", "985"] }
|
|
319
319
|
// --commit(节选,某环境实测)
|
|
320
|
-
{ "mode": "commit", "result": "success",
|
|
320
|
+
{ "mode": "commit", "result": "success", "detailsState": "complete",
|
|
321
321
|
"newCandidateFormDataId": "1328698422856851556", "talentId": "1328698422856851556",
|
|
322
322
|
"writeChannel": "form/core/saveFormData(主表)+ dataset/v2/updateFormData(明细)",
|
|
323
323
|
"writeWarnings": ["数据集新增未通过(dataset saveFormData 失败:第1条数据查重不通过[【手机号码】…]),改为建主表后用数据集 update 补明细"],
|
|
@@ -332,6 +332,19 @@ node scripts/recruit-resume-import.mjs --commit ...同参数...
|
|
|
332
332
|
```
|
|
333
333
|
> `subTableVerify` 是**读回**结果(不是写入返回),行数与 `subTablesExpected` 对不上时 `writeWarnings` 会明确写出“明细行未落库”。
|
|
334
334
|
|
|
335
|
+
> 🔴 **`result` 不再恒为 `success`(v1.0.20 起)**:主表建成 ≠ 建档成功。实测曾出现主表 19 字段写入成功、18 行明细 0 行落库,而返回仍是 `success`——只看 `writeWarnings` 才会发现问题。
|
|
336
|
+
>
|
|
337
|
+
> 新增 `detailsState` 三态,`result` 按它判定:
|
|
338
|
+
>
|
|
339
|
+
> | `detailsState` | `result` | 含义 | Agent 应如何表述 |
|
|
340
|
+
> |---|---|---|---|
|
|
341
|
+
> | `complete` | `success` | 明细读回行数 ≥ 期望 | 正常报告建档成功 |
|
|
342
|
+
> | `missing` | **`partial`** | 主表已写入,明细读回不足(期望 N 行,读回 M 行) | **必须告知用户「人才已建但经历明细未完整落库」**,并提示走 `updateTalentId` 补明细;不得说“建档成功” |
|
|
343
|
+
> | `unverified` | **`partial`** | 明细回读校验本身失败,无法确认是否落库 | 告知「写入结果未经验证」,建议到人才卡片人工核对 |
|
|
344
|
+
>
|
|
345
|
+
> 判定规则:期望行数 > 0 且读回行数 < 期望 → `missing`;回读调用报错 → `unverified`;无明细或行数达标 → `complete`。
|
|
346
|
+
> **更新模式(`updateTalentId`)同理**:`verifyWarnings` 非空(行数或格数对不上)时 `result` 为 `partial`。
|
|
347
|
+
|
|
335
348
|
查重命中(手机号已绑定人才)时**不写入任何数据**,直接给页面同款跳转地址:
|
|
336
349
|
```json
|
|
337
350
|
{ "mode": "commit", "result": "duplicate",
|
|
@@ -31,6 +31,12 @@ weaver-work-cli auth whoami
|
|
|
31
31
|
|
|
32
32
|
CLI 的认证错误只是状态信号,不是登录命令。已有 XiaoE 会话达到换票结果的 `expiryTimes` 时,CLI 会在业务请求发出前静默换票;被接口判定过期时,公共请求层会根据持久化会话的 `agentType` / `loginSource` 自动恢复,不依赖 `XIAOE_*`、`--runtime-agent xiaoe`、shared Skill 或 Agent。业务命令无可读取的本地会话时,若当前 `XIAOE_*`、`--runtime-agent xiaoe` 等标记已识别为 XiaoE,公共会话加载层也会先静默获取登录信息。失败时返回 `xiaoe_credential_unavailable`,提示已尝试自动获取,Agent 只反馈并停止;不要再次登录或重跑。该错误的 `details` 会带 `attemptedSteps`(按序评估过的凭证通道及结果,如 `platform_token:missing`、`e10_session:failed`)、`lastError`(最后一条真实原因)与 `baseUrl`,另有 `failures` 记录每一次失败的阶段(`platform_token` / `bundled_env_script` / `token_script` / `client_session` / `teams_check` / `e10_session`)、类别(`network` / `http` / `credential`)以及网络错误的 `causeCode`(如 `ECONNREFUSED`、`ETIMEDOUT`)和 HTTP 的 `httpStatus`,原样转述给用户即可说明卡在哪一步;需要过程日志时由用户在业务命令上加 `--verbose`。失败全程都是网络错误时,子类型改为 `xiaoe_network_unavailable`、`retryable: true`,文案为「暂时无法连接 E10,请稍后重试」:这不是凭据问题,只提示稍后重试,不要让用户去重新登录。需要在业务命令之前主动建立会话时,可按下述流程显式登录。
|
|
33
33
|
|
|
34
|
+
显式 `auth xiaoe` 或静默重新获取登录信息失败时,CLI 会把脱敏诊断持久化到固定的
|
|
35
|
+
XiaoE 认证错误日志;日志不包含 Cookie、ETEAMSID、Token 或原始服务端详情。需要排查时
|
|
36
|
+
运行 `weaver-work-cli auth logs`(默认最近 50 条)或
|
|
37
|
+
`weaver-work-cli auth logs show --limit 100`;用 `weaver-work-cli auth logs path` 查看文件位置,
|
|
38
|
+
用 `weaver-work-cli auth logs clear` 清理。Agent 不得绕过这些命令直接读取认证日志文件。
|
|
39
|
+
|
|
34
40
|
此时**禁止**:
|
|
35
41
|
|
|
36
42
|
- 使用示例占位域名(如 `https://weapp.xxx.cn`)或自行猜测域名执行登录
|
|
@@ -5,7 +5,7 @@ display_name: 泛微E10事井然项目管理
|
|
|
5
5
|
display_name_en: Weaver E10 Shijingran Project Management
|
|
6
6
|
description_zh: 泛微E10事井然项目管理助手,封装项目和任务的创建、查询、修改、删除操作,并提供项目/任务类型、紧急程度、状态等字典查询能力。适用于在对话中通过 Agent 创建、查询、修改、删除项目或任务等场景。
|
|
7
7
|
description_en: Weaver E10 Shijingran project management assistant. Covers CRUD operations for projects and tasks, and provides dictionary queries for project/task types, priorities, and statuses. Used when an Agent needs to create, query, modify, or delete projects or tasks in conversation.
|
|
8
|
-
version: 1.0.
|
|
8
|
+
version: 1.0.10
|
|
9
9
|
author: 泛微网络科技股份有限公司
|
|
10
10
|
agent_created: true
|
|
11
11
|
requires:
|
|
@@ -25,14 +25,14 @@ cliHelp: "weaver-work-cli project --help"
|
|
|
25
25
|
|
|
26
26
|
## CRITICAL:共享规则
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
**`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见
|
|
28
|
+
先加载依赖技能 `weaver-e10-shared`(frontmatter 的 `dependencies` 已声明)。若该技能不可用、共享规则读取不到、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`——省略会装进默认目录,导致本技能依然读不到共享规则。命令均成功后重新读取共享规则;仍读不到就停止并把结果报告用户,不得凭猜测继续。
|
|
29
|
+
**`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见 `weaver-e10-shared` 技能的共享规则。
|
|
30
30
|
|
|
31
31
|
### 登录与请求头凭证契约
|
|
32
32
|
|
|
33
33
|
本 Skill 是 CLI 型技能,不自行发起 HTTP 请求:认证与会话**统一由 `weaver-e10-shared` 共享规则和 `weaver-work-cli auth ...` 命令体系托管**,禁止自建或绕过登录流程。
|
|
34
34
|
|
|
35
|
-
所有 E10 请求由 `weaver-work-cli` 统一注入以下三项请求头,缺一不可(唯一权威声明见
|
|
35
|
+
所有 E10 请求由 `weaver-work-cli` 统一注入以下三项请求头,缺一不可(唯一权威声明见 `weaver-e10-shared` 的「请求头契约」章节,本技能只做指针引用,不复制其代码块):
|
|
36
36
|
|
|
37
37
|
| 请求头 | 取值 | 约束 |
|
|
38
38
|
| --- | --- | --- |
|
|
@@ -111,7 +111,7 @@ Agent 不得自行拼接、改写或向用户索取上述凭证(禁止要求
|
|
|
111
111
|
|
|
112
112
|
## 常用命令示例
|
|
113
113
|
|
|
114
|
-
以下示例只示意参数形态;执行前必须先按
|
|
114
|
+
以下示例只示意参数形态;执行前必须先按 `weaver-e10-shared` 的共享规则判定是否补 `--is-connector true`,命中时本任务内每条命令都要带。
|
|
115
115
|
|
|
116
116
|
Windows PowerShell:
|
|
117
117
|
|
|
@@ -1241,13 +1241,13 @@
|
|
|
1241
1241
|
}
|
|
1242
1242
|
},
|
|
1243
1243
|
"artifactBaseline": {
|
|
1244
|
-
"aggregateSha256": "
|
|
1244
|
+
"aggregateSha256": "15781e7e938c2a10ffa0e99428a9964deb05baa67bf79c981080c5ba309a1434",
|
|
1245
1245
|
"files": [
|
|
1246
1246
|
{
|
|
1247
1247
|
"path": "docs/_catalog.md",
|
|
1248
1248
|
"role": "generated-doc",
|
|
1249
|
-
"size":
|
|
1250
|
-
"sha256": "
|
|
1249
|
+
"size": 6236,
|
|
1250
|
+
"sha256": "3ffe3896fbecc4586aac19ebb7fa6e11ab6ad1090a78fbfe4f1313614ce034cb"
|
|
1251
1251
|
},
|
|
1252
1252
|
{
|
|
1253
1253
|
"path": "docs/project.md",
|
|
@@ -1258,14 +1258,14 @@
|
|
|
1258
1258
|
{
|
|
1259
1259
|
"path": "skill-template/business-info.json",
|
|
1260
1260
|
"role": "generated-template",
|
|
1261
|
-
"size":
|
|
1262
|
-
"sha256": "
|
|
1261
|
+
"size": 10383,
|
|
1262
|
+
"sha256": "a7f3fbedf68c9ec9f460c917ff2870da64540030eea3529c905792ca15bd4758"
|
|
1263
1263
|
},
|
|
1264
1264
|
{
|
|
1265
1265
|
"path": "skill-template/domains/shijingran.md",
|
|
1266
1266
|
"role": "generated-template",
|
|
1267
|
-
"size":
|
|
1268
|
-
"sha256": "
|
|
1267
|
+
"size": 531,
|
|
1268
|
+
"sha256": "6312bffbae22b9f5b0ed8508db8ac36f1de6a8c706d88df53df18e4e4eec7c53"
|
|
1269
1269
|
},
|
|
1270
1270
|
{
|
|
1271
1271
|
"path": "skills/weaver-e10-shijingran/references/field-resolution.md",
|
|
@@ -1288,86 +1288,86 @@
|
|
|
1288
1288
|
{
|
|
1289
1289
|
"path": "skills/weaver-e10-shijingran/SKILL.md",
|
|
1290
1290
|
"role": "generated-skill-entry",
|
|
1291
|
-
"size":
|
|
1292
|
-
"sha256": "
|
|
1291
|
+
"size": 14799,
|
|
1292
|
+
"sha256": "f0f4506d70bdd8dd0489cf8105b79b740f0db708fb6db1a72cf0d7933145824e"
|
|
1293
1293
|
},
|
|
1294
1294
|
{
|
|
1295
1295
|
"path": "src/shortcuts/index.ts",
|
|
1296
1296
|
"role": "generated-cli",
|
|
1297
|
-
"size":
|
|
1298
|
-
"sha256": "
|
|
1297
|
+
"size": 8426,
|
|
1298
|
+
"sha256": "d1b5fe76045aa2532c859f20ceeb7a5c415cc34b7a36bda0a2699c1cac34eee3"
|
|
1299
1299
|
},
|
|
1300
1300
|
{
|
|
1301
1301
|
"path": "src/shortcuts/project/continuation.ts",
|
|
1302
1302
|
"role": "generated-cli",
|
|
1303
|
-
"size":
|
|
1304
|
-
"sha256": "
|
|
1303
|
+
"size": 3368,
|
|
1304
|
+
"sha256": "99157b185a60e1a301a0c5705bbfdf6cde20816cfa2baa76d8171c0af8fdccff"
|
|
1305
1305
|
},
|
|
1306
1306
|
{
|
|
1307
1307
|
"path": "src/shortcuts/project/errors.ts",
|
|
1308
1308
|
"role": "generated-cli",
|
|
1309
|
-
"size":
|
|
1310
|
-
"sha256": "
|
|
1309
|
+
"size": 2199,
|
|
1310
|
+
"sha256": "811a9df01daed2aca8b0f1e7f3788c66fa0225666a3711ad166cc925232e2ec9"
|
|
1311
1311
|
},
|
|
1312
1312
|
{
|
|
1313
1313
|
"path": "src/shortcuts/project/host.ts",
|
|
1314
1314
|
"role": "generated-cli",
|
|
1315
|
-
"size":
|
|
1316
|
-
"sha256": "
|
|
1315
|
+
"size": 7267,
|
|
1316
|
+
"sha256": "5a15e8b0c187c26c6cfc7cc1e50d31fafefa5169ba74220e723406939368b58b"
|
|
1317
1317
|
},
|
|
1318
1318
|
{
|
|
1319
1319
|
"path": "src/shortcuts/project/index.ts",
|
|
1320
1320
|
"role": "generated-cli",
|
|
1321
|
-
"size":
|
|
1322
|
-
"sha256": "
|
|
1321
|
+
"size": 4493,
|
|
1322
|
+
"sha256": "dd8084e58007649ff5b2e25b23ea8dd77e1c215aaed5da7bf50fc7208faa92f3"
|
|
1323
1323
|
},
|
|
1324
1324
|
{
|
|
1325
1325
|
"path": "src/shortcuts/project/manifest.ts",
|
|
1326
1326
|
"role": "generated-cli",
|
|
1327
|
-
"size":
|
|
1328
|
-
"sha256": "
|
|
1327
|
+
"size": 1396,
|
|
1328
|
+
"sha256": "20defdc2d1c349f9395e4ca331706a1311fe9258638bca76e61c5de6994f1143"
|
|
1329
1329
|
},
|
|
1330
1330
|
{
|
|
1331
1331
|
"path": "src/shortcuts/project/operations.ts",
|
|
1332
1332
|
"role": "generated-cli",
|
|
1333
|
-
"size":
|
|
1334
|
-
"sha256": "
|
|
1333
|
+
"size": 631,
|
|
1334
|
+
"sha256": "b5e61dc31da158456a1ad67850ea66c4f11bd87f2ef00af7c0f33c00db34ebee"
|
|
1335
1335
|
},
|
|
1336
1336
|
{
|
|
1337
1337
|
"path": "src/shortcuts/project/operations/read.ts",
|
|
1338
1338
|
"role": "generated-cli",
|
|
1339
|
-
"size":
|
|
1340
|
-
"sha256": "
|
|
1339
|
+
"size": 23906,
|
|
1340
|
+
"sha256": "a1da21e8baaf822885441e369bb2cabaa78173069ee482a0bb77d752945aa615"
|
|
1341
1341
|
},
|
|
1342
1342
|
{
|
|
1343
1343
|
"path": "src/shortcuts/project/operations/registry.ts",
|
|
1344
1344
|
"role": "generated-cli",
|
|
1345
|
-
"size":
|
|
1346
|
-
"sha256": "
|
|
1345
|
+
"size": 1317,
|
|
1346
|
+
"sha256": "643e326fea47b63593d926e55e2f2cd554f2259d2a5d3a2317f25dc306c1991a"
|
|
1347
1347
|
},
|
|
1348
1348
|
{
|
|
1349
1349
|
"path": "src/shortcuts/project/operations/shared.ts",
|
|
1350
1350
|
"role": "generated-cli",
|
|
1351
|
-
"size":
|
|
1352
|
-
"sha256": "
|
|
1351
|
+
"size": 4151,
|
|
1352
|
+
"sha256": "8c67c9802f2a8126e8568547ded11b1fafae9f5c755b36608d049e017ea97be9"
|
|
1353
1353
|
},
|
|
1354
1354
|
{
|
|
1355
1355
|
"path": "src/shortcuts/project/operations/types.ts",
|
|
1356
1356
|
"role": "generated-cli",
|
|
1357
|
-
"size":
|
|
1358
|
-
"sha256": "
|
|
1357
|
+
"size": 2968,
|
|
1358
|
+
"sha256": "0459bdf2e484679ccc917ed212abb7334129402cd4dc88e61c76edcba82ac744"
|
|
1359
1359
|
},
|
|
1360
1360
|
{
|
|
1361
1361
|
"path": "src/shortcuts/project/operations/write.ts",
|
|
1362
1362
|
"role": "generated-cli",
|
|
1363
|
-
"size":
|
|
1364
|
-
"sha256": "
|
|
1363
|
+
"size": 14171,
|
|
1364
|
+
"sha256": "5ff2081e6ecde1557312b729fbdddb61fa60474f4ab90b10e749cce054580f18"
|
|
1365
1365
|
},
|
|
1366
1366
|
{
|
|
1367
1367
|
"path": "test/business/project-operations.test.ts",
|
|
1368
1368
|
"role": "generated-test",
|
|
1369
|
-
"size":
|
|
1370
|
-
"sha256": "
|
|
1369
|
+
"size": 18330,
|
|
1370
|
+
"sha256": "98121e9d8968af7ef5178749e7de041b8d29abb1217d8e4d8acc2e04d7822b77"
|
|
1371
1371
|
},
|
|
1372
1372
|
{
|
|
1373
1373
|
"path": "skills/weaver-e10-shijingran/references/disabled-capabilities.md",
|
|
@@ -1384,6 +1384,7 @@
|
|
|
1384
1384
|
"project.attachment.upload 与 project.field.auto-resolve 因源资料缺少安全实现契约而保留为 withheldOperations。",
|
|
1385
1385
|
"2026-09-24:刷新本技能包内产物指纹(SKILL.md / references),新增 references/disabled-capabilities.md;行尾统一为 LF。",
|
|
1386
1386
|
"2026-10-08:SKILL.md 的「登录与请求头凭证契约」改为请求头声明表格(Cookie / eteamsid / User-Agent),刷新本包产物指纹。",
|
|
1387
|
-
"2026-11-04:新建项目/任务后的返回值补充 detail_urls(详情链接),写入文档与展示契约同步;整体重建产物基线指纹。"
|
|
1387
|
+
"2026-11-04:新建项目/任务后的返回值补充 detail_urls(详情链接),写入文档与展示契约同步;整体重建产物基线指纹。",
|
|
1388
|
+
"2026-11-05:移除正文中的跨技能路径引用(改为按技能名指代),版本 1.0.10。"
|
|
1388
1389
|
]
|
|
1389
1390
|
}
|
|
@@ -218,6 +218,8 @@ E10 业务模块必须复用 `src/internal/e10` 的 session、profile 和 reques
|
|
|
218
218
|
1. `prepare` 做只读回查、输入归一化、差异摘要和 continuation 签发,不真实写入。
|
|
219
219
|
2. Agent 把目标、差异、风险和确认条件摘要给用户。
|
|
220
220
|
3. 用户明确确认后,`apply` 必须要求 `confirm: true` 和有效 continuation。
|
|
221
|
+
- 票据 TTL **不要写死**:统一从 `src/core/continuation-ttl.ts` 取 `CONTINUATION_TTL_MS` / `CONTINUATION_TTL_SECONDS`(当前 24 小时),回显的 `expiresInSeconds` 必须由同一常量推导,不能与 TTL 脱节。
|
|
222
|
+
- 票据过期(`continuation_expired` / `continuation_invalid`)**与登录态无关**:登录失效是 `authentication`(exitCode 3)。Skill 文案禁止把票据过期写成「登录失效」,否则用户会去重新登录,而不是重新 prepare。
|
|
221
223
|
4. `apply` 校验 session、目标 ID、文件 sha256 或业务对象指纹没有变化。
|
|
222
224
|
5. 写请求已发送后,如遇网络中断、部分成功或回查失败,返回 `partial/write_uncertain`,禁止自动重复提交。
|
|
223
225
|
|