dingtalk-workflow-meeting-todo
Installation
SKILL.md
会议待办追踪 (dingtalk-workflow-meeting-todo)
从钉钉日程的描述信息中 AI 提取待办事项(我答应做的 + 对方答应做的)。 通过钉钉消息确认后自动创建钉钉待办,定期检查完成情况。 相比飞书版本,钉钉无妙记(自动会议纪要),改为从日程描述中 AI 提取。
触发方式
用户对话中包含以下关键词时自动触发:
"会议待办" "会后的待办" "追踪待办" "提取行动项" "整理会议纪要待办" "会议行动项"
工作模式
模式 1: 批量提取(指定时间范围)
触发: "帮我整理最近一周会议的待办事项" / "提取本周会议行动项"
工作流:
Step 1: 获取时间范围内的日程列表
└── dws calendar event list --start "2026-04-01T00:00:00+08:00" --end "2026-04-06T23:59:59+08:00" --yes -f json → 按日期范围获取日程
Step 2: 逐个获取日程详情(含描述)
└── dws calendar event get --id "eventId" --yes -f json → 获取日程描述和参与者
Step 3: AI 分析日程描述,提取待办事项
├── 识别承诺性语句("我会..."、"你帮我..."、"下周前...")
├── 区分我方待办和对方待办
├── 推断建议截止日(根据上下文关键词:今天/明天/下周/周五等)
└── 去重(与已有待办记录比对)
Step 4: 用户确认后,批量创建钉钉待办(含错误处理)
├── 对每个确认的待办执行 dws todo task create
├── 如果创建失败(errorCode 999 等),立即重试一次
├── 如果重试仍然失败:
│ ├── 将该待办写入 aitable 追踪表(状态标记为"创建失败")
│ └── 通过 DING 通知用户:"待办「XXX」创建失败,已记录到追踪表,请手动创建"
└── 汇总创建结果报告
输出格式:
## 日程待办提取报告
找到 N 场日程,其中 M 场有可提取的待办事项。
### 日程:XXX会议(日期)
#### 我方待办
| # | 待办内容 | 建议截止日 |
|---|---------|-----------|
| 1 | 待办描述 | 周五 |
#### 对方待办
| # | 待办内容 | 承诺人 |
|---|---------|--------|
| 1 | 待办描述 | 张三 |
请确认需要创建钉钉待办的条目(回复编号,如 "1 3 5")。
模式 2: 单日程提取
触发: "提取今天产品评审会的行动项" / "XXX会议有什么待办"
工作流:
Step 1: 搜索匹配的日程
└── dws calendar event list --start "..." --end "..." --yes -f json → 按日期范围过滤匹配的日程
Step 2: 获取日程详情
└── dws calendar event get --id "eventId" --yes -f json
Step 3: AI 提取待办 → 用户确认 → 创建待办
模式 3: 完成检查
触发: "会议待办都完成了吗" / "检查待办完成情况"
工作流:
Step 1: 查询所有待办
└── dws todo task list --yes -f json
Step 2: 查询会议待办追踪表
└── dws aitable record query --base-id <base-id> --table-id <table-id> --yes -f json
Step 3: 对比待办状态,生成报告
输出格式:
## 会议待办完成情况
| 待办 | 来源日程 | 负责人 | 状态 |
|------|---------|--------|------|
| 待办内容1 | Q2规划会 | 我 | 已完成 ✓ |
| 待办内容2 | Q2规划会 | 我 | 进行中 |
| 待办内容3 | UI评审会 | 李四 | 已过期 ⚠️ |
总计:N 项待办,已完成 M 项,过期 K 项
模式 4: 自动归档
触发: 自动执行(超过 14 天未完成的待办)
工作流:
Step 1: 查询所有"已确认"但未完成的待办
Step 2: 筛选出创建时间超过 14 天的
Step 3: 更新状态为"已归档"
└── dws aitable record update --base-id <base-id> --table-id <table-id> --records '[{"recordId":"...","cells":{"确认状态":"已归档"}}]' --yes
数据初始化
首次使用时,自动创建 aitable 数据表:
# 创建 Base
dws aitable base create --name "会议待办追踪" --yes -f json
# 返回 baseId,记为 <mt-base-id>
# 创建数据表
dws aitable table create --base-id <mt-base-id> --name "会议待办" --yes -f json
# 返回 tableId,记为 <mt-table-id>
# 添加业务字段(表创建后自动带一个"标题"primaryDoc字段,需额外添加业务字段)
dws aitable field create --base-id <mt-base-id> --table-id <mt-table-id> --fields '[{"fieldName":"会议主题","type":"text"},{"fieldName":"会议日期","type":"date"},{"fieldName":"日程ID","type":"text"},{"fieldName":"待办内容","type":"text"},{"fieldName":"待办类型","type":"text"},{"fieldName":"负责人","type":"text"},{"fieldName":"建议截止日","type":"date"},{"fieldName":"确认状态","type":"text"},{"fieldName":"关联任务ID","type":"text"}]' --yes -f json
表结构:会议待办 (meeting_todos)
| 字段名 | 类型 | 说明 |
|---|---|---|
| 会议主题 | 文本 | 来源日程标题 |
| 会议日期 | 日期 | 日程时间 |
| 日程ID | 文本 | 钉钉日程 eventId |
| 待办内容 | 文本 | 提取的待办描述 |
| 待办类型 | 文本 | 我方待办 / 对方待办 |
| 负责人 | 文本 | 谁来做 |
| 建议截止日 | 日期 | 根据上下文推断 |
| 确认状态 | 文本 | 待确认/已确认/已跳过/已完成/已归档 |
| 关联任务ID | 文本 | 钉钉待办 taskId |
dws CLI 命令参考
获取日程列表
dws calendar event list --start "2026-04-01T00:00:00+08:00" --end "2026-04-06T23:59:59+08:00" --yes -f json
获取日程详情
dws calendar event get --id "eventId" --yes -f json
创建钉钉待办
dws todo task create --title "待办内容" --priority "20" --due "2026-04-10T18:00:00+08:00" --yes -f json
注意:
dws todo task create服务端偶发 NullPointerException,返回 errorCode 999。建议:先使用--dry-run验证参数格式,失败时重试一次。测试时可加--mock标志跳过实际创建。
查看待办列表
dws todo task list --page 1 --size 20 --status false --yes -f json
更新待办状态
dws todo task done --task-id "taskId" --yes -f json
写入追踪记录
dws aitable record create --base-id <mt-base-id> --table-id <mt-table-id> --records '[{"cells":{"标题":"Q2规划会-发送产品路线图","会议主题":"Q2规划会","会议日期":"2026-04-06","待办内容":"发送产品路线图","待办类型":"我方待办","确认状态":"已确认","关联任务ID":"todo_xxx"}}]' --yes -f json
查询追踪记录
dws aitable record query --base-id <mt-base-id> --table-id <mt-table-id> --limit 50 --yes -f json
发送 DING 提醒
dws ding message send --robot-code "bot_code" --users "manager6950" --content "你有 N 个会议待办即将到期" --type "1" --yes
学习模式
- 如果用户多次拒绝某类待办(如"这种事不用记"),AI 记录拒绝原因
- 下次提取时自动跳过类似内容
- 拒绝记录存储在 aitable 追踪表的备注字段中
联动 Skill
| 联动 Skill | 数据交互 | 说明 |
|---|---|---|
| personal-crm | 读取联系人数据 | 标识参会人身份 |
| morning-brief | 提供待办数据 | 晨间简报中展示会议待办 |
注意事项
- 钉钉无妙记(自动会议纪要),待办提取依赖日程描述的质量。建议用户在创建日程时详细记录讨论内容和行动项
- 所有
dws命令必须加--yes标志 dws calendar event list支持--start和--end日期过滤参数(ISO 8601 格式),建议指定范围以提高查询效率- 待办的
--due参数格式为 ISO 8601 - DING 消息发送需要先配置 robot-code
已知问题
dws todo task create服务端偶发 NullPointerException,返回 errorCode 999。 建议操作:先使用--dry-run验证参数格式是否正确,失败时重试一次。此为钉钉服务端问题,不影响dws todo task list、dws todo task done等其他待办命令的正常使用。
Weekly Installs
1
Repository
liangdabiao/din…workflowGitHub Stars
7
First Seen
Apr 14, 2026
Security Audits