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