在备战考研过程中,发现市面上现有的备考工具无法同时满足任务规划、时间管理、进度追踪、自我激励等多个需求。 市面上的 Todo 应用缺乏备考场景的定制化功能(如按科目分类、热力图展示、番茄钟计时), 而专业的备考软件又过于臃肿。于是决定为朋友打造一个轻量、实用、有温度的备考伴侣工具。
项目命名「流萤研习室」—— 寓意备考路上的每一点努力都如萤火般微小却坚定,汇聚成光萤之树的成长。 整体采用暖色调(薄荷绿 + 琥珀金)的视觉风格,营造安静、温暖的学习氛围。
为朋友备考需求独立设计并开发的全功能 Web 备考工具,已在日常使用中。 单页 HTML 前端 + Python HTTP 后端 + Windows 专注监控脚本, 覆盖任务打卡、番茄钟计时、学习热力图、成就系统、日记与每日总结等完整功能链路。
在备战考研过程中,发现市面上现有的备考工具无法同时满足任务规划、时间管理、进度追踪、自我激励等多个需求。 市面上的 Todo 应用缺乏备考场景的定制化功能(如按科目分类、热力图展示、番茄钟计时), 而专业的备考软件又过于臃肿。于是决定为朋友打造一个轻量、实用、有温度的备考伴侣工具。
项目命名「流萤研习室」—— 寓意备考路上的每一点努力都如萤火般微小却坚定,汇聚成光萤之树的成长。 整体采用暖色调(薄荷绿 + 琥珀金)的视觉风格,营造安静、温暖的学习氛围。
| 模块 | 实现方式 | 说明 |
|---|---|---|
| 三周任务清单 | DOM 动态渲染 + localStorage | 按数学、英语、专业课分类,支持勾选打卡、展开折叠、任务级与日级备注 |
| 番茄钟计时器 | 独立全屏窗口 + localStorage 通信 | 随机 40-70 分钟专注时段,GIF 动态背景,Web Audio 完成提示音,跨窗口数据同步 |
| 学习热力图 | Canvas 2D 手绘 | 21 天热力网格,颜色深浅反映每日任务完成率,悬浮提示显示日期与百分比 |
| 光萤之树 | 纯 CSS 动画 + JS 状态驱动 | 植物生长可视化——完成率驱动树干高度、叶片展开、花朵绽放,将抽象进度转化为具象成长 |
| 成就系统 | 条件判定 + CSS 动画 | 9 枚成就徽章(首次番茄钟、累计时长、连续打卡等),解锁时弹入动画;5 级段位系统 |
| 日记系统 | Modal 弹窗 + JSON 持久化 | 9 维量化记录(学习状态、心情、专注度、时长、难度、方法、身体、就寝、明日计划) |
| 每日总结 | 多源数据聚合 + 规则引擎 | 自动聚合任务/番茄钟/日记/专注数据,生成 0-100 评分与星级评级,附带叙事性文字总结 |
| 专注监控 | Python + Windows API | 每 3 秒检测活动窗口,按黑白名单分类为学习/摸鱼/中性,记录 5 秒以上 session |
| 学习周报 | Canvas 图表 + 数据分析 | 周进度对比柱状图、番茄钟时长趋势、科目完成率统计,一键生成周度报告 |
前端:单文件 HTML(约 2900 行),全部 CSS/JS 内联,零外部 JS 依赖。
仅引用 Google Fonts(ZCOOL XiaoWei 字体)。所有图表(热力图、柱状图、趋势图)均使用 Canvas 2D API 手绘,不依赖任何图表库。
番茄钟计时页面通过 window.open 独立窗口运行,与主页面通过 localStorage 进行跨窗口数据同步。
后端:Python HTTP 服务器(仅使用标准库 http.server),提供 RESTful API 进行 JSON 文件持久化。
服务器自动合并专注监控数据到状态响应中。绑定 127.0.0.1,仅本地访问。
专注监控:独立 Python 后台进程,通过 pywin32 获取 Windows 活动窗口标题,
按可配置的黑白名单关键词进行窗口分类(学习/摸鱼/中性/空闲),每 30 秒热重载配置,记录完整 session 日志。
以下为项目各核心模块的实际运行截图,展示从任务规划到数据复盘的完整使用流程。
三周学习计划按科目(数学/英语/专业课)分类,支持勾选打卡、展开折叠、备注编辑。
独立全屏番茄钟窗口,随机 40-70 分钟专注时段 + 5 分钟休息,支持选择具体学习任务。
9 维量化日记记录,支持多选。每日总结自动聚合多源数据,生成评分与叙事性评价。
Windows 后台脚本每 3 秒检测活动窗口,通过黑白名单自动分类为学习/摸鱼/中性。
该工具已投入日常备考使用,覆盖从每日任务规划、番茄钟专注计时到晚间日记复盘的全流程。 光萤之树的成长可视化设计将抽象的"学习进度"转化为具象的植物生长, 有效提升了持续学习的动力。项目完整展示了从前端到后端、从 UI 设计到系统脚本的全栈开发能力。