市面上的习惯追踪App几乎都在做同一件事:让你保持连续打卡的"连胜纪录"。一旦断了一天,那个数字归零,很多人就干脆放弃了。但一个名为OpenHabitTracker的开源项目,提出了完全不同的衡量方式——它不看连续天数,而是看"完成度百分比"。
这个工具免费、开源,支持Windows、Linux、macOS、iOS、Android和浏览器端运行,没有广告,也不需要注册账号。除了习惯追踪,它还能同时存放笔记和任务清单。但真正有意思的,是它背后那套"反直觉"的衡量逻辑。
![]()
百分比取代连胜:迟到两天,完成度反而更高?
在OpenHabitTracker里,一个习惯的完成度是这样计算的:用"实际经过的时间"除以"你设定的间隔时间"。举个例子,一个你计划每10天做一次的习惯,如果晚了2天才做,完成度是120%。而一个你计划每4天做一次的习惯,同样晚了2天,完成度却变成了150%。
这个设计把"是否按时"变成了一个连续的数字,而不是非黑即白的"完成/未完成"。因为它是数字,所以你可以按范围筛选:只看完成度在50%以上的,只看低于150%的,或者只看介于两者之间的——也就是那些既不算刚做完、也不算严重超期的习惯。
排序逻辑也考虑了重复频率。一个每天做三次的习惯,和一个每周做一次的习惯,会被放在同一个维度上比较,而不是让高频习惯永远排在前面。这种比较方式,让"坚持"这件事在不同频率的习惯之间有了可比性。
筛选和排序:把"数据洁癖"做到极致
除了完成度,你还可以按其他时间维度排序:你希望间隔多久、实际平均间隔多久、距离上次完成过了多久,以及你在某个习惯上总共花了多少时间,或者每次平均花多少时间。这些维度组合起来,几乎覆盖了你想从数据里看到的任何角度。
笔记和任务的排序则更传统一些,按分类、优先级和标题来排,任务还可以按计划日期和预计耗时排序。三类内容各自保存自己的排序方式,互不干扰。
任务有计划日期,任务和习惯都有完成日期。这两类日期可以分别筛选,支持在某个日期之前、当天、之后,或者不在某一天。筛选条件还可以用"从今天起算的天数"来代替具体日期。比如设置"负七到正七",就是今天前后各一周的范围。这个范围在一个月后依然有效,因为天数是在你查看的那一刻计算的,而不是你设置的那一刻。
完成日期筛选旁边还有一个开关。打开时,显示的是你在这些天里完成了什么;关掉时,同样的范围显示的是你哪些没完成。这个开关让"回顾"和"查漏"变成了同一个操作的正反面。
搜索细节:连子项目里的词都能找到
搜索功能也做了不少细节。搜索笔记时,搜的是全文而不是只搜标题。搜索任务和习惯时,连清单里的子项目也会被搜到——一个藏在某个子项里的关键词,不需要你知道它在哪个项目里,也能被找出来。
匹配到的内容会在原文位置高亮显示,包括渲染后的Markdown格式。有大小写匹配开关,而且你在笔记、任务、习惯之间切换时,搜索词会一直保留,不用重新输入。
分类和优先级的筛选控件,可以分别设置成复选框、单选按钮或下拉列表。复选框能一眼看出哪些分类被排除了;下拉列表只占一行,在手机上,这决定了下一个筛选条件能不能显示在屏幕内。
侧边栏有六个分区,每个分区都可以独立折叠,并且保持折叠状态。这样你常用的分区不会被不常用的埋住。筛选和排序设置会自动保存,如果你自己部署服务端,还能在设备间同步,并且会包含在JSON和YAML备份文件里。
正方观点:数据驱动,让习惯管理更理性
支持者认为,这种设计把习惯管理从"意志力游戏"变成了"数据观察"。连胜纪录容易让人因为一次中断就彻底放弃,而百分比制允许你看到"虽然晚了,但整体进度还在"。对于需要长期坚持、但偶尔会中断的事情,这种衡量方式更接近真实生活。
可排序、可筛选、可搜索的维度足够多,意味着你可以随时回答"我这周哪些习惯快超期了""哪个任务拖得最久"这类具体问题。对于喜欢用数据管理生活的人来说,这种精细度是其他App给不了的。
反方观点:门槛高,普通用户未必需要
反对的声音也有。这套系统的学习成本不低——完成度百分比、相对日期筛选、独立折叠的侧边栏,这些概念对只想"每天喝水打卡"的普通用户来说,可能过于复杂。大多数人要的不是一个可以按任意维度查询的数据库,而是一个能提醒自己"今天该做什么"的简单工具。
而且,把习惯量化到这种程度,可能会让一部分人陷入对数据的过度关注,反而忽略了习惯本身的意义。当"完成度150%"比"这件事我做到了"更重要时,工具就有点喧宾夺主了。
我的判断:它适合特定人群,但思路值得借鉴
OpenHabitTracker显然不是为所有人设计的。它更像一个给"数据爱好者"或"自我量化"人群的工具——那些人享受调整筛选条件、观察数据变化的过程,并从中获得掌控感。对于他们来说,这套系统的灵活性和可定制性,是市面上大多数"打卡App"无法比拟的。
但它的核心思路——用百分比替代连胜、用相对时间替代绝对日期——确实值得所有习惯类产品借鉴。毕竟,坚持的本质不是"一天都不能断",而是"在合理的时间范围内,尽量不偏离计划"。这个开源项目用一套数字逻辑,把这句话变成了可操作的工具。
项目代码托管在GitHub上,仓库名为Jinjinov/OpenHabitTracker,感兴趣的人可以直接查看或参与开发。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.