Smart Todo Manager
功能概述
智能代办管理系统,提供以下核心能力:
| 功能 | 说明 |
|---|---|
| 优先级管理 | P0(最高)、P1(普通) |
| 状态跟踪 | 未开始、进行中、已完成、暂停、终止 |
| 智能重复检测 | 名称+描述双维度,80%相似度阈值 |
| 上下文保存 | 自动捕获工作文件、对话历史、任务状态 |
| 定时提醒 | 20分钟间隔状态汇报,P0超时提醒 |
| 自动归档 | 已完成/终止代办自动转移到归档文件 |
触发条件
显式触发
用户明确表达添加代办意图:
- "加入代办:修复登录bug"
- "记一下,明天要开会"
- "添加到待办"
- "创建代办任务"
查询触发
用户询问代办状态:
- "查看我的代办"
- "待办列表"
- "有什么待办"
- "P0 代办有哪些"
工作中断触发
检测到用户切换任务意图:
- "先放下这个"
- "换个事"
- "等一下"
- "先做别的"
- "转移注意力"
中断处理流程:
- 捕获当前任务上下文(打开文件、对话历史、任务状态)
- 询问用户:"检测到任务切换,是否为当前任务创建代办?"
- 如确认,创建包含完整上下文的代办
- 如拒绝,仍静默保存上下文供后续参考
工作流程
流程1:添加代办
1. 解析用户输入
└─ 提取任务核心内容
2. 生成简略名称(≤10字)
└─ 示例:"修复登录API超时问题" → "修复登录超时"
3. 确认理解
└─ 与用户对话确认任务理解正确
└─ 记录确认后的理解内容
4. 捕获上下文
└─ 当前打开的文件
└─ 最近的文件修改
└─ 对话历史(最近10条)
└─ 当前任务目标
5. 重复检测
└─ 名称相似度 >=70% 或 描述相似度 >=80%?
└─ 任一满足 → 触发重复警告
6. 用户确认
├─ 无重复 → 直接创建
└─ 有重复 → 询问:合并/新建/取消
7. 保存代办
└─ 写入 active.md
└─ 更新统计信息
流程2:重复检测
检测逻辑(OR 组合,任一维度触发即报警):
if similarity(name_new, name_existing) >= 0.7 or \
similarity(desc_new, desc_existing) >= 0.8:
trigger_duplicate_warning()
名称阈值 70%(中文相似词匹配较松)、描述阈值 80% 均可在 config.json 中调整
用户提示:
⚠️ 检测到相似代办:
现有代办 [T003] P0 修复登录超时
- 描述: 用户登录API返回超时,需优化数据库查询
- 相似度: 名称 85%, 描述 90%
你的新代办是否与此相同?
[是,合并] [否,新建] [查看详情] [取消]
流程3:状态更新
状态流转图:
未开始 ──→ 进行中 ──→ 已完成 ✓ (归档)
↑ ↓
└──── 暂停 ─┘
↓
终止 ✓ (归档)
归档规则:
- 状态变为"已完成" → 移动到 archive.md,记录完成时间
- 状态变为"终止" → 移动到 archive.md,记录终止原因
流程4:定时提醒
触发时机:每次会话开始时检查
提醒内容:
📋 代办状态更新 (距上次 25 分钟)
活动代办: 5 个
├─ P0: 2 个 (⚠️ 1个已超时)
└─ P1: 3 个
⚠️ P0 代办提醒:
[T001] 修复支付接口 - 进行中 (已 1.5 小时)
建议: 是否需要帮助或调整优先级?
快捷操作:
- "标记 T001 完成"
- "暂停 T001"
- "查看详情"
文件结构
D:\knowledge\代办\
├── active.md # 活动代办
├── archive.md # 归档代办
└── config.json # 用户配置(可选覆盖)
active.md 格式
# 活动代办列表
## 统计
- 总计: 3
- P0: 1
- P1: 2
- 进行中: 1
- 未开始: 1
- 暂停: 1
## 代办列表
### [T001] P0 修复登录超时
**状态**: 进行中
**创建时间**: 2026-03-31 10:00:00
**更新时间**: 2026-03-31 14:30:00
**预估时间**: 60分钟
**原始描述**:
用户反馈登录经常超时,需要排查是数据库问题还是网络问题
**确认理解**:
优化登录接口性能,目标响应时间 < 500ms
**上下文**:
捕获时间: 2026-03-31 10:05:00
【当前目标】
优化登录接口性能
【打开的文件】
- src/api/auth.py
- src/db/connection.py
【最近文件】
- config/database.yml
- tests/test_auth.py
【对话摘要】
> 用户: 登录超时问题需要处理
> 助手: 已记录,建议先检查数据库连接池
【备注】
工作中断 | 原因: 需要紧急处理支付bug
**标签**: #bug #性能优化
---
### [T002] P1 编写API文档
...
---
最后更新: 2026-03-31 15:00:00
配置选项
assets/config.json:
{
"storage_path": "D:\\knowledge\\代办",
"notification_interval_minutes": 20,
"similarity_threshold": 0.8,
"max_name_length": 10,
"context_lines_from_history": 10,
"p0_alert_threshold_hours": 1
}
| 配置项 | 说明 | 默认值 |
|---|---|---|
| storage_path | 代办文件存储路径 | D:\knowledge\代办 |
| notification_interval_minutes | 提醒间隔(分钟) | 20 |
| similarity_threshold | 重复检测阈值 | 0.8 |
| max_name_length | 简略名称最大长度 | 10 |
| context_lines_from_history | 保留对话历史条数 | 10 |
| p0_alert_threshold_hours | P0超时提醒阈值(小时) | 1 |
使用示例
添加代办
用户: "加入代办,修复登录超时问题,用户反馈登录经常卡住"
助手:
已理解,创建代办:
简略名称: 修复登录超时 (8字)
优先级: P1 (默认)
预估时间: 20分钟 (默认)
确认理解:
用户登录接口响应慢,需要排查性能问题并优化
是否正确?
[正确,保存] [修改名称] [修改优先级] [取消]
检测到重复
用户: "加入代办,修复登录问题"
助手:
⚠️ 检测到相似代办:
现有代办 [T001] P0 修复登录超时
- 描述: 用户反馈登录经常超时...
- 相似度: 名称 90%, 描述 85%
操作选项:
1. 合并 - 更新现有代办
2. 新建 - 这是不同的问题
3. 查看 - 显示现有代办详情
4. 取消
工作中断检测
用户: "先放下这个,我去处理支付bug"
助手:
检测到任务切换。
当前任务: 修复登录超时 (进行中)
已耗时: 30分钟
打开文件: src/api/auth.py, src/db/connection.py
是否为当前任务创建代办以保存进度?
[是,保存上下文] [否,继续] [稍后提醒]
查看代办
用户: "查看代办"
助手:
📋 代办列表 (3个活动)
P0 (1):
├─ [T001] 修复登录超时 - 进行中 (30分钟)
P1 (2):
├─ [T002] 编写API文档 - 未开始
└─ [T003] 更新依赖包 - 暂停
操作: "查看 T001" / "完成 T002" / "全部详情"
边界情况处理
| 场景 | 处理方式 |
|---|---|
| 名称超过10字 | 自动截断并提示用户 |
| 重复检测冲突 | 显示相似代办,等待用户选择 |
| P0超时未更新 | 主动提醒,询问是否需要帮助 |
| 上下文捕获失败 | 记录失败原因,继续创建代办 |
| 存储路径不存在 | 自动创建目录 |
| 文件解析错误 | 备份原文件,重新初始化 |
实现依赖
scripts/todo_manager.py- 核心CRUD和重复检测scripts/context_capture.py- 上下文捕获assets/config.json- 配置references/todo_template.md- 模板参考
版本
v1.0.0 - 初始版本
- 基础CRUD功能
- 重复检测
- 上下文捕获
- 自动归档