市面上的效率工具要么太重、要么只解决单点。真正难的是:事情散落在十几个 App 里、想做的事一直停在「明天再说」、做完也没有回头看自己的闭环。
任务一大就下不去手。核心难点在「开始的门槛」太高,而不是「能否完成」。需要把启动成本压到最低。
待办、习惯、读书、学习、记账各用各的 App,没有统一视图,也无法互相印证进度。
做完就忘,不知道自己这段时间到底在哪些事上投入、哪些在空转。需要一个「看见自己」的数据层。
这些不是口号,而是落在每一个交互里的硬约束。
「5 分钟启动法」:奖励落在「开始」这一刻而非「完成」。后台计时、到点响铃,不显示实时倒计时,避免被逼迫的焦虑感。
完成任务即 +积分、习惯连续打卡生成 🔥 streak、暂停可记录并回算。让努力被「看见」,靠正反馈而非自律硬撑。
竖屏优先适配手机、横屏适配桌面;同一套设计 token 在两端都稳。时间表的「实际 HH:MM – HH:MM」与暂停标注在窄屏也读得清。
偏差 / 完成率 / 按时率 / 超时热力 / 周节律雷达 —— 8 个看板把「我这段时间过得怎样」讲清楚,让人自己得出结论。
下方四个模块是当前已经开发、并且我在日常使用的部分。点击任一模块可查看逐条功能说明(按真实二级 tab 顺序展开)。其余模块会在后续逐步设计。
下面展开排课引擎、反馈闭环、数据复盘,以及多模块任务同步与超载提醒的具体实现。
排程由一组明确的规则驱动,所有常量集中在 timetable-logic.ts:
核心假设:人靠正反馈而非意志力持续。每条动线都回到「计划」形成闭环:
每张图对应一个「能改变行为」的问题。下方是其中三张的静态示意:
其余 5 张:偏差、按时率、超时热力图、周节律雷达、积分来源去向 / 累积曲线。完整看板上线于指挥台「Data Analysis」子标签。
各模块的计划都通过同一套机制同步成指挥台的每日任务,并在同步前预演未来两周的负载:
Plans 的 abort 若曾 synced,对应 templates 转 is_abandoned + abandon_note,保持计划与每日任务状态一致。
前端只持有「用户自己的 API Key 指纹」,密钥永不下发到浏览器;所有 AI 调用经服务端路由,按用户配置路由到对应大模型。
下列是该项目的几个关键工程决策。
所有业务表按 user_id 行级隔离;AI 路由服务端校验登录态后再读用户配置,密钥只存服务端。
用户可在设置里填 DeepSeek / OpenAI 兼容 / 自定义 的 Base URL 与 Key,后端按配置路由,部署方额度不被共用。
同一套设计 token;AI 面板等模块区分移动/桌面独立布局,窄屏时间表仍清晰可读。
Schema 变更收敛为可重复执行的 SQL(DROP POLICY IF EXISTS 再建),列约束用同名 CONSTRAINT 改写,避免漂移。
next-pwa 离线缓存 + 手动备份/导出(JSON/MD/Excel/Word/PDF),数据不锁死在云端。
暂停区间、超载日历、streak 清零等规则被显式建模进数据层,而非前端假装。
产品不是一次成型。这里记录几条有代表性的迭代。
把排课常量收敛到 timetable-logic.ts,确立「紧凑 + 自动留白 + 白天置前 + 长任务≥120min才排晚」的稳定规则。
习惯连续打卡生成 🔥;Time Table 支持记 pause_intervals,复盘时如实回算完成质量,而不是假装满勤。
把模板频率展开成未来 N 天占用,超阈值预警;支持「按日跳过 / 整段挂起 / 改期」与可逆的例外叠加。
新注册用户的 AI 能力改为「必须在设置里填自己的 API Key」,服务端不再兜底部署方的环境变量,杜绝额度被共用。