SuperAPI AI 工具集

lark-workflow-workload-balancer

办公与效率

查看项目

更新于 10-16 10:16

技能介绍

用途

团队负载均衡器用于从团队管理者视角看清每位成员的工作负载,合理分配新任务。它与已有 task-prioritizer(个人视角:我的任务怎么排)互补,本 Skill 面向团队管理者:看清每个人的负载,合理分配新任务。

触发场景包括:

  • "看看团队每个人的工作量" / "谁比较空可以接新任务"
  • "团队负载均衡" / "工作量分析"
  • "谁现在最忙" / "任务分配建议"
  • "团队 Workload 报告" / "人力分配情况"
  • "这个任务该分给谁" / "Team workload balancer"

前置条件

开始前 MUST 先用 Read 工具读取 lark-shared/SKILL.md,其中包含认证、权限处理和安全规则。支持 user 身份,执行前确保已授权:

lark-cli auth login --domain task,calendar,contact

查看他人任务和日程需要相应权限。如果无法获取某位成员的数据,将标注"数据不可用"。

工作流程

整体流程为:确定团队成员列表 → 分别获取各成员任务、日程、审批数据 → AI 综合评估 → 生成负载热力图、任务分配建议、风险预警。

Step 1:确定团队成员列表

方式 A — 用户指定成员名单,逐个搜索确认:

lark-cli contact +search --query "<姓名>" --format json

方式 B — 按部门获取:

lark-cli contact users find_by_department --params '{"department_id":"<dept_id>"}' --format json

注意:获取部门成员需要管理权限。如果无权限,提示用户手动列出团队成员。

Step 2:获取各成员任务量

参考 lark-task/SKILL.md。

方式 A — 按负责人搜索任务(推荐,v1.0.11+):

lark-cli task +search --assignee "<user_open_id>" --completed=false --format json
lark-cli task +search --assignee "<user_open_id>" --completed=false --due "-0d,+7d" --format json

v1.0.11 新增的 +search 支持 --assignee 参数按负责人查询,突破了 +get-my-tasks 只能查自己任务的限制。需要每位成员的 open_id(通过 Step 1 的 contact +search 获取)。

方式 B — 仅查当前用户任务(降级方案):

lark-cli task +get-my-tasks --format json

权限限制:如果 +search --assignee 无权限查询他人任务,退化为用户手动输入各成员任务数据,或将结果标注为"数据受限"。

从任务数据中提取:未完成任务数、本周到期任务数、已过期任务数、任务总预估工时(如果有工时字段)。

Step 3:获取各成员日程密度

参考 lark-calendar/SKILL.md。

查询忙闲状态(freebusy,推荐方式):

lark-cli calendar freebusy list --data '{
  "time_min": "<本周一>",
  "time_max": "<本周日>",
  "user_ids": ["<user_id_1>", "<user_id_2>", "<user_id_3>"]
}' --format json

或逐人查询日程:

lark-cli calendar +agenda --start "<start>" --end "<end>"

从忙闲数据中计算:本周会议总时长、会议占工作时间比例、空闲时段总量。

Step 4:AI 综合评估

负载评分模型:

负载分 = 任务权重 × 任务分 + 会议权重 × 会议分
任务分 = (未完成任务数 × 1 + 本周到期 × 2 + 已过期 × 3) / 基准值
会议分 = 会议时间占工作时间比例 / 30%
基准值 = 团队平均任务数 × 1.2

负载等级:

  • 低(0 - 0.5,🟢):有较多空余,可接新任务
  • 适中(0.5 - 0.8,🟡):正常负载
  • 高(0.8 - 1.2,🟠):接近满载
  • 过载(> 1.2,🔴):超负荷,需要减压

Step 5:生成报告

报告包含负载热力图(成员、待办、本周到期、已过期、会议占比、负载等级)、负荷分布条形图、风险预警和任务分配建议,并给出建议行动。

容错机制

  • 无法查询他人任务:请用户手动输入各成员任务数,或仅基于日程分析
  • freebusy 无权限:退化为仅任务维度分析
  • 部门查询无权限:请用户手动列出团队成员名单
  • 某成员数据不可用:标注"数据不可用",其余成员正常分析

权限表

  • 搜索用户:contact +search,需 contact:user.base:readonly,必选
  • 部门成员:contact users find_by_department,需 contact:user.employee:readonly,可选
  • 搜索任务:task +search,需 task:task:read,推荐(v1.0.11+)
  • 我的任务:task +get-my-tasks,需 task:task:read,备选
  • 忙闲查询:calendar freebusy list,需 calendar:calendar.freebusy:read,推荐
  • 日程查询:calendar +agenda,需 calendar:calendar.event:read,备选

参考

  • lark-shared — 认证、权限(必读)
  • lark-task — +get-my-tasks 详细用法
  • lark-calendar — freebusy、+agenda 详细用法
  • lark-contact — +search 详细用法