@lark-people/cli 0.0.0-beta.3 → 0.0.0-beta.4

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.
Files changed (30) hide show
  1. package/README.md +8 -17
  2. package/README.zh.md +8 -17
  3. package/bin/people-cli_darwin_amd64 +0 -0
  4. package/bin/people-cli_darwin_arm64 +0 -0
  5. package/bin/people-cli_linux_amd64 +0 -0
  6. package/bin/people-cli_linux_arm64 +0 -0
  7. package/bin/people-cli_windows_amd64.exe +0 -0
  8. package/bin/people-cli_windows_arm64.exe +0 -0
  9. package/package.json +4 -1
  10. package/skills/people-attendance/SKILL.md +0 -667
  11. package/skills/people-attendance/references/people-attendance-submission.md +0 -426
  12. package/skills/people-attendance/scripts/resolve_date.py +0 -894
  13. package/skills/people-hire/SKILL.md +0 -255
  14. package/skills/people-hire/references/people-hire-application.md +0 -334
  15. package/skills/people-hire/references/people-hire-evaluation-task-list.md +0 -233
  16. package/skills/people-hire/references/people-hire-evaluation.md +0 -127
  17. package/skills/people-hire/references/people-hire-interview-record.md +0 -109
  18. package/skills/people-hire/references/people-hire-interview-task-list.md +0 -250
  19. package/skills/people-hire/references/people-hire-interview.md +0 -146
  20. package/skills/people-hire/references/people-hire-job-process.md +0 -93
  21. package/skills/people-hire/references/people-hire-job-requirement.md +0 -227
  22. package/skills/people-hire/references/people-hire-job.md +0 -277
  23. package/skills/people-hire/references/people-hire-minutes.md +0 -91
  24. package/skills/people-hire/references/people-hire-talent.md +0 -105
  25. package/skills/people-hire/references/people-hire-test.md +0 -197
  26. package/skills/people-overtime/SKILL.md +0 -992
  27. package/skills/people-overtime/references/people-attendance-overtime-apply.md +0 -491
  28. package/skills/people-overtime/references/people-attendance-overtime.md +0 -51
  29. package/skills/people-overtime/references/people-attendance-submission.md +0 -203
  30. package/skills/people-overtime/scripts/resolve_date.py +0 -894
