随笔

本地优先的代价:DayLens 的数据是怎么存的

做 DayLens 的时候,第一个决定就是:数据不出本机。不是因为有什么惊天秘密,而是觉得:我的时间花在哪了,这种数据没必要告诉任何云服务。

本地优先的代价:DayLens 的数据是怎么存的

技术选择 / 踩过的坑 / 中间修改

为什么坚持本地

做 DayLens 的时候,第一个决定就是:数据不出本机。

不是因为有什么惊天秘密,而是觉得:我的时间花在哪了,这种数据没必要告诉任何云服务。

代价是:没有云同步,换电脑要手动拷数据库。但我觉得值。

数据模型

三张表:

0

原始记录保留 30 天,聚合数据永久保留。30 天前的明细自动清理,数据库不会无限膨胀。

隐私细节

  • 浏览器标题可能包含敏感信息(比如银行页面)。加了黑名单:匹配到关键词的标题存为 [已隐藏]。
  • 截图功能默认关闭。开了也只存本地,加水印时间戳。
  • 数据库文件用 SQLCipher 加密?考虑过,但性能损耗 15%,暂时没加。待定。

中间修改

一开始想做成常驻托盘 + 悬浮窗,实时显示"今天已工作 X 小时"。

做了之后发现:盯着计时器工作,压力很大。改成每天只推送一次总结,平时安静如鸡。

工具应该减少焦虑,不是制造焦虑。


根据项目记录整理。部分细节待补充。