iHR360 审批流
用于 workflow 审批台账数据查询。当前支持两类业务意图:
- 查询数量/总数:例如“我想查看考勤假期审批中的数量是多少”
- 查询列表:例如“查看考勤假期审批中的列表”
如果用户按部门名称提出筛选,而目标字段需要 departmentId,必须先使用 ihr-master-data 解析 DEPARTMENT;用户已有数字部门 ID、下游只需要 ID,或列表已经返回部门名称时不解析。Workflow 命令保持 raw,不增加增强 flag。
部门名称筛选的固定流程:
- 执行
ihr-cli master-data +search --type DEPARTMENT --keyword "<部门名称>" --permission-code approval.list.view。 - 唯一候选才把数字 ID 传给
workflow ledger +count/+list --department-id;多候选先向用户消歧。 - 不得改用
organization +orgTree、nameMap 或 raw API 查部门 ID。
台账数量必须使用 workflow ledger +count,不改用 raw HTTP。
命令路由
| 用户意图 | 优先命令 | 参考文档 |
|---|---|---|
| 查询审批台账数量/总数 | ihr-cli workflow ledger +count |
references/ihr-workflow-ledger-count.md |
| 查询审批台账列表 | ihr-cli workflow ledger +list |
references/ihr-workflow-ledger-list.md |
自然语言封装规则
先从用户提示词中识别意图、大类、页签/状态或具体小类,再调用 shortcut。中文只作为 shortcut 入参,不能直接作为接口 payload。
| 自然语言片段 | 封装规则 |
|---|---|
| “数量”“总数”“多少” | 使用 ihr-cli workflow ledger +count |
| “各状态”“状态分别多少条”“按状态统计” | 使用 ihr-cli workflow ledger +count --status "全部",读取 response.statusSummary;结果状态按 reference 转中文展示,不要对 PASS/DENIED/ABANDONED/WITHDRAW/CANCEL/DRAFT 分别调用 +count |
| “列表”“明细”“前几条” | 使用 ihr-cli workflow ledger +list;未指定条数时不要传 --rows,默认 10 |
| “考勤假期” | --category "考勤假期",接口映射为 groupCode=GROUP_ATTENDANCE |
| “人事相关” | --category "人事相关",接口映射为 groupCode=GROUP_PERSONNEL |
| “招聘相关” | --category "招聘相关",接口映射为 groupCode=GROUP_RECRUIT |
| “薪资福利” | --category "薪资福利",接口映射为 groupCode=GROUP_SALARY_BENEFIT |
| “智搭云” | --category "智搭云",接口映射为 groupCode=GROUP_SMART_APP |
| “其他” | --category "其他",接口映射为 groupCode=OTHER |
| “审批中” | --status "审批中",接口映射为 tabCode=INITIATE |
| “办理中” | --status "办理中",接口映射为 tabCode=HANDLE |
| “异常” | --status "异常",接口映射为 tabCode=ABNORMAL |
| “全部” | --status "全部",接口映射为 tabCode=ALL |
| “休假”“入职”“录用审批-单个”等具体小类 | --tab "<小类中文名>",接口映射为对应 ApprovalModelShowType tabCode |
明确的 VACATION、SMART_APP 等 code |
--tab-code <code>,或兼容使用 --model-show-type <code> |
示例:
ihr-cli workflow ledger +count --category "考勤假期" --status "审批中"
ihr-cli workflow ledger +list --category "考勤假期" --status "审批中"
ihr-cli workflow ledger +list --category "人事相关" --tab "入职"
ihr-cli workflow ledger +count --tab-code VACATION
例如“查询研发3组的考勤假期审批台账列表”必须先执行上面的 master-data +search,然后执行:
ihr-cli workflow ledger +list --category "考勤假期" --department-id 1001
不要把 --category 写成 attendance;自然语言大类使用表中的中文值,或者显式使用 --group-code GROUP_ATTENDANCE。
用户说“我想查看考勤假期审批中的数量是多少”时,必须封装为:
ihr-cli workflow ledger +count --category "考勤假期" --status "审批中"
需要确认参数或返回语义时读取本 Skill 的 reference 和命令 help;Agent 不自行拼接底层请求 payload。
使用规则
- 审批台账数量和列表查询优先使用 shortcut,不直接调 raw HTTP。
- 大类映射为
groupCode;状态页签和具体小类都映射为tabCode。 - 不要让 Agent 自己拼请求 payload;由 shortcut 统一完成中文到英文 code 的映射。
- 不向用户索要
companyId、userId、token 或 cookie;身份上下文由 gateway/session 提供。 - 对用户回复时不要原样输出 JSON。优先使用 shortcut 返回的
response.summary;其中页签和结果状态 code 必须按 reference 的“结果状态展示映射”转成中文。列表场景再把response.items渲染成简洁列表。 response.content是业务原始数据,只用于排查或补充字段,不作为默认用户展示内容。- 列表场景未指定返回条数时,shortcut 默认
rows=10,回复时必须展示response.items中的全部记录;不要只展示 1 条或 3 条。 - 需要确认精确参数或返回语义时,读取
references/ihr-workflow-ledger.md和命令 help。
回复规范
数量查询:
考勤假期审批中共有 3707 条审批单。
列表查询:
考勤假期审批中共有 3707 条审批单,当前展示第 1 页前 10 条中的 10 条。
| 序号 | 审批编号 | 审批名称 | 类型 | 发起人 | 当前处理人 | 状态 | 发起时间 | 摘要 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | 202607160002 | 外出1 | 外出 | 飘零半生 | U01 | 审批中 | 2026-07-16 11:08:10 | 时间区间:2026-07-16 11:00-2026-07-16 12:07 1小时\|地点:wqwq\|申请事由:wqwq |
| 2 | 202607150005 | 加班(批量拆单) | 加班 | U12 | 飘零半生 | 审批中 | 2026-07-15 13:53:49 | 加班类型:工作日加班\|时间区间:2026-07-13 03:00-2026-07-13 04:00 1小时\|申请事由:颠三倒四 |
列表字段从 response.items[] 读取:序号、审批编号、审批名称、类型、发起人、当前处理人、状态、发起时间、摘要。回复时必须用表头标注字段含义,不能用 审批编号 | 审批名称 | 类型 这种无表头拼接。字段为空时跳过或留空,不要展示 null、undefined 等占位。示例只展示两条格式,真实回复按 response.items 全量渲染;默认场景通常是 10 条。
对外 Shortcut
| Shortcut | 用途 |
|---|---|
workflow ledger +count |
按 groupCode + tabCode 查询审批台账数量。 |
workflow ledger +list |
按 groupCode + tabCode 查询审批台账列表,默认返回前 10 条。 |
HR 流程代理与流程设置
本 skill 也覆盖 HR 管理端流程代理和流程设置的只读查询。所有身份上下文仍由 gateway/session 提供,不向用户索要 companyId、userId、token 或 cookie。
| 用户意图 | 优先命令 | 参考文档 |
|---|---|---|
| 查询谁代理了谁、某人被谁代理、某人代理了谁 | ihr-cli workflow proxy +list |
references/ihr-workflow-proxy.md |
| 查询流程设置模板总数、某分组下多少模板 | ihr-cli workflow setting +count |
references/ihr-workflow-setting.md |
流程代理路由
| 自然语言片段 | 封装规则 |
|---|---|
| “谁代理了谁”“流程代理关系” | ihr-cli workflow proxy +list |
| “张三被谁代理” | 先执行 ihr-cli base +selectStaffs --searchKeyword "张三" --pageNo 1 --pageSize 10;唯一命中后取 response.data.dataList[0].id,再执行 ihr-cli workflow proxy +list --client-staff-id <id> |
| “李四代理了谁” | ihr-cli workflow proxy +list --proxy-staff-name "李四" |
| “请假流程有哪些代理” | ihr-cli workflow proxy +list --approval-setting-name "请假" |
姓名解析规则:
- 用户问“某人被谁代理”时,不要把姓名当
staffId,也不要直接猜员工 ID。 - 先用
base +selectStaffs搜索候选;只有唯一候选时才用--client-staff-id精确查询。 - 候选超过 1 个时,先让用户确认具体员工。
- 没有候选时,可以退化为
--client-staff-name姓名模糊查询,并在回答里说明不是精确 staffId 查询。 - 后端
ProxySearchRequest当前没有proxyStaffId查询字段,所以“某人代理了谁”仍按--proxy-staff-name查询。
流程设置路由
| 自然语言片段 | 封装规则 |
|---|---|
| “一共有多少模板”“流程设置多少模板” | ihr-cli workflow setting +count |
| “考勤假期分组下有多少模板” | ihr-cli workflow setting +count --group-name "考勤假期" |
| “启用模板有多少”“可用模板有多少” | 加 --status 启用 |
| “禁用模板有多少”“停用模板有多少” | 加 --status 禁用 |
流程设置默认模板数按 approvalSettingListVos 长度统计;启用模板数按 processSum 统计;禁用模板数按 approvalSettingListVos[].status == DISABLE 统计。用户没有明确说“启用/可用/禁用”时,不要加 --status,但可以在回答里同时展示启用数和禁用数。--enabled-only 仅作为旧兼容入口,不要在新路由中优先使用。
HR 只读边界
- 流程代理只暴露
proxy +list查询,不调用新增、编辑、删除接口。 - 流程设置只暴露
setting +count统计,不调用发布、删除、启停或保存接口。 - 需要精确参数或返回语义时,分别读取对应 reference 和命令 help。