智能学习日程管家
一站式学习时间管理工具,帮助学生高效规划学习时间。
核心能力
1. 课表导入
支持多种方式导入课表和学习计划:
- 图片导入:课表截图自动识别(OCR提取课程信息)
- 文件导入:支持 .ics、.xlsx、.csv 日历文件
- 文本导入:自然语言描述自动解析
- 手动录入:结构化添加课程/任务
示例对话:
用户:[上传课表截图]
用户:帮我导入这学期的课表
Agent:
1. 使用OCR识别图片中的表格结构和课程信息
2. 提取课程名称、时间、地点
3. 生成结构化课表数据
4. 询问是否同步到日历
2. 智能排程
自动安排学习任务,优化时间利用:
排程策略:
- 识别可用时间段(扣除固定课程)
- 任务优先级计算(截止日期+重要性+难度)
- 智能分配(考虑偏好时段、科目连续性、疲劳度)
- 冲突检测与解决
示例对话:
用户:这周要准备高数考试,还有英语听力每天练习,帮我安排复习计划
Agent:
1. 获取当前课表确定固定占用时间
2. 分析任务:高数考试(紧急重要)、听力练习(日常)、背单词(碎片化)
3. 识别可用时间段
4. 生成排程建议:
- 高数安排在晚间高效时段(2小时/天)
- 听力安排在午休后(30分钟)
- 背单词安排在通勤/间隙(15分钟×3次)
3. 提醒设置
智能提醒策略,不错过任何任务:
提醒类型:
- 课前提醒:提前15分钟准备、提前5分钟到达
- 任务提醒:开始提醒、进度提醒、结束提醒
- 截止提醒:1天前、4小时前、1小时前
- 智能干预:未开始提醒、休息建议、空闲推荐
示例:
# 为任务设置提醒
def schedule_reminders(task):
reminders = []
# 开始提醒
reminders.append({
"time": task.start_time,
"message": f"开始学习:{task.name}"
})
# 截止提醒
if task.deadline:
reminders.append({
"time": task.deadline - timedelta(hours=24),
"message": f"'{task.name}'明天截止"
})
return reminders
4. 进度追踪
学习打卡与统计分析:
追踪维度:
- 任务完成率(计划vs实际)
- 时间利用率(计划学习vs实际学习)
- 科目时间分布
- 最佳学习时段识别
示例对话:
用户:我完成了今天的英语听力练习
Agent:
1. 记录完成状态和时间
2. 更新今日进度统计
3. 反馈完成情况
4. 预告下一个任务
5. 动态优化
根据执行情况自动调整:
优化策略:
- 发现经常性延误:增加该类型任务预估时间
- 识别最佳时段:将困难任务调整到高效时段
- 检测过度疲劳:建议减少任务量、增加休息
- 发现空闲浪费:推荐碎片化学习任务
示例:
系统分析发现:
- 高数作业经常超时30分钟 → 后续预估增加30分钟缓冲
- 每晚19-21点效率最高 → 重要任务优先安排此时段
- 周三下午常有2小时空闲 → 推荐安排复习或预习
使用工作流
工作流1:初始化学习日程
- 导入课表(图片/文件/文本)
- 录入固定安排(课程、考试、活动)
- 添加学习任务(作业、复习、备考)
- 设置偏好(高效时段、休息时间)
- 生成初始排程
- 设置同步(日历平台)
工作流2:日常管理
- 查看今日日程
- 任务打卡记录
- 临时调整(插入新任务、延后任务)
- 接收提醒通知
- 周末回顾统计
工作流3:备考规划
- 设定考试/目标日期
- 分解复习内容(里程碑)
- 生成阶段计划
- 分配每日任务
- 追踪完成进度
- 动态调整策略
数据结构
课程信息
{
"name": "高等数学",
"day": "周一",
"start_time": "08:00",
"end_time": "09:40",
"location": "3教201",
"type": "必修课",
"is_fixed": true
}
学习任务
{
"name": "高数作业第3章",
"subject": "高等数学",
"estimated_duration": 120,
"deadline": "2026-04-05T23:59:00",
"importance": 9,
"difficulty": "hard",
"priority": 8.5
}
日程事件
{
"id": "evt_001",
"name": "高数复习",
"type": "study",
"start": "2026-04-01T19:00:00",
"end": "2026-04-01T21:00:00",
"status": "scheduled",
"reminders": [...]
}
配置参数
| 参数 | 类型 | 说明 |
|------|------|------|
| calendar_providers | list | 连接的日历服务(google/outlook/apple) |
| reminder_channels | list | 提醒渠道(desktop/mobile/email) |
| productive_hours | list | 高效学习时段(如 ["19:00-22:00"]) |
| day_start | string | 每日开始时间(如 "08:00") |
| day_end | string | 每日结束时间(如 "23:00") |
| break_duration | int | 休息间隔(分钟,默认15) |
| min_slot_size | int | 最小时间块(分钟,默认30) |
资源引用
参考文档
references/scheduling-algorithms.md- 智能排程算法详解references/calendar-sync.md- 日历同步API集成指南references/ocr-patterns.md- 课表OCR识别模式
脚本工具
scripts/timetable_ocr.py- 课表图片OCR识别scripts/schedule_generator.py- 智能排程生成器scripts/conflict_checker.py- 冲突检测工具
使用示例
示例1:导入课表图片
用户:[上传课表截图]
用户:帮我导入这学期的课表
Agent:
1. 调用 timetable_ocr.py 识别图片
2. 提取课程:高等数学(周一8:00)、大学英语(周二14:00)...
3. 确认识别结果
4. 询问是否添加到日历
5. 生成.ics文件或调用日历API同步
示例2:安排复习计划
用户:下周三有高数期中考试,帮我安排复习
Agent:
1. 距离考试还有6天
2. 分析可用时间(扣除固定课程)
3. 建议复习分配:
- 第1-2天:章节梳理(每天2小时)
- 第3-4天:习题练习(每天2.5小时)
- 第5天:错题回顾(2小时)
- 第6天:模拟测试(3小时)
4. 生成具体排程并设置提醒
示例3:查看和调整日程
用户:我今天有什么学习任务?
Agent:
今日日程:
08:00-09:40 高等数学(上课)
10:00-12:00 高数作业 ⏰10分钟后开始
14:00-15:40 大学英语(上课)
19:00-20:30 高数复习(考前冲刺)
用户:我今天太累了,把晚上的复习取消
Agent:
已取消19:00的复习任务。
建议:可以将复习调整到明天下午,或者缩短为1小时轻量复习。
示例4:进度追踪
用户:这周学习情况怎么样?
Agent:
本周统计(3/30-4/5):
- 计划任务:12个,已完成:10个(83%)
- 计划学习时间:28小时,实际:24.5小时
- 科目分布:高数60%、英语30%、其他10%
- 最佳时段:周二/四晚19-21点
建议:
1. 高数作业平均超时20分钟,已调整后续预估
2. 周三下午常空闲2小时,可安排预习
3. 连续学习4天后效率下降,建议周五减少任务量
边界说明
- 不处理教务系统直接对接(需学校API授权)
- 不存储敏感个人信息(仅处理时间/任务数据)
- 支持本地存储模式(不上传云端)
- 日历同步依赖外部API可用性
扫码联系在线客服