用途
团队负载均衡器用于从团队管理者视角看清每位成员的工作负载,合理分配新任务。它与已有 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 详细用法