智能待办追踪
从对话中自动捕捉、追踪和提醒任务。
核心功能
- 自动识别待办 - 检测自然语言中的任务
- 智能提醒 - 心跳时检查到期任务
- 状态追踪 - 用户说"做完了"自动标记完成
- 优先级与标签 - 自动分类,支持手动覆盖
存储位置
memory/todos.json
{
"todos": [
{
"id": "abc123",
"task": "任务描述",
"due": "2026-04-08T15:00:00",
"priority": "high",
"tags": ["工作", "紧急"],
"status": "pending",
"created": "2026-04-07T19:00:00",
"completed_at": null,
"context": "对话上下文"
}
]
}
使用方式
添加待办
自动触发短语:
- "记住..." / "Remember to..."
- "别忘了..." / "Don't forget..."
- "要做..." / "Need to..."
- "提醒我..." / "Remind me..."
- 提到截止时间:"明天"、"周五"、"下周"、"by Friday"
示例:
用户: 记住明天下午3点开会
→ 提取: task="开会", due=明天15:00, priority=medium
用户: 别忘了周五之前交报告,很重要
→ 提取: task="交报告", due=周五, priority=high
用户: I need to call mom this weekend
→ 提取: task="call mom", due=周末, priority=low
手动添加:
用户: 添加待办:完成项目文档
用户: 新任务:review PR 截止明天
列出待办
用户: 有什么待办吗?
用户: 列出待办
用户: 显示本周任务
用户: 我还有什么没做?
输出格式:
📋 待办事项 (3 个进行中, 1 个今天到期)
🔴 [高] 交报告 - 截止: 今天 18:00
🟡 [中] 开会 - 截止: 明天 15:00
🟢 [低] 打电话给妈妈 - 截止: 周末
✅ [完成] 提交代码 - 完成于: 昨天
完成待办
自动触发短语:
- "做完了..." / "完成了..." / "Done..."
- "搞定了..." / "Finished..."
- "XX好了" (匹配任务名)
示例:
用户: 报告交完了
→ 匹配: "交报告" → 状态改为完成
用户: Done with the meeting
→ 匹配: "开会" / "meeting" → 状态改为完成
编辑/删除
用户: 删除"交报告"的待办
用户: 把"开会"改到明天上午
用户: Change report deadline to Friday
优先级检测
| 模式 | 优先级 |
|---|---|
| "紧急"、"重要"、"urgent"、"important"、"asap" | high |
| 默认 | medium |
| "不急"、"有空做"、"later"、"when possible" | low |
日期解析
支持中文和英文日期格式,详见 date-parsing.md
常用格式:
- 绝对日期:2026-04-08、4月8日、April 8
- 相对日期:明天、后天、tomorrow
- 星期:周五、下周一、Friday
- 时间:下午3点、晚上8点、3pm
工作流程
识别待办时
- 解析任务、截止日期、优先级
- 生成唯一 ID
- 保存到
memory/todos.json - 确认:
✅ 已记录:[任务]
查看状态时
- 读取
memory/todos.json - 按状态/日期过滤
- 格式化输出
完成任务时
- 模糊匹配任务名
- 更新状态 →
completed - 记录
completed_at - 确认:
✅ 已完成:[任务]
心跳检查时(如配置)
- 检查有截止日期的待办
- 找出 24 小时内到期的任务
- 如有,提醒用户:
⏰ 提醒:明天有 2 个待办 🔴 交报告 - 截止: 明天 18:00 🟡 开会 - 截止: 明天 15:00
心跳集成
添加到 HEARTBEAT.md:
## 待办检查
- 检查 `memory/todos.json` 中即将到期的任务
- 如有 24 小时内到期的任务,提醒用户
脚本
scripts/todo_manager.py- 待办 CRUD 操作
错误处理
- 文件不存在 → 创建空结构
- JSON 无效 → 备份后重建
- 任务匹配模糊 → 请用户确认
注意事项
- 保持轻量级 - 不是完整的项目管理工具
- 模糊匹配容忍错别字
- 支持中英文双语短语