本次更新针对任务提醒系统的三个主要问题进行了全面改进:
问题: 原系统提醒检查间隔为30秒,且任务过期检查只在程序启动时执行一次,导致提醒不及时。
解决方案:
- 新增独立的任务提醒定时器,默认每5分钟检查一次
- 提醒检查间隔可配置(1-60分钟)
- 实现渐进式提醒机制:
- 第一次提醒:任务创建1天后(可配置)
- 第二次提醒:第一次提醒3天后(可配置)
- 后续提醒:每3天提醒一次,直到达到最大提醒次数
问题: 原系统使用简单的MessageBox进行提醒,用户体验不佳。
解决方案:
- 创建现代化的任务提醒窗口 (
TaskReminderWindow) - 集成AI生成的个性化提醒消息和建议
- 提供快速操作按钮:
- ✓ 标记完成
- ✏️ 更新任务
- 🔄 分解任务
- ⏰ 稍后提醒
- 显示任务详细信息和未更新时间
- 支持任务分解和智能象限分配
问题: 分解的任务全部被添加到第一象限,导致其他象限任务丢失。
解决方案:
- 创建智能象限选择器 (
SmartQuadrantSelectorWindow) - 使用AI分析每个子任务的重要性和紧急性
- 为每个子任务推荐合适的象限
- 用户可以查看AI推荐并手动调整
- 支持批量分配到不同象限
新增 ReminderSettingsWindow 允许用户自定义:
- 第一次提醒间隔(1-30天)
- 第二次提醒间隔(需大于第一次)
- 任务过期阈值(需大于第二次提醒间隔)
- 最大提醒次数(1-10次)
- 检查间隔(1-60分钟)
改进设置按钮,提供下拉菜单:
- 🤖 AI助手设置
- ⏰ 任务提醒设置
- ℹ️ 关于
新增LLM服务方法:
AnalyzeTaskPriorityAsync: 分析任务的重要性和紧急性- 改进的任务分解流程
- 个性化提醒消息生成
新增以下配置项到 Properties/Settings.settings:
<Setting Name="StaleTaskThresholdDays" Type="System.Int32" Scope="User">
<Value Profile="(Default)">14</Value>
</Setting>
<Setting Name="MaxInactiveWarnings" Type="System.Int32" Scope="User">
<Value Profile="(Default)">3</Value>
</Setting>
<Setting Name="ReminderCheckIntervalSeconds" Type="System.Int32" Scope="User">
<Value Profile="(Default)">300</Value>
</Setting>
<Setting Name="FirstWarningAfterDays" Type="System.Int32" Scope="User">
<Value Profile="(Default)">1</Value>
</Setting>
<Setting Name="SecondWarningAfterDays" Type="System.Int32" Scope="User">
<Value Profile="(Default)">3</Value>
</Setting>- 点击主界面右上角的设置按钮(⚙️)
- 选择"⏰ 任务提醒设置"
- 根据个人需求调整各项参数
- 点击"保存设置"
当收到任务提醒时:
- 查看AI生成的提醒消息和建议
- 选择合适的操作:
- 如果任务已完成,点击"标记完成"
- 如果需要更新进度,点击"更新任务"
- 如果任务太复杂,点击"分解任务"
- 如果暂时无法处理,点击"稍后提醒"
- 在提醒窗口中点击"分解任务"
- 系统将使用AI分析并分解任务
- 在智能象限选择器中查看AI推荐的象限分配
- 根据需要调整每个子任务的象限
- 点击"确认分配"完成分解
- 移除启动时的批量提醒处理,改为异步定期检查
- 优化CSV文件读写操作
- 减少不必要的UI刷新
- 分离提醒逻辑到独立的定时器
- 创建专用的提醒窗口组件
- 改进设置管理和配置加载
- 现代化的UI设计
- 渐进式提醒策略
- 智能化的任务处理建议
- 向后兼容现有的CSV数据格式
- 自动迁移旧版本设置
- 保持现有功能的完整性
- 添加提醒历史记录
- 支持自定义提醒模板
- 集成更多AI分析功能
- 添加任务完成统计和分析
- 支持团队协作提醒
通过这些改进,任务提醒系统现在能够:
- 更及时地提醒用户关注重要任务
- 提供更友好和智能的交互体验
- 确保任务分解后能正确分配到合适的象限
- 允许用户根据个人习惯自定义提醒行为
这些改进显著提升了任务管理的效率和用户体验。