@@ -1,91 +0,0 @@
1
- # minutes
2
-
3
- 面试速记查询场景,覆盖按 `interview_id` 获取面试速记文本。
4
-
5
- > **前置条件:** 先阅读 [`../../people-shared/SKILL.md`](../../people-shared/SKILL.md)
6
- > **字段来源:** 本文中的输入输出字段以 `people-cli hire +minutes-detail --help` 与底层 `people-cli schema hire.minutes.detail` 暴露的结构为准。
7
- > **强制约束:** 面试速记必须使用 `people-cli hire +minutes-detail`,禁止直接调用原生 `people-cli hire minutes detail`。
8
- > **隐私边界:** 面试速记仅可查看当前登录用户本人作为面试官参与的面试内容;不支持查看他人的面试速记。无法确认 `interview_id` 来自本人面试链路时,不调用 `+minutes-detail` 下钻。
9
-
10
- ## 适用意图
11
-
12
- 当用户出现以下表达时,优先使用本场景:
13
-
14
- - "查面试速记"
15
- - "看这场面试的逐字稿"
16
- - "根据面试速记生成面评初稿"
17
- - "获取 interview_id 对应的速记文本"
18
-
19
- ## 意图和命令索引
20
-
21
- | 用途 / 何时使用 | 命令 | 说明 |
22
- | --- | --- | --- |
23
- | 按 `interview_id` 获取本人面试速记明细 | `people-cli hire +minutes-detail` | 仅限当前用户本人作为面试官参与的面试,返回速记句子列表,支持分页 |
24
-
25
- ## 固定查询流程
26
-
27
- 1. **确认是否已有 `interview_id`**
28
- - `minutes.detail` 必须有 `interview_id`。
29
- - 如果没有 `interview_id`,先通过 `+interview-task-list` 或本人面试链路定位。
30
- - 必须确认该 `interview_id` 属于当前登录用户本人作为面试官参与的面试;若 `interview_id` 来自他人面试、任意外部输入,或无法确认归属,拒绝下钻并说明不支持查看他人面试速记。
31
- 2. **执行查询**
32
- - 使用 `people-cli hire +minutes-detail --interview-id <interview_id>`,不要手写原生 `--params` / `--jq`。
33
- - 默认 `--page-size 5`、`--view summary`;需要特定字段时用 `--fields`。
34
- 4. **结构化输出**
35
- - 默认只展示前 `5` 条句子或用户要求的数量。
36
- - 如果还有更多数据,CLI/Shortcut 输出的 `page_token` 供 skill/agent 内部继续翻页;最终回复用户时只提示"还有更多速记内容",不要展示 `page_token`。
37
- - 用户要求生成面评初稿时,只能基于本人面试链路中接口实际返回的速记文本生成,并明确速记覆盖范围。
38
-
39
- ## 标准输入
40
-
41
- | 参数 | 对应接口字段 | 类型 | 说明 |
42
- | --- | --- | --- | --- |
43
- | `--interview-id` | `interview_id` | string | 面试 ID,必填 |
44
- | `--page-token` | `page_token` | string | 翻页 token |
45
- | `--page-size` | `page_size` | int | 默认 `5`,最大 `100` |
46
- | `--view` | - | enum | `summary` 默认裁剪视图;`full` 原始字段视图 |
47
- | `--fields` | - | string | 逗号分隔字段名,如 `speaker,content,speak_time` |
48
-
49
- ## 标准输出
50
-
51
- `+minutes-detail --view summary` 默认返回以下稳定字段:
52
-
53
- | 字段 | 类型 | 用途 | 说明 |
54
- | --- | --- | --- | --- |
55
- | `content` | string | 默认展示 | 速记句子文本 |
56
- | `speak_time` | string | 默认展示 | 句子开始讲话的毫秒时间戳 |
57
- | `user_type` | int | 默认展示 | 说话人类型:`1` 面试官,`2` 候选人 |
58
- | `speaker_name` | object | 默认展示 | 说话人名称 |
59
-
60
- 分页状态字段:
61
-
62
- | 字段 | 类型 | 说明 |
63
- | --- | --- | --- |
64
- | `has_more` | bool | 是否还有更多速记 |
65
- | `page_token` | string | 内部翻页 token,CLI 可见,最终回复用户时默认隐藏 |
66
-
67
- ## 所需权限
68
-
69
- | 方法 | Scope |
70
- | --- | --- |
71
- | `minutes.detail` | `hire:people_cli` |
72
-
73
- ## 示例
74
-
75
- ```bash
76
- # 查询面试速记
77
- people-cli hire +minutes-detail --interview-id 6989202908470446380 --page-size 5
78
-
79
- # 只取说话人与文本
80
- people-cli hire +minutes-detail --interview-id 6989202908470446380 --fields speaker,content
81
-
82
- # 用户明确要求完整结构时
83
- people-cli hire +minutes-detail --interview-id 6989202908470446380 --view full --format json
84
- ```
85
-
86
- ## 选路提醒
87
-
88
- - `minutes.detail` 需要 `interview_id`,不要传 `application_id` 或 `interview_record_id`。
89
- - `interview_id` 必须来自当前登录用户本人作为面试官的链路;不支持查看他人的面试速记。
90
- - 速记内容可能很长,默认分页裁剪;不要一次性倾倒全量逐字稿。
91
- - 生成面评初稿时,应说明仅基于已读取速记内容。
@@ -1,105 +0,0 @@
1
- # talent
2
-
3
- ## 这是"查人才信息"场景的核心模块,覆盖按 `talent_id` 获取候选人基础标识信息。
4
-
5
- > **前置条件:** 先阅读 [`../../people-shared/SKILL.md`](../../people-shared/SKILL.md)
6
- > **Shortcut 约束:** 查询人才详情必须使用 `people-cli hire +talent-detail --talent-id <talent_id>`,禁止直接调用原生 `people-cli hire talent detail`。
7
- > **字段来源:** 底层接口以 `people-cli schema hire.talent.detail` 暴露的结构为准,Shortcut 默认输出裁剪后的稳定字段。
8
- > **隐私边界:** 教育经历、项目经历、工作经历等候选人详细履历内容,仅可在已确认当前登录用户本人是该候选人的面试官时查看和输出;其他情况仅可查看候选人名称。无法确认本人面试官身份时,不下钻、不输出详细履历字段。
9
-
10
- ## 适用意图
11
-
12
- 当用户出现以下表达时,优先使用本场景:
13
-
14
- - "查人才详情"
15
- - "查候选人档案"
16
- - "看这个 talent_id 的候选人信息"
17
- - "看这个候选人的姓名和 talent_id"
18
-
19
- ### 意图和命令索引
20
-
21
- | 用途 / 何时使用 | 命令 | 说明 |
22
- | ----------------------------- | --------------------------------- | -------------------------- |
23
- | 按 `talent_id` 获取人才详情 | `people-cli hire +talent-detail --talent-id <talent_id>` | 默认裁剪为人才 ID、姓名和可用履历摘要;详细履历仅限本人作为面试官的候选人 |
24
-
25
- ### 常见问法示例
26
-
27
- - "查这个候选人的人才档案"
28
- - "给我看 `talent_id=xxx` 的详情"
29
- - "这个候选人的姓名是什么"
30
- - "看一下这个人才的基础标识信息"
31
-
32
- ### 人才查询调用流程
33
-
34
- 1. **确认是否已有 `talent_id`**
35
- - `+talent-detail` 必须有 `--talent-id`。
36
- - 如果只有任务/投递结果,先从其返回值提取 `Talent ID` / `talent_id`。
37
- 2. **执行详情查询**
38
- - `people-cli hire +talent-detail --talent-id <talent_id>`
39
- - 需要原始完整结构时才加 `--view full`;默认使用 summary 裁剪视图。
40
- 3. **结构化输出**
41
- - 当前默认输出人才 ID、候选人姓名、工作年限、最高学历、最高学校、教育经历、工作经历、项目经历等紧凑字段;没有返回的字段保持空,不要编造。
42
- - 展示姓名时,如有 `talent_id`,默认渲染为招聘系统超链接 `https://people-cn.bytedance.com/hire/talent/<talent_id>`。
43
- - 教育经历、项目经历、工作经历等详细履历必须先确认当前登录用户本人是该候选人的面试官;无法确认时只输出候选人名称,不输出详细履历。
44
-
45
- ### 不要误走
46
-
47
- - 用户是在问"我的面试任务 / 我的评估任务"时,不要直接走 `+talent-detail`,应先走任务 Shortcut。
48
- - 用户只有姓名、邮箱、手机号,但没有 `talent_id` 时,不要假设本模块支持搜索人才列表;应先从上游任务、投递、面试、评估结果中拿到 `talent_id`。
49
- - 用户要的是投递流程状态时,不要只返回人才档案,应改走 `application.get`。
50
- - 用户要求查看教育经历、项目经历、工作经历等详细履历时,必须先确认候选人来自当前用户本人作为面试官的面试链路;若不能确认,只返回候选人名称并说明不支持查看详细履历。
51
-
52
- ## 标准输入
53
-
54
- 以下字段来自 `+talent-detail` Shortcut:
55
-
56
- | 字段 | 位置 | 类型 | 说明 |
57
- | ---------------- | ----- | ------ | ------------------------------ |
58
- | `--talent-id` | path | string | 人才 ID,必填 |
59
- | `--user-id-type` | query | string | 用户 ID 类型,默认 `open_id`;可选 `user_id`、`union_id`、`open_id`、`people_admin_id` |
60
- | `--view` | Shortcut | enum | `summary` / `full`,默认 `summary` |
61
- | `--fields` | Shortcut | string | 逗号分隔字段名,如 `candidate,education,work_experience` |
62
-
63
- ## 标准输出
64
-
65
- 当前优先输出以下核心字段:
66
-
67
- | 字段 | 类型 | 说明 |
68
- | ------------------------------- | ------ | ------------ |
69
- | `Talent ID` / `talent_id` | string | 人才 ID,供后续内部调用;默认回复用户时不展示 |
70
- | `Candidate Name` / `candidate` | string | 候选人姓名,默认带招聘系统链接 |
71
- | `Experience Years` / `experience_years` | string | 工作年限 |
72
- | `Highest Degree` / `top_degree` | string | 最高学历 |
73
- | `Highest School` / `highest_school` | string | 最高学历对应学校 |
74
- | `Education` / `education` | string | 教育经历摘要,最多保留前 3 条 |
75
- | `Work Experience` / `work_experience` | string | 工作经历摘要,最多保留前 3 条 |
76
- | `Project Experience` / `project_experience` | string | 项目经历摘要,最多保留前 3 条 |
77
-
78
- > 不要假设字段一定存在;没有返回的详细履历字段保持空或说明未返回,禁止编造。即使 Shortcut 返回教育/项目/工作经历,也只允许在当前用户本人是该候选人面试官时输出。
79
- >
80
- > 展示姓名时,默认应渲染为 `[姓名](https://people-cn.bytedance.com/hire/talent/<talent_id>)`;若缺少 `talent_id`,则只输出纯文本姓名。
81
-
82
- ## 所需权限
83
-
84
- | 方法 | Scope |
85
- | ----------------- | ------------------------ |
86
- | `talent.detail` | `hire:people_cli` |
87
-
88
- ## 示例
89
-
90
- ```bash
91
- # 查看 schema
92
- people-cli schema hire.talent.detail
93
-
94
- # 按 talent_id 查询人才详情
95
- people-cli hire +talent-detail --talent-id 6960663240925956555
96
-
97
- # 只取候选人姓名与教育/工作摘要
98
- people-cli hire +talent-detail --talent-id 6960663240925956555 --fields candidate,education,work_experience
99
- ```
100
-
101
- ## 选路提醒
102
-
103
- - 没有 `talent_id` 时不要直接调 `+talent-detail`。
104
- - 如果用户是问"我的面试任务/评估任务",优先先走任务 Shortcut,再从结果里的 `Talent ID` 追查详情。
105
- - 用户要求工作经历、教育经历、项目经历等详细履历时,必须先确认本人面试官链路;标签、手机号、邮箱等敏感或未裁剪字段不要默认输出。
@@ -1,197 +0,0 @@
1
- # test
2
-
3
- 笔试查询场景,覆盖查询笔试列表、状态、试卷与成绩。
4
-
5
- > **前置条件:** 先阅读 [`../../people-shared/SKILL.md`](../../people-shared/SKILL.md)
6
- > **字段来源:** 本文中的输入输出字段以 `people-cli hire +test-list --help` 与底层 `people-cli schema hire.test.list` 暴露的结构为准。
7
- > **强制约束:** 笔试列表必须使用 `people-cli hire +test-list --application-id <application_id>`,禁止直接调用原生 `people-cli hire test list`。Shortcut 底层映射到 `POST /open-apis/hire/v1/tests/search`;只有候选人姓名时,先从任务列表或投递列表获取 `application_id`,再调用本 Shortcut。
8
-
9
- ## 适用意图
10
-
11
- 当用户出现以下表达时,优先使用本场景:
12
-
13
- - "查笔试信息"
14
- - "获取某次投递的笔试列表"
15
- - "看笔试状态 / 笔试结果"
16
- - "看某投递的笔试情况"
17
- - "在某次投递下按笔试开始时间查询笔试"
18
- - "我近期评估和面试中的候选人,还卡在待阅卷状态的有几个"
19
- - "近两个月的面试候选人,笔试答复状态已接受但笔试状态未作答"
20
-
21
- ## 意图和命令索引
22
-
23
- | 用途 / 何时使用 | 命令 | 说明 |
24
- | --- | --- | --- |
25
- | 查询笔试列表 | `people-cli hire +test-list --application-id <application_id>` | 已知投递 ID 时使用,笔试开始时间范围只能作为辅助过滤 |
26
- | 查询某次投递的笔试信息 | `people-cli hire +test-list --application-id <application_id>` | `--application-id` 可重复传入,底层对应 `application_id_list` |
27
- | 查询已阅卷/已打分笔试 | `people-cli hire +test-list --application-id <application_id> --graded` | 等价于按已有成绩过滤,避免模型写错 `jq` 或非法 where |
28
-
29
- ## 固定查询流程
30
-
31
- 1. **确认筛选条件**
32
- - `test.list` 底层需要 `application_id_list`;优先从投递、面试或外部上下文获取 `application_id` 并传 `--application-id`。
33
- - 用户只给候选人姓名,且问题范围是"我的面试任务 / 我的评估任务 / 我面过的人 / 我评估过的人"时,先用 `+interview-task-list --keyword <候选人>` 或 `+evaluation-task-list --keyword <候选人>` 获取内部 `application_id`;不要改走 `+application-list`,因为用户可能没有投递列表权限。
34
- - 如果用户基于"我的评估任务 / 我的面试任务 / 我近期评估和面试中的候选人"查询笔试状态,先用 `+evaluation-task-list` / `+interview-task-list` 获取内部 `application_id`,不要改走 `+application-list`。
35
- - 用户只给时间范围但没有投递 ID 时,先从上游结果定位投递 ID;无法定位时请用户补充投递 ID,不要只按时间范围空查。
36
- - 用户给出时间范围时,在已传 `--application-id` 的前提下直接传日期、月份或时间字符串给 `--test-start-time-min` / `--test-start-time-max`,由 CLI 换算毫秒;也可使用别名 `--start-time` / `--end-time` / `--time-from` / `--time-to`。
37
- - 用户只给 `test_id` 时,不要把它当成入参;当前 search 接口不支持 `test_ids` 参数。需要先从上游结果确认对应投递 ID,再按需追加时间范围。
38
- 2. **执行查询**
39
- - 使用 `people-cli hire +test-list`,不要手写 `--params` / `--data` / `--jq`。
40
- - 投递 ID 用 `--application-id <application_id>`,可重复。
41
- - 时间范围用 `--test-start-time-min` / `--test-start-time-max`,不要让模型自行计算毫秒。
42
- - 默认 `--page-size 5`、`--view summary`,需要特定字段时使用 `--fields`;需要按答复状态、笔试状态、成绩等返回字段过滤或计数时,使用 `--where` / `--mode` / `--limit` / `--scan-page-limit`。已阅卷/已打分优先使用 `--graded`,也可用 `--where 'score is not null'` 或 `--where 'graded=true'`。
43
- 3. **结构化输出**
44
- - 默认展示试卷名称、答复状态、笔试状态、笔试时间、完成时间、成绩与科目结论。
45
- - `test_id`、`application_id`、`talent_id`、`job_id` 默认仅作内部关联,不直接展示。
46
- - 如果还有更多数据,CLI/Shortcut 输出的 `page_token` 供 skill/agent 内部继续翻页;最终回复用户时只提示"还有更多数据",不要展示 `page_token`。
47
- - 查询后过滤仍然必须带 `--application-id`;不要为了过滤笔试状态而绕开 Shortcut 或空查。
48
- - `待阅卷` 是 `test_status`,`已接受` 是 `reply_status`,`未作答` 是 `test_status`;不要把这些状态写到 `+evaluation-task-list` 或 `+interview-task-list` 的 `--status` / `--where` 中。
49
-
50
- ## 从本人任务链路查询笔试状态
51
-
52
- 当用户没有投递列表权限,或问题明确限定在"我的评估任务 / 我的面试任务 / 我面过的人 / 我评估过的人"时,必须按以下链路查询:
53
-
54
- 1. 用任务 Shortcut 取候选人的内部投递 ID:
55
- - 评估任务范围:`people-cli hire +evaluation-task-list --fields application_id,candidate,job --limit 100 --scan-page-limit 10`
56
- - 面试任务范围:`people-cli hire +interview-task-list --fields application_id,candidate,job,interview --limit 100 --scan-page-limit 10`
57
- - 有明确时间范围时,下推到任务 Shortcut。例如近两个月面试候选人,用 `+interview-task-list --start-time 近两个月 --end-time 今天`,由 CLI 换算时间。
58
- 2. 从任务 Shortcut 返回里提取并去重 `Application ID`,仅作后续调用,不向用户展示。
59
- 3. 用去重后的投递 ID 调 `+test-list`,把笔试条件写入 `--where`:
60
- - 待阅卷候选人数:`--where 'test_status=待阅卷' --mode aggregate --group-by application_id`,最终按分组数回答,不展示 `application_id`
61
- - 已接受但未作答名单:`--where 'reply_status=已接受; test_status=未作答' --fields application_id,candidate,job,test_paper,reply_status,test_status`,最终按 `application_id` 去重后展示候选人,不展示 ID
62
- 4. 如果任务列表或笔试列表提示还有更多数据,只在最终回复中说明"当前受扫描预算限制,后续还有更多数据",不要展示 `page_token` 或内部 ID。
63
-
64
- 禁止行为:
65
-
66
- - 不要为了拿 `application_id` 调 `+application-list`;该权限可能不存在,且问题范围是当前用户任务。
67
- - 不要在 `+evaluation-task-list` 上写 `--status 待阅卷` 或 `--where 'test_status=待阅卷'`;待阅卷不是评估任务状态。
68
- - 不要在 `+interview-task-list` 上过滤 `reply_status` / `test_status`;这些字段只存在于 `+test-list`。
69
-
70
- ## 标准输入
71
-
72
- ### Shortcut 参数
73
-
74
- | 参数 | 对应接口字段 | 类型 | 说明 |
75
- | --- | --- | --- | --- |
76
- | `--application-id` | `application_id_list` | repeatable string | 必填;投递 ID 列表,最多 `100` 个 |
77
- | `--graded` | internal filter | bool | 仅保留已有成绩的笔试,用于"已阅卷/已打分/完成打分" |
78
- | `--test-start-time-min` | `test_start_time_min` | string | 最早笔试开始时间,支持毫秒时间戳或日期字符串 |
79
- | `--test-start-time-max` | `test_start_time_max` | string | 最晚笔试开始时间,支持毫秒时间戳或日期字符串 |
80
- | `--start-time` / `--time-from` | `test_start_time_min` | string | 最早笔试开始时间别名 |
81
- | `--end-time` / `--time-to` | `test_start_time_max` | string | 最晚笔试开始时间别名 |
82
- | `--page-token` | `page_token` | string | 翻页 token,CLI 可见,最终回复用户时默认隐藏 |
83
- | `--page-size` | `page_size` | int | 默认 `5`,最大 `100` |
84
- | `--user-id-type` | `user_id_type` | enum | `user_id` / `union_id` / `open_id`,默认 `open_id` |
85
- | `--view` | - | enum | `summary` 默认裁剪视图;`full` 原始字段视图 |
86
- | `--fields` | - | string | 逗号分隔字段名,如 `test_paper,test_status,score` |
87
- | `--where` | - | string | 查询后过滤表达式,如 `reply_status=已接受; test_status=未作答` |
88
- | `--limit` | - | int | 最多返回的匹配行数,默认等于 `--page-size` |
89
- | `--scan-page-limit` | - | int | 查询后过滤最多扫描源页数 |
90
- | `--mode` | - | enum | `list` / `exists` / `count` / `aggregate` |
91
- | `--group-by` | - | string | `--mode aggregate` 时按哪个字段聚合 |
92
-
93
- ## 标准输出
94
-
95
- `+test-list --view summary` 默认返回以下 CLI 列。`--fields`、`--where`、`--group-by` 必须使用稳定字段别名,不要直接使用底层响应字段名:
96
-
97
- | CLI 列 | 稳定字段别名 | 用途 | 说明 |
98
- | --- | --- | --- | --- |
99
- | `Test ID` | `test_id` | 内部关联 | 笔试 ID,默认不展示 |
100
- | `Application ID` | `application_id` | 内部关联 | 投递 ID,默认不展示 |
101
- | `Talent ID` | `talent_id` | 内部关联 | 人才 ID,默认不展示 |
102
- | `Candidate Name` | `candidate` / `candidate_name` | 按需展示 | 候选人姓名;若底层返回候选人名且有 `talent_id`,Shortcut summary 会渲染为招聘系统链接 |
103
- | `Job ID` | `job_id` | 内部关联 | 职位 ID,默认不展示 |
104
- | `Test Paper` | `test_paper` / `test_paper_name` | 默认展示 | 试卷名称 |
105
- | `Reply Status` | `reply_status` | 默认展示 / 过滤 | 答复状态,支持中文状态过滤 |
106
- | `Test Status` | `test_status` | 默认展示 / 过滤 | 笔试状态,支持中文状态过滤 |
107
- | `Start Time` | `start_time` / `test_start_time` | 默认展示 | 笔试开始时间 |
108
- | `End Time` | `end_time` / `test_end_time` | 默认展示 | 笔试结束时间 |
109
- | `Complete Time` | `complete_time` | 默认展示 | 笔试作答完成时间 |
110
- | `Score Submit Time` | `score_submit_time` | 按需展示 / 过滤 | 阅卷/成绩提交时间;接口未返回时为空 |
111
- | `Graded` | `graded` | 按需展示 / 过滤 | `true` / `false`,用于已打分过滤 |
112
- | `Score` | `score` | 默认展示 | 阅卷得分 |
113
- | `Result Detail` | `result_detail` / `result_detail_list` | 按需展示 | 科目与结论 |
114
-
115
- > `test_schedule`、`test_complete_time`、`report_url_list` 是底层响应字段理解参考,不是 `+test-list --fields` 的稳定别名;需要时间字段时使用 `start_time`、`end_time`、`complete_time`。
116
-
117
- 分页状态字段:
118
-
119
- | 字段 | 类型 | 说明 |
120
- | --- | --- | --- |
121
- | `has_more` | bool | 是否还有下一页 |
122
- | `page_token` | string | 内部翻页 token,CLI 可见,最终回复用户时默认隐藏 |
123
-
124
- ## 所需权限
125
-
126
- | 方法 | Scope |
127
- | --- | --- |
128
- | `test.list` | `hire:people_cli` |
129
-
130
- ## 示例
131
-
132
- ```bash
133
- # 查询某次投递的笔试信息
134
- people-cli hire +test-list --application-id 6920544531948800269 --page-size 5
135
-
136
- # 在某次投递下按笔试开始时间范围查询
137
- people-cli hire +test-list \
138
- --application-id 6920544531948800269 \
139
- --test-start-time-min 1608725989000 \
140
- --test-start-time-max 1608726999000 \
141
- --page-size 5
142
-
143
- # 时间范围也可以用统一别名,仍然必须传投递 ID
144
- people-cli hire +test-list \
145
- --application-id 6920544531948800269 \
146
- --start-time 1608725989000 \
147
- --end-time 1608726999000
148
-
149
- # 只取 AI 需要消费的字段,避免手写 jq
150
- people-cli hire +test-list \
151
- --application-id 6920544531948800269 \
152
- --fields test_paper,test_status,score,result_detail
153
-
154
- # 在指定投递下查已接受但未作答的笔试
155
- people-cli hire +test-list \
156
- --application-id 6920544531948800269 \
157
- --where 'reply_status=已接受; test_status=未作答' \
158
- --limit 5
159
-
160
- # 查已阅卷/已打分的笔试
161
- people-cli hire +test-list --application-id 6920544531948800269 --graded --fields candidate,test_paper,score
162
-
163
- # 先从我的评估和面试任务取投递 ID,再统计待阅卷笔试
164
- people-cli hire +evaluation-task-list --fields application_id,candidate,job --limit 100 --scan-page-limit 10
165
- people-cli hire +interview-task-list --fields application_id,candidate,job,interview --limit 100 --scan-page-limit 10
166
- people-cli hire +test-list \
167
- --application-id <application_id_1> \
168
- --application-id <application_id_2> \
169
- --where 'test_status=待阅卷' \
170
- --mode aggregate \
171
- --group-by application_id
172
-
173
- # 近两个月面试候选人中,查已接受但未作答的笔试
174
- people-cli hire +interview-task-list \
175
- --start-time 近两个月 \
176
- --end-time 今天 \
177
- --fields application_id,candidate,job,interview \
178
- --limit 100 \
179
- --scan-page-limit 10
180
- people-cli hire +test-list \
181
- --application-id <application_id_1> \
182
- --application-id <application_id_2> \
183
- --where 'reply_status=已接受; test_status=未作答' \
184
- --fields application_id,candidate,job,test_paper,reply_status,test_status
185
-
186
- # 用户明确要求完整结构时
187
- people-cli hire +test-list --application-id 6920544531948800269 --view full --format json
188
- ```
189
-
190
- ## 选路提醒
191
-
192
- - `+test-list` 不支持 `test_ids` 入参;不要按旧 `GET /tests` 的参数构造命令。
193
- - `--application-id` 必填;缺少投递 ID 时,先从任务、投递或用户上下文获取。当前用户任务范围内只有候选人姓名时,先用 `+interview-task-list --keyword` / `+evaluation-task-list --keyword` 获取 `application_id`。
194
- - 如果问题范围是当前用户的评估任务或面试任务,优先从 `+evaluation-task-list` / `+interview-task-list` 获取 `application_id`;不要要求用户补投递 ID,也不要改走投递列表。
195
- - 默认优先带 `page_size=5`;时间范围只能在已指定投递 ID 后作为辅助过滤。
196
- - 用户问的是评估记录或面试记录时,不要误走笔试接口。
197
- - 笔试报告链接、详细成绩可能涉及敏感信息,只基于接口实际返回内容输出。