| name | lark-weekly-report |
| description | 自动生成周报。当员工或组长在飞书说"本周周报/生成周报/weekly report/这周干了啥"时触发。从 worklogs 表按周汇总工时、按项目分组、对比任务进度、抽亮点和卡点,按"本周成果 / 下周计划 / 风险求助"三段式生成可直接发的周报。支持个人周报、项目周报、团队周报三种视角。 |
lark-weekly-report — 周报生成
一句话:"本周周报",自动从日报明细表拉出整周数据,生成可直接发的周报。
何时触发
- "本周周报 / 这周干了啥 / 生成 weekly report"
- "给我出 CRM-V2 项目的周报"
- "研发组本周周报"
- 周五 17:00 cron 主动推送草稿给每个人
依赖
lark-cli base:读 worklogs / tasks / projects / members
lark-cli docs:周报文档写入飞书云文档
lark-cli im:把周报发回对话框/群
三种视角
| 视角 | 触发语 | 数据范围 | 分组方式 |
|---|
| 个人周报 | "我的周报" | worklogs where member=我 | 按项目分组 |
| 项目周报 | "CRM-V2 周报" | worklogs where project=X | 按成员分组 |
| 团队周报 | "研发组周报" | worklogs where member in 研发组 | 按项目分组,再按成员 |
输出模板(个人周报)
# 张三 · 第 33 周周报(2026-08-10 ~ 2026-08-14)
## 一、本周工时总览
| 项目 | 工时(h) | 占比 | 任务数 |
|---|---:|---:|---:|
| CRM-V2 客户管理系统改版 | 22 | 55% | 5 |
| APP-V3 移动端 3.0 | 10 | 25% | 2 |
| 日常事务(会议/面试) | 8 | 20% | 6 |
| **合计** | **40** | 100% | 13 |
## 二、本周成果
### CRM-V2(55% / 22h)
- ✅ **登录模块重构**(T001):完成 90%,本周推进 30%
- 对接了新的 SSO 接口
- 修复 token 过期的并发 bug
- 预计下周二联调完成
- ✅ **客户列表分页 bug**(T002):已修复上线
- 🤝 参与客户详情页设计评审 2 次
### APP-V3(25% / 10h)
- 🚧 **推送通知接入**(T004):完成 40%
- iOS 端已通,Android 端通道还在申请
## 三、进度变化
| 任务 | 上周 | 本周 | 变化 |
|---|---:|---:|---:|
| T001 登录重构 | 60% | 90% | ↑30 |
| T002 客户列表 | 80% | 100% | ↑20 ✅ |
| T004 推送通知 | 20% | 40% | ↑20 |
| T007 需求调研 | 20% | 20% | — |
## 四、卡点与求助
- ⚠️ **Android 推送通道申请**:已经提了 5 天,运维还没批,@李四 能不能催一下
- 💭 下周要开始做 EFF-TOOL 需求调研,需要产品(赵六)配合定边界
## 五、下周计划
1. 完成 T001 登录模块联调(周二前)
2. 推进 T004 Android 推送(本周内)
3. 启动 T007 EFF-TOOL 需求调研
4. 参与周五的季度 OKR 评审
## 六、本周小结(一句话)
> CRM-V2 主线推进顺利,登录模块下周二能交付;App 推送卡在运维通道,需要催一下
输出模板(项目周报,给组长看)
# CRM-V2 项目周报 · 第 33 周
## 项目健康度:🟡 有风险
- 整体进度:65%(上周 60%,↑5)
- 本周投入:22h(张三 12h / 王五 6h / 孙七 4h)
- 关键里程碑:登录模块预计 8/18 联调(原计划 8/15,延期 3 天)
## 成员产出
### 张三(12h)
- 登录重构 6h,进度 60→90
- 修复线上 bug 2h,已上线
- 设计评审 2h
- 面试 2h
### 王五(6h)
...
## 风险
1. 🔴 登录模块延期 3 天:SSO 接口比预期复杂
2. 🟡 客户详情页设计还没交付,前端等米下锅
## 下周目标
- 8/18 前完成登录联调
- 8/20 前客户列表页提测
生成步骤
- 确定时间范围:本周一 00:00 到本周五 23:59(或自定义)
- 拉数据:
lark-cli base record-list --app-token $APP --table-id worklogs \
--filter '{"conjunction":"and","conditions":[
{"field_name":"member","operator":"is","value":["mem_zhangsan"]},
{"field_name":"date","operator":"isGreater","value":["2026-08-10"]},
{"field_name":"date","operator":"isLess","value":["2026-08-15"]}
]}' --page-all
- 聚合(在内存里做):
- 按 project 分组算工时
- 按 task 分组算工时 + 进度变化
- 按 category 统计(开发/会议/面试各多少)
- 找变化:对比 tasks 表本周一和本周五的 progress,算 Δ
- AI 生成文案:把结构化数据丢给 LLM,按模板出自然语言段落
- 可选动作:
- 发给员工自己审核:"这是你的周报草稿,改完回复'确认'我就发到群里"
- 确认后:
lark-cli docs +create 建周报文档 + lark-cli im +messages-send 发群
- 沉淀:把生成的周报追加到一张
weekly_reports 表(可选)
设计原则
- 数据优先,文案点缀:先有真实工时表,再有 AI 写的段落,不允许凭空生成
- 可对比:所有进度都要带"上周→本周"的变化
- 诚实:卡点和风险必须列出来,不做粉饰
- 可发送:生成的就是终稿,可以直接发群/发文档
不做什么
- 不做日报内容的二次评判
- 不做 KPI 打分
- 不偷偷把周报发到群里——必须员工/组长确认