StudyFlow 是一个 Web-first 的个人学习计划与执行助手。V2 已形成第一阶段的 Plan → Execute → Record:先安排学习任务,再用正计时或番茄钟执行,并把实际投入和结果保存为可审计的本地记录。
- 新建、编辑、完成、重新打开和归档任务
- 四象限看板与任务列表切换
- 分类、状态和截止日期筛选
- Today 今日/逾期任务、计划时长、实际专注、完成数量和当前会话
- 独立分类管理
- 从任务或临时学习记录开始
Stopwatch(正计时)或Pomodoro(番茄钟) - Focus Mode、全局迷你计时栏、暂停、恢复、跳过休息和结束
- 番茄专注到时播放提示音;未开始休息时自动进入超时正计时并继续记录实际专注
- 全局番茄默认值,以及开始学习时独立覆盖本次专注/休息时长和每组轮数
- Focus 中可调整本次会话的后续番茄阶段,不影响当前阶段或其他会话
- 可开关提示音、调节并试听音量,以及启用浏览器通知
- 休眠或明显时间跳跃确认、多标签页状态同步和刷新恢复
- 完成/部分完成/未完成、原因、总结和备注
- History 日期/分类/任务/结果筛选,以及保留修改前后值的时间线修正
- IndexedDB 本地持久化、
TaskEvent、StudyInterval和SessionRevision历史 - V2 完整 JSON 备份、V1 备份兼容导入和覆盖导入前安全备份
项目固定使用用户目录中的 Node.js 24.19.0。Ubuntu 上直接运行:
cd /home/minglee/Projects/studyflow
./studyflow.sh浏览器访问 http://127.0.0.1:5173。
其他命令:
./studyflow.sh typecheck
./studyflow.sh test
./studyflow.sh lint
./studyflow.sh e2e
./studyflow.sh build数据保存在当前浏览器的 IndexedDB 中。刷新页面或关闭浏览器后会恢复任务与活动会话;StudyFlow 也会尝试申请浏览器持久存储。不同浏览器、不同网址和不同设备之间不会自动共享,浏览器数据清理仍可能删除本地数据。
建议定期点击应用左下角“数据管理”并导出 JSON。覆盖导入前,StudyFlow 会先触发下载一份当前数据的安全备份;无效或不兼容的文件不会修改现有数据库。
任务在 UI 中删除后会归档而不是物理清除。任务事件、学习会话、专注/休息/暂停区间以及有原因的修正历史都会保留,为后续完成率、预计与实际时间、周报和趋势分析提供数据基础。
- 在
Plan创建任务,或点击左下角“开始学习”建立临时记录。 - 选择正计时或番茄钟;番茄钟可以沿用全局默认值,也可以为这次学习单独设置专注、休息和轮数。
- 使用暂停、继续、跳过休息或结束。番茄专注到时会播放提示音;如果尚未开始休息,页面会转为超时正计时并继续累计实际专注。在 Focus 中修改本次番茄设置时,当前阶段保持不变,后续阶段使用新值。离开 Focus 后可通过底部迷你栏返回。
- 结束时选择结果;部分完成或未完成必须说明原因。
- 在
History查看和筛选记录。如需修正,必须填写修正原因,原值不会被无痕覆盖。 - 定期从“数据管理”导出 JSON 备份。
计时以持久化 UTC 时间戳为准。休息、暂停和被排除的休眠时间不计入实际专注;跨午夜时按会话记录的本地时区分配到对应日期。
首次重新安装依赖时:
export PATH="$HOME/.local/opt/node-v24.19.0-linux-x64/bin:$PATH"
npm install- V1 Plan:任务、Today、四象限、分类和本地历史(已完成)
- V2 Execution:Focus Mode、计时、番茄钟和实际学习记录(当前版本)
- V3 Experience + PWA:离线安装、环境音和主题体验
- V4 Analytics + Sync:学习统计、完成率、趋势和可选同步
- V5 AI Planner:根据目标、可用时间和历史执行情况动态调整计划
StudyFlow 使用 MIT License。