weaver-work-cli 0.1.33 → 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/dist/chunks/{archive-FVFY6GZN.js → archive-XBVH7JU7.js} +2 -2
- package/dist/chunks/{archive-oa-NW3OD4UV.js → archive-oa-MZM3EKFQ.js} +2 -2
- package/dist/chunks/{asset-7QJKMIDV.js → asset-4XO7UOUW.js} +2 -2
- package/dist/chunks/{attachment-content-OSAVA6K3.js → attachment-content-VXSWANAC.js} +3 -3
- package/dist/chunks/{blog-I7SDPNW4.js → blog-PGZKOPSC.js} +2 -2
- package/dist/chunks/{caizhilian-O37ZIQNY.js → caizhilian-BH4ZVGUN.js} +2 -2
- package/dist/chunks/{calendar-7KXE4ED3.js → calendar-MXEMTIO4.js} +2 -2
- package/dist/chunks/{chunk-VBCFFFGT.js → chunk-5DQEEGCC.js} +4 -1
- package/dist/chunks/{chunk-KAS45KNR.js → chunk-6LLJFKJE.js} +1 -1
- package/dist/chunks/{chunk-HEL5XTYI.js → chunk-BPE37FPB.js} +26 -4
- package/dist/chunks/{chunk-IHUYP6LO.js → chunk-F746NKNF.js} +1 -1
- package/dist/chunks/{chunk-MQ2I5AA3.js → chunk-HXJQI5NM.js} +2 -2
- package/dist/chunks/{chunk-ILMBNVSG.js → chunk-I6QGIBDM.js} +2 -2
- package/dist/chunks/{chunk-EEWPQE3O.js → chunk-JCSN3JGM.js} +2 -2
- package/dist/chunks/{chunk-D223PTXU.js → chunk-JNG42JKG.js} +29 -1
- package/dist/chunks/{chunk-6ATGWRZM.js → chunk-JUXVYKII.js} +4 -1
- package/dist/chunks/{chunk-GFPXQIY2.js → chunk-JYKABYCV.js} +2 -2
- package/dist/chunks/{chunk-Q6LWB5HX.js → chunk-NCOVUAZK.js} +2 -2
- package/dist/chunks/{chunk-WY74UBJ6.js → chunk-QHFANTX7.js} +900 -204
- package/dist/chunks/{chunk-WRRJ4GG2.js → chunk-QYGO5EE2.js} +2 -2
- package/dist/chunks/{chunk-RBGOMK4Y.js → chunk-T72N74ZT.js} +2 -2
- package/dist/chunks/{chunk-MEEFGWTM.js → chunk-TC6MZAO3.js} +84 -9
- package/dist/chunks/{chunk-OCU4RLHC.js → chunk-VPUTVEMC.js} +98 -34
- package/dist/chunks/{chunk-PRHJGPMA.js → chunk-VPXOPQJI.js} +2 -2
- package/dist/chunks/{chunk-NHA62QD7.js → chunk-WXFPWCXG.js} +3 -3
- package/dist/chunks/{chunk-2FLWXFVS.js → chunk-XMGSYD6S.js} +4 -4
- package/dist/chunks/{conflict-SFNEVJY5.js → conflict-JAB2LJEZ.js} +2 -2
- package/dist/chunks/contract-XI2EEIZU.js +9110 -0
- package/dist/chunks/{cowork-CKWYHXYB.js → cowork-SCPGLBA4.js} +44 -25
- package/dist/chunks/{ebuilder-form-KOLJRVZD.js → ebuilder-form-EYLHNOTA.js} +3 -3
- package/dist/chunks/{ehr-WFOC3B4D.js → ehr-EAP77IMT.js} +172 -9
- package/dist/chunks/{esb-LJZTN663.js → esb-2TGGXEE7.js} +4 -4
- package/dist/chunks/{fna-F7QRIIZC.js → fna-2X7ZE7BU.js} +13 -8
- package/dist/chunks/{host-VQ6JJXGQ.js → host-C6EL2RKL.js} +3 -3
- package/dist/chunks/{host-BCGUVEWX.js → host-I4NRK4MX.js} +3 -3
- package/dist/chunks/{host-DGE2TZD4.js → host-Q4LZGCRU.js} +3 -3
- package/dist/chunks/{host-BQBRHVR3.js → host-UEI5FGDM.js} +3 -3
- package/dist/chunks/{host-KXPTEWFS.js → host-XCLDDXKQ.js} +3 -3
- package/dist/chunks/{hrm-NI6XAKW5.js → hrm-YXERJM76.js} +3 -3
- package/dist/chunks/{im-7TRTF3KT.js → im-A4VZN2TQ.js} +3 -3
- package/dist/chunks/{invoice-AOXWJKYT.js → invoice-2Z6YPMIS.js} +3 -3
- package/dist/chunks/{jiuchuanhui-7NQWEZAW.js → jiuchuanhui-AR5GMKZB.js} +2 -2
- package/dist/chunks/{lazy-dispatch-RNS4EE4S.js → lazy-dispatch-QXW7P4X3.js} +4 -4
- package/dist/chunks/{mail-VDHJAB4O.js → mail-7GZ6CPBJ.js} +44 -23
- package/dist/chunks/{meeting-GA7XCNNP.js → meeting-3NMGA3MB.js} +74 -10
- package/dist/chunks/{okr-TQIRERPQ.js → okr-BZ6XUOAG.js} +2 -2
- package/dist/chunks/{plan-4RY4LN2P.js → plan-DR5CMUYP.js} +2 -2
- package/dist/chunks/{project-D6XT2OC5.js → project-6J63MK33.js} +2 -2
- package/dist/chunks/{registry-JHRIDQ3A.js → registry-KDD7DHNK.js} +4 -4
- package/dist/chunks/{registry-VOGKFFTR.js → registry-TKX2E7C7.js} +2 -2
- package/dist/chunks/{registry-QKMI43Q6.js → registry-VRTNC6UR.js} +8 -8
- package/dist/chunks/{room-recommend-D4EUOOWY.js → room-recommend-XCWRMB5P.js} +4 -4
- package/dist/chunks/{schedule-XPFBHPCV.js → schedule-IVBICP32.js} +4 -4
- package/dist/chunks/{workflow-HLBZRWIY.js → workflow-D74NFK3C.js} +11 -4
- package/dist/index.js +31 -26
- package/dist/internal/e10/fetch-timing.js +31 -0
- package/dist/internal/e10/request-runtime.js +5 -0
- package/dist/shortcuts/cowork/host.js +8 -0
- package/dist/shortcuts/cowork/operations/types.js +17 -2
- package/dist/shortcuts/ehr/operations/recruit-write.js +35 -0
- package/dist/shortcuts/ehr/operations/recruit.js +147 -0
- package/dist/shortcuts/fna/operations/expense-chart.js +19 -7
- package/dist/shortcuts/index.js +5 -0
- package/dist/shortcuts/mail/host.js +8 -0
- package/dist/shortcuts/mail/operations/types.js +17 -2
- package/dist/shortcuts/meeting/index.js +79 -1
- package/dist/shortcuts/meeting/manifest.js +10 -0
- package/dist/shortcuts/meeting/operations/eb/catalog.js +5 -0
- package/dist/shortcuts/meeting/operations/eb/conflict.js +6 -1
- package/dist/shortcuts/meeting/operations/eb/create-flow.js +1047 -134
- package/dist/shortcuts/meeting/operations/eb/factory.js +101 -7
- package/dist/shortcuts/meeting/operations/eb/room-recommend.js +36 -2
- package/dist/shortcuts/meeting/operations/eb-fallback.js +4 -0
- package/dist/shortcuts/meeting/operations/env.js +6 -0
- package/dist/shortcuts/meeting/operations/invitation.js +79 -20
- package/dist/shortcuts/workflow/endpoints.js +8 -3
- package/dist/shortcuts/workflow/operations/form.js +181 -34
- package/dist/shortcuts/workflow/operations.js +23 -1
- package/docs/ehr.md +1 -1
- package/docs/fna.md +2 -1
- package/package.json +1 -1
- package/skill-template/business-info.json +18 -0
- package/skill-template/domains/cowork.md +14 -0
- 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-jucailin/SKILL.md +21 -3
- 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 +12 -9
- package/skills/weaver-e10-meeting/SKILL.md +284 -34
- package/skills/weaver-e10-meeting/references/meeting-eb.md +131 -0
- package/skills/weaver-e10-meeting/references/meeting-invitation.md +28 -2
- package/skills/weaver-e10-meeting.zip +0 -0
- 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
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: weaver-e10-cowork
|
|
3
|
+
agent_created: true
|
|
4
|
+
display_name: 泛微E10协作区
|
|
5
|
+
display_name_en: Weaver E10 Cowork
|
|
6
|
+
description: E10协作模块技能,认证由weaver-e10-shared与weaver-work-cli托管后直调协作接口,支持协作列表/详情查询、审批与退出、共享权限、行为操作,秒级返回,禁用浏览器自动化。
|
|
7
|
+
description_zh: E10协作模块技能,经weaver-e10-shared托管的CLI会话直调协作REST接口,支持按主题查询协作列表、查询协作详情,以及审批与退出、共享权限、行为等操作;秒级返回结构化结果;禁用浏览器自动化路径,所有接口地址与会话凭证由weaver-work-cli统一提供。
|
|
8
|
+
description_en: E10 Cowork skill that calls cowork REST APIs directly with a CLI-managed session described by weaver-e10-shared, supporting list-by-topic, detail queries, approval/quit, share-permission and behavior operations in seconds; browser automation disabled; all endpoint URLs and credentials are provided by weaver-work-cli.
|
|
9
|
+
category: business
|
|
10
|
+
version: 2.0.0
|
|
11
|
+
author: 泛微网络科技股份有限公司
|
|
12
|
+
permissions: [network]
|
|
13
|
+
execution:
|
|
14
|
+
entry_mode: file
|
|
15
|
+
profile: node-readonly
|
|
16
|
+
requires:
|
|
17
|
+
bins: ["weaver-work-cli"]
|
|
18
|
+
cliHelp: "weaver-work-cli cowork --help"
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若共享规则不存在、CLI 未安装或读取失败,说明本技能的必需依赖缺失,必须调用宿主提供的提问/确认弹框,向用户说明必须补齐 `weaver-work-cli` 与共享 skill `weaver-e10-shared`(不补齐本技能无法执行)及补齐计划,并把下面两条待执行命令原样完整展示在确认信息中;Agent 不能在未确认时自行安装。用户明确确认后,Agent 必须直接代为按顺序执行且每条仅执行一次,不得要求或引导用户手动执行:① 缺 CLI 时执行 `npm install -g weaver-work-cli`;② 再执行 `weaver-work-cli skills install shared --target-dir <SKILLS_ROOT>` 装回共享 skill,`<SKILLS_ROOT>` 取本 SKILL.md 所在目录的上一级绝对目录(即与本技能同级的 skills 根目录),不要省略 `--target-dir`——省略会装进默认目录,导致本技能依然读不到共享规则。命令均成功后重新读取共享规则;仍读不到就停止并把结果报告用户,不得凭猜测继续。**
|
|
22
|
+
**`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)。
|
|
23
|
+
|
|
24
|
+
# 泛微 E10 协作区
|
|
25
|
+
|
|
26
|
+
## 概述
|
|
27
|
+
|
|
28
|
+
所有协作能力都通过 `weaver-work-cli cowork` 执行:`schema` 看合约,`run <operation>` 跑具体动作。认证、Cookie/eteamsid/UA 由 CLI 统一注入,本技能不接触任何凭证。
|
|
29
|
+
|
|
30
|
+
## 触发条件
|
|
31
|
+
|
|
32
|
+
用户提到协作、协作事项、协作区、讨论/回复、工作协作、参与人、共享权限、申请加入、审批我的协作、我关注的/我收藏的/我的事项/相关我等,即进入本技能。
|
|
33
|
+
|
|
34
|
+
## 命令面
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
# 看全部 operation 与参数(唯一权威合约)
|
|
38
|
+
weaver-work-cli cowork schema
|
|
39
|
+
|
|
40
|
+
# 执行任意 operation
|
|
41
|
+
weaver-work-cli cowork run cowork.list --input-json '{"scope":"main","itemName":"项目","itemNameCondition":"bl"}'
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
高频便捷命令(内部同样走 operation):
|
|
45
|
+
|
|
46
|
+
| 命令 | 等价 operation |
|
|
47
|
+
|---|---|
|
|
48
|
+
| `cowork list [--scope] [--keyword]` | `cowork.list`(默认 scope=main 进行中) |
|
|
49
|
+
| `cowork view --id <协作id>` | `cowork.view` |
|
|
50
|
+
| `cowork discussions --id <协作id>` | `cowork.discuss.list` |
|
|
51
|
+
| `cowork sections` | `cowork.form`(取版块下拉选项) |
|
|
52
|
+
| `cowork reply --id <协作id> --content <文本>` | `cowork.discuss.publish.prepare` |
|
|
53
|
+
|
|
54
|
+
## 平台兼容
|
|
55
|
+
|
|
56
|
+
命令示例同时兼容 Windows 与 macOS/Linux。简单 JSON 用 `--input-json`,复杂 JSON 存 UTF-8 文件后用 `--input <path>`;JSON 里的双引号在两种 shell 下都保持原样,不要转义。
|
|
57
|
+
|
|
58
|
+
Windows PowerShell:
|
|
59
|
+
|
|
60
|
+
```powershell
|
|
61
|
+
weaver-work-cli cowork run cowork.list --input-json '{"scope":"main","itemName":"项目","itemNameCondition":"bl"}'
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
macOS/Linux(bash/zsh):
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
weaver-work-cli cowork run cowork.list --input-json '{"scope":"main","itemName":"项目","itemNameCondition":"bl"}'
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
## 按场景读 reference
|
|
72
|
+
|
|
73
|
+
| 触发条件 | Reference |
|
|
74
|
+
|---|---|
|
|
75
|
+
| 协作/关注/收藏/我的事项/我的讨论/相关我/申请/待审批/审批日志/退出 列表,协作详情、讨论记录、参与人、关联资源、投票日志、版块表单、共享权限列表、搜索条件元数据 | [`references/cowork-read.md`](references/cowork-read.md) |
|
|
76
|
+
| 新建协作、结束协作、隐藏/投票、发布讨论、讨论置顶/取消置顶/删除/审批、邀请/重新加入/申请加入、加入申请审批、事项审批台、交流审批台、新增/删除共享对象(写,prepare→apply) | [`references/cowork-write.md`](references/cowork-write.md) |
|
|
77
|
+
| 不支持的能力(浏览选择器、点赞组件、权限单元高级配置、搜索 UI 元数据)、禁止项与边界 | [`references/safety-boundaries.md`](references/safety-boundaries.md) |
|
|
78
|
+
|
|
79
|
+
## 执行纪律(强制)
|
|
80
|
+
|
|
81
|
+
- **同一命令连续 2 次失败必须停止**:原样反馈报错与已尝试命令,禁止换参数盲目重试。
|
|
82
|
+
- **禁止读脚本源码猜调用**:命令/参数只来自本文件、references 或 `cowork schema`,契约外一律禁止。
|
|
83
|
+
- **动作类写操作必须先查真实 id**:审批/删除/置顶等下一步动作,id 必须来自对应列表查询结果,禁止凭示例或猜测提交。
|
|
84
|
+
- **禁止臆造**:接口未返回的字段不编造;列表为空如实提示。
|
|
85
|
+
|
|
86
|
+
## 写操作协议
|
|
87
|
+
|
|
88
|
+
所有写操作都是 `prepare → 用户确认 → apply`:
|
|
89
|
+
|
|
90
|
+
1. `prepare` 只做只读回查(确认目标存在、取真实值),返回 `preview` 摘要 + `continuation`,**不写库**。
|
|
91
|
+
2. 把 preview 摘给用户,等明确确认。
|
|
92
|
+
3. `apply` 必须同时带 `confirm: true` 与 `continuation`;缺少任一项直接拒绝。
|
|
93
|
+
|
|
94
|
+
`apply` 返回 `partial/write_uncertain` 时:写请求可能已生效,**禁止自动重试**,先用对应查询 operation 核对现状。
|
|
95
|
+
|
|
96
|
+
## 输出纪律
|
|
97
|
+
|
|
98
|
+
- 只输出业务结果:协作主题、状态、负责人、时间、参与人、申请人与结论等中文信息 + 产物链接。
|
|
99
|
+
- **不展示**内部执行明细:`preview`/`summary` 原始结构、`continuation`、`formDataId`/`coworkId` 等内部 id、`warnings` 细目、HTTP 状态码。
|
|
100
|
+
- 成功即略过过程;失败且影响结果时,用一句人话说明并给下一步建议。
|
|
101
|
+
- 查询为空如实说明「没有符合条件的协作」,不要编造条目。
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# 协作区读操作
|
|
2
|
+
|
|
3
|
+
> 命令统一为 `weaver-work-cli cowork run <operation> --input-json '<json>'`。
|
|
4
|
+
> 认证与请求头由 `weaver-e10-shared` 托管;本文件不含任何凭证。
|
|
5
|
+
|
|
6
|
+
## 1. 列表:`cowork.list`(一个 operation 覆盖 13 类列表)
|
|
7
|
+
|
|
8
|
+
| scope | 含义 | 关键筛选字段 |
|
|
9
|
+
|---|---|---|
|
|
10
|
+
| `main` | 协作列表(默认进行中) | itemName / sectionId / principal / creator / creatorSearch / tagId / tagCommonId |
|
|
11
|
+
| `attention` | 我关注的 | itemName / sectionId |
|
|
12
|
+
| `collect` | 我收藏的 | itemName + orderBy(collectTime) / sortOrder |
|
|
13
|
+
| `mineDiscuss` | 我的讨论 | itemName(tabKey 可省) |
|
|
14
|
+
| `mineComment` | 我的评论 | itemName |
|
|
15
|
+
| `mineItem` | 我的事项 | tabKey:`mineItemCreate`(我创建,默认)/ `mineItemParticipate`(我参与) |
|
|
16
|
+
| `related` | 相关我 | discussFrom(默认 relatedMenu) |
|
|
17
|
+
| `apply` | 申请加入列表 | itemName / sectionId / itemStatus |
|
|
18
|
+
| `approve` | 待我审批(加入申请) | applyer / applyerDept / itemName |
|
|
19
|
+
| `log` | 审批日志 | approver / applyStatus / itemName |
|
|
20
|
+
| `quit` | 退出列表 | itemName / sectionId |
|
|
21
|
+
| `itemApprove` | 事项审批台 | itemName / sectionId / principal / creator |
|
|
22
|
+
| `discussApprove` | 交流审批台 | 仅分页 + dateType |
|
|
23
|
+
|
|
24
|
+
Windows PowerShell:
|
|
25
|
+
|
|
26
|
+
```powershell
|
|
27
|
+
weaver-work-cli cowork run cowork.list --input-json '{"scope":"main","itemName":"项目","itemNameCondition":"bl","current":1}'
|
|
28
|
+
```
|
|
29
|
+
macOS/Linux(bash/zsh):
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
weaver-work-cli cowork run cowork.list --input-json '{"scope":"main","itemName":"项目","itemNameCondition":"bl","current":1}'
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**筛选写法**:值字段 + 对应 `*Condition`(`in` 精确 / `bl` 模糊),如 `itemName` + `itemNameCondition`、`principal` + `principalCondition`、`applyer` + `applyerCondition`。
|
|
36
|
+
|
|
37
|
+
**`itemStatus` 口径(实测,别搞反)**:`1`=进行中(默认)、`2`=已结束;**`0` 会被后端当作「全部」**,不是草稿。要查已结束的协作用 `itemStatus:"2"`。
|
|
38
|
+
|
|
39
|
+
**返回**:`data` 是行数组,`meta` 带 `current/pageSize/total/scope`。`meta.total` 缺失表示该列表计数不可用,此时不要编造总数。
|
|
40
|
+
|
|
41
|
+
## 2. 搜索条件元数据:`cowork.conditions`
|
|
42
|
+
|
|
43
|
+
列表能筛哪些字段、有哪些枚举,以它返回的 `groups[]` / `layout[]` 为准。scope 与上表基本对应(另有 `discuss` 用于讨论列表)。
|
|
44
|
+
|
|
45
|
+
> 遇到「这个列表能按 X 筛吗」不确定时,先调 `cowork.conditions`,不要猜字段名。
|
|
46
|
+
|
|
47
|
+
## 3. 协作总数:`cowork.count`
|
|
48
|
+
|
|
49
|
+
参数 `hidden`(默认 `"0"`)、`itemStatus`(默认 `"1"`)。返回一个数字。
|
|
50
|
+
|
|
51
|
+
## 4. 详情:`cowork.view`
|
|
52
|
+
|
|
53
|
+
参数 `id`(协作 id)。返回含 `itemName` / `itemStatus` / `sectionId` / `canEdit` / `canEnd` / `canReply` / `approvalRight` / `allowApprove` / `placedTop` 等。
|
|
54
|
+
|
|
55
|
+
**注意**:详情的 `creatorHrm` / `principalList` 只有登录名(`username`),**显示名要用 `cowork.list` 行的 `creatorName` / `principalName`**。用户要「谁创建的/负责人是谁」时,优先从列表取,或对详情只报 id 不硬猜姓名。
|
|
56
|
+
|
|
57
|
+
## 5. 讨论记录:`cowork.discuss.list`
|
|
58
|
+
|
|
59
|
+
参数 `coworkId`、`current`、`pageSize`、`orderColumn`(默认 `lastReply`)、`orderAsc`(默认 `false` 倒序)。
|
|
60
|
+
|
|
61
|
+
## 6. 参与人:`cowork.participant.list`
|
|
62
|
+
|
|
63
|
+
| scope | 用途 | 参数 |
|
|
64
|
+
|---|---|---|
|
|
65
|
+
| `all` | 全部参与人(姓名/部门/岗位/全路径) | `id` + `participationFrom`(默认 participant)+ 分页 |
|
|
66
|
+
| `share` | 共享参与人,按角色分组(协作管理员/创建人/版块管理员/参与人/已退出/未读) | `id` |
|
|
67
|
+
| `quit` | 某协作的退出记录 | `id` + 分页 |
|
|
68
|
+
|
|
69
|
+
> `all` 在服务端较慢(大协作翻页慢),只要人数/姓名时优先用 `share`(已含各角色 count 与名单)。
|
|
70
|
+
|
|
71
|
+
## 7. 其他读操作
|
|
72
|
+
|
|
73
|
+
| operation | 用途 | 参数 |
|
|
74
|
+
|---|---|---|
|
|
75
|
+
| `cowork.resource` | 协作关联资源(空时返回 `{}`) | `id` |
|
|
76
|
+
| `cowork.vote.log` | 投票日志(无投票 total=0) | `id` + 分页 |
|
|
77
|
+
| `cowork.form` | **新建协作的表单元数据**:版块下拉选项在 `data.items.sectionId.options[]`(`{id, content}`) | `id` 可省(新建留空) |
|
|
78
|
+
| `cowork.meta` | `operateAuth`(列表可执行操作,如能否批量删除)/ `layout`(行为布局标识) | `scope` |
|
|
79
|
+
| `cowork.permission.list` | 共享权限对象列表(删除共享对象前取真实记录 id) | `coworkId` + `permissionId`(默认 5)+ 分页 |
|
|
80
|
+
|
|
81
|
+
**建协作前必做**:先 `cowork.form` 取 `sectionId` 选项,把版块名对成 id —— 版块 id 跨环境不同,不能写死。
|
|
82
|
+
|
|
83
|
+
## 8. 常见失败
|
|
84
|
+
|
|
85
|
+
| 现象 | 原因 | 处理 |
|
|
86
|
+
|---|---|---|
|
|
87
|
+
| `scope` 报枚举错 | scope 拼写不在上表 | 按上表取值;不确定就 `cowork.list` 默认 main |
|
|
88
|
+
| 列表为空但用户说「明明有」 | 筛选过窄或 `itemStatus` 限制 | 去掉筛选、`itemStatus:"2"` 试已结束,或调 `cowork.conditions` 核对字段 |
|
|
89
|
+
| 详情里没有显示名 | 接口本身只给登录名 | 用列表的 `creatorName` / `principalName`,不要拼 |
|
|
90
|
+
| `session_expired` | 登录态失效 | 提示用户重新登录(`weaver-work-cli auth login` 或小E 统一登录),不要重试刷接口 |
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# 协作区写操作
|
|
2
|
+
|
|
3
|
+
> 全部写操作统一协议:`prepare`(只读回查 + 摘要 + continuation)→ 用户确认 → `apply`(`confirm: true` + `continuation`)。
|
|
4
|
+
> `apply` 缺任一项直接拒绝;返回 `partial/write_uncertain` 时禁止自动重试,先用对应读 operation 核对。
|
|
5
|
+
|
|
6
|
+
## 1. 新建协作:`cowork.item.create.prepare` → `apply`
|
|
7
|
+
|
|
8
|
+
| 参数 | 说明 |
|
|
9
|
+
|---|---|
|
|
10
|
+
| `itemName` | 协作主题(必填) |
|
|
11
|
+
| `sectionId` | 所属版块 id(必填,来自 `cowork.form` 的 sectionId 选项) |
|
|
12
|
+
| `itemContent` | 详细说明(纯文本/HTML,CLI 内部按接口要求做 Base64) |
|
|
13
|
+
| `principal` | 负责人人员 id,默认当前登录用户 |
|
|
14
|
+
| `endTime` | 截止时间 `YYYY-MM-DD HH:mm`,默认 7 天后 |
|
|
15
|
+
| 开关 | `enableDiscussElog` / `enableViewLog` / `expandDetail` / `allowInvite` / `allowQuit` / `allowApply` / `allowHideDelelted`,默认全开 |
|
|
16
|
+
|
|
17
|
+
新建协作三步(Windows PowerShell):
|
|
18
|
+
|
|
19
|
+
```powershell
|
|
20
|
+
# ① 先取版块选项
|
|
21
|
+
weaver-work-cli cowork run cowork.form --input-json '{}'
|
|
22
|
+
# ② prepare(会校验 sectionId 是否在本环境真实存在)
|
|
23
|
+
weaver-work-cli cowork run cowork.item.create.prepare --input-json '{"itemName":"XX项目协作","sectionId":"<选项id>","itemContent":"目标与分工"}'
|
|
24
|
+
# ③ 用户确认后
|
|
25
|
+
weaver-work-cli cowork run cowork.item.create.apply --input-json '{"itemName":"XX项目协作","sectionId":"<选项id>","itemContent":"目标与分工","confirm":true,"continuation":"<continuation>"}'
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
新建协作三步(macOS/Linux bash/zsh):命令与上面完全一致,单引号内的 JSON 不需要转义。
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
weaver-work-cli cowork run cowork.form --input-json '{}'
|
|
32
|
+
weaver-work-cli cowork run cowork.item.create.prepare --input-json '{"itemName":"XX项目协作","sectionId":"<选项id>","itemContent":"目标与分工"}'
|
|
33
|
+
weaver-work-cli cowork run cowork.item.create.apply --input-json '{"itemName":"XX项目协作","sectionId":"<选项id>","itemContent":"目标与分工","confirm":true,"continuation":"<continuation>"}'
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
prepare 会做三件事:版块 id 存在性校验(不存在直接报错并列可选版块)、负责人默认当前用户、开关默认全开。apply 成功后返回新协作 `id`。
|
|
37
|
+
|
|
38
|
+
## 2. 协作级动作:`cowork.item.action.prepare` → `apply`(`action: "end"`)
|
|
39
|
+
|
|
40
|
+
结束协作。prepare 会读详情校验 `canEnd`,不可结束直接报错。
|
|
41
|
+
**不可逆**(结束后参与者不可回复),preview 里会带 warning,必须让用户明确确认。
|
|
42
|
+
|
|
43
|
+
## 3. 协作标记:`cowork.item.flag.prepare` → `apply`
|
|
44
|
+
|
|
45
|
+
| action | 效果 |
|
|
46
|
+
|---|---|
|
|
47
|
+
| `hide` | 从我的列表隐藏 |
|
|
48
|
+
| `vote` | 标记为投票 |
|
|
49
|
+
|
|
50
|
+
## 4. 发布/回复讨论:`cowork.discuss.publish.prepare` → `apply`
|
|
51
|
+
|
|
52
|
+
| 参数 | 说明 |
|
|
53
|
+
|---|---|
|
|
54
|
+
| `coworkId` | 协作 id(必填) |
|
|
55
|
+
| `content` | 讨论内容(必填,纯文本) |
|
|
56
|
+
| `sectionId` | 版块 id;不传则 prepare 从协作详情自动解析 |
|
|
57
|
+
|
|
58
|
+
apply 用 `replyType=discuss` + `client=pc` 提交,与页面发讨论等价。
|
|
59
|
+
|
|
60
|
+
## 5. 讨论动作:`cowork.discuss.action.prepare` → `apply`
|
|
61
|
+
|
|
62
|
+
| action | 效果 | 额外参数 |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| `top` | 置顶讨论 | — |
|
|
65
|
+
| `untop` | 取消置顶 | — |
|
|
66
|
+
| `delete` | 删除讨论 | `isDeleteAll`(默认 true,与页面一致) |
|
|
67
|
+
| `approve` | 审批通过讨论 | — |
|
|
68
|
+
|
|
69
|
+
**prepare 会翻页定位该讨论**(`maxPages` 默认 5、`pageSize` 默认 50),找到后回显内容预览与作者;**找不到直接报错**,不允许对未确认的讨论执行动作。
|
|
70
|
+
|
|
71
|
+
## 6. 成员动作:`cowork.member.action.prepare` → `apply`
|
|
72
|
+
|
|
73
|
+
| action | 效果 | 参数 |
|
|
74
|
+
|---|---|---|
|
|
75
|
+
| `invite` | 邀请他人加入 | `coworkId` + `userIds`(人员 id 数组) |
|
|
76
|
+
| `rejoin` | 重新加入 | `coworkId` + `userIds` |
|
|
77
|
+
| `join` | 申请加入(当前用户) | `coworkId` |
|
|
78
|
+
|
|
79
|
+
prepare 会读协作详情确认存在,并**提示已在参与人列表中的 userIds**(重复邀请可能无变化)。
|
|
80
|
+
|
|
81
|
+
> `userIds` 必须是真实人员 id:用 ehr 模块的人员查询能力取(如 `weaver-work-cli ehr run ehr.hr.contact.search`),禁止凭姓名猜 id。
|
|
82
|
+
|
|
83
|
+
## 7. 加入申请审批:`cowork.apply.decide.prepare` → `apply`
|
|
84
|
+
|
|
85
|
+
| 参数 | 说明 |
|
|
86
|
+
|---|---|
|
|
87
|
+
| `decision` | `approve` 通过 / `refuse` 拒绝 |
|
|
88
|
+
| `applyId` | **申请记录 id**(来自 `cowork.list` scope=`approve`) |
|
|
89
|
+
| `maxPages` | 定位翻页上限,默认 5 |
|
|
90
|
+
|
|
91
|
+
prepare 在待审批列表里定位这条记录并回显申请人与协作主题;找不到直接报错。
|
|
92
|
+
|
|
93
|
+
## 8. 审批台(事项 / 交流):`cowork.review.item` / `cowork.review.discuss`
|
|
94
|
+
|
|
95
|
+
两者都是 `prepare` → `apply`,`action` 取 `approve` / `delete`。
|
|
96
|
+
|
|
97
|
+
| operation | 列表来源(取 id) |
|
|
98
|
+
|---|---|
|
|
99
|
+
| `cowork.review.item.*` | `cowork.list` scope=`itemApprove` |
|
|
100
|
+
| `cowork.review.discuss.*` | `cowork.list` scope=`discussApprove` |
|
|
101
|
+
|
|
102
|
+
> 事项审批台的 apply 用 `ids`,交流审批台的 apply 用 `id`(删除时带 `isDeleteAll=1`)—— 差异已封装在 operation 内,调用方按同一套参数传即可。
|
|
103
|
+
|
|
104
|
+
## 9. 共享权限:`cowork.permission.add` / `cowork.permission.remove`
|
|
105
|
+
|
|
106
|
+
**新增**(`add.prepare` → `apply`):
|
|
107
|
+
|
|
108
|
+
| 参数 | 说明 |
|
|
109
|
+
|---|---|
|
|
110
|
+
| `coworkId`、`userId`、`userName` | 必填(接口要求展示名) |
|
|
111
|
+
| `userDept` / `userTitle` / `userCid` | 可选;部分环境要求齐全才接受,失败时补齐重试 |
|
|
112
|
+
| `permissionId` | 权限类型 id,默认 `5` |
|
|
113
|
+
|
|
114
|
+
prepare 会查现有共享列表,提示该人员是否已存在。
|
|
115
|
+
|
|
116
|
+
**删除**(`remove.prepare` → `apply`):
|
|
117
|
+
|
|
118
|
+
- 参数:`coworkId` + `pkId`(共享记录 id,来自 `cowork.permission.list`)。
|
|
119
|
+
- prepare 按 `pkId` 定位真实记录并回显;
|
|
120
|
+
- **apply 会重新取一次当前记录再全量回传**(记录可能已被他人修改),并在写后回查确认该记录已消失(返回 `removed: true`)。
|
|
121
|
+
- 记录已不存在 → 直接报"无需重复删除",不要重试。
|
|
122
|
+
|
|
123
|
+
## 10. 写操作通用失败处理
|
|
124
|
+
|
|
125
|
+
| 返回 | 含义 | 正确动作 |
|
|
126
|
+
|---|---|---|
|
|
127
|
+
| `confirmation/required` | 缺 `confirm: true` | 补上确认,不要绕过 |
|
|
128
|
+
| `validation/target_changed` | 与 prepare 时的目标不一致(主题/版块/人员/内容变了) | 重新 prepare 再确认 |
|
|
129
|
+
| `not_found/discuss_not_found` / `apply_not_found` / `record_not_found` | 翻页没找到目标 | 让用户确认 id 与所属协作,**不要放宽条件硬试** |
|
|
130
|
+
| `partial/write_uncertain` | 写请求已发出但结果不确定 | 先用对应读 operation 核对现状,**禁止自动重试** |
|
|
131
|
+
| `validation/not_permitted` | 当前用户无该操作权限 | 如实告知,不要换接口绕过 |
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# 能力边界与禁止项
|
|
2
|
+
|
|
3
|
+
## 1. 已实现(可用)
|
|
4
|
+
|
|
5
|
+
33 个 operation:读 11(列表/条件/计数/详情/讨论/参与人/资源/投票日志/表单/元数据/共享权限列表)+ 写 11 组(各 prepare/apply)。
|
|
6
|
+
|
|
7
|
+
完整清单以 `weaver-work-cli cowork schema` 为准。
|
|
8
|
+
|
|
9
|
+
## 2. 未实现(withheld,调用会被拒绝)
|
|
10
|
+
|
|
11
|
+
| 能力 | 涉及接口 | 为什么不做 | 替代做法 |
|
|
12
|
+
|---|---|---|---|
|
|
13
|
+
| **浏览选择器**(选部门/岗位/人员/角色/分部/渠道) | `common/browser/{associate,complete,condition,data,destData,history,leftData,prop}/<对象>` 共 32 个 | 源资料只给 path 清单、**没有请求体字段表**,逐字段建模就是猜 | 人员/部门/岗位 id 用 ehr 模块查询取得(`ehr.hr.contact.search`、`ehr.hr.browser.complete`、`hrm.org.resolve`) |
|
|
14
|
+
| **点赞组件**(讨论点赞/取消/投票人) | `common/upvoteComponent/{vote,cancelVote,getVoter4componentId}` | 同上,无请求体契约 | 不加点赞动作;用户要「赞」时如实说明不支持 |
|
|
15
|
+
| **权限单元高级配置** | `permission/table/info`、`permission/table/update` | 前端表单内部结构(对象类型/安全级别/级联规则),无稳定入参 | 常规授权/取消授权用 `cowork.permission.add` / `remove` |
|
|
16
|
+
| **搜索组件 UI 元数据与搜索历史** | `search/{queryCommonConditions,queryDefaultSnaps,queryHistories,queryPersonalMatchWords,querySnapsName,addToHistory}` | 前端交互行为,对 Agent 无业务语义 | 列表筛选直接用 `cowork.list` 的条件字段(字段集合以 `cowork.conditions` 为准) |
|
|
17
|
+
|
|
18
|
+
遇到上表场景:**如实说明「该能力未开放」并给替代路径**,不要尝试用相邻接口拼凑,也不要建议用户去改环境配置。
|
|
19
|
+
|
|
20
|
+
## 3. 禁止项(红线)
|
|
21
|
+
|
|
22
|
+
| 禁止 | 原因 |
|
|
23
|
+
|---|---|
|
|
24
|
+
| 伪造/猜测 `coworkId`、`discussId`、`applyId`、`pkId`、人员 id | 服务端按 id 直接执行,猜错会误操作真实数据 |
|
|
25
|
+
| 跳过 `prepare` 直接调 `apply` | apply 依赖 continuation 里的目标快照做一致性校验,绕过即失去防误写保护 |
|
|
26
|
+
| 缺 `confirm: true` 时重试或换写法绕开 | 确认是用户意志的唯一凭据 |
|
|
27
|
+
| `partial/write_uncertain` 后自动重试 | 写请求可能已生效,重试会造成重复数据(重复讨论、重复授权) |
|
|
28
|
+
| 用浏览器自动化/页面点击代替接口 | 本技能定位是接口直调;页面路径不稳定且无法保证幂等 |
|
|
29
|
+
| 读取、打印、转存任何凭证(Cookie/eteamsid/token/UA) | 认证由 `weaver-e10-shared` 与 CLI 托管,技能侧不接触 |
|
|
30
|
+
| 对未启用协作模块的环境强行调用 | 会连续报错;应如实告知「当前环境未启用协作模块」 |
|
|
31
|
+
|
|
32
|
+
## 4. 能力边界(能查不能改的部分)
|
|
33
|
+
|
|
34
|
+
| 场景 | 现状 |
|
|
35
|
+
|---|---|
|
|
36
|
+
| 编辑协作正文/主题/截止时间 | **未实现**(源资料只有 `saveItemsInfo` 的新建口径,编辑口径未给字段差异)。如用户要改,说明当前只支持新建,建议到页面修改 |
|
|
37
|
+
| 删除整个协作 | **未实现**(源资料无协作级删除接口,只有讨论删除与审批台删除)。不要用「结束协作」冒充删除 |
|
|
38
|
+
| 批量操作(批量删除/批量审批) | **未实现**。列表可执行操作的元数据见 `cowork.meta`(scope=operateAuth),但不提供批量写 |
|
|
39
|
+
| 协作模板/重复协作 | **未实现** |
|
|
40
|
+
| 附件上传到讨论 | `cowork.discuss.publish` 的附件字段固定为空串(源资料未给附件流程)。用户要带附件发讨论时,说明当前不支持,建议页面发送 |
|
|
41
|
+
|
|
42
|
+
## 5. 权限与可见性
|
|
43
|
+
|
|
44
|
+
- 所有结果都受当前登录人的权限约束:**看不到 ≠ 不存在**。查询为空时先说「没有符合条件的结果或无权查看」,不要断言系统里没有。
|
|
45
|
+
- `canEdit` / `canEnd` / `canReply` / `approvalRight` / `allowApprove` 来自详情接口,是判断能否操作的第一依据;prepare 阶段会用它拦截,被拦时如实转告,不要绕过。
|
|
@@ -7,7 +7,7 @@ description: 泛微E10聚才林人事管理,帮您处理人事日常事宜:[
|
|
|
7
7
|
description_zh: 泛微E10聚才林人事管理,帮您处理人事日常事宜:[出勤]-查考勤数据做报表统计、考勤打卡(PC端签到签退)、发考勤流程处理考勤异常;[薪酬]-查工资、社保公积金、调薪记录;[招聘]-帮您找人才、管招聘需求、生成职位JD、导入简历建人才、查应聘者台账、安排面试、发Offer、办入职、看招聘统计;[人事基础]-查员工信息、组织编制及从不同维度汇总人事报表。
|
|
8
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
9
|
category: business
|
|
10
|
-
version:
|
|
10
|
+
version: 2.0.2
|
|
11
11
|
author: 泛微网络科技股份有限公司
|
|
12
12
|
permissions: [network]
|
|
13
13
|
execution:
|
|
@@ -51,11 +51,30 @@ weaver-work-cli --json ehr run <operation> --input -
|
|
|
51
51
|
| 通讯录、字段列表、浏览器选择器、生日查询、人员状态变更 | [`references/hr-contact.md`](references/hr-contact.md) |
|
|
52
52
|
| HR 数据源:历史时点名册、离职名册、历史曾在职、编制、流动分析、人员情况合计 | [`references/hr-datasource.md`](references/hr-datasource.md) |
|
|
53
53
|
| 部门/岗位/职务/职类人数、流失离职、占编人员、人员流动明细、属性合计 | [`references/hr-report.md`](references/hr-report.md) |
|
|
54
|
-
|
|
|
54
|
+
| 人才库搜索、招聘需求/职位/入职/录用列表、人才详情卡片、**我待填的面试反馈(AI 面试已录)** | [`references/recruit-read.md`](references/recruit-read.md) |
|
|
55
55
|
| 新建人才、安排面试、发送 Offer、办理入职、面试反馈编辑/催评(写,prepare→apply) | [`references/recruit-write.md`](references/recruit-write.md) |
|
|
56
56
|
| 生成职位 JD 并建职位、简历导入建人才(含附件与标签)、招聘统计 | [`references/recruit-create.md`](references/recruit-create.md) |
|
|
57
57
|
| 招聘撤销类写操作、移动端打卡、能力边界与禁止项 | [`references/safety-boundaries.md`](references/safety-boundaries.md) |
|
|
58
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
|
+
|
|
59
78
|
## 跨子系统差异(必须先知道)
|
|
60
79
|
|
|
61
80
|
四个子系统(人事档案 / 出勤 / 薪酬 / 招聘)的响应契约和分页结构不统一,已在 CLI 内归一化,但语义差异仍会影响结果解读:
|
|
@@ -79,7 +98,6 @@ weaver-work-cli --json ehr run <operation> --input -
|
|
|
79
98
|
|
|
80
99
|
- 姓名、工号等条件都是**模糊匹配**,多人命中时必须列出候选让用户选择,不得自动取第一条。浏览器选择器返回多条时,响应会带 `requiresDisambiguation=true`,此时必须让用户确认选哪一个。
|
|
81
100
|
- `est.emp.table` / `est.dc.emp.table` 的 `cfgId`、`id` 必须先从对应数据源记录取得,禁止编造或使用默认值。
|
|
82
|
-
- 社保台账查询(`salary.siaccount.query`)不分页且返回高度敏感数据,CLI 会强制要求提供月份范围或人员/组织 ID 之一。
|
|
83
101
|
- 涉及附件、图片、本地文件或文件内容解析时,必须先向用户说明文件内容可能进入大模型上下文,也可能被发送到业务系统或解析服务,获得**明确确认**后才继续。本技能当前不涉及附件接口,若后续新增同类能力必须沿用该确认要求。
|
|
84
102
|
- 招聘撤销类写操作(取消改期入职)与移动端考勤打卡属于禁用边界,见 [`references/safety-boundaries.md`](references/safety-boundaries.md)。招聘其余写操作必须走 prepare→apply 确认协议。
|
|
85
103
|
|
|
@@ -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
|
|