com um clique
life-planner-quick-add
// 快速添加日程任务,支持自然语言输入和交互确认。 用户用一句话描述任务,系统自动解析各字段,展示给用户确认,支持多轮修改后再写入表格。 触发场景: - 用户要求添加任务/日程/待办 - 用户说"添加 xxx"、"记录 xxx"、"我要 xxx"、"帮我记一下 xxx" - 用户描述一个需要做的事情 数据源:云文档/日程管理/个人日程数据
// 快速添加日程任务,支持自然语言输入和交互确认。 用户用一句话描述任务,系统自动解析各字段,展示给用户确认,支持多轮修改后再写入表格。 触发场景: - 用户要求添加任务/日程/待办 - 用户说"添加 xxx"、"记录 xxx"、"我要 xxx"、"帮我记一下 xxx" - 用户描述一个需要做的事情 数据源:云文档/日程管理/个人日程数据
| name | life-planner-quick-add |
| description | 快速添加日程任务,支持自然语言输入和交互确认。 用户用一句话描述任务,系统自动解析各字段,展示给用户确认,支持多轮修改后再写入表格。 触发场景: - 用户要求添加任务/日程/待办 - 用户说"添加 xxx"、"记录 xxx"、"我要 xxx"、"帮我记一下 xxx" - 用户描述一个需要做的事情 数据源:云文档/日程管理/个人日程数据 |
| 配置项 | 值 |
|---|---|
| 文件夹名称 | 日程管理 |
| 表格名称 | 个人日程数据 |
用户用自然语言描述任务,例如:
根据 parsing-rules.md 解析各字段:
| 字段 | 解析逻辑 |
|---|---|
| 任务名称 | 提取核心动作 + 对象 |
| 类型 | Action / Project / Habit |
| 状态 | 默认"待办" |
| 今日优先级 | 默认"无" |
| Area | 关键词匹配 |
| 截止日期 | 解析时间表达 |
| 预计耗时 | 解析时长表达 |
| 所属项目 | 识别"属于 xxx 项目" |
| 描述 | 可选,补充说明 |
触发条件(全部满足):
不触发的情况:
→ 如果满足条件,进入 Step 3.5 计算提醒时间
截止日期字段需要毫秒时间戳。禁止估算,必须使用工具精确计算!
调用 session_status 获取当前日期时间。
使用 exec 调用 date 命令:
TZ='Asia/Shanghai' date -d "YYYY-MM-DD HH:MM" +%s%3N
示例:
# 今天 19:00
TZ='Asia/Shanghai' date -d "2026-03-20 19:00" +%s%3N
# 返回:1774004400000
将时间戳转换回日期,验证是否正确:
TZ='Asia/Shanghai' date -d @时间戳秒数
示例:
TZ='Asia/Shanghai' date -d @1774004400
# 返回:2026 年 03 月 20 日 星期五 19:00:00 CST
预期日期时间 vs 反向验证结果
├─ 一致 → ✅ 时间戳正确,继续
└─ 不一致 → ❌ 重新计算
仅当 Step 2.5 判断需要提醒时执行
| 截止时间距离当前时间 | 提醒提前量 |
|---|---|
| > 24 小时 | 提前 30 分钟 |
| 1-24 小时 | 提前 15 分钟 |
| < 1 小时 | 提前 10 分钟 |
# 示例:提前 15 分钟(900000 毫秒)
# 先计算提醒时间的日期时间
TZ='Asia/Shanghai' date -d "2026-03-20 19:00 - 15 minutes" +%s%3N
# 返回:1774003500000
# 反向验证
TZ='Asia/Shanghai' date -d @1774003500
# 返回:2026 年 03 月 20 日 星期五 18:45:00 CST
格式化展示解析结果,截止日期必须显示具体日期时间:
无提醒时:
📝 我理解的日程信息如下:
任务名称:提交论文初稿
类型:Action
Area:科研
截止日期:明天 15:00(2026-03-21 15:00)
预计耗时:2 小时
所属项目:(未指定)
确认添加?如需修改请告诉我。
有提醒时:
📝 我理解的日程信息如下:
任务名称:建立党小组群聊
类型:Action
Area:党建
截止日期:今天 19:00(2026-03-20 19:00)
⏰ **检测到有明确截止时间,是否需要定时提醒?**
- 提醒时间:今天 18:45(截止前 15 分钟)
- 提醒内容:"⏰ 提醒:建立党小组群聊 将在 15 分钟后截止"
回复"确认"添加任务 + 提醒,或告诉我"不需要提醒"。
⚠️ 截止日期格式要求:用户表达(具体日期时间)
这样用户可以直接检查日期是否正确。
情况 A - 用户确认:
情况 B - 用户修改:
情况 C - 用户取消:
情况 D - 用户拒绝提醒:
用户可以通过自然语言修改任意字段:
| 修改指令 | 解析 |
|---|---|
| "类型改成 Project" | 类型 = Project |
| "时间改成 4 小时" | 预计耗时 = 240 分钟 |
| "这个属于论文投稿项目" | 所属项目 = 论文投稿 |
| "截止时间改到下周五" | 截止日期 = 重新计算 |
| "Area 改成生活" | Area = 生活 |
| "这是习惯任务" | 类型 = Habit |
修改后重新展示确认,循环直到用户满意。
定位数据源:
处理项目关联:
写入记录:
feishu_bitable_app_table_record.create仅当用户确认需要提醒时执行
使用 exec 调用 OpenClaw CLI:
openclaw cron add \
--name "任务提醒:建立党小组群聊" \
--at "2026-03-20T18:45:00+08:00" \
--session main \
--system-event "⏰ 提醒:建立党小组群聊 将在 15 分钟后截止" \
--wake now \
--delete-after-run
| 参数 | 说明 |
|---|---|
--name | 任务名称 + 提醒标识 |
--at | 提醒时间(ISO 8601 格式,带时区) |
--session main | 在主会话中执行 |
--system-event | 提醒内容 |
--wake now | 立即唤醒 |
--delete-after-run | 运行后自动删除(一次性提醒) |
将毫秒时间戳转换为 ISO 8601 格式:
# 毫秒时间戳转 ISO 8601
TZ='Asia/Shanghai' date -d @1774003500 --iso-8601=seconds
# 返回:2026-03-20T18:45:00+08:00
无提醒时:
✅ 已添加任务「提交论文初稿」
| 字段 | 值 |
|------|-----|
| 任务名称 | 提交论文初稿 |
| 类型 | Action |
| 状态 | 待办 |
| Area | 科研 |
| 截止日期 | 明天 15:00 |
🔗 查看表格:https://xxx.feishu.cn/base/xxx
有提醒时:
✅ 已添加任务「建立党小组群聊」
| 字段 | 值 |
|------|-----|
| 任务名称 | 建立党小组群聊 |
| 类型 | Action |
| 状态 | 待办 |
| Area | 党建 |
| 截止日期 | 今天 19:00 |
⏰ 已设置提醒:今天 18:45(截止前 15 分钟)
🔗 查看表格:https://xxx.feishu.cn/base/xxx
🔗 查看 cron 任务:`openclaw cron list`
用户:"今天晚上 7 点之前完成"
计算:
$ TZ='Asia/Shanghai' date -d "2026-03-20 19:00" +%s%3N
→ 1774004400000
验证:
$ TZ='Asia/Shanghai' date -d @1774004400
→ 2026 年 03 月 20 日 星期五 19:00:00 CST ✅
展示:
截止日期:今天 19:00(2026-03-20 19:00)
用户:"明天下午 3 点"
计算:
$ TZ='Asia/Shanghai' date -d "2026-03-21 15:00" +%s%3N
→ 1774063200000
验证:
$ TZ='Asia/Shanghai' date -d @1774063200
→ 2026 年 03 月 21 日 星期六 15:00:00 CST ✅
展示:
截止日期:明天 15:00(2026-03-21 15:00)
用户:"今天晚上 7 点之前完成"(当前时间 11:00)
截止时间戳:1774004400000(19:00)
当前时间戳:1773982800000(11:00)
时间差:21600000ms = 6 小时(属于 1-24 小时范围)
提前量:15 分钟 = 900000ms
提醒时间戳:1774004400000 - 900000 = 1774003500000
计算提醒时间:
$ TZ='Asia/Shanghai' date -d "2026-03-20 19:00 - 15 minutes" +%s%3N
→ 1774003500000
验证:
$ TZ='Asia/Shanghai' date -d @1774003500
→ 2026 年 03 月 20 日 星期五 18:45:00 CST ✅
转换 ISO 8601:
$ TZ='Asia/Shanghai' date -d @1774003500 --iso-8601=seconds
→ 2026-03-20T18:45:00+08:00
展示:
⏰ 提醒时间:今天 18:45(截止前 15 分钟)
写入表格时的字段格式:
| 字段名 | 类型 | 格式 |
|---|---|---|
| 任务名称 | 文本 | 字符串 |
| 类型 | 单选 | 字符串 |
| 状态 | 单选 | 字符串 |
| 今日优先级 | 单选 | 字符串 |
| Area | 单选 | 字符串 |
| 截止日期 | 日期 | 毫秒时间戳(必须精确计算) |
| 预计耗时(分钟) | 数字 | 整数 |
| 实际耗时(分钟) | 数字 | 整数(留空) |
| 描述 | 文本 | 字符串 |
| 所属项目 | 关联 | 记录 ID(record_id) |
date 命令精确计算--delete-after-run 确保一次性提醒自动清理