weaver-work-cli 0.1.32 → 0.1.36
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 +2 -2
- package/dist/chunks/{archive-UMGX72K6.js → archive-XBVH7JU7.js} +2 -2
- package/dist/chunks/{archive-oa-N2IYBLF3.js → archive-oa-MZM3EKFQ.js} +2 -2
- package/dist/chunks/{asset-GLEGKFG5.js → asset-4XO7UOUW.js} +2 -2
- package/dist/chunks/{attachment-content-AQNX5N3S.js → attachment-content-VXSWANAC.js} +3 -2
- package/dist/chunks/{blog-E44OTVDA.js → blog-PGZKOPSC.js} +2 -2
- package/dist/chunks/{caizhilian-DQUFZXZL.js → caizhilian-BH4ZVGUN.js} +2 -2
- package/dist/chunks/{calendar-JKPIRKFD.js → calendar-MXEMTIO4.js} +2 -2
- package/dist/chunks/{chunk-QWY6PGL6.js → chunk-2LV74IWP.js} +361 -56
- package/dist/chunks/chunk-3SO6QL6U.js +73 -0
- package/dist/chunks/chunk-5DQEEGCC.js +229 -0
- package/dist/chunks/{chunk-G3QJULO2.js → chunk-6LLJFKJE.js} +1 -1
- package/dist/chunks/{chunk-C6R3B2ML.js → chunk-BPE37FPB.js} +35 -7
- package/dist/chunks/chunk-BYATLLEF.js +68 -0
- package/dist/chunks/chunk-BYBSCN4X.js +932 -0
- package/dist/chunks/{chunk-CVZ2JOSW.js → chunk-F746NKNF.js} +1 -1
- package/dist/chunks/{chunk-GCG2NMWR.js → chunk-HXJQI5NM.js} +4 -2
- package/dist/chunks/{chunk-YRVDW4WN.js → chunk-I6QGIBDM.js} +2 -2
- package/dist/chunks/{chunk-H7J4DC5R.js → chunk-JCSN3JGM.js} +2 -2
- package/dist/chunks/{chunk-2GA5ZIQL.js → chunk-JNG42JKG.js} +30 -1
- package/dist/chunks/{chunk-DW6AUUKS.js → chunk-JUXVYKII.js} +9 -4
- package/dist/chunks/{chunk-6RKD4DRZ.js → chunk-JYKABYCV.js} +2 -2
- package/dist/chunks/{chunk-6EFWDL7Y.js → chunk-NCOVUAZK.js} +2 -2
- package/dist/chunks/{chunk-E4Z23GHM.js → chunk-QHFANTX7.js} +1114 -904
- package/dist/chunks/{ebuilder-form-V5FG2EHC.js → chunk-QYGO5EE2.js} +22 -1148
- package/dist/chunks/{chunk-IURUFGZK.js → chunk-T72N74ZT.js} +50 -33
- package/dist/chunks/{chunk-H6XSTSLM.js → chunk-TC6MZAO3.js} +137 -204
- package/dist/chunks/{chunk-WKI2FBIQ.js → chunk-VPUTVEMC.js} +737 -341
- package/dist/chunks/{chunk-WSKBSQ2U.js → chunk-VPXOPQJI.js} +2 -2
- package/dist/chunks/chunk-WXFPWCXG.js +774 -0
- package/dist/chunks/{chunk-4YC43QQ4.js → chunk-XMGSYD6S.js} +4 -4
- package/dist/chunks/conflict-JAB2LJEZ.js +21 -0
- package/dist/chunks/continuation-RN6PZN2M.js +11 -0
- package/dist/chunks/contract-XI2EEIZU.js +9110 -0
- package/dist/chunks/cowork-SCPGLBA4.js +2527 -0
- package/dist/chunks/ebuilder-form-EYLHNOTA.js +121 -0
- package/dist/chunks/{ehr-HMFY6VIL.js → ehr-EAP77IMT.js} +1344 -27
- package/dist/chunks/{esb-ZYSVB7SG.js → esb-2TGGXEE7.js} +4 -4
- package/dist/chunks/{fna-B7RKPAZD.js → fna-2X7ZE7BU.js} +13 -8
- package/dist/chunks/{host-OCH2BCCV.js → host-C6EL2RKL.js} +3 -3
- package/dist/chunks/{host-45WED2KK.js → host-I4NRK4MX.js} +3 -3
- package/dist/chunks/{host-I4Z6BFYX.js → host-Q4LZGCRU.js} +3 -3
- package/dist/chunks/host-UEI5FGDM.js +23 -0
- package/dist/chunks/{host-KNZ52LJZ.js → host-XCLDDXKQ.js} +3 -3
- package/dist/chunks/{hrm-2KAZGUHI.js → hrm-YXERJM76.js} +3 -3
- package/dist/chunks/{im-ACJJWH4U.js → im-A4VZN2TQ.js} +88 -12
- package/dist/chunks/{invoice-ZK3WCX2U.js → invoice-2Z6YPMIS.js} +3 -3
- package/dist/chunks/{jiuchuanhui-5PQD3IL2.js → jiuchuanhui-AR5GMKZB.js} +2 -2
- package/dist/chunks/{lazy-dispatch-JQXBW3GM.js → lazy-dispatch-QXW7P4X3.js} +4 -4
- package/dist/chunks/{mail-S2HDDXO2.js → mail-7GZ6CPBJ.js} +45 -24
- package/dist/chunks/{meeting-QVN3I37L.js → meeting-3NMGA3MB.js} +278 -43
- package/dist/chunks/{okr-QNG4VC2Q.js → okr-BZ6XUOAG.js} +2 -2
- package/dist/chunks/operations-5QL3AECO.js +11 -0
- package/dist/chunks/{plan-A25EMW6U.js → plan-DR5CMUYP.js} +2 -2
- package/dist/chunks/{project-G6XV66DZ.js → project-6J63MK33.js} +2 -2
- package/dist/chunks/{registry-DC6KR3NH.js → registry-KDD7DHNK.js} +4 -4
- package/dist/chunks/{registry-2VLUAESA.js → registry-OZSMDVPP.js} +2 -2
- package/dist/chunks/{registry-7C5UMIPL.js → registry-TKX2E7C7.js} +2 -2
- package/dist/chunks/{registry-TI3CIUXF.js → registry-VRTNC6UR.js} +8 -6
- package/dist/chunks/{room-recommend-WRTHO6Y2.js → room-recommend-XCWRMB5P.js} +4 -3
- package/dist/chunks/{schedule-KFIITGSK.js → schedule-IVBICP32.js} +4 -3
- package/dist/chunks/{workflow-DJ7SYWAF.js → workflow-D74NFK3C.js} +179 -6
- package/dist/index.js +35 -25
- package/dist/internal/e10/auth-recovery.js +14 -4
- package/dist/internal/e10/fetch-timing.js +31 -0
- package/dist/internal/e10/request-runtime.js +5 -0
- package/dist/shortcuts/contract/host.js +34 -59
- package/dist/shortcuts/cowork/continuation.js +70 -0
- package/dist/shortcuts/cowork/errors.js +59 -0
- package/dist/shortcuts/cowork/host.js +180 -0
- package/dist/shortcuts/cowork/index.js +166 -0
- package/dist/shortcuts/cowork/manifest.js +65 -0
- package/dist/shortcuts/cowork/operations/discuss-write.js +277 -0
- package/dist/shortcuts/cowork/operations/item-write.js +380 -0
- package/dist/shortcuts/cowork/operations/member-write.js +283 -0
- package/dist/shortcuts/cowork/operations/permission-write.js +286 -0
- package/dist/shortcuts/cowork/operations/read.js +423 -0
- package/dist/shortcuts/cowork/operations/registry.js +39 -0
- package/dist/shortcuts/cowork/operations/review-write.js +157 -0
- package/dist/shortcuts/cowork/operations/shared.js +215 -0
- package/dist/shortcuts/cowork/operations/types.js +39 -0
- package/dist/shortcuts/cowork/operations.js +19 -0
- package/dist/shortcuts/ehr/host.js +4 -1
- package/dist/shortcuts/ehr/operations/recruit-candidate-import.js +757 -0
- package/dist/shortcuts/ehr/operations/recruit-position.js +367 -0
- package/dist/shortcuts/ehr/operations/recruit-stats.js +133 -0
- package/dist/shortcuts/ehr/operations/recruit-write.js +43 -16
- package/dist/shortcuts/ehr/operations/recruit.js +182 -10
- package/dist/shortcuts/ehr/operations/registry.js +6 -0
- package/dist/shortcuts/fna/operations/expense-chart.js +19 -7
- package/dist/shortcuts/im/diagnostics.js +97 -0
- package/dist/shortcuts/im/host.js +58 -31
- package/dist/shortcuts/im/index.js +7 -2
- package/dist/shortcuts/im/operations/at-mention.js +127 -0
- package/dist/shortcuts/im/operations/file-user.js +10 -2
- package/dist/shortcuts/im/operations/group-read.js +26 -5
- package/dist/shortcuts/im/operations/group-write.js +35 -28
- package/dist/shortcuts/im/operations/msg-sync.js +7 -2
- package/dist/shortcuts/im/operations/msg-write.js +76 -10
- package/dist/shortcuts/im/operations/quote-mention.js +119 -0
- package/dist/shortcuts/im/operations/session.js +1 -1
- package/dist/shortcuts/im/operations/shared.js +10 -0
- package/dist/shortcuts/im/operations/types.js +13 -0
- package/dist/shortcuts/index.js +10 -0
- package/dist/shortcuts/mail/host.js +12 -1
- package/dist/shortcuts/mail/operations/types.js +17 -2
- package/dist/shortcuts/meeting/host.js +27 -34
- package/dist/shortcuts/meeting/index.js +79 -1
- package/dist/shortcuts/meeting/manifest.js +10 -0
- package/dist/shortcuts/meeting/operations/create.js +4 -1
- package/dist/shortcuts/meeting/operations/eb/catalog.js +10 -0
- package/dist/shortcuts/meeting/operations/eb/conflict.js +84 -8
- package/dist/shortcuts/meeting/operations/eb/create-flow.js +1195 -140
- package/dist/shortcuts/meeting/operations/eb/factory.js +170 -8
- package/dist/shortcuts/meeting/operations/eb/index.js +16 -3
- package/dist/shortcuts/meeting/operations/eb/room-recommend.js +50 -5
- package/dist/shortcuts/meeting/operations/eb-fallback.js +163 -0
- package/dist/shortcuts/meeting/operations/env.js +99 -46
- package/dist/shortcuts/meeting/operations/form-fields.js +110 -0
- package/dist/shortcuts/meeting/operations/invitation.js +79 -20
- package/dist/shortcuts/meeting/operations/registry.js +2 -0
- package/dist/shortcuts/meeting/operations/standard-guard.js +71 -0
- package/dist/shortcuts/meeting/operations.js +16 -0
- package/dist/shortcuts/workflow/endpoints.js +8 -3
- package/dist/shortcuts/workflow/index.js +110 -1
- package/dist/shortcuts/workflow/operations/form.js +204 -36
- package/dist/shortcuts/workflow/operations/read.js +104 -23
- package/dist/shortcuts/workflow/operations/todoSmartConvert/aigroupRules.js +448 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/aigroupStore.js +106 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/businessRules.js +47 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.collect.js +30 -23
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.core.js +1 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.group.js +1 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.groupSummary.js +2 -1
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.js +2 -4
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.smartGroup.js +138 -181
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.summary.js +12 -7
- package/dist/shortcuts/workflow/operations.js +23 -1
- package/docs/e10-auth.md +1 -1
- package/docs/ehr.md +1 -1
- package/docs/fna.md +2 -1
- package/docs/im.md +8 -1
- package/docs/todo-smart-convert/README.md +1 -1
- package/docs/todo-smart-convert/data-contract.md +2 -2
- package/docs/todo-smart-convert/subgroup-rules.md +6 -0
- package/package.json +1 -1
- package/skill-template/business-info.json +18 -0
- package/skill-template/domains/cowork.md +14 -0
- package/skill-template/domains/yimiaoban.md +3 -3
- package/skill-template/skill-template.md +1 -1
- package/skills/weaver-e10-blog/SKILL.md +5 -5
- package/skills/weaver-e10-caizhilian/SKILL.md +5 -5
- package/skills/weaver-e10-calendar/SKILL.md +5 -5
- package/skills/weaver-e10-cowork/SKILL.md +101 -0
- package/skills/weaver-e10-cowork/references/cowork-read.md +90 -0
- package/skills/weaver-e10-cowork/references/cowork-write.md +131 -0
- package/skills/weaver-e10-cowork/references/safety-boundaries.md +45 -0
- package/skills/weaver-e10-esb/SKILL.md +5 -5
- package/skills/weaver-e10-hrm/SKILL.md +5 -5
- package/skills/weaver-e10-jinchengda/SKILL.md +2 -2
- package/skills/weaver-e10-jiuchuanhui/SKILL.md +5 -5
- package/skills/weaver-e10-jucailin/SKILL.md +38 -14
- package/skills/weaver-e10-jucailin/references/recruit-create.md +104 -0
- package/skills/weaver-e10-jucailin/references/recruit-read.md +25 -0
- package/skills/weaver-e10-jucailin/references/recruit-write.md +13 -0
- package/skills/weaver-e10-jucailin/references/salary.md +15 -11
- package/skills/weaver-e10-mail/SKILL.md +17 -14
- package/skills/weaver-e10-meeting/SKILL.md +442 -46
- package/skills/weaver-e10-meeting/references/meeting-eb.md +135 -3
- package/skills/weaver-e10-meeting/references/meeting-invitation.md +28 -2
- package/skills/weaver-e10-meeting/references/meeting-queries.md +9 -6
- package/skills/weaver-e10-meeting/references/meeting-verification.md +8 -6
- package/skills/weaver-e10-meeting.zip +0 -0
- package/skills/weaver-e10-okr/SKILL.md +5 -5
- package/skills/weaver-e10-okr/references/source-manifest.json +3 -3
- package/skills/weaver-e10-plan/SKILL.md +5 -5
- package/skills/weaver-e10-qiyecheng/SKILL.md +5 -2
- package/skills/weaver-e10-qiyecheng/references/catalog.md +2 -2
- package/skills/weaver-e10-qiyecheng/references/expense-chart.md +15 -1
- package/skills/weaver-e10-qiyecheng/references/source-manifest.json +22 -21
- package/skills/weaver-e10-shared/SKILL.md +12 -12
- package/skills/weaver-e10-shared/references/e10-auth-and-session.md +4 -4
- package/skills/weaver-e10-wenshuding/SKILL.md +5 -5
- package/skills/weaver-e10-workflow/SKILL.md +29 -5
- package/skills/weaver-e10-workflow/aigroup/default.json +88 -0
- package/skills/weaver-e10-workflow/references/todo-smart-convert.md +66 -14
- package/skills/weaver-e10-workflow/references/workflow-agent-entry.md +1 -1
- package/skills/weaver-e10-workflow/references/workflow-memory.md +1 -1
- package/skills/weaver-e10-workflow/references/workflow-query.md +12 -10
- package/skills/weaver-e10-workflow/references/workflow-view.md +2 -2
- package/skills/weaver-e10-workflow/tools/todo-serve.cjs +239 -0
- package/skills/weaver-e10-workflow/{scripts → tools}/todo-summary.cjs +218 -28
- package/skills/weaver-e10-yepiaotong/SKILL.md +10 -8
- package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +7 -7
- package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +10 -10
- package/skills/weaver-e10-yepiaotong/references/reim-examples.md +40 -37
- package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +4 -4
- package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +27 -38
- package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +4 -4
- package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +37 -29
- package/skills/weaver-e10-yimiaoban/SKILL.md +156 -33
- package/skills/weaver-e10-yimiaoban/references/ding-write.md +1 -1
- package/skills/weaver-e10-yimiaoban/references/error-codes.md +5 -1
- package/skills/weaver-e10-yimiaoban/references/group-read.md +5 -1
- package/skills/weaver-e10-yimiaoban/references/group-write.md +6 -4
- package/skills/weaver-e10-yimiaoban/references/msg-read.md +1 -0
- package/skills/weaver-e10-yimiaoban/references/msg-write.md +34 -2
- package/skills/weaver-e10-yimiaoban/references/safety-boundaries.md +5 -2
- package/skills/weaver-e10-yimiaoban/references/source-manifest.json +79 -58
- package/skills/weaver-e10-yimiaoban/references/user-remind.md +2 -2
- package/skills/weaver-e10-ziguanjia/SKILL.md +5 -5
|
@@ -73,11 +73,11 @@ weaver-work-cli --json esb run <operation> --input-json '<json>'
|
|
|
73
73
|
|
|
74
74
|
认证类错误(`authentication` / `session_expired`)必须立即停止当前操作并读取 `weaver-e10-shared` 的认证规则:
|
|
75
75
|
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
76
|
+
- 已有 XiaoE 会话的 `session_expired` 已由 CLI 底层自动换票并重放一次;若错误最终仍返回,Agent 只反馈并停止,不执行任何登录命令、其他登录 Skill 或原业务命令。
|
|
77
|
+
- 仅首次无会话或明确的 `auth not found` 才由 Agent 复用任务开始时的宿主判定。
|
|
78
|
+
- 首次认证明确为 XiaoE 时,执行一次 `weaver-work-cli auth xiaoe`;返回 `authentication/xiaoe_credential_unavailable` 时停止,不回退浏览器登录。
|
|
79
|
+
- 首次认证且非 XiaoE 时不得执行 `auth xiaoe`;取得用户确认的真实 E10 登录域名后,执行 `weaver-work-cli auth login --base-url "<用户确认的 E10 登录域名>" --agent_type "<当前智能体名称>"`。
|
|
80
|
+
- 显式登录后读操作可重新执行;写操作不得复用旧 continuation,必须重新 prepare 并重新确认。已返回 `partial/write_uncertain` 时先只读回查,禁止直接重放写入。
|
|
81
81
|
|
|
82
82
|
## 安全边界
|
|
83
83
|
|
|
@@ -159,11 +159,11 @@ weaver-work-cli --json hrm run hrm.org.resolve --input-json '{"virtual":"1号维
|
|
|
159
159
|
## 失败处理
|
|
160
160
|
|
|
161
161
|
- `code=302` 或认证类错误:停止当前操作并读取 `weaver-e10-shared` 的认证规则。
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
162
|
+
- 已有 XiaoE 会话的 `session_expired` 已由 CLI 底层自动换票并重放一次;若错误最终仍返回,Agent 只反馈并停止,不执行任何登录命令、其他登录 Skill 或原业务命令。
|
|
163
|
+
- 仅首次无会话或明确的 `auth not found` 才由 Agent 复用任务开始时的宿主判定。
|
|
164
|
+
- 首次认证明确为 XiaoE 时,执行一次 `weaver-work-cli auth xiaoe`;返回 `authentication/xiaoe_credential_unavailable` 时停止,不回退浏览器登录。
|
|
165
|
+
- 首次认证且非 XiaoE 时不得执行 `auth xiaoe`;取得用户确认的真实 E10 登录域名后,执行 `weaver-work-cli auth login --base-url "<用户确认的 E10 登录域名>" --agent_type "<当前智能体名称>"`。
|
|
166
|
+
- 显式登录后读操作可重新执行;写操作不得复用旧 continuation,必须重新 prepare 并重新确认。已返回 `partial/write_uncertain` 时先只读回查,禁止直接重放写入。
|
|
167
167
|
- 业务失败看 stderr JSON 的 `error.type` / `error.subtype` / `error.message`,不要用退出码 `0` 判断成功。
|
|
168
168
|
- 常见业务错误:`empty_condition`(空条件拉取被拦截)、`full_pull_blocked`(岗位全量需 `all=true`)、`dept_not_found`/`dept_ambiguous`(组织未找到或重名,改用 id)、`enum_invalid`(枚举取值非法)、`permission_denied`(接口开关未开启)、`virtual_required`/`name_required`(`hrm.org.resolve` 缺多维或多维名称参数)。
|
|
169
169
|
- `hrm.org.resolve` 的「没找到 / 命中多个」**不是错误**:命令仍退出 0、`ok: true`,判定以 `data.status` 为准,不要把 `not_found` 当异常重试。
|
|
@@ -17,7 +17,7 @@ cliHelp: "weaver-work-cli contract --help"
|
|
|
17
17
|
|
|
18
18
|
**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`——省略会装进默认目录,导致本技能依然读不到共享规则。命令均成功后重新读取共享规则;仍读不到就停止并把结果报告用户,不得凭猜测继续。**
|
|
19
19
|
认证和登录态只能按共享规则通过 `weaver-work-cli auth ...` 命令判断;禁止直接读取、列出、打印或解析用户主目录下的旧 `.e10-cli`、auth、config 或 Keychain 数据。
|
|
20
|
-
|
|
20
|
+
已有 XiaoE 会话返回 `session_expired` 时,CLI 已在底层自动换票并重放一次;Agent 不得再执行登录命令、调用其他登录 Skill 或重复业务命令,只反馈最终错误。仅首次无会话或明确的 `auth not found` 才读取共享认证规则:XiaoE 执行一次 `weaver-work-cli auth xiaoe`,若返回 `xiaoe_credential_unavailable` 则停止;非 XiaoE 在取得真实 E10 域名后执行 `weaver-work-cli auth login --base-url "<用户确认的 E10 登录域名>" --agent_type "<当前智能体名称>"`。显式登录后写操作不得复用旧 continuation,必须重新 prepare 和确认。
|
|
21
21
|
所有命令通过 `weaver-work-cli --json contract run <operation>` 执行:简单 JSON 优先传 `--input-json '<json>'`,复杂或多行 JSON 先写入 UTF-8 文件再传 `--input <path>`,只有确认当前 shell 能稳定传管道时才使用 `--input -`。调用前先按需读取 references 下对应的文件,查参数结构,不要猜字段;**references 是第一信息源**,`weaver-work-cli contract schema` 是 operation、字段和风险等级的合约来源。
|
|
22
22
|
命令示例、提示词和临时说明必须同时兼容 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 写法。
|
|
23
23
|
涉及合同正文、附件、图片、本地文件或远程 URL 文件的操作,执行前必须提醒用户:文件内容可能被上传到 E10 今承达,并可能进入当前大模型上下文用于理解和处理;必须等待用户明确确认后才继续。
|
|
@@ -183,7 +183,7 @@ cliHelp: "weaver-work-cli contract --help"
|
|
|
183
183
|
- 写请求超时或断线时不得盲目重试,先用查询接口确认是否已生效
|
|
184
184
|
- `submitRequest` 返回 `1200301`(当前 userid 为空):停止并诊断会话状态,不自动切换接口
|
|
185
185
|
- `submitRequest` 返回 `1200306`(服务端必填校验):解析缺失字段列表,逐字段补全后重试(最多 3 轮),不切换接口
|
|
186
|
-
- 错误为 `
|
|
186
|
+
- 错误为 `session_expired` 时立即停止;XiaoE 的底层自动恢复已执行,Agent 不再登录或重试。首次认证缺失才读取共享规则 `../weaver-e10-shared/references/e10-auth-and-session.md`
|
|
187
187
|
|
|
188
188
|
### 8) 智能助手的三个高频误伤
|
|
189
189
|
|
|
@@ -134,11 +134,11 @@ cliHelp: "weaver-work-cli jiuchuanhui --help"
|
|
|
134
134
|
- **除非错误明确提示可恢复或需要补充参数,否则不要重复刷同一个 operation**
|
|
135
135
|
- 写请求已经发出后,遇到结果不确定必须停止;不要把 `.apply` 当成可重试读操作
|
|
136
136
|
- **错误为 `authentication`(未登录,如 `E10 auth not found`)或 `session_expired`(登录态失效)时:立即停止当前操作,不要用示例占位域名或自行猜域名登录,也不要盲目重试**。先读取共享规则 `../weaver-e10-shared/references/e10-auth-and-session.md`。
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
137
|
+
- 已有 XiaoE 会话的 `session_expired` 已由 CLI 底层自动换票并重放一次;若错误最终仍返回,Agent 只反馈并停止,不执行任何登录命令、其他登录 Skill 或原业务命令。
|
|
138
|
+
- 仅首次无会话或明确的 `auth not found` 才由 Agent 复用任务开始时的宿主判定。
|
|
139
|
+
- 首次认证明确为 XiaoE 时,执行一次 `weaver-work-cli auth xiaoe`;返回 `authentication/xiaoe_credential_unavailable` 时停止,不回退浏览器登录。
|
|
140
|
+
- 首次认证且非 XiaoE 时不得执行 `auth xiaoe`;取得用户确认的真实 E10 登录域名后,执行 `weaver-work-cli auth login --base-url "<用户确认的 E10 登录域名>" --agent_type "<当前智能体名称>"`。
|
|
141
|
+
- 显式登录后读操作可重新执行;写操作不得复用旧 continuation,必须重新 prepare 并重新确认。已返回 `partial/write_uncertain` 时先只读回查,禁止直接重放写入。
|
|
142
142
|
|
|
143
143
|
### 4) 文件处理确认
|
|
144
144
|
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: weaver-e10-jucailin
|
|
3
|
-
display_name: 泛微聚才林人事云
|
|
4
|
-
display_name_en: Weaver Jucailin HR Cloud
|
|
5
|
-
description: 泛微聚才林(人事档案、出勤管理、薪酬管理)的 E10 查询与出勤写操作能力,通过 weaver-work-cli ehr 命令执行。
|
|
6
|
-
description_zh: 泛微聚才林(人事档案、出勤管理、薪酬管理)的 E10 查询与出勤写操作能力,通过 weaver-work-cli ehr 命令执行。
|
|
7
|
-
description_en: Weaver Jucailin HR capabilities for E10, covering HR profile, attendance and salary queries plus attendance write operations, delivered through the weaver-work-cli ehr command.
|
|
8
|
-
version: 1.0.0
|
|
9
|
-
author: 泛微网络科技股份有限公司
|
|
10
3
|
agent_created: true
|
|
4
|
+
display_name: 泛微E10聚才林人事管理
|
|
5
|
+
display_name_en: Weaver E10 Jucailin HR Management Skill
|
|
6
|
+
description: 泛微E10聚才林人事管理,帮您处理人事日常事宜:[出勤]-查考勤数据做报表统计、考勤打卡(PC端签到签退)、发考勤流程处理考勤异常;[薪酬]-查工资、社保公积金、调薪记录;[招聘]-帮您找人才、管招聘需求、生成职位JD、导入简历建人才、查应聘者台账、安排面试、发Offer、办入职、看招聘统计;[人事基础]-查员工信息、组织编制及从不同维度汇总人事报表。
|
|
7
|
+
description_zh: 泛微E10聚才林人事管理,帮您处理人事日常事宜:[出勤]-查考勤数据做报表统计、考勤打卡(PC端签到签退)、发考勤流程处理考勤异常;[薪酬]-查工资、社保公积金、调薪记录;[招聘]-帮您找人才、管招聘需求、生成职位JD、导入简历建人才、查应聘者台账、安排面试、发Offer、办入职、看招聘统计;[人事基础]-查员工信息、组织编制及从不同维度汇总人事报表。
|
|
8
|
+
description_en: "Weaver E10 Jucailin HR Management: your assistant for daily HR tasks. [Attendance] Check attendance data, generate reports & statistics, clock in/out on PC, and start attendance workflows to handle attendance exceptions. [Payroll] View pay slips, social security & housing fund, and salary adjustment records. [Recruitment] Find candidates, manage recruitment requisitions, generate job descriptions (JD), import resumes to build candidate profiles, view candidate pipeline records, arrange interviews, send offers, handle onboarding, and view recruitment statistics. [HR Basics] Look up employee information, organizational headcount, and compile HR reports from various dimensions."
|
|
9
|
+
category: business
|
|
10
|
+
version: 2.0.2
|
|
11
|
+
author: 泛微网络科技股份有限公司
|
|
12
|
+
permissions: [network]
|
|
13
|
+
execution:
|
|
14
|
+
entry_mode: file
|
|
15
|
+
profile: node-readonly
|
|
11
16
|
requires:
|
|
12
17
|
bins: ["weaver-work-cli"]
|
|
13
18
|
cliHelp: "weaver-work-cli ehr --help"
|
|
@@ -46,10 +51,30 @@ weaver-work-cli --json ehr run <operation> --input -
|
|
|
46
51
|
| 通讯录、字段列表、浏览器选择器、生日查询、人员状态变更 | [`references/hr-contact.md`](references/hr-contact.md) |
|
|
47
52
|
| HR 数据源:历史时点名册、离职名册、历史曾在职、编制、流动分析、人员情况合计 | [`references/hr-datasource.md`](references/hr-datasource.md) |
|
|
48
53
|
| 部门/岗位/职务/职类人数、流失离职、占编人员、人员流动明细、属性合计 | [`references/hr-report.md`](references/hr-report.md) |
|
|
49
|
-
|
|
|
54
|
+
| 人才库搜索、招聘需求/职位/入职/录用列表、人才详情卡片、**我待填的面试反馈(AI 面试已录)** | [`references/recruit-read.md`](references/recruit-read.md) |
|
|
50
55
|
| 新建人才、安排面试、发送 Offer、办理入职、面试反馈编辑/催评(写,prepare→apply) | [`references/recruit-write.md`](references/recruit-write.md) |
|
|
56
|
+
| 生成职位 JD 并建职位、简历导入建人才(含附件与标签)、招聘统计 | [`references/recruit-create.md`](references/recruit-create.md) |
|
|
51
57
|
| 招聘撤销类写操作、移动端打卡、能力边界与禁止项 | [`references/safety-boundaries.md`](references/safety-boundaries.md) |
|
|
52
58
|
|
|
59
|
+
## 高频写操作速查(免读 references 即可用;完整协议/错误处理见 references/recruit-write.md)
|
|
60
|
+
|
|
61
|
+
统一协议:**prepare 出确认摘要 → 用户明确确认 → apply 带 `confirm:true` + prepare 返回的 `continuation`**;未确认就 apply 会被拒绝。Offer 邮件/面试通知/催评会触达真实的人,必须用户明确同意。
|
|
62
|
+
|
|
63
|
+
新建人才:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
weaver-work-cli --json ehr run ehr.recruit.candidate.create.prepare --input-json '{"name":"张三","mobile":"13800000000"}'
|
|
67
|
+
# 用户确认后同参数 apply(加 confirm 与 continuation);apply 输出 talentCardUrl/talentListLocateUrl 两个链接直接放回答
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
安排面试:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
weaver-work-cli --json ehr run ehr.recruit.candidate.interview.arrange.prepare --input-json '{"talentId":"<人才id>","interviewer":"李四","type":"AI面试","session":"初试"}'
|
|
74
|
+
# type 为 AI面试时方案必填:prepare 未带方案会返回 aiPlans 候选清单,列给用户选,绝不自动取第一条
|
|
75
|
+
# apply 成功输出 talentCardUrl/interviewLocateUrl 两个链接放回答,再追加一次 ehr.recruit.interview.feedbackTodo 返回本人待反馈清单
|
|
76
|
+
```
|
|
77
|
+
|
|
53
78
|
## 跨子系统差异(必须先知道)
|
|
54
79
|
|
|
55
80
|
四个子系统(人事档案 / 出勤 / 薪酬 / 招聘)的响应契约和分页结构不统一,已在 CLI 内归一化,但语义差异仍会影响结果解读:
|
|
@@ -73,7 +98,6 @@ weaver-work-cli --json ehr run <operation> --input -
|
|
|
73
98
|
|
|
74
99
|
- 姓名、工号等条件都是**模糊匹配**,多人命中时必须列出候选让用户选择,不得自动取第一条。浏览器选择器返回多条时,响应会带 `requiresDisambiguation=true`,此时必须让用户确认选哪一个。
|
|
75
100
|
- `est.emp.table` / `est.dc.emp.table` 的 `cfgId`、`id` 必须先从对应数据源记录取得,禁止编造或使用默认值。
|
|
76
|
-
- 社保台账查询(`salary.siaccount.query`)不分页且返回高度敏感数据,CLI 会强制要求提供月份范围或人员/组织 ID 之一。
|
|
77
101
|
- 涉及附件、图片、本地文件或文件内容解析时,必须先向用户说明文件内容可能进入大模型上下文,也可能被发送到业务系统或解析服务,获得**明确确认**后才继续。本技能当前不涉及附件接口,若后续新增同类能力必须沿用该确认要求。
|
|
78
102
|
- 招聘撤销类写操作(取消改期入职)与移动端考勤打卡属于禁用边界,见 [`references/safety-boundaries.md`](references/safety-boundaries.md)。招聘其余写操作必须走 prepare→apply 确认协议。
|
|
79
103
|
|
|
@@ -81,11 +105,11 @@ weaver-work-cli --json ehr run <operation> --input -
|
|
|
81
105
|
|
|
82
106
|
- 遇到 `partial`、`write_uncertain`、登录失效、回查失败或网络中断,立即停止当前写流程,不自动重试写入,先做一次只读回查再决定。
|
|
83
107
|
- `code=302` 或认证类错误:停止当前操作并读取 `weaver-e10-shared` 的认证规则。
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
108
|
+
- 已有 XiaoE 会话的 `session_expired` 已由 CLI 底层自动换票并重放一次;若错误最终仍返回,Agent 只反馈并停止,不执行任何登录命令、其他登录 Skill 或原业务命令。
|
|
109
|
+
- 仅首次无会话或明确的 `auth not found` 才由 Agent 复用任务开始时的宿主判定。
|
|
110
|
+
- 首次认证明确为 XiaoE 时,执行一次 `weaver-work-cli auth xiaoe`;返回 `authentication/xiaoe_credential_unavailable` 时停止,不回退浏览器登录。
|
|
111
|
+
- 首次认证且非 XiaoE 时不得执行 `auth xiaoe`;取得用户确认的真实 E10 登录域名后,执行 `weaver-work-cli auth login --base-url "<用户确认的 E10 登录域名>" --agent_type "<当前智能体名称>"`。
|
|
112
|
+
- 显式登录后读操作可重新执行;写操作不得复用旧 continuation,必须重新 prepare 并重新确认。已返回 `partial/write_uncertain` 时先只读回查,禁止直接重放写入。
|
|
89
113
|
- 业务失败看 stderr JSON 的 `error.type` / `error.subtype` / `error.message`,不要用退出码 `0` 判断成功。
|
|
90
114
|
|
|
91
115
|
## 平台兼容
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# 招聘创建类能力:职位 JD 建职位 / 简历导入建人才 / 招聘统计
|
|
2
|
+
|
|
3
|
+
> 三个能力都基于已注册的 CLI operation,命令统一为 `weaver-work-cli ehr run <operation>`。
|
|
4
|
+
> 认证与请求头由 `weaver-e10-shared` 托管,本文件不涉及凭证。
|
|
5
|
+
|
|
6
|
+
## 何时使用
|
|
7
|
+
|
|
8
|
+
| 用户说 | 用哪个 |
|
|
9
|
+
|---|---|
|
|
10
|
+
| 「帮我写个 XX 岗位的 JD 并建到招聘职位列表」「生成职位」 | `ehr.recruit.position.create.prepare` → `apply` |
|
|
11
|
+
| 「把这份简历录入人才库」「导入简历建人才」「建档并打标签」 | `ehr.recruit.candidate.import.prepare` → `apply` |
|
|
12
|
+
| 「招聘现在有多少人才/需求/职位/入职/Offer」「招聘统计」 | `ehr.recruit.stats`(只读) |
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 1. 职位 JD 建职位
|
|
17
|
+
|
|
18
|
+
两步,与页面「保存」等价:① `saveFormData`(职位管理表单)→ ② `addPosition` 生成职位。
|
|
19
|
+
|
|
20
|
+
```powershell
|
|
21
|
+
# Windows PowerShell
|
|
22
|
+
weaver-work-cli ehr run ehr.recruit.position.create.prepare --input-json '{"positionName":"Java开发工程师","duty":"负责后端服务设计与开发","requirement":"3年以上Java经验,熟悉Spring Cloud"}'
|
|
23
|
+
```
|
|
24
|
+
```bash
|
|
25
|
+
# macOS/Linux
|
|
26
|
+
weaver-work-cli ehr run ehr.recruit.position.create.prepare --input-json '{"positionName":"Java开发工程师","duty":"负责后端服务设计与开发","requirement":"3年以上Java经验,熟悉Spring Cloud"}'
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
prepare 返回 `preview`(字段填充情况、沿用的在册职位默认值、显式覆盖被跳过的项)与 `continuation`。
|
|
30
|
+
把 preview 摘给用户确认后:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
weaver-work-cli ehr run ehr.recruit.position.create.apply --input-json '{"positionName":"Java开发工程师","confirm":true,"continuation":"<prepare 返回的 continuation>"}'
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**要点**
|
|
37
|
+
|
|
38
|
+
- JD 正文由你(大模型)写:`duty` 写岗位职责、`requirement` 写任职要求,各写入对应的多行文本字段。
|
|
39
|
+
- 可选覆盖:`education` / `workYears` / `jobCategory` / `positionNature`(按**数据字典名称**)、`salaryType` / `recruitType`(按枚举名称)、`recruitCount` / `salaryMin` / `salaryMax` / `numberOfPayMonths`(数字)、`recruitPrincipal` / `employManager` / `interviewer` / `recruitHelper`(按**姓名**)。
|
|
40
|
+
- 字典同名多项或找不到 → 该字段**跳过**并在 `preview.explicitSkipped` 列明,不会写脏值;不要为了"凑齐"而换别的名称重试。
|
|
41
|
+
- 未指定的关联型字段(职位属性/序列/学历/工作年限/工作地点/薪酬上下限/招聘流程)沿用**环境内在册职位的现值**,保证引用有效;`preview.noReferenceValue` 列出没取到值的字段。
|
|
42
|
+
- apply 成功返回 `formDataId`、`positionPostId`、`cardUrl`(职位单页)、`listLocateUrl`(职位列表定位)。`rpaChecked=false` 时把 `rpaValidMsg` 如实转告。
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 2. 简历导入建人才
|
|
47
|
+
|
|
48
|
+
**解析是你的责任,落库是 CLI 的责任**:不要指望 CLI 调 OCR。
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
① 你读懂简历(对话里已解析的内容 / 原件文本)→ 按下面 schema 整理成 JSON
|
|
52
|
+
② prepare:手机号查重 + 主表映射 + 6 张明细行数 + 标签核验(不写入)
|
|
53
|
+
③ 摘给用户确认
|
|
54
|
+
④ apply:主表+明细一次写入 → 人才批次 → 智能标签 → 平台标签 → 双链接
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
weaver-work-cli ehr run ehr.recruit.candidate.import.prepare --input-json '{"candidateName":"张三","telephone":"13800000000","email":"zhangsan@example.test","genderName":"男","highestDegreeName":"本科","college":"天津科技大学","academicInformations":[{"school":"天津科技大学","edu_major":"软件工程","edu_education":"本科","start_date":"2022.09","end_date":"2026.06"}],"tags":["本科","Java"]}'
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
weaver-work-cli ehr run ehr.recruit.candidate.import.apply --input-json '{"candidateName":"张三","telephone":"13800000000","confirm":true,"continuation":"<continuation>"}'
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**入参要点**
|
|
66
|
+
|
|
67
|
+
| 类别 | 字段 |
|
|
68
|
+
|---|---|
|
|
69
|
+
| 主表必填 | `candidateName`、`telephone` |
|
|
70
|
+
| 主表可选 | `email`、`genderName`、`birthday`、`age`、`highestDegreeName`、`college`、`graduateDate`、`joinworkdate`、`intendPosition`、`intendedWorkplace`、`selfDesc`(长文本)、`workAbility`(长文本)、`channel`(来源渠道名称) |
|
|
71
|
+
| 明细 6 表 | `academicInformations`(教育)、`jobInformations`(工作)、`internshipExperiences`(实习)、`projectExperiences`(项目)、`awardExperiences`(获奖)、`languageAbilities`(语言) |
|
|
72
|
+
| 附件 | `resumeFile`:简历原件**本地绝对路径**,提供则上传到「原始简历」附件字段 |
|
|
73
|
+
| 标签 | `tags`:平台标签**名称**数组,须为本环境已有标签(同名优先公共),不自动创建 |
|
|
74
|
+
|
|
75
|
+
**明细行日期**:教育/工作/项目用 `start_date` + `end_date`(如 `2022.09` / `2026.06`),CLI 会按布局拆成开始/结束两个物理列;只给一半会跳过该行区间。
|
|
76
|
+
|
|
77
|
+
**字典类值**(`edu_education`、`degree`、`work_type`、`sx_work_type`、`mastery`、`ls_ability`、`literacy`、性别、最高学历、渠道)一律传**名称**,CLI 按本环境数据字典唯一命中反查;歧义或不存在则跳过并写进 `preview.warnings`。不要传序号或猜测的 id。
|
|
78
|
+
|
|
79
|
+
**以下不会发生**(看到这些现象不是 bug):
|
|
80
|
+
- 手机号已存在 → apply 直接阻断,`preview.duplicate` 会带出已存在的人才 id;**不要重复建档**,改为告知用户走更新或在人才卡片补充。
|
|
81
|
+
- 明细表在 `getTableMapping` 中无对应节点 → 该表整表跳过(主表照常建档),`preview.warnings` 会写明。
|
|
82
|
+
- 批次初始化失败 → 人才仍已建档,`batch.note` 说明原因,不要重试建档。
|
|
83
|
+
- 平台标签不在本环境清单 → `tagsSkipped` 列出,**不要自动新建标签**。
|
|
84
|
+
- apply 返回 `partial/write_uncertain` → 先用人才库按手机号核对是否已建档,**禁止直接重试**。
|
|
85
|
+
|
|
86
|
+
**产物**:`talentCardUrl`(人才卡片单页)+ `talentListLocateUrl`(人才库列表并滑出该人才)。两个都以 Markdown 链接放回答正文;自用系统会自动追加 `recruitType=useSelf`,不要手拼。
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 3. 招聘统计(只读)
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
weaver-work-cli ehr run ehr.recruit.stats --input-json '{"modules":["talent","demand","position","entry","offer"]}'
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
- 默认统计 5 个模块;可加 `interview`(面试安排,页面可能只显示近期记录,仅供量级参考)。
|
|
97
|
+
- `pageSize`(默认 100)、`maxPages`(默认 5)控制「计数接口不可用时的分页实探」深度。
|
|
98
|
+
- **三态计数,绝不输出假值**:
|
|
99
|
+
- `total` 为数字且 `totalExact=true` → 精确;
|
|
100
|
+
- `total=null` → 总数不可知(`note` 说明原因),**不要把它当 0 或估算值转述**;
|
|
101
|
+
- `available=false` → 该模块在本环境未启用。
|
|
102
|
+
- `summary.knownTotal` 只累加精确值;`unknownModules` / `unavailableModules` 要如实说明。
|
|
103
|
+
|
|
104
|
+
**边界**:这是「各模块各有多少条」;用户要「各阶段通过率/漏斗图」时,本命令不提供(需看板配置),如实说明不要编造。
|
|
@@ -74,3 +74,28 @@ printf '%s\n' '{"talentId":"PLACEHOLDER_TALENT_ID"}' | weaver-work-cli --json eh
|
|
|
74
74
|
- `candidate.card` 会完整读取候选人的面试反馈与沟通备注,属敏感个人信息;回复用户时给摘要与关键字段,不要原样粘贴完整 JSON。
|
|
75
75
|
- 手机号、身份证等敏感字段不要回显给与业务无关的对话。
|
|
76
76
|
- 需要变更数据(新建人才/安排面试/发 Offer/办理入职/面试反馈)时,使用 `recruit-write.md` 的写操作协议,不要用只读接口编造变更。
|
|
77
|
+
|
|
78
|
+
## 面试待办:`ehr.recruit.interview.feedbackTodo`
|
|
79
|
+
|
|
80
|
+
用户说「我要填哪些面试反馈」「哪些 AI 面试录像好了等我评」「我这周还有哪些面试要评价」时用这条。
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
weaver-work-cli --json ehr run ehr.recruit.interview.feedbackTodo --input-json '{}'
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
只返回**我作为面试官**的记录,不返回全量面试列表:
|
|
87
|
+
|
|
88
|
+
| 输出分组 | 含义 |
|
|
89
|
+
|---|---|
|
|
90
|
+
| `myAiPendingFeedback` | **AI 面试已答完、已有录像、我还没填意见** ← 主清单 |
|
|
91
|
+
| `myOtherPendingFeedback` | 我作为面试官的其他方式面试待反馈(现场、视频、电话) |
|
|
92
|
+
|
|
93
|
+
可选参数:`maxPages`(默认 5)、`pageSize`(默认 200)。返回里的 `scanned` 是实际扫描条数,
|
|
94
|
+
`note` 会提示是否需要加大 `maxPages`(面试列表服务端筛选不可用,只能翻页后客户端筛)。
|
|
95
|
+
|
|
96
|
+
**判据说明(不用查视频字段)**:后端 `InterviewStatusEnum.TO_FEEDBACK`(待反馈)的置位条件是
|
|
97
|
+
「AI 面试结束时间已过 且(有录像附件 或 已开始录制)且 反馈结果为空」——「待反馈」本身就等于
|
|
98
|
+
「已完成 + 有视频 + 未填意见」。`video_url_info` 是「视频面试地址」(HR 手填的会议链接),与录像无关。
|
|
99
|
+
|
|
100
|
+
**时效性**:状态由 E10 调度任务定时同步,刚结束的面试可能有几分钟延迟;回答时要说明「以系统状态为准」。
|
|
101
|
+
**下一步**:用户确认要评价某人后,用 `ehr.recruit.candidate.interview.feedback.edit.prepare` 提交反馈(写操作,需确认)。
|
|
@@ -62,9 +62,22 @@ weaver-work-cli --json ehr run ehr.recruit.candidate.interview.arrange.apply --i
|
|
|
62
62
|
|
|
63
63
|
`duplicate_blocked`(查重命中)/ `duplicate_ambiguous`(多条重复)/ `target_changed`(指纹不一致)/ `context_mismatch`(会话变化)/ `channel_not_found` / `interviewer_not_found` / `result_not_in_enum` / `offer_status_invalid` / `entry_already_processed` / `interview_invalid_status` / `esb_action_unresolved`(按钮/动作流解析不到,禁止编造 esbActionIds)/ `partial` + `write_uncertain`(多步写入中断)。
|
|
64
64
|
|
|
65
|
+
## 产物链接(apply 输出直接含 URL 字段,按「[标题](url)」Markdown 链接放回答正文)
|
|
66
|
+
|
|
67
|
+
> 需 CLI ≥ 0.1.33(本机 0.1.32 无这些字段,升版后生效)。URL 由 CLI 从环境缓存拼出,**不要手拼、不要编造**;字段为 null 时只给其余链接。
|
|
68
|
+
|
|
69
|
+
| 操作 | apply 输出链接字段 | 形态 |
|
|
70
|
+
|---|---|---|
|
|
71
|
+
| `candidate.create` / `candidate.import.apply` | `talentCardUrl` + `talentListLocateUrl` | 人才卡片单页 / 人才库列表并滑出该人才(自用环境自动带 `recruitType=useSelf`) |
|
|
72
|
+
| `interview.arrange` | `talentCardUrl` + `interviewLocateUrl` | 人才卡片 / 面试管理列表并滑出本次面试安排 |
|
|
73
|
+
| `offer.send` | `talentCardUrl` + `offerListUrl` | 人才卡片 / 录用列表(直开) |
|
|
74
|
+
| `entry.process` | `entryListUrl` | 入职列表(直开) |
|
|
75
|
+
| `feedback.edit` / `feedback.urge` | `talentCardUrl` | 人才卡片(反馈信息在卡片可见) |
|
|
76
|
+
|
|
65
77
|
## 注意
|
|
66
78
|
|
|
67
79
|
- 所有 apply 前必须已获得用户对 preview 的明确确认;用户确认前不得调用 apply。
|
|
68
80
|
- Offer 邮件、面试通知、催评会触达真实候选人/面试官,误发无法撤回;拿不准时再问一次用户。
|
|
69
81
|
- `entry.process` 落人员账号后不可撤销,apply 前务必复述组织架构参数(分部/部门/职位/职级/入职日期)让用户确认。
|
|
70
82
|
- 写入成功后建议回查:`candidate.card` 查面试与反馈,`candidate.list type=offer` 查 Offer 状态,`candidate.list type=entry` 查 transact_status。
|
|
83
|
+
- **安排 AI 面试 apply 成功后**,追加一次 `ehr.recruit.interview.feedbackTodo`(见 recruit-read.md「面试待办」):把输出 `myAiPendingFeedback`(当前用户作为面试官、待反馈的 AI 面试,状态已含「已完成+有录像+未反馈」语义)以简短中文清单接在回答之后(候选人/职位/轮次/时间);`myOtherPendingFeedback` 不展示;该查询失败不阻塞主流程。
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
## 何时使用
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
需要查询工资单、社保公积金福利、调薪记录时使用。全部为只读操作。
|
|
6
|
+
|
|
7
|
+
> 社保台账、员工薪资明细查询**当前 CLI 未提供**,见文末「当前不提供的能力」。
|
|
6
8
|
|
|
7
9
|
## 输入要点
|
|
8
10
|
|
|
@@ -12,12 +14,8 @@
|
|
|
12
14
|
| `ehr.salary.bill.get` | `salaryInfoId` | 查看某一张**已发放**工资单的完整展示数据 |
|
|
13
15
|
| `ehr.salary.welfare.list` | 无 | 社保、公积金及其他福利缴费汇总与动态明细 |
|
|
14
16
|
| `ehr.salary.adjustment.list` | 无 | 薪资项目调整记录;`startYear` 与 `endYear` 必须成对提供 |
|
|
15
|
-
| `ehr.salary.siaccount.query` | 至少一个范围条件 | 社保台账详情,需薪酬社保台账权限 |
|
|
16
|
-
| `ehr.salary.employee.list` | 无 | 员工薪资明细,需薪酬统计权限 |
|
|
17
|
-
|
|
18
|
-
`ehr.salary.bill.list` 与 `ehr.salary.employee.list` 的月份参数只接受 1 或 2 项(`[开始月, 结束月]`)。超过 2 项时服务端仅保留第 1 项,CLI 会直接拒绝,避免静默返回错误范围。
|
|
19
17
|
|
|
20
|
-
`ehr.salary.
|
|
18
|
+
`ehr.salary.bill.list` 的月份参数只接受 1 或 2 项(`[开始月, 结束月]`)。超过 2 项时服务端仅保留第 1 项,CLI 会直接拒绝,避免静默返回错误范围。
|
|
21
19
|
|
|
22
20
|
`billStatus` 取值 `0`(未归档)/`1`(已归档);`paymentStatusList` 取值 `0` 正常缴纳、`1` 补缴、`2` 代缴、`3` 退差、`4` 补差。**这两个枚举在运行时校验**:传非法值会直接报 `enum_invalid` 而不发请求。这一点很重要——早期版本未校验时,非法值会被服务端静默忽略并返回空数组,调用方会误判为"没有数据"。
|
|
23
21
|
|
|
@@ -65,8 +63,6 @@ printf '%s\n' '{"salaryYearMonth":["2026-01","2026-03"]}' | weaver-work-cli --js
|
|
|
65
63
|
## 注意
|
|
66
64
|
|
|
67
65
|
- `ehr.salary.bill.get` 会记录首次查看时间,**不是完全无痕查询**。执行前先向用户说明这一点。
|
|
68
|
-
- `ehr.salary.employee.list` 的 `idNo` 是身份证号,属于敏感字段,非必要不要传入,也不要把返回值中的身份证号回显给用户。
|
|
69
|
-
- `ehr.salary.siaccount.query` 与 `ehr.salary.employee.list` 需要管理权限,当前登录人没有权限时会返回业务失败,不要反复重试。
|
|
70
66
|
- 涉及附件、图片或文件内容解析时,必须先说明文件内容可能进入大模型上下文,获得用户**明确确认**后才继续。
|
|
71
67
|
|
|
72
68
|
## 二次身份验证 token(重要,2026-09-04 补齐)
|
|
@@ -87,8 +83,6 @@ printf '%s\n' '{"salaryYearMonth":["2026-01","2026-03"]}' | weaver-work-cli --js
|
|
|
87
83
|
- **不得传空值,也不得自行构造其他值**;
|
|
88
84
|
- 不要尝试从登录态或认证链路获取该值。
|
|
89
85
|
|
|
90
|
-
`ehr.salary.siaccount.query` 与 `ehr.salary.employee.list` **不需要** token。
|
|
91
|
-
|
|
92
86
|
相关错误码:
|
|
93
87
|
|
|
94
88
|
| 错误码 | 含义 | 处理 |
|
|
@@ -105,6 +99,16 @@ printf '%s\n' '{"salaryYearMonth":["2026-01","2026-03"]}' | weaver-work-cli --js
|
|
|
105
99
|
|
|
106
100
|
- `month_range_invalid`:月份格式不是 `YYYY-MM`,或数量超过 2 项,或开始月晚于结束月。
|
|
107
101
|
- `year_range_incomplete`:`startYear` 与 `endYear` 只提供了一个。
|
|
108
|
-
- `siaccount_scope_required`:社保台账查询未提供任何范围条件,必须补月份范围或人员/组织 ID。
|
|
109
102
|
- `salary_info_id_required` / `salary_info_id_invalid`:`salaryInfoId` 缺失或不是数字 ID。
|
|
110
103
|
- 认证类错误:停止查询并执行入口 `SKILL.md` 的登录失效强制分流;XiaoE 只走 `auth xiaoe`,非 XiaoE 只走 `auth login`,禁止其他登录 Skill,也不要读取或解析认证目录。
|
|
104
|
+
|
|
105
|
+
## 当前不提供的能力
|
|
106
|
+
|
|
107
|
+
CLI 薪酬模块只覆盖**当前登录人**的 4 个只读查询:`bill.list` / `bill.get` / `welfare.list` / `adjustment.list`。
|
|
108
|
+
|
|
109
|
+
| 能力 | 状态 | 处理方式 |
|
|
110
|
+
|---|---|---|
|
|
111
|
+
| 社保台账明细 | **未提供**(无对应 operation) | 不要臆造命令;如实告知用户当前技能不支持,请其在 E10 薪酬模块页面查看 |
|
|
112
|
+
| 员工薪资明细 | **未提供**(无对应 operation) | 同上。该能力涉及他人薪酬与身份证号等敏感数据,属管理权限范畴,不在本技能范围 |
|
|
113
|
+
|
|
114
|
+
> 这两个命令曾在早期文档中出现但从未实现,2026-10-29 已从文档移除,避免 Agent 调用不存在的能力。
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: weaver-e10-mail
|
|
3
|
-
display_name: 泛微E10邮件
|
|
4
|
-
display_name_en: Weaver E10 Mail
|
|
5
|
-
description: "泛微 E10 邮件管理:查询邮件、往来邮件、收件人解析、发送/回复/转发/存草稿、标星/已读/待办/移动/逻辑删除、文件夹、联系人/分组、模板、签名、黑名单与附件上传下载。"
|
|
6
|
-
description_zh: "泛微 E10 邮件管理。支持邮件列表/详情/正文/未读统计/配置查询,内部人员/部门/外部邮箱收件人解析,发送/回复/转发/存草稿(prepare→apply 确认链),标星、已读、全部已读、待办、移动、逻辑删除、文件夹管理、撤回,联系人及分组、模板、签名(含二维码名片)、黑名单的增删改,以及附件上传(预检→上传→绑定)与批量下载。"
|
|
7
|
-
description_en: "Weaver E10 Mail management: list/detail/content/unread-count/config queries, recipient resolution (internal/department/external), send/reply/forward/draft via prepare→apply confirmation chain, star/read-status/read-all/wait/move/logical-delete/folder/recall, contacts and groups, templates, signatures (with QR card), blacklist, and attachment upload/download."
|
|
8
|
-
version: 1.0.0
|
|
9
|
-
author: 泛微网络科技股份有限公司
|
|
10
3
|
agent_created: true
|
|
4
|
+
display_name: 泛微E10邮件管理
|
|
5
|
+
display_name_en: Weaver E10 Mail Management
|
|
6
|
+
description: 泛微E10邮件管理技能:帮你查询、阅读和管理 OA 邮件。支持查看邮件列表与详情、写新邮件、回复、转发、保存草稿、上传附件、定时发送、标星、设待办、标记已读、删除,以及撤回和重发邮件。同时支持文件夹管理、联系人/分组管理、附件中心、模板/签名管理、黑名单设置等高级功能。当用户提出与邮件相关的操作需求时触发。
|
|
7
|
+
description_zh: 泛微E10邮件管理技能:帮你查询、阅读和管理 OA 邮件。支持查看邮件列表与详情、写新邮件、回复、转发、保存草稿、上传附件、定时发送、标星、设待办、标记已读、删除,以及撤回和重发邮件。同时支持文件夹管理、联系人/分组管理、附件中心、模板/签名管理、黑名单设置等高级功能。当用户提出与邮件相关的操作需求时触发。
|
|
8
|
+
description_en: "Weaver E10 Mail Management skill: helps you query, read and manage OA emails. Supports viewing mail lists and details, composing new mails, replying, forwarding, saving drafts, uploading attachments, scheduled sending, starring, setting todos, marking read, deleting, recalling and resending mails. Also supports folder management, contacts/group management, attachment center, template/signature management, blacklist settings and more advanced features. Triggered when the user asks for mail-related operations."
|
|
9
|
+
category: business
|
|
10
|
+
version: 3.0.0
|
|
11
|
+
author: 泛微网络科技股份有限公司
|
|
12
|
+
permissions: [network]
|
|
13
|
+
execution:
|
|
14
|
+
entry_mode: file
|
|
15
|
+
profile: node-readonly
|
|
11
16
|
requires:
|
|
12
17
|
bins: ["weaver-work-cli"]
|
|
13
|
-
dependencies:
|
|
14
|
-
- weaver-e10-shared
|
|
15
18
|
cliHelp: "weaver-work-cli mail --help"
|
|
16
19
|
---
|
|
17
20
|
|
|
@@ -105,11 +108,11 @@ cliHelp: "weaver-work-cli mail --help"
|
|
|
105
108
|
- **除非错误明确提示可恢复或需要补充参数,否则不要重复刷同一个 operation**
|
|
106
109
|
- 写请求已经发出后,遇到结果不确定必须停止;不要把 `.apply` 当成可重试读操作
|
|
107
110
|
- **错误为 `authentication`(未登录,如 `E10 auth not found`)或 `session_expired`(登录态失效)时:立即停止当前操作,不要用示例占位域名或自行猜域名登录,也不要盲目重试**。先读取共享规则 `../weaver-e10-shared/references/e10-auth-and-session.md`。
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
- 已有 XiaoE 会话的 `session_expired` 已由 CLI 底层自动换票并重放一次;若错误最终仍返回,Agent 只反馈并停止,不执行任何登录命令、其他登录 Skill 或原业务命令。
|
|
112
|
+
- 仅首次无会话或明确的 `auth not found` 才由 Agent 复用任务开始时的宿主判定。
|
|
113
|
+
- 首次认证明确为 XiaoE 时,执行一次 `weaver-work-cli auth xiaoe`;返回 `authentication/xiaoe_credential_unavailable` 时停止,不回退浏览器登录。
|
|
114
|
+
- 首次认证且非 XiaoE 时不得执行 `auth xiaoe`;取得用户确认的真实 E10 登录域名后,执行 `weaver-work-cli auth login --base-url "<用户确认的 E10 登录域名>" --agent_type "<当前智能体名称>"`。
|
|
115
|
+
- 显式登录后读操作可重新执行;写操作不得复用旧 continuation,必须重新 prepare 并重新确认。已返回 `partial/write_uncertain` 时先只读回查,禁止直接重放写入。
|
|
113
116
|
|
|
114
117
|
### 4) 附件、图片和文件解析确认
|
|
115
118
|
|