lark-workflow-meeting-todo
Installation
SKILL.md
会议待办自动追踪工作流
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理
适用场景
- "帮我整理最近会议的待办事项" / "会议后有什么要做的"
- "提取这个会议的行动项" / "会上答应了什么事"
- "检查会议待办的完成情况" / "会议承诺兑现了没"
- "把会议待办同步到飞书任务"
前置条件
仅支持 user 身份。执行前确保已授权:
lark-cli auth login --domain vc,task,im
lark-cli auth login --domain vc,drive # 读取纪要文档正文
工作流
{时间范围}
│
├── vc +search ──────────────► 会议列表(meeting_ids)
│
├── vc +notes ───────────────► 纪要文档 tokens
│
├── docs +fetch ─────────────► 读取纪要文档内容(提取待办)
│ 或
├── minutes minutes get ─────► 读取妙记 AI 产物(待办、总结)
│
▼
AI 分析提取待办列表
├── 我方待办(我答应做的)
└── 对方待办(对方承诺做的)
│
▼
im +messages-send ──► 发送确认请求到用户
│
▼
task +create ──► 确认后创建飞书任务
│
▼
base +record-upsert ──► 记录追踪状态
模式一:批量提取(指定时间范围)
Step 1: 确定时间范围
默认过去 7 天。推断规则:"今天"→当天,"这周"→本周一~now,"昨天"→昨天整天。
日期转换必须调用系统命令(如
date),不要心算。
Step 2: 查询会议记录
lark-cli vc +search --start "<YYYY-MM-DD>" --end "<YYYY-MM-DD>" --format json --page-size 30
- 搜索时间范围最大为 1 个月,超出需拆分查询
- 有
page_token时必须继续翻页,收集所有id字段 - 记录每个会议的
meeting_id、subject、start_time
Step 3: 获取纪要产物
# 批量获取会议纪要信息(单次最多 50 个 meeting_id)
lark-cli vc +notes --meeting-ids "id1,id2,...,idN"
返回结果包含:
note_doc_token— 纪要文档 token(含 AI 总结、待办)verbatim_doc_token— 逐字稿文档 tokenminute_token— 妙记 token
对于每个会议纪要,提取待办内容:
方式 A:从纪要文档中提取(推荐,内容更丰富)
lark-cli docs +fetch --doc "<note_doc_token>"
方式 B:从妙记 AI 产物中提取(更快)
lark-cli minutes minutes get --params '{"minute_token": "<minute_token>"}'
lark-cli vc +notes --minute-tokens "<minute_token>"
Step 4: AI 分析提取待办
阅读纪要文档内容后,AI 从中提取两类待办:
我方待办(我答应别人要做的):
- 关键词模式:"我会..."、"我负责..."、"我来跟进..."、"回头我发给你..."、"我回头发邮件..."
- 提取:待办内容、涉及对象、截止暗示
对方待办(别人答应要做的):
- 关键词模式:"他说..."、"对方承诺..."、"XX 会提供..."、"下周给回复..."
- 提取:待办内容、承诺人、截止暗示
输出格式:
## 会议待办提取结果
### 会议:{会议主题}({日期})
#### 我方待办
| # | 待办内容 | 涉及对象 | 建议截止日 |
|---|---------|---------|-----------|
| 1 | 把报告发给张三 | 张三 | 本周五 |
#### 对方待办
| # | 待办内容 | 承诺人 | 建议截止日 |
|---|---------|--------|-----------|
| 1 | 提供设计稿 | 李四 | 下周三 |
Step 5: 发送确认请求
将提取的待办以消息发送给用户确认:
lark-cli im +messages-send --chat-id "<chat_id>" --msg-type interactive --content '<飞书卡片JSON>'
卡片内容包含:
- 每条待办的简述
- "确认创建任务" / "跳过" 按钮
- "全部确认" / "全部跳过" 快捷操作
Step 6: 创建飞书任务
用户确认后,为每条待办创建飞书任务:
lark-cli task +create --summary "<待办内容>" --due "<截止日>" --description "来源会议:{会议主题}({日期})"
Step 7: 记录追踪状态
将待办信息记录到多维表格(需先初始化 Base 表,见"数据初始化"部分):
lark-cli base +record-upsert --table-id "<table_id>" --json '{"字段名":"值"}'
模式二:单会议提取
用户指定某个会议时:
# 通过会议标题搜索
lark-cli vc +search --keyword "<会议主题>" --start "<date>" --end "<date>"
后续流程与模式一相同,但只处理这一个会议。
模式三:检查完成情况
Step 1: 获取追踪记录
lark-cli base +record-list --table-id "<table_id>" --filter '...确认状态 = "已确认"'
Step 2: 检查任务状态
lark-cli task +get-my-tasks --query "<待办关键词>"
Step 3: 验证"发邮件"类承诺
如果待办内容涉及"发邮件",检查邮件是否已发送:
lark-cli mail +messages-search --query "<邮件关键词>" --from "me"
降级说明:如果用户未启用飞书邮箱(
Step 4: 更新追踪状态
lark-cli base +record-upsert --table-id "<table_id>" --json '{"字段名":"值"}'
模式四:自动归档
超过 14 天未完成的待办自动标记为"已归档":
lark-cli base +record-list --table-id "<table_id>" --filter '...确认状态 = "已确认" AND 创建时间 < 14天前'
对每条记录更新状态为"已归档",并通过飞书消息提醒用户。
数据初始化
首次使用时,创建多维表格追踪数据:
Base 表结构
表名:会议待办追踪
| 字段名 | 类型 | 说明 |
|---|---|---|
| 会议主题 | 文本 | 来源会议的标题 |
| 会议日期 | 日期 | 会议时间 |
| 待办内容 | 文本 | 提取的待办描述 |
| 待办类型 | 单选 | 我方待办 / 对方待办 |
| 负责人/承诺人 | 文本 | 谁来做 |
| 建议截止日 | 日期 | 根据上下文推断 |
| 确认状态 | 单选 | 待确认 / 已确认 / 已跳过 / 已完成 / 已归档 |
| 关联任务ID | 文本 | 飞书任务的 task_id |
| 会议ID | 文本 | vc meeting_id |
| 创建时间 | 日期 | 记录创建时间 |
初始化命令
# 1. 创建多维表格
# 注意:+table-create 可能部分成功,需捕获错误后用 +field-create 补字段
# 注意:连续创建字段会触发限流(错误码 800004135),每次调用间隔至少 1 秒
lark-cli base +table-create --name "会议待办追踪" --fields '[
{"name":"会议主题","type":"text"},
{"name":"会议日期","type":"datetime"},
{"name":"待办内容","type":"text"},
{"name":"待办类型","type":"select","multiple":false,"options":[{"name":"我方待办"},{"name":"对方待办"}]},
{"name":"负责人/承诺人","type":"text"},
{"name":"建议截止日","type":"datetime"},
{"name":"确认状态","type":"select","multiple":false,"options":[{"name":"待确认"},{"name":"已确认"},{"name":"已跳过"},{"name":"已完成"},{"name":"已归档"}]},
{"name":"关联任务ID","type":"text"},
{"name":"会议ID","type":"text"},
{"name":"创建时间","type":"datetime"}
]'
# 2. 记录 base_token 和 table_id 到后续使用
首次使用时向用户确认是否创建追踪表。如果用户已有 Base,可以指定已有 Base URL。
限流处理:如果 +table-create 因限流部分失败,表仍会创建成功。此时:
- 用
base +table-list获取 table_id- 用
base +field-create --table-id <id> --json '{"name":"字段名","type":"text"}'逐个补字段,每次间隔 1-2 秒
学习模式
用户多次拒绝某类待办时,记录拒绝模式:
- 在多维表中增加"用户偏好"记录
- 下次提取时,AI 自动过滤相似类型的待办
- 示例:"会议纪要类记录"被多次拒绝 → 下次自动跳过"记录会议纪要"类待办
权限表
| 命令 | 所需 scope |
|---|---|
vc +search |
vc:meeting:read |
vc +notes |
vc:meeting:read |
minutes.minutes.get |
minutes:minutes:readonly |
docs +fetch |
docx:document:read |
task +create |
task:task:write |
task +get-my-tasks |
task:task:read |
im +messages-send |
im:message:send_as_bot |
base +record-list |
bitable:app:read |
base +record-upsert |
bitable:app:write |
mail +messages-search |
mail:mail:read |
参考
lark-shared— 认证、权限(必读)lark-vc—+search、+notes详细用法lark-minutes— 妙记基础信息lark-doc—+fetch详细用法lark-task—+create、+get-my-tasks详细用法lark-im—+messages-send详细用法lark-base—+record-list、+record-upsert详细用法lark-mail—+messages-search详细用法lark-workflow-meeting-summary— 会议纪要汇总(可联动)
Weekly Installs
2
Repository
liangdabiao/lar…ishu-cliGitHub Stars
20
First Seen
Apr 13, 2026
Security Audits