@lark-people/cli 0.0.0 → 0.0.1
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 -2
- package/scripts/install-wizard.js +2 -3
- package/skills/people-hire/SKILL.md +162 -0
- package/skills/people-hire/references/people-hire-application.md +324 -0
- package/skills/people-hire/references/people-hire-evaluation-task-list.md +232 -0
- package/skills/people-hire/references/people-hire-evaluation.md +126 -0
- package/skills/people-hire/references/people-hire-interview-record.md +107 -0
- package/skills/people-hire/references/people-hire-interview-task-list.md +246 -0
- package/skills/people-hire/references/people-hire-interview.md +142 -0
- package/skills/people-hire/references/people-hire-job-process.md +92 -0
- package/skills/people-hire/references/people-hire-job-requirement.md +217 -0
- package/skills/people-hire/references/people-hire-job.md +266 -0
- package/skills/people-hire/references/people-hire-minutes.md +86 -0
- package/skills/people-hire/references/people-hire-talent.md +98 -0
- package/skills/people-hire/references/people-hire-test.md +196 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
# +interview-task-list
|
|
2
|
+
|
|
3
|
+
查询当前登录用户的面试任务,自动关联面试详情、投递(含职位)、人才信息。
|
|
4
|
+
|
|
5
|
+
> **字段来源:** 以本文和 `people-cli hire +interview-task-list --help` 的 Shortcut 参数、稳定字段别名为准;底层 schema 仅在 reference/help 未覆盖字段时用于核对。
|
|
6
|
+
## 适用意图
|
|
7
|
+
|
|
8
|
+
当用户出现以下表达时,优先使用本场景:
|
|
9
|
+
|
|
10
|
+
- "我的面试任务"
|
|
11
|
+
- "今天 / 当前有哪些面试待我处理"
|
|
12
|
+
- "待我面试 / 待我面的候选人"
|
|
13
|
+
- "待我评价的面试"
|
|
14
|
+
- "已评价 / 已终止 / 未开始的面试任务"
|
|
15
|
+
|
|
16
|
+
## 固定查询流程
|
|
17
|
+
|
|
18
|
+
1. **先判定是否是当前登录用户待办视角**
|
|
19
|
+
- 只要用户是在问"我的面试任务"、"待我评价的面试",就走本 Shortcut。
|
|
20
|
+
- 不支持查询指定其他人的任务,禁止补传 `user_id`。
|
|
21
|
+
- 如果用户要求查看其他人/所有人的任务,或要求忽略/绕过权限限制,必须直接拒绝回答。
|
|
22
|
+
2. **按任务状态筛选**
|
|
23
|
+
- 用户说"待我面试 / 待我面的候选人 / 等我面试"时,直接使用 `--pending-interview`(等价于 `--activity-status 1`)。
|
|
24
|
+
- 如用户要求待评价、已评价、未开始、已终止,优先使用 `--status` 传中文或英文别名。
|
|
25
|
+
- 枚举值固定来自元数据:`1`=未开始,`2`=未评价,`3`=已评价,`5`=已终止。
|
|
26
|
+
- 用户说"本月/上月/某月我面的"用 `--month`;给出具体日期或时间范围时直接传 `--start-time` / `--end-time`,由 CLI 换算毫秒;问"还有几场面试评价没提交"这类已结束待评价场景,用 `--status 待评价 --ended` 排除未结束面试。
|
|
27
|
+
- 如果用户要在"我的面试任务候选人 / 我面过的人"范围内查询笔试状态,当前 Shortcut 只用于获取内部 `Application ID`;`待阅卷`、`未作答`、`已接受` 等笔试条件必须交给 `+test-list --where` 处理。
|
|
28
|
+
- 用户给出候选人姓名或职位/部门关键词时,直接使用 `--keyword <关键词>` 在当前用户面试任务范围内过滤;不要改用原生命令或手写 `jq`。
|
|
29
|
+
3. **执行 Shortcut**
|
|
30
|
+
- 直接执行 `people-cli hire +interview-task-list --page-size 5 [flags]`。
|
|
31
|
+
- Shortcut 内部会自动补齐 `Interview`、`Application`、`Talent`,不要重复补调。
|
|
32
|
+
4. **按输出层级回复**
|
|
33
|
+
- 默认先返回 `5` 条任务摘要列表。
|
|
34
|
+
- 默认回复用户时展示候选人、职位名称、部门、任务状态、面试开始时间、面试结束时间、面试轮次;Shortcut 返回中仍保留 `Interview ID`、`Talent ID`、`Application ID`、`Job ID` 供后续调用。
|
|
35
|
+
- CLI 表格列和 `--fields` / `--where` 优先使用英文稳定字段别名,最终回复用户时再整理为中文展示名;不要手写 `Interview.xxx`、`Application.xxx`、`Talent.xxx` 这类嵌套 jq 路径。
|
|
36
|
+
- 候选人姓名使用纯文本展示。
|
|
37
|
+
- 除非用户明确指定,否则不要展示任何 ID 类型字段。
|
|
38
|
+
- 如果当前页之外还有更多数据,CLI/Shortcut 输出的 `page_token` 供 skill/agent 内部继续翻页;最终回复用户时只提示"还有更多数据",不要展示 `page_token`。
|
|
39
|
+
- 如果用户明确指定查询后过滤条件(如 `XX天内`、`全部`、`XX状态`、`我的XXX`),使用 Shortcut 的 `--where` / `--mode` / `--limit` / `--scan-page-limit` 受控扫描;不要手动循环 `page_token`。
|
|
40
|
+
- 不要在本 Shortcut 上过滤 `test_status` / `reply_status`;这些不是面试任务字段。需要笔试状态时,先保留 `application_id` 供 `+test-list --application-id` 使用。
|
|
41
|
+
- `Interview` 裁剪对象可能包含 `interview_record_list` 的轻量摘要;默认回复用户时不要展开面评详情,用户需要新版面评详情时,使用该面试的 `interview_id` 调 `+interview-record-detail --interview-id`。
|
|
42
|
+
- 用户明确要求完整结构时,优先使用 `--view full`(兼容旧参数 `--no-trim`)。
|
|
43
|
+
- 用户只要少数字段时,使用 `--fields` 精确提取,禁止为了字段裁剪手写 `--jq`。
|
|
44
|
+
|
|
45
|
+
## 用法
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
people-cli hire +interview-task-list [flags]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 参数
|
|
52
|
+
|
|
53
|
+
| Flag | 类型 | 必填 | 默认值 | 说明 |
|
|
54
|
+
|------|------|------|--------|------|
|
|
55
|
+
| `--activity-status` | int | 否 | - | 任务状态筛选:`1`=未开始,`2`=未评价,`3`=已评价,`5`=已终止 |
|
|
56
|
+
| `--status` | string | 否 | - | 任务状态别名:`未开始`、`待评价`/`未评价`、`已评价`、`已终止`、`已结束`;与 `--activity-status` 冲突时会报错。`已结束` 等价于 `--ended` |
|
|
57
|
+
| `--pending-interview` | bool | 否 | `false` | 待我面试/未开始面试任务,等价于 `--activity-status 1` |
|
|
58
|
+
| `--to-interview` | bool | 否 | `false` | `--pending-interview` 别名 |
|
|
59
|
+
| `--start-time` | string | 否 | - | 最早面试开始时间,支持毫秒时间戳或日期字符串;Shortcut 内部受控扫描 |
|
|
60
|
+
| `--end-time` | string | 否 | - | 最晚面试开始时间,支持毫秒时间戳或日期字符串;Shortcut 内部受控扫描 |
|
|
61
|
+
| `--time-from` / `--start-date` | string | 否 | - | `--start-time` 别名 |
|
|
62
|
+
| `--time-to` / `--end-date` | string | 否 | - | `--end-time` 别名 |
|
|
63
|
+
| `--month` | string | 否 | - | 面试月份,支持 `YYYY-MM`、`本月`/`current`、`上月`/`last` |
|
|
64
|
+
| `--keyword` | string | 否 | - | 在当前用户面试任务范围内按候选人、职位、部门、阶段等关键词过滤 |
|
|
65
|
+
| `--ended` | bool | 否 | `false` | 仅保留已结束面试,常用于"待评价但已结束" |
|
|
66
|
+
| `--page-size` | int | 否 | `5` | skill 默认分页大小(最大 20) |
|
|
67
|
+
| `--page-token` | string | 否 | - | 分页 token,首次查询不传 |
|
|
68
|
+
| `--view` | enum | 否 | `summary` | 输出视图:`summary` 裁剪视图,`full` 原始字段视图 |
|
|
69
|
+
| `--fields` | string | 否 | - | 逗号分隔字段名,如 `interview_id,application,talent` |
|
|
70
|
+
| `--where` | string | 否 | - | 查询后过滤表达式,如 `department contains Brand` |
|
|
71
|
+
| `--limit` | int | 否 | - | 最多返回的匹配行数,默认等于 `--page-size` |
|
|
72
|
+
| `--scan-page-limit` | int | 否 | - | 查询后过滤最多扫描源页数 |
|
|
73
|
+
| `--mode` | enum | 否 | `list` | `list` / `exists` / `count` / `aggregate` |
|
|
74
|
+
| `--group-by` | string | 否 | - | `--mode aggregate` 时按哪个字段聚合 |
|
|
75
|
+
| `--no-trim` | bool | 否 | `false` | 禁用输出裁剪,返回 API 原始完整数据 |
|
|
76
|
+
|
|
77
|
+
### 说明
|
|
78
|
+
|
|
79
|
+
- 该命令**无需传入 user_id**,默认查询当前登录用户的面试任务。
|
|
80
|
+
- 自动关联查询以下信息,**无需再单独调用对应 API**:
|
|
81
|
+
- **Interview**:面试详情(通过 `interview.list` + interview_id 查询)
|
|
82
|
+
- **Application**:投递详情(通过 `application.get` + `with_job` option 查询,同时返回职位信息)
|
|
83
|
+
- **Talent**:人才详情(通过 `talent.detail` 查询)
|
|
84
|
+
|
|
85
|
+
## 标准输入
|
|
86
|
+
|
|
87
|
+
以下输入字段由当前 Shortcut flag 固定,按本文和 `people-cli hire +interview-task-list --help` 使用:
|
|
88
|
+
|
|
89
|
+
| 输入项 | 来源 | 类型 | 说明 |
|
|
90
|
+
|------|------|------|------|
|
|
91
|
+
| `activity_status` | `interview-task.list` query / `--activity-status` | int | 任务状态,`1/2/3/5` |
|
|
92
|
+
| `status` | Shortcut 扩展 / `--status` | string | 任务状态中文或英文别名,会映射为 `activity_status` |
|
|
93
|
+
| `pending-interview` / `to-interview` | Shortcut 扩展 | bool | 待我面试语义别名,会映射为 `activity_status=1` |
|
|
94
|
+
| `start-time` / `end-time` / `time-from` / `time-to` / `start-date` / `end-date` / `month` / `ended` | Shortcut 扩展 | string/bool | 面试开始/结束时间相关受控过滤;时间由 CLI 换算 |
|
|
95
|
+
| `keyword` | Shortcut 扩展 | string | 当前用户任务范围内的候选人、职位、部门、阶段关键词过滤 |
|
|
96
|
+
| `page_size` | `interview-task.list` query / `--page-size` | int | skill 默认 `5`,最大 `20` |
|
|
97
|
+
| `page_token` | `interview-task.list` query / `--page-token` | string | 翻页 token |
|
|
98
|
+
| `view` | Shortcut 扩展 / `--view` | enum | `summary` / `full` |
|
|
99
|
+
| `fields` | Shortcut 扩展 / `--fields` | string | 逗号分隔输出字段 |
|
|
100
|
+
| `where` / `mode` / `limit` / `scan-page-limit` / `group-by` | Shortcut 扩展 | string/int | 查询后过滤、计数和聚合控制 |
|
|
101
|
+
| `no-trim` | Shortcut 扩展 | bool | 是否返回完整未裁剪结构 |
|
|
102
|
+
|
|
103
|
+
> `interview-task.list` 原始接口包含 `user_id`、`user_id_type`,但本 Shortcut 已固定为"当前登录用户任务查询",调用时禁止传入。
|
|
104
|
+
> 时间范围优先用 `--month` 或 `--start-time` / `--end-time`,也兼容 `--time-from` / `--time-to`、`--start-date` / `--end-date`。时间 flag 支持毫秒时间戳、`YYYY-MM`、`YYYY-MM-DD`、`YYYY-MM-DD HH:mm[:ss]`、`近/最近 N 天/周/月/季度/年`、`今天/today`、`昨天/yesterday`、`本月/current`、`上月/last`;不要让模型自行计算毫秒。`--where` 中时间字段使用稳定别名 `begin_time` / `end_time`;CLI 兼容 `interview_time`、`interview_start_time`。多条件优先用分号分隔,CLI 兼容英文 `AND`,但不支持 `OR`。
|
|
105
|
+
|
|
106
|
+
## 标准输出
|
|
107
|
+
|
|
108
|
+
本场景输出分两层:
|
|
109
|
+
|
|
110
|
+
1. **内部关联字段层**:来自 `interview-task.list`
|
|
111
|
+
2. **自动补齐层**:来自 `interview.list`、`application.get`、`talent.detail`
|
|
112
|
+
|
|
113
|
+
内部关联字段默认只供后续查询和状态映射使用,不直接展示给用户:
|
|
114
|
+
|
|
115
|
+
| 字段 | 来源 | 类型 | 说明 |
|
|
116
|
+
|------|------|------|------|
|
|
117
|
+
| `Interview ID` | `interview-task.list.items[].id` | string | 面试 ID |
|
|
118
|
+
| `Job ID` | `interview-task.list.items[].job_id` | string | 职位 ID |
|
|
119
|
+
| `Talent ID` | `interview-task.list.items[].talent_id` | string | 人才 ID |
|
|
120
|
+
| `Application ID` | `interview-task.list.items[].application_id` | string | 投递 ID |
|
|
121
|
+
| `Activity Status` | `interview-task.list.items[].activity_status` | int | 任务状态。枚举:1=未开始, 2=未评价, 3=已评价, 5=已终止 |
|
|
122
|
+
|
|
123
|
+
## 所需权限
|
|
124
|
+
|
|
125
|
+
| Scope |
|
|
126
|
+
|-------|
|
|
127
|
+
| `hire:interview:readonly`、`hire:application:readonly`、`hire:talent:readonly` |
|
|
128
|
+
|
|
129
|
+
## 默认回复与字段别名
|
|
130
|
+
|
|
131
|
+
### 默认展示字段
|
|
132
|
+
|
|
133
|
+
默认回复应优先整理为列表,字段固定如下:
|
|
134
|
+
|
|
135
|
+
| 用户回复字段 | CLI 字段 / 稳定别名 | 说明 |
|
|
136
|
+
|------|------|------|
|
|
137
|
+
| 候选人 | `Candidate Name` / `Talent.basic_info.name` / `candidate` | 候选人姓名,以纯文本展示 |
|
|
138
|
+
| 职位名称 | `Application.job.name` / `job` / `job_name` | 投递职位名称 |
|
|
139
|
+
| 部门 | `Application.job.department.name` / `department` | 部门名称,通常取 `zh_cn` |
|
|
140
|
+
| 任务状态 | `Activity Status` / `activity_status` | 面试任务状态 |
|
|
141
|
+
| 面试开始时间 | `Interview.begin_time` / `begin_time` | 面试开始时间 |
|
|
142
|
+
| 面试结束时间 | `Interview.end_time` / `end_time` | 面试结束时间 |
|
|
143
|
+
| 面试轮次 | `Interview.round` / `round` | 面试轮次 |
|
|
144
|
+
|
|
145
|
+
> Shortcut 默认保留 `Interview ID`、`Job ID`、`Talent ID`、`Application ID` 作为内部关联字段,但除非用户明确指定,不要在回复中直接展示这些 ID。若用户要求完整嵌套结构,使用 `--view full`。
|
|
146
|
+
> 自行分组或重排面试任务表格时,候选人名使用纯文本;不要在最终回复里展示 ID 列。
|
|
147
|
+
|
|
148
|
+
### 补齐对象与字段别名
|
|
149
|
+
|
|
150
|
+
Shortcut 会自动补齐 `Interview`、`Application`、`Talent` 三个对象。默认摘要只保留关键字段;完整结构使用 `--view full`。
|
|
151
|
+
|
|
152
|
+
| 对象 / 别名 | 默认含义 |
|
|
153
|
+
|------|------|
|
|
154
|
+
| `Interview` / `interview` | 面试详情,默认含 `begin_time`、`end_time`、`round`、`interview_record_list` 轻量摘要 |
|
|
155
|
+
| `Application` / `application` | 投递详情,默认含 `active_status`、`stage`、`job` |
|
|
156
|
+
| `Talent` / `talent` | 人才详情,默认含 `talent_id`、`basic_info.name` |
|
|
157
|
+
| `candidate` / `candidate_name` | 候选人姓名过滤或字段选择别名 |
|
|
158
|
+
| `job` / `job_name` | 职位名称过滤或字段选择别名 |
|
|
159
|
+
| `department`、`stage`、`active_status`、`job_category` | 来自投递/职位的查询后过滤别名 |
|
|
160
|
+
| `begin_time`、`end_time`、`round`、`interview_type` | 来自面试记录的查询后过滤别名 |
|
|
161
|
+
| `search` / `keyword` | 候选人、职位、部门、阶段等摘要文本的过滤别名 |
|
|
162
|
+
|
|
163
|
+
> `interview_record_list` 是轻量摘要,不等同于新版面评详情;需要完整面评内容时,用 `+interview-record-detail --interview-id <interview_id>`。面试任务里的 `Talent` 只作为轻量摘要;用户明确需要教育/项目/工作经历等履历时,可使用 `+talent-detail --talent-id <talent_id>` 查询裁剪后的候选人详情。
|
|
164
|
+
> 不要在面试任务列表上过滤 `conclusion`、`evaluation`、`test_status`、`reply_status`:面试结论去 `+interview-record-detail`,笔试状态先保留 `Application ID` 再用 `+test-list --application-id`。
|
|
165
|
+
|
|
166
|
+
### 输出格式
|
|
167
|
+
|
|
168
|
+
默认使用表格输出,和其它招聘列表 Shortcut 保持一致。显式传 `--format json` 时数据被 Envelope 包装:
|
|
169
|
+
|
|
170
|
+
```json
|
|
171
|
+
{
|
|
172
|
+
"ok": true,
|
|
173
|
+
"identity": "user",
|
|
174
|
+
"data": [ ... ],
|
|
175
|
+
"meta": { "count": N }
|
|
176
|
+
}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
`--format table` 时嵌套对象会被扁平化为点号分隔的列显示;这是默认格式。精确字段裁剪使用 `--fields`。
|
|
180
|
+
|
|
181
|
+
## 输出裁剪
|
|
182
|
+
|
|
183
|
+
**默认行为**:自动裁剪输出,只返回关键字段,减少模型幻觉风险。裁剪后每条记录约 0.3KB(裁剪前约 3-5KB)。
|
|
184
|
+
|
|
185
|
+
- 默认裁剪无需额外参数;完整结构使用 `--view full`(兼容旧参数 `--no-trim`)。
|
|
186
|
+
- `--fields`、`--where`、`--group-by` 使用上方稳定字段别名,不要手写 jq 路径。
|
|
187
|
+
|
|
188
|
+
## 使用 --fields 精确提取
|
|
189
|
+
|
|
190
|
+
当只需要特定字段时,用 `--fields` 过滤,避免返回大量无关数据:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# 5 条 + 仅提取展示字段和关联 ID
|
|
194
|
+
people-cli hire +interview-task-list --page-size 5 --fields interview_id,job_id,talent_id,application_id,interview,application,talent
|
|
195
|
+
|
|
196
|
+
# 只提取待评价的面试摘要
|
|
197
|
+
people-cli hire +interview-task-list --status 待评价 --fields interview_id,talent,application
|
|
198
|
+
|
|
199
|
+
# 提取面试时间摘要
|
|
200
|
+
people-cli hire +interview-task-list --fields talent,interview
|
|
201
|
+
|
|
202
|
+
# 给后续笔试查询取投递 ID,ID 只作内部关联,不展示给用户
|
|
203
|
+
people-cli hire +interview-task-list --fields application_id,candidate,job,interview --limit 100 --scan-page-limit 10
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
> **提示**:`--fields` 使用稳定字段别名,如 `interview_id`、`application_id`、`talent`、`interview`、`application`,不要手写 jq 路径。
|
|
207
|
+
|
|
208
|
+
## 示例
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
# 查询当前用户面试任务摘要(默认 5 条 + 默认表格输出)
|
|
212
|
+
people-cli hire +interview-task-list --page-size 5
|
|
213
|
+
|
|
214
|
+
# 只查询待我面试/未开始的面试任务
|
|
215
|
+
people-cli hire +interview-task-list --pending-interview
|
|
216
|
+
|
|
217
|
+
# 只查询待评价的面试任务
|
|
218
|
+
people-cli hire +interview-task-list --status 待评价
|
|
219
|
+
|
|
220
|
+
# 按候选人或职位关键词在我的面试任务中查询
|
|
221
|
+
people-cli hire +interview-task-list --keyword 蒋零零 --fields application_id,talent_id,candidate,job,interview
|
|
222
|
+
|
|
223
|
+
# 查询已结束但待提交评价的面试
|
|
224
|
+
people-cli hire +interview-task-list --status 待评价 --ended --limit 5
|
|
225
|
+
|
|
226
|
+
# 查看本月我的面试数量
|
|
227
|
+
people-cli hire +interview-task-list --month 本月 --mode count
|
|
228
|
+
|
|
229
|
+
# 查看近两个月我的面试任务,时间由 CLI 换算
|
|
230
|
+
people-cli hire +interview-task-list --start-time 近两个月 --end-time 今天 --fields application_id,candidate,job,interview
|
|
231
|
+
|
|
232
|
+
# 只查询已评价的面试任务
|
|
233
|
+
people-cli hire +interview-task-list --status 已评价
|
|
234
|
+
|
|
235
|
+
# 用户明确要求更多条数时再调整分页大小
|
|
236
|
+
people-cli hire +interview-task-list --page-size 20
|
|
237
|
+
|
|
238
|
+
# 用户明确要求继续时再翻页
|
|
239
|
+
people-cli hire +interview-task-list --page-token <token>
|
|
240
|
+
|
|
241
|
+
# 获取完整未裁剪数据
|
|
242
|
+
people-cli hire +interview-task-list --view full
|
|
243
|
+
|
|
244
|
+
# 以表格格式输出
|
|
245
|
+
people-cli hire +interview-task-list --format table
|
|
246
|
+
```
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# interview
|
|
2
|
+
|
|
3
|
+
## 这是"查面试信息"场景的核心模块,覆盖按投递或面试 ID 获取面试记录与面评信息。
|
|
4
|
+
|
|
5
|
+
> **字段来源:** 本文中的输入输出字段以 `people-cli hire +interview-list --help` 为准;底层 schema 仅在 reference/help 未覆盖字段时用于核对。
|
|
6
|
+
> **强制约束:** 面试记录列表必须使用 `people-cli hire +interview-list`,禁止直接调用原生 `people-cli hire interview list`。
|
|
7
|
+
## 适用意图
|
|
8
|
+
|
|
9
|
+
当用户出现以下表达时,优先使用本场景:
|
|
10
|
+
|
|
11
|
+
- "查某次投递的面试记录"
|
|
12
|
+
- "查某个 interview_id 的面试详情"
|
|
13
|
+
- "基于面试记录继续查速记或新版面评详情"
|
|
14
|
+
|
|
15
|
+
### 意图和命令索引
|
|
16
|
+
|
|
17
|
+
| 用途 / 何时使用 | 命令 | 说明 |
|
|
18
|
+
| ---------------- | ---------------------------------- | ------------------------------------------------------- |
|
|
19
|
+
| 查询面试记录列表 | `people-cli hire +interview-list` | 可按 `application_id`、`interview_id`、时间范围筛选 |
|
|
20
|
+
| 查询面试速记文本 | `people-cli hire +minutes-detail` | 需要先有 `interview_id`,详见 [`people-hire-minutes.md`](people-hire-minutes.md) |
|
|
21
|
+
| 查询新版面评详情 | `people-cli hire +interview-record-detail` | 可传 `interview_record_id`,或在面试仅有一条面评记录时传 `interview_id`,详见 [`people-hire-interview-record.md`](people-hire-interview-record.md) |
|
|
22
|
+
|
|
23
|
+
### 常见问法示例
|
|
24
|
+
|
|
25
|
+
- "查这次投递的面试记录"
|
|
26
|
+
- "看这个 `interview_id` 的面试详情"
|
|
27
|
+
- "看这场面试的速记"
|
|
28
|
+
- "看这条面评记录详情"
|
|
29
|
+
|
|
30
|
+
### 面试查询调用流程
|
|
31
|
+
|
|
32
|
+
1. **确认查询主键**
|
|
33
|
+
- 有 `interview_id` 时优先按 `interview_id` 查。
|
|
34
|
+
- 否则有 `application_id` 时按投递查对应面试列表。
|
|
35
|
+
2. **执行查询**
|
|
36
|
+
- 使用 `people-cli hire +interview-list`,不要手写原生 `--params` / `--jq`。
|
|
37
|
+
- 默认 `--page-size 5`、`--view summary`;需要特定字段时用 `--fields`。
|
|
38
|
+
- 列表类查询默认只查当前页;如需查询后过滤、存在性判断、计数或聚合,使用 Shortcut 的 `--where` / `--mode` / `--limit` / `--scan-page-limit`。
|
|
39
|
+
4. **按层级输出**
|
|
40
|
+
- 默认使用 Shortcut 裁剪视图,只取面试主信息,以及用于后续查询的 `interview_id`、`application_id` 等内部关联字段。
|
|
41
|
+
- 先输出面试主信息(时间、轮次、阶段、状态),默认不展示 ID。
|
|
42
|
+
- 如果当前页之外还有更多数据,CLI/Shortcut 输出的 `page_token` 供 skill/agent 内部继续翻页;最终回复用户时只提示"还有更多数据",不要展示 `page_token`。
|
|
43
|
+
- 如果用户明确指定查询后过滤条件(如 `XX天内`、`全部`、`XX状态`、`我的XXX`),使用 Shortcut 受控扫描参数;不要手动循环 `page_token`。
|
|
44
|
+
- `+interview-list` 的 summary 会保留 `Interview ID`、`Interview Record IDs`、`Interviewers`、`Record Status Summary` 以及提交/未提交数量,供判断每轮是否有面评;默认回复用户时不要展示这些 ID。只有一条面评记录时可把 `Interview ID` 传给 `+interview-record-detail --interview-id`;有多条时必须明确传 `--interview-record-id`。
|
|
45
|
+
5. **按需衔接新接口**
|
|
46
|
+
- 用户要"面试速记 / 逐字稿 / 根据速记生成面评初稿"时,切到 [`people-hire-minutes.md`](people-hire-minutes.md)。
|
|
47
|
+
- 用户要"新版面试评价详情 / 面评内容 / 面试结论 / 面评打分"时,切到 [`people-hire-interview-record.md`](people-hire-interview-record.md)。只有一条面评记录时可用 `+interview-record-detail --interview-id <interview_id>`,有多条时要求明确指定 `--interview-record-id`。
|
|
48
|
+
|
|
49
|
+
### 不要误走
|
|
50
|
+
|
|
51
|
+
- 用户问"我的待评价面试"时,不要误走 `interview.list`,必须用 `+interview-task-list`。
|
|
52
|
+
- 用户只有职位 ID 或人才 ID 时,不要直接猜测能查到唯一面试记录;优先通过投递链路拿到 `application_id`。
|
|
53
|
+
- 用户只要单条面试的流程上下文时,不要只给面试记录,可根据需要继续衔接 `application.get`。
|
|
54
|
+
- 用户要速记文本时,不要用 `+interview-list` 的字段编造,应使用 `+minutes-detail`。
|
|
55
|
+
- 用户要新版面评详情时,不要把 `interview_id` 当成 `interview_record_id`;有 `interview_id` 时传 `+interview-record-detail --interview-id <interview_id>`。
|
|
56
|
+
|
|
57
|
+
## 标准输入
|
|
58
|
+
|
|
59
|
+
以下字段来自 `+interview-list`:
|
|
60
|
+
|
|
61
|
+
| 参数 | 对应接口字段 | 类型 | 说明 |
|
|
62
|
+
| --------------------- | ----- | ------ | ---------------------- |
|
|
63
|
+
| `--page-size` | `page_size` | int | 默认 `5`,最大 `100` |
|
|
64
|
+
| `--page-token` | `page_token` | string | 翻页 token |
|
|
65
|
+
| `--application-id` | `application_id` | string | 投递 ID |
|
|
66
|
+
| `--interview-id` | `interview_id` | string | 面试 ID |
|
|
67
|
+
| `--start-time` | `start_time` | string | 最早开始时间,支持毫秒时间戳或日期/相对时间字符串 |
|
|
68
|
+
| `--end-time` | `end_time` | string | 最晚开始时间,支持毫秒时间戳或日期/相对时间字符串 |
|
|
69
|
+
| `--time-from` / `--start-date` | `start_time` | string | 最早开始时间别名,由 CLI 换算时间 |
|
|
70
|
+
| `--time-to` / `--end-date` | `end_time` | string | 最晚开始时间别名,由 CLI 换算时间 |
|
|
71
|
+
| `--job-level-id-type` | `job_level_id_type` | enum | `people_admin_job_level_id` / `job_level_id` |
|
|
72
|
+
| `--user-id-type` | `user_id_type` | enum | `user_id` / `union_id` / `open_id`,默认 `open_id` |
|
|
73
|
+
| `--view` | - | enum | `summary` 默认裁剪视图;`full` 原始字段视图 |
|
|
74
|
+
| `--fields` | - | string | 逗号分隔字段名,如 `interview_id,begin_time,round` |
|
|
75
|
+
| `--where` | - | string | 查询后过滤表达式 |
|
|
76
|
+
| `--limit` | - | int | 最多返回的匹配行数,默认等于 `--page-size` |
|
|
77
|
+
| `--scan-page-limit` | - | int | 查询后过滤最多扫描源页数 |
|
|
78
|
+
| `--mode` | - | enum | `list` / `exists` / `count` / `aggregate` |
|
|
79
|
+
| `--group-by` | - | string | `--mode aggregate` 时按哪个字段聚合 |
|
|
80
|
+
|
|
81
|
+
## 标准输出
|
|
82
|
+
|
|
83
|
+
`+interview-list --view summary` 默认返回以下稳定字段:
|
|
84
|
+
|
|
85
|
+
| 字段 | 类型 | 用途 | 说明 |
|
|
86
|
+
| --------------------------- | ------ | ---- | --------------------------------------------------------------------- |
|
|
87
|
+
| `id` | string | 内部关联 | 面试 ID,默认不展示 |
|
|
88
|
+
| `application_id` | string | 内部关联 | 投递 ID,默认不展示 |
|
|
89
|
+
| `stage_id` | string | 内部关联 | 面试关联阶段 ID,默认不展示 |
|
|
90
|
+
| `stage` | object | 默认展示 | 阶段信息 |
|
|
91
|
+
| `begin_time` | int | 默认展示 | 面试开始时间(ms) |
|
|
92
|
+
| `end_time` | int | 默认展示 | 面试结束时间(ms) |
|
|
93
|
+
| `round` | int | 默认展示 | 面试轮次 |
|
|
94
|
+
| `interview_round_summary` | int | 默认展示 | 面试状态汇总 |
|
|
95
|
+
| `feedback_submit_time` | int | 按需展示 | 面评提交时间 |
|
|
96
|
+
| `interview_type` | int | 按需展示 | 面试类型 |
|
|
97
|
+
| `interview_record_list[].id` | string | 内部关联 | 面评记录 ID,Shortcut summary 映射为 `Interview Record IDs`,默认不展示 |
|
|
98
|
+
| `interview_record_list[].interviewer` | object | 默认摘要 | Shortcut summary 映射为 `Interviewers` |
|
|
99
|
+
| `interview_record_list[].commit_status` | int/string | 默认摘要 / 过滤 | Shortcut summary 映射为 `Record Status Summary`、`Submitted Record Count`、`Unsubmitted Record Count` |
|
|
100
|
+
|
|
101
|
+
> `+interview-list` summary 只保留面试主信息、面试官和面评提交状态摘要;需要新版面评详情时,单条面评记录可使用 `+interview-record-detail --interview-id <interview_id>`,多条记录必须明确传 `--interview-record-id`。
|
|
102
|
+
|
|
103
|
+
分页状态字段(CLI/Shortcut 需要输出给 skill/agent 内部判断和续查,默认不对用户展示 `page_token`):
|
|
104
|
+
|
|
105
|
+
| 字段 | 类型 | 说明 |
|
|
106
|
+
| -------------- | ------ | ------------ |
|
|
107
|
+
| `has_more` | bool | 是否有下一页 |
|
|
108
|
+
| `page_token` | string | 内部翻页 token,CLI 可见,最终回复用户时默认隐藏 |
|
|
109
|
+
|
|
110
|
+
## 所需权限
|
|
111
|
+
|
|
112
|
+
| 方法 | Scope |
|
|
113
|
+
| ------------------ | --------------------------- |
|
|
114
|
+
| `interview.list` | `hire:interview:readonly` |
|
|
115
|
+
|
|
116
|
+
## 示例
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# 按投递 ID 查询面试记录
|
|
120
|
+
people-cli hire +interview-list --application-id 7046315599510833452 --page-size 5
|
|
121
|
+
|
|
122
|
+
# 按 interview_id 精确查询
|
|
123
|
+
people-cli hire +interview-list --interview-id 6989202908470446380 --page-size 5
|
|
124
|
+
|
|
125
|
+
# 按面试开始时间范围查询
|
|
126
|
+
people-cli hire +interview-list --time-from 1704067200000 --time-to 1706659200000 --page-size 5
|
|
127
|
+
|
|
128
|
+
# 只取 AI 需要消费的字段,避免手写 jq
|
|
129
|
+
people-cli hire +interview-list --application-id 7046315599510833452 --fields interview_id,application_id,stage,begin_time,end_time,round
|
|
130
|
+
|
|
131
|
+
# 查看每轮面试是否已有面评
|
|
132
|
+
people-cli hire +interview-list --application-id 7046315599510833452 --fields stage,round,interviewers,record_status_summary,submitted_record_count,unsubmitted_record_count
|
|
133
|
+
|
|
134
|
+
# 用户明确要求完整结构时
|
|
135
|
+
people-cli hire +interview-list --interview-id 6989202908470446380 --view full --format json
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## 选路提醒
|
|
139
|
+
|
|
140
|
+
- 查询"我的待办面试"时必须用 `+interview-task-list`,不要误用 `+interview-list`。
|
|
141
|
+
- `+interview-list` 是记录视角,不等价于任务待办视角。
|
|
142
|
+
- `+minutes-detail` 和 `+interview-record-detail` 是更细的下钻接口;拿到对应 ID 后按需调用,最终可见数据仍由服务端权限控制。
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# job-process
|
|
2
|
+
|
|
3
|
+
招聘流程查询场景,覆盖招聘流程列表和阶段配置。
|
|
4
|
+
|
|
5
|
+
> **字段来源:** 本文中的输入输出字段以 `people-cli hire +job-process-list --help` 为准;底层 schema 仅在 reference/help 未覆盖字段时用于核对。
|
|
6
|
+
> **强制约束:** 招聘流程列表必须使用 `people-cli hire +job-process-list`,禁止直接调用原生 `people-cli hire job-process list`。
|
|
7
|
+
|
|
8
|
+
## 适用意图
|
|
9
|
+
|
|
10
|
+
当用户出现以下表达时,优先使用本场景:
|
|
11
|
+
|
|
12
|
+
- "查招聘流程"
|
|
13
|
+
- "有哪些招聘流程"
|
|
14
|
+
- "查看流程阶段 / 阶段列表"
|
|
15
|
+
- "这个流程包含哪些阶段"
|
|
16
|
+
|
|
17
|
+
## 意图和命令索引
|
|
18
|
+
|
|
19
|
+
| 用途 / 何时使用 | 命令 | 说明 |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| 查询招聘流程列表与阶段配置 | `people-cli hire +job-process-list` | 返回流程名称、流程类型、阶段列表 |
|
|
22
|
+
|
|
23
|
+
## 固定查询流程
|
|
24
|
+
|
|
25
|
+
1. **确认是流程配置视角**
|
|
26
|
+
- 用户问流程、阶段配置、流程类型时走本接口。
|
|
27
|
+
- 用户问某职位的招聘进度时,优先走 `+job-detail` 或投递链路,不要误用流程配置接口。
|
|
28
|
+
2. **执行查询**
|
|
29
|
+
- 使用 `people-cli hire +job-process-list`,不要手写原生 `--params` / `--jq`。
|
|
30
|
+
- 默认 `--page-size 5`、`--view summary`;需要特定字段时用 `--fields`。
|
|
31
|
+
- 列表类查询默认只查当前页;如需按流程类型、阶段名称等返回字段过滤、计数或聚合,使用 Shortcut 的 `--where` / `--mode` / `--limit` / `--scan-page-limit`。
|
|
32
|
+
4. **结构化输出**
|
|
33
|
+
- 默认展示流程中文名、英文名、流程类型、阶段名称与阶段类型。
|
|
34
|
+
- `id`、阶段 `id` 默认仅作内部关联,不直接展示。
|
|
35
|
+
- 如果还有更多数据,CLI/Shortcut 输出的 `page_token` 供 skill/agent 内部继续翻页;最终回复用户时只提示"还有更多数据",不要展示 `page_token`。
|
|
36
|
+
|
|
37
|
+
## 标准输入
|
|
38
|
+
|
|
39
|
+
| 参数 | 对应接口字段 | 类型 | 说明 |
|
|
40
|
+
| --- | --- | --- | --- |
|
|
41
|
+
| `--page-size` | `page_size` | int | 默认 `5`,最大 `100` |
|
|
42
|
+
| `--page-token` | `page_token` | string | 翻页 token |
|
|
43
|
+
| `--view` | - | enum | `summary` 默认裁剪视图;`full` 原始字段视图 |
|
|
44
|
+
| `--fields` | - | string | 逗号分隔字段名,如 `process_id,process_type,stages` |
|
|
45
|
+
| `--where` | - | string | 查询后过滤表达式,如 `process_type=社招` |
|
|
46
|
+
| `--limit` | - | int | 最多返回的匹配行数,默认等于 `--page-size` |
|
|
47
|
+
| `--scan-page-limit` | - | int | 查询后过滤最多扫描源页数 |
|
|
48
|
+
| `--mode` | - | enum | `list` / `exists` / `count` / `aggregate` |
|
|
49
|
+
| `--group-by` | - | string | `--mode aggregate` 时按哪个字段聚合 |
|
|
50
|
+
|
|
51
|
+
## 标准输出
|
|
52
|
+
|
|
53
|
+
`+job-process-list --view summary` 默认返回以下稳定字段:
|
|
54
|
+
|
|
55
|
+
| 字段 | 类型 | 用途 | 说明 |
|
|
56
|
+
| --- | --- | --- | --- |
|
|
57
|
+
| `process_id` | string | 内部关联 | 流程 ID,默认不展示 |
|
|
58
|
+
| `chinese_name` / `zh_name` | string | 默认展示 | 中文名称 |
|
|
59
|
+
| `english_name` / `en_name` | string | 默认展示 | 英文名称 |
|
|
60
|
+
| `process_type` | int/string | 默认展示 | 流程类型,`1`=社招流程,`2`=校招流程 |
|
|
61
|
+
| `stages` / `stage_list` | string/array | 默认展示 | 阶段列表 |
|
|
62
|
+
|
|
63
|
+
分页状态字段:
|
|
64
|
+
|
|
65
|
+
| 字段 | 类型 | 说明 |
|
|
66
|
+
| --- | --- | --- |
|
|
67
|
+
| `has_more` | bool | 是否有下一页 |
|
|
68
|
+
| `page_token` | string | 内部翻页 token,CLI 可见,最终回复用户时默认隐藏 |
|
|
69
|
+
|
|
70
|
+
## 所需权限
|
|
71
|
+
|
|
72
|
+
| 方法 | Scope |
|
|
73
|
+
| --- | --- |
|
|
74
|
+
| `job-process.list` | `hire:job_process:readonly` |
|
|
75
|
+
|
|
76
|
+
## 示例
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# 查询招聘流程列表
|
|
80
|
+
people-cli hire +job-process-list --page-size 5
|
|
81
|
+
|
|
82
|
+
# 只取流程类型和阶段
|
|
83
|
+
people-cli hire +job-process-list --fields process_id,process_type,stages
|
|
84
|
+
|
|
85
|
+
# 用户明确要求完整结构时
|
|
86
|
+
people-cli hire +job-process-list --view full --format json
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## 选路提醒
|
|
90
|
+
|
|
91
|
+
- 本接口返回的是流程配置,不是某个职位或投递的实时进度。
|
|
92
|
+
- 用户问具体职位进展时,先用 `+job-detail`、投递列表 Shortcut `+application-list` 或投递详情接口。
|