@lark-people/cli 0.0.13 → 0.0.14-beta.2
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/bin/people-cli_darwin_amd64 +0 -0
- package/bin/people-cli_darwin_arm64 +0 -0
- package/bin/people-cli_linux_amd64 +0 -0
- package/bin/people-cli_linux_arm64 +0 -0
- package/bin/people-cli_windows_amd64.exe +0 -0
- package/bin/people-cli_windows_arm64.exe +0 -0
- package/package.json +1 -1
- package/skills/people-cli/SKILL.md +21 -19
- package/skills/people-cli/references/people-corehr-employee/SKILL.md +37 -8
- package/skills/people-cli/references/people-corehr-employee/references/people-corehr-employee-fields-list.md +4 -3
- package/skills/people-cli/references/people-corehr-employee/references/people-corehr-employee-filter.md +1 -0
- package/skills/people-cli/references/people-corehr-employee/references/people-corehr-employee-perm-check.md +71 -0
- package/skills/people-cli/references/people-corehr-employee/references/people-corehr-employee-search.md +8 -4
- package/skills/people-cli/references/people-corehr-prehire/SKILL.md +10 -8
- package/skills/people-cli/references/people-corehr-prehire/references/templates.md +8 -7
- package/skills/people-cli/references/people-corehr-workforce-plan/SKILL.md +2 -2
- package/skills/people-cli.zip +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: people-cli
|
|
3
3
|
version: 1.0.0
|
|
4
|
-
description: "当用户需要处理飞书人事或飞书招聘数据时使用;覆盖 CoreHR
|
|
4
|
+
description: "当用户需要处理飞书人事或飞书招聘数据时使用;覆盖 CoreHR 员工、组织(部门、成本中心和自定义组织)、入职流程、异动、离职、续约/续签、编制/HC,以及 Hire 职位、招需、投递、候选人、面试、评估、人才查询;也适用于 CLI 安装、升级、登录授权、Permission denied 和 scope 权限问题。"
|
|
5
5
|
metadata:
|
|
6
6
|
requires:
|
|
7
7
|
bins: ["people-cli"]
|
|
@@ -88,25 +88,19 @@ people-cli auth status --verify
|
|
|
88
88
|
- 未配置应用:执行 `people-cli config init --new`,把命令输出的配置链接原样发给用户,等待用户完成。
|
|
89
89
|
- 未登录、token 不存在、token 过期或服务端拒绝:先根据业务域执行用户授权。
|
|
90
90
|
|
|
91
|
-
用户授权命令必须指定范围:
|
|
92
91
|
|
|
93
92
|
```bash
|
|
94
|
-
people-cli auth login --domain
|
|
95
|
-
people-cli auth login --domain hire
|
|
96
|
-
people-cli auth login --scope "<missing_scope>"
|
|
93
|
+
people-cli auth login --domain all
|
|
97
94
|
```
|
|
98
95
|
|
|
99
|
-
|
|
96
|
+
授权链接必须原样转发给用户,不要改写、解码、截断或补全。
|
|
100
97
|
|
|
101
98
|
### Step 4: 严禁 bot 身份
|
|
102
99
|
|
|
103
100
|
People CLI 在本 Skill 体系中只能使用用户身份。
|
|
104
101
|
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
- 严禁建议用户申请 bot scope、配置 bot 权限或切换到应用身份来解决业务查询失败。
|
|
108
|
-
- 如果命令输出显示 `[identity: bot]` 或等价信息,立即停止业务操作,改用用户身份重新处理。
|
|
109
|
-
- Permission denied 只能按用户身份补授权;不能切换到 bot。
|
|
102
|
+
- 在拼接业务命令必须使用或保持 `--as user`,严禁使用 `--as bot`。
|
|
103
|
+
- 即使发现当前是 bot 身份,也不要重新执行登录授权流程,因为 Step3 你已经确认过了,只需要保证在执行命令的时候保持 `--as user` 即可。
|
|
110
104
|
|
|
111
105
|
### Step 5: 根据用户 query 确认实际业务域
|
|
112
106
|
|
|
@@ -114,7 +108,7 @@ People CLI 在本 Skill 体系中只能使用用户身份。
|
|
|
114
108
|
|
|
115
109
|
#### 👤 员工信息查询 (employee)
|
|
116
110
|
|
|
117
|
-
搜索员工、查询当前登录员工基本信息、查询员工可筛选字段、按条件筛选员工。适用于员工搜索、按姓名找人、查我自己、员工列表、部门员工、职级员工、员工字段、`employee search`、`employee filter
|
|
111
|
+
搜索员工、查询当前登录员工基本信息、查询员工可筛选字段、按条件筛选员工。适用于员工搜索、按姓名找人、查我自己、员工列表、部门员工、职级员工、员工字段、`employee search`、`employee filter`。不覆盖待入职、入职名单、入职记录、入职流程、异动、离职、任职历史、审批、导出。
|
|
118
112
|
|
|
119
113
|
→ 详见 [people-corehr-employee](references/people-corehr-employee/SKILL.md)
|
|
120
114
|
|
|
@@ -136,9 +130,9 @@ People CLI 在本 Skill 体系中只能使用用户身份。
|
|
|
136
130
|
|
|
137
131
|
→ 详见 [people-corehr-organization](references/people-corehr-organization/SKILL.md)
|
|
138
132
|
|
|
139
|
-
#### 🧾
|
|
133
|
+
#### 🧾 入职流程查询 (prehire)
|
|
140
134
|
|
|
141
|
-
|
|
135
|
+
查询对象是入职名单、入职记录或入职流程时走这里,覆盖待入职、入职准备、已完成入职和撤回等流程阶段。日期、地点、部门等只是筛选条件,不改变业务域。招聘候选人、投递、面试、评估走招聘域;员工花名册、当前员工资料走员工域。
|
|
142
136
|
|
|
143
137
|
→ 详见 [people-corehr-prehire](references/people-corehr-prehire/SKILL.md)
|
|
144
138
|
|
|
@@ -162,17 +156,25 @@ People CLI 在本 Skill 体系中只能使用用户身份。
|
|
|
162
156
|
|
|
163
157
|
#### 🎯 招聘查询 (hire)
|
|
164
158
|
|
|
165
|
-
查询飞书招聘数据,包括职位、招聘需求/招需、投递、面试、评估、人才、招聘流程与进度。CoreHR
|
|
159
|
+
查询飞书招聘数据,包括职位、招聘需求/招需、投递、面试、评估、人才、招聘流程与进度。CoreHR 入职名单、入职记录和入职流程走入职流程域;员工花名册和当前员工资料走员工域。
|
|
166
160
|
|
|
167
161
|
→ 详见 [people-hire](references/people-hire/SKILL.md)
|
|
168
162
|
|
|
169
|
-
####
|
|
170
|
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
163
|
+
#### 路由判定规则
|
|
164
|
+
|
|
165
|
+
- 必须先识别用户最终想查询的对象,再把日期、地点、部门、状态等识别为筛选条件;禁止仅按句中出现的单个词路由。
|
|
166
|
+
- 用户最终想查入职名单、入职记录、入职流程、入职进度或待入职人员时,路由到 `prehire`。
|
|
167
|
+
- 用户最终想查员工、员工名单、员工花名册、员工档案或在职人员时,路由到 `employee`。
|
|
168
|
+
- 用户最终想查投递、候选人、面试、职位或招聘需求时,路由到 `hire`;想查调动、晋升、转岗或异动记录时,路由到 `job-change`。
|
|
169
|
+
- 用户最终想查组织对象的字段、节点、是否存在、上下级关系、路径、组织树或聚合时,路由到 `organization`;具体组织家族和租户配置的组织类型由子 Skill 根据真实元数据确认。
|
|
170
|
+
- 用户最终想查编制方案、HC、预增、预减、缺编数、满编率、方案维度、编制汇总或明细时,路由到 `workforce-plan`;组织只作为编制规划的筛选或分组维度时仍走 `workforce-plan`。
|
|
171
|
+
- 一个词同时可能是业务域提示和实体名称的一部分时,不得拆词触发;必须以用户最终要求返回的对象或指标判定业务域。
|
|
172
|
+
- 续约、离职等其他对象继续按上方各业务域定义路由。描述中的话术是可判别示例,不是需要穷举的关键词白名单。
|
|
173
|
+
- 如果多个业务对象都成立且无法确定主对象,问一个简短澄清问题。
|
|
173
174
|
- 每次用户新的 query 都要重新判断业务域,不能沿用上一轮路由。
|
|
174
175
|
- 子 Skill 的命令结构互不通用。不能把 A Skill 的命令、字段、分页、search-option、schema 或元数据流程套到 B Skill。
|
|
175
176
|
- 选定业务域后读取对应子 Skill 的 `SKILL.md`,再按该子 Skill 执行。如果对应子 Skill 不可用,停止并说明缺失,不要自行拼接命令。
|
|
177
|
+
- 子 Skill 加载后发现其能力与主业务对象不匹配时,可以携带明确的不匹配原因回到本路由表重新判定一次。空结果、权限错误或字段不可筛选不代表路由错误,禁止因此跨业务域试探;重新判定后仍有歧义时必须询问用户。
|
|
176
178
|
- 读取嵌入子 Skill 后,子 Skill 内的相对 reference 路径必须以该子 Skill 的 `SKILL.md` 所在目录为基准解析。例如 `references/foo.md` 应解析为 `references/<child-skill>/references/foo.md`,不是主 Skill 的 `references/foo.md`。
|
|
177
179
|
- 嵌入子 Skill 要求读取 reference 时,必须读取该子 Skill 自己的 reference 文件。例如 `people-corehr-employee/SKILL.md` 中的 `references/people-corehr-employee-search.md` 必须解析到 `people-corehr-employee/references/people-corehr-employee-search.md`。
|
|
178
180
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: people-corehr-employee
|
|
3
3
|
version: 1.0.0
|
|
4
|
-
description: "飞书人事 -
|
|
4
|
+
description: "飞书人事 - 员工信息查询:搜索员工、查询当前登录员工基本信息、检查员工应用权限、查询员工可筛选字段、按条件筛选员工。触发词:员工搜索、按姓名找人、查我自己、员工列表、员工权限、部门员工、职级员工、员工字段、employee search、employee filter、employee permission。适用边界:仅处理 employee search、basic info、permission check、fields、filter,不覆盖待入职、异动、离职、任职历史、审批、导出。"
|
|
5
5
|
metadata:
|
|
6
6
|
requires:
|
|
7
7
|
bins: ["people-cli"]
|
|
@@ -12,14 +12,15 @@ metadata:
|
|
|
12
12
|
|
|
13
13
|
## Scope
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
只处理以下五类员工查询能力:
|
|
16
16
|
|
|
17
17
|
1. `+employee-search`:按姓名、工号、邮箱搜索员工。
|
|
18
18
|
2. `+employee-basic-info-query`:查询当前登录员工的基本信息。
|
|
19
|
-
3. `+employee-
|
|
20
|
-
4. `+employee-
|
|
19
|
+
3. `+employee-perm-check`:检查当前登录用户的员工应用权限。
|
|
20
|
+
4. `+employee-fields-query`:查询员工字段元数据,确认哪些字段可筛选、可排序、可展示。
|
|
21
|
+
5. `+employee-filter`:按字段条件筛选员工列表。
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
不处理待入职、入职名单、入职记录、入职流程、异动、离职、任职历史、审批/修改、导出文件、跨模块复杂统计。命中这些边界时,停止使用本 skill,改走对应 skill 或直接说明当前能力不覆盖。
|
|
23
24
|
|
|
24
25
|
## Required Flow
|
|
25
26
|
|
|
@@ -27,11 +28,17 @@ metadata:
|
|
|
27
28
|
2. **最短路径执行**:
|
|
28
29
|
- 按姓名/工号/邮箱找员工:直接执行 `+employee-search`。
|
|
29
30
|
- 查我自己、查我的工号、查我的 `employment_id`:直接执行 `+employee-basic-info-query`。
|
|
31
|
+
- 查当前账号是否有员工相关应用权限:直接执行 `+employee-perm-check`。
|
|
30
32
|
- 问哪些字段可筛选/可排序/可展示:直接执行 `+employee-fields-query`,该命令本身就是终点。
|
|
31
33
|
- 按部门、职级、序列、工作地点、上级、团队等条件查员工:先执行 `+employee-fields-query` 校准字段,再执行 `+employee-filter`。
|
|
32
|
-
3.
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
3. **权限场景选择**:`+employee-search`、`+employee-filter`、`+employee-fields-query` 会先执行 `+employee-perm-check` 等价的权限检查并选择 `app_key`。
|
|
35
|
+
- 同时有 `team` 和 `members` 权限:默认使用 `team`(团队成员),并提示用户同时具备团队成员和花名册权限;如需花名册场景,用户必须显式指定 `--app-key members`。
|
|
36
|
+
- 只有 `team` 权限:直接使用 `team`,并告知当前按团队成员场景查询。
|
|
37
|
+
- 只有 `members` 权限:直接使用 `members`,并告知当前按花名册场景查询。
|
|
38
|
+
- 指定 `--app-key` 但无该场景权限:停止查询并返回无权限错误。
|
|
39
|
+
4. **字段校准**:凡是要构造 `+employee-filter` 的 `--filters`、`--sort-fields`、`--display-fields`,字段名都必须来自本轮真实 `+employee-fields-query` 返回的 `api_name`,禁止猜字段、禁止省略命名空间前缀。
|
|
40
|
+
5. **真实执行**:条件一旦可落地,必须执行对应的最终命令。不要停在字段解释、命令草稿或搜索预演。
|
|
41
|
+
6. **完成态校验并回答**:答案必须来自最后一次真实命令返回。若结果分页,必须明确说明当前页数量和是否还有下一页;不要静默截断。
|
|
35
42
|
|
|
36
43
|
## Route Templates
|
|
37
44
|
|
|
@@ -39,6 +46,7 @@ metadata:
|
|
|
39
46
|
| --- | --- |
|
|
40
47
|
| 按姓名、工号、邮箱找员工 | 直接 `+employee-search` |
|
|
41
48
|
| 查我自己当前账号对应的员工信息 | 直接 `+employee-basic-info-query` |
|
|
49
|
+
| 查当前账号员工应用权限 | 直接 `+employee-perm-check` |
|
|
42
50
|
| 问哪些字段能筛选/排序/展示 | 直接 `+employee-fields-query` |
|
|
43
51
|
| 查某部门、某职级、某序列、某地点的员工 | `+employee-fields-query` → `+employee-filter` |
|
|
44
52
|
| 查我的团队 / 我的下级 | `+employee-basic-info-query` 取自己的 `employment_id` → `+employee-filter` |
|
|
@@ -48,6 +56,8 @@ metadata:
|
|
|
48
56
|
## Hard Rules
|
|
49
57
|
|
|
50
58
|
- 禁止用本 skill 处理待入职、异动、离职、任职历史、审批、导出文件;这些都不属于 employee 能力边界。
|
|
59
|
+
- `+employee-search`、`+employee-filter`、`+employee-fields-query` 不要绕过权限检查直接假定 `app_key=team`;运行时必须以权限检查结果或用户显式 `--app-key` 为准。
|
|
60
|
+
- 当用户说“团队成员”时使用 `--app-key team`;当用户说“花名册”时使用 `--app-key members`。用户未指定且双权限都存在时默认不追问,使用 `team` 并提示可显式指定花名册。
|
|
51
61
|
- 对 `+employee-filter` 而言,所有 `field_api_name` 都必须来自 `+employee-fields-query` 返回结果,且必须使用完整字段名,例如 `employment.department`,禁止写成 `department`、`job_level`、`workforce_type` 这类省略前缀的形式。
|
|
52
62
|
- 若用户要求的筛选字段不存在,或 `filterable=false`,必须停止并明确告知该字段不支持筛选;不要尝试其他接口、相邻字段、组合字段或本地兜底。
|
|
53
63
|
- 若用户要求排序字段不存在,或 `sortable=false`,必须停止并重新按 `+employee-fields-query` 返回值校准;不要凭经验继续执行。
|
|
@@ -71,12 +81,14 @@ metadata:
|
|
|
71
81
|
|
|
72
82
|
- `+employee-search`:按 `姓名`、`工号`、`employment_id` 的顺序输出候选结果。
|
|
73
83
|
- `+employee-basic-info-query`:输出 `常用姓名`、`工号`、`employment_id`、`邮箱`。
|
|
84
|
+
- `+employee-perm-check`:输出 `app_key`、`has_permission`。
|
|
74
85
|
- `+employee-fields-query`:保留字段元数据的核心列,至少包含 `name`、`api_name`、`type`、`filterable`、`sortable`、`displayable`、`operators`。
|
|
75
86
|
- `+employee-filter`:
|
|
76
87
|
- 默认只展示姓名和工号。
|
|
77
88
|
- 用户显式要求的展示字段,按用户诉求追加。
|
|
78
89
|
- 若接口返回 `Count`、`Has more`、`Next page` 等分页信息,答复中必须体现当前已返回多少条,以及是否还能继续查看下一页。
|
|
79
90
|
- 若命令报错、字段不支持、名称解析失败或结果不具备唯一性,必须清楚说明失败类型,禁止编造人数或员工名单。
|
|
91
|
+
- 对 `+employee-search`、`+employee-filter`、`+employee-fields-query` 的回答必须包含当前实际使用的查询场景:团队成员或花名册;双权限默认 `team` 时还要说明如需花名册需显式指定。
|
|
80
92
|
|
|
81
93
|
## Command Patterns
|
|
82
94
|
|
|
@@ -84,12 +96,21 @@ metadata:
|
|
|
84
96
|
# 按姓名、工号、邮箱搜索员工
|
|
85
97
|
people-cli corehr +employee-search --keyword <关键词>
|
|
86
98
|
|
|
99
|
+
# 明确使用花名册场景搜索员工
|
|
100
|
+
people-cli corehr +employee-search --keyword <关键词> --app-key members
|
|
101
|
+
|
|
87
102
|
# 查询当前登录员工基本信息
|
|
88
103
|
people-cli corehr +employee-basic-info-query --format json
|
|
89
104
|
|
|
105
|
+
# 检查当前账号员工应用权限
|
|
106
|
+
people-cli corehr +employee-perm-check --format table
|
|
107
|
+
|
|
90
108
|
# 查询员工字段元数据
|
|
91
109
|
people-cli corehr +employee-fields-query --format table
|
|
92
110
|
|
|
111
|
+
# 查询花名册场景的员工字段元数据
|
|
112
|
+
people-cli corehr +employee-fields-query --app-key members --format table
|
|
113
|
+
|
|
93
114
|
# 默认场景:只返回姓名 + 工号
|
|
94
115
|
people-cli corehr +employee-filter \
|
|
95
116
|
--filters '[{"field_api_name":"employment.department","operator":"in","value_names":["技术部"],"is_strand_id_in":true}]' \
|
|
@@ -101,11 +122,19 @@ people-cli corehr +employee-filter \
|
|
|
101
122
|
--filters '[{"field_api_name":"employment.department","operator":"in","value_names":["技术部"],"is_strand_id_in":true}]' \
|
|
102
123
|
--display-fields '["employment.person.preferred_name","employment.employee_number","employment.department","employment.job_level"]' \
|
|
103
124
|
--format table
|
|
125
|
+
|
|
126
|
+
# 明确使用花名册场景筛选
|
|
127
|
+
people-cli corehr +employee-filter \
|
|
128
|
+
--app-key members \
|
|
129
|
+
--filters '[{"field_api_name":"employment.department","operator":"in","value_names":["技术部"],"is_strand_id_in":true}]' \
|
|
130
|
+
--display-fields '["employment.person.preferred_name","employment.employee_number"]' \
|
|
131
|
+
--format table
|
|
104
132
|
```
|
|
105
133
|
|
|
106
134
|
## Minimal References
|
|
107
135
|
|
|
108
136
|
- [people-corehr-employee-search.md](references/people-corehr-employee-search.md):员工搜索的输入识别、输出字段顺序与基本示例。
|
|
109
137
|
- [people-corehr-employee-basic-info-query.md](references/people-corehr-employee-basic-info-query.md):当前登录员工基本信息查询与常见联动场景。
|
|
138
|
+
- [people-corehr-employee-perm-check.md](references/people-corehr-employee-perm-check.md):当前登录用户员工应用权限检查。
|
|
110
139
|
- [people-corehr-employee-fields-list.md](references/people-corehr-employee-fields-list.md):字段元数据、字段类型、可用操作符与筛选/排序/展示能力判断。
|
|
111
140
|
- [people-corehr-employee-filter.md](references/people-corehr-employee-filter.md):员工筛选、默认展示字段铁律、`value_names` 解析与分页约束。
|
|
@@ -10,9 +10,10 @@ people-cli corehr +employee-fields-query [flags]
|
|
|
10
10
|
|
|
11
11
|
## 参数
|
|
12
12
|
|
|
13
|
-
| Flag | 类型 | 必填 | 默认值 | 说明
|
|
14
|
-
|
|
15
|
-
| `--
|
|
13
|
+
| Flag | 类型 | 必填 | 默认值 | 说明 |
|
|
14
|
+
|------|------|------|--------|-------------------------------------------------------|
|
|
15
|
+
| `--app-key` | string | 否 | 自动选择 | 查询场景:`team`(团队成员)或 `members`(花名册);不传时先鉴权,双权限默认 `team` |
|
|
16
|
+
| `--accept-language` | string | 否 | `zh-CN` | 响应语言:`zh-CN`(中文)、`en-US`(英文) |
|
|
16
17
|
|
|
17
18
|
### accept-language 选择策略
|
|
18
19
|
|
|
@@ -116,6 +116,7 @@ people-cli corehr +employee-filter --help
|
|
|
116
116
|
| `--display-fields` | string (JSON) | 否 | - | 展示字段,JSON 数组格式 |
|
|
117
117
|
| `--limit` | int | 否 | `30` | 返回结果数量上限(最大 100) |
|
|
118
118
|
| `--search_after` | string | 否 | - | 分页游标,用于分页(首次请求为空,后续请求使用上次返回的 search_after 值,返回结果数量上限(最大 100) |
|
|
119
|
+
| `--app-key` | string | 否 | 自动选择 | 查询场景:`team`(团队成员)或 `members`(花名册);不传时先鉴权,双权限默认 `team` |
|
|
119
120
|
| `--accept-language` | string | 否 | `zh-CN` | 响应语言:`zh-CN`(中文)、`en-US`(英文) |
|
|
120
121
|
|
|
121
122
|
### accept-language 选择策略
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# +employee-perm-check
|
|
2
|
+
|
|
3
|
+
检查当前登录用户的 CoreHR 员工应用权限。
|
|
4
|
+
|
|
5
|
+
## 用法
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
people-cli corehr +employee-perm-check [flags]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 参数
|
|
12
|
+
|
|
13
|
+
无业务参数。支持通用 `--format` 输出控制。
|
|
14
|
+
|
|
15
|
+
## 所需权限
|
|
16
|
+
|
|
17
|
+
| Scope |
|
|
18
|
+
|-------|
|
|
19
|
+
| `corehr:employment_info_filter:read` |
|
|
20
|
+
|
|
21
|
+
## 输出
|
|
22
|
+
|
|
23
|
+
| 字段 | 说明 |
|
|
24
|
+
|------|------|
|
|
25
|
+
| `app_key` | 应用标识 |
|
|
26
|
+
| `has_permission` | 当前登录用户是否有该应用权限 |
|
|
27
|
+
|
|
28
|
+
## 场景语义
|
|
29
|
+
|
|
30
|
+
| app_key | 场景 |
|
|
31
|
+
|---------|------|
|
|
32
|
+
| `team` | 团队成员 |
|
|
33
|
+
| `members` | 花名册 |
|
|
34
|
+
|
|
35
|
+
`+employee-search`、`+employee-filter`、`+employee-fields-query` 在执行前会先做同等权限检查:
|
|
36
|
+
|
|
37
|
+
- 同时有 `team` 和 `members` 权限:默认使用 `team`,并提示用户如需花名册场景请显式传 `--app-key members`。
|
|
38
|
+
- 只有 `team` 权限:使用团队场景。
|
|
39
|
+
- 只有 `members` 权限:使用花名册场景。
|
|
40
|
+
- 用户显式传入无权限的 `--app-key` 时停止查询。
|
|
41
|
+
|
|
42
|
+
## 输出示例
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"ok": true,
|
|
47
|
+
"data": [
|
|
48
|
+
{
|
|
49
|
+
"app_key": "team",
|
|
50
|
+
"has_permission": true
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"app_key": "members",
|
|
54
|
+
"has_permission": false
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"meta": {
|
|
58
|
+
"count": 2
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## 示例
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# 表格格式输出
|
|
67
|
+
people-cli corehr +employee-perm-check --format table
|
|
68
|
+
|
|
69
|
+
# JSON 格式输出
|
|
70
|
+
people-cli corehr +employee-perm-check --format json
|
|
71
|
+
```
|
|
@@ -10,10 +10,11 @@ people-cli corehr +employee-search --keyword <关键词> [flags]
|
|
|
10
10
|
|
|
11
11
|
## 参数
|
|
12
12
|
|
|
13
|
-
| Flag | 类型 | 必填 | 默认值 | 说明
|
|
14
|
-
| ------------------- | ------ | -- | -------
|
|
15
|
-
| `--keyword` | string | 是 | - | 搜索关键词(员工姓名、工号或邮箱)
|
|
16
|
-
| `--
|
|
13
|
+
| Flag | 类型 | 必填 | 默认值 | 说明 |
|
|
14
|
+
| ------------------- | ------ | -- | ------- |-------------------------------------------------------|
|
|
15
|
+
| `--keyword` | string | 是 | - | 搜索关键词(员工姓名、工号或邮箱) |
|
|
16
|
+
| `--app-key` | string | 否 | 自动选择 | 查询场景:`team`(团队成员)或 `members`(花名册);不传时先鉴权,双权限默认 `team` |
|
|
17
|
+
| `--accept-language` | string | 否 | `zh-CN` | 响应语言:`zh-CN`(中文)、`en-US`(英文) |
|
|
17
18
|
|
|
18
19
|
### accept-language 选择策略
|
|
19
20
|
|
|
@@ -61,6 +62,9 @@ people-cli corehr +employee-search --keyword user
|
|
|
61
62
|
|
|
62
63
|
# 英文输出
|
|
63
64
|
people-cli corehr +employee-search --keyword 李 --accept-language en-US
|
|
65
|
+
|
|
66
|
+
# 明确按花名册场景搜索
|
|
67
|
+
people-cli corehr +employee-search --keyword 李 --app-key members
|
|
64
68
|
```
|
|
65
69
|
### 查看帮助
|
|
66
70
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: people-corehr-prehire
|
|
3
3
|
version: 3.1.0
|
|
4
|
-
description: "
|
|
4
|
+
description: "查询 CoreHR 入职流程数据:当用户要查询入职名单、入职记录、入职流程或待入职人员时使用;覆盖待入职、入职准备、已完成入职和撤回阶段,不处理员工信息或招聘投递数据。"
|
|
5
5
|
metadata:
|
|
6
6
|
requires:
|
|
7
7
|
bins: ["people-cli"]
|
|
@@ -10,7 +10,7 @@ metadata:
|
|
|
10
10
|
|
|
11
11
|
# people-corehr-prehire
|
|
12
12
|
|
|
13
|
-
> **调用边界**:本 skill
|
|
13
|
+
> **调用边界**:本 skill 覆盖 CoreHR 入职流程记录,包括待入职、入职准备、已完成入职和撤回阶段,统一使用 `people-cli corehr +prehire-*` Shortcut。员工花名册和当前员工资料走 `people-corehr-employee`;招聘投递、候选人和面试走 `people-hire`。
|
|
14
14
|
>
|
|
15
15
|
> **元数据流程(最严格)**:
|
|
16
16
|
> - 搜索前必须先调用 `+prehire-fields-query` 获取 Option Fields,确定可返回字段及 `--fields` 别名。
|
|
@@ -41,14 +41,16 @@ metadata:
|
|
|
41
41
|
|
|
42
42
|
## 何时使用
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
只在用户要查询以下内容时使用:
|
|
45
45
|
|
|
46
|
-
-
|
|
47
|
-
-
|
|
46
|
+
- 查询入职名单、入职记录、入职流程、入职进度或待入职人员。
|
|
47
|
+
- 获取入职流程可返回字段或可筛选字段。
|
|
48
|
+
- 按条件搜索入职流程数据,并指定返回字段。
|
|
48
49
|
|
|
49
50
|
不要使用:
|
|
50
51
|
|
|
51
|
-
-
|
|
52
|
+
- 查询员工花名册、当前员工资料、异动、离职、编制。
|
|
53
|
+
- 查询招聘投递、候选人、面试、职位或招聘需求。
|
|
52
54
|
- 用户没有查询意图,只是讨论字段含义或业务规则。
|
|
53
55
|
|
|
54
56
|
## 标准流程(3 阶段)
|
|
@@ -87,7 +89,7 @@ people-cli corehr +prehire-filter-options-query --accept-language zh-CN --format
|
|
|
87
89
|
- `keyword` / `stage_id`:右值透传,不加 `:name`。
|
|
88
90
|
3. 用户给纯数字 ID 或 option ID 时用裸 `api_name`;用户给名称时用 `<api_name>:name`。
|
|
89
91
|
4. 不在本次 Filter Fields 中、但在 Option Fields 中的字段,只能作为返回字段,不能直接筛选;按 [`troubleshooting.md`](references/troubleshooting.md) 的“可看不可筛”流程处理。
|
|
90
|
-
5.
|
|
92
|
+
5. 必须按 [`templates.md`](references/templates.md#stage_id-语义) 解析明确或未说明的入职阶段。日期只生成日期筛选条件,禁止根据过去、今年或未来推断 `stage_id`。
|
|
91
93
|
|
|
92
94
|
### 阶段 3:整理后调用 Search,获取筛选条件下的指定字段
|
|
93
95
|
|
|
@@ -149,7 +151,7 @@ people-cli corehr +prehire-search \
|
|
|
149
151
|
- [ ] 筛选字段:`api_name` 精确匹配;歧义已澄清。
|
|
150
152
|
- [ ] **`:name` 后缀已按用户输入选对**:纯数字 ID 用裸 `api_name`;名称用 `<api_name>:name`。
|
|
151
153
|
- [ ] `--common-filters` 每项都是 `{"api_name": "...", "values": [...]}`。
|
|
152
|
-
- [ ]
|
|
154
|
+
- [ ] `stage_id` 已按用户明确状态或入职流程名单的缺省口径处理;日期没有被用于推断阶段。
|
|
153
155
|
- [ ] 真实执行后检查了 `has_more` / `page_token`。
|
|
154
156
|
- [ ] **本轮只调用了一次** `+prehire-search`;未自行翻页 / 复跑 / 调大 `--page-size`,除非用户显式要「全部 / 翻页 / 继续」。
|
|
155
157
|
- [ ] 用户**显式**要「导出全部字段 / 所有字段 / `all` / `*`」时,已按 [`return-fields.md` 全字段导出](references/return-fields.md#全字段导出) 把本次 Option Fields 支持且非默认的别名一次性拼到 `--fields`,并配 `--page-size 100`,**未**报告"无法一次导出"。
|
|
@@ -26,7 +26,7 @@ people-cli corehr +prehire-filter-options-query \
|
|
|
26
26
|
- 用途:确定 `+prehire-search --common-filters` 的筛选左值、右值来源和本地枚举 options。
|
|
27
27
|
- 搜索前必须在 Option Fields 之后执行;不要根据经验猜测筛选字段或枚举值。
|
|
28
28
|
|
|
29
|
-
### 3.
|
|
29
|
+
### 3. 查询入职流程数据
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
32
|
people-cli corehr +prehire-search \
|
|
@@ -66,12 +66,13 @@ people-cli corehr +prehire-search \
|
|
|
66
66
|
|
|
67
67
|
口径:
|
|
68
68
|
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
69
|
+
- 明确「待入职 / 即将入职」→ `["preboarding","day_one"]`。
|
|
70
|
+
- 明确「已入职 / 完成入职 / 入职流程全部走完」→ `["completed"]`。
|
|
71
|
+
- 明确「放弃入职 / 撤回」→ `["withdrawn"]`。
|
|
72
|
+
- 查询入职流程名单且未说明状态 → 显式传 `["preboarding","day_one","completed"]`,查询全部未撤回的有效入职记录,不使用命令默认值缩窄口径。
|
|
73
|
+
- 日期、年份以及过去/今年/未来等时间关系只决定日期筛选条件,禁止据此推断 `stage_id`。
|
|
74
|
+
- 只有查询语义已经明确是待入职、且没有更细阶段要求时,才可以依赖命令默认 `["preboarding","day_one"]`。
|
|
75
|
+
- 用户显式指定阶段时直接传入,不再附加默认。
|
|
75
76
|
|
|
76
77
|
## 强约束消歧规则
|
|
77
78
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: people-corehr-workforce-plan
|
|
3
3
|
version: 1.1.0
|
|
4
|
-
description: "当需要用 people-cli 操作 CoreHR 编制规划时调用:适用于查询编制方案、当前生效方案、编制 HC、在职人数、预增、预减、缺编数、满编率、编制汇总、维度分组、Top N
|
|
4
|
+
description: "当需要用 people-cli 操作 CoreHR 编制规划时调用:适用于查询编制方案、当前生效方案、编制 HC、在职人数、预增、预减、缺编数、满编率、编制汇总、维度分组、Top N、编制明细和原始行数据。"
|
|
5
5
|
metadata:
|
|
6
6
|
requires:
|
|
7
7
|
bins: ["people-cli"]
|
|
@@ -18,7 +18,7 @@ metadata:
|
|
|
18
18
|
|
|
19
19
|
使用:查询编制方案 / 当前生效方案 / 方案维度;查询编制 HC、在职人数、预增、预减、缺编数、满编率;按方案维度筛选、分组、Top N、分布、占比、对比、趋势;查询编制明细、原始行、缺维度行、过滤全零行;导出编制汇总或明细到 Excel。
|
|
20
20
|
|
|
21
|
-
不要使用(应转其他 skill):搜索员工、员工基本信息、任职记录、待入职、异动、离职、员工字段筛选 → `people-corehr`;纯认证 / 初始化 / 切换 `--as` / 处理 scope
|
|
21
|
+
不要使用(应转其他 skill):搜索员工、员工基本信息、任职记录、待入职、异动、离职、员工字段筛选 → `people-corehr`;查询组织对象本身的字段、节点、上下级关系或组织树 → `people-corehr-organization`;纯认证 / 初始化 / 切换 `--as` / 处理 scope;用户只是泛化讨论组织设计或预算管理,并未要求查询编制数据。只有组织作为编制规划的筛选或分组维度时,才留在本 skill。
|
|
22
22
|
|
|
23
23
|
## 路由表
|
|
24
24
|
|
package/skills/people-cli.zip
CHANGED
|
Binary file
|