基于柳比歇夫时间统计法设计的obsidian 时间管理插件
大约 4 分钟
Obsidian Time Tracking
一个简洁的 Obsidian 时间追踪插件,通过快捷键自动追踪任务耗时。
💡 设计理念:柳比歇夫时间统计法
本插件的设计灵感来源于苏联昆虫学家 亚历山大·柳比歇夫(Alexander Lyubishchev, 1890-1972)的时间统计方法。
柳比歇夫从 1916 年开始,坚持记录自己每天的时间使用情况,持续了 56 年,直到去世。他的方法被格拉宁在《奇特的一生》一书中详细记录,核心理念包括:
- 记录一切时间开销:像记账一样记录时间,了解时间都去哪了
- 事后统计而非事前计划:不是严格的日程表,而是客观记录实际发生的事
- 简洁的格式:只记录开始时间和持续时长,不需要复杂的分类系统
- 长期坚持:日积月累,形成对自己时间使用的深刻认知
- 自我认知:通过统计发现自己真正的时间使用规律
本插件正是基于这一理念设计:用最简单的方式记录任务的开始时间和耗时,帮助你建立对时间的感知,发现自己的时间规律。
功能特性
- ⌨️ 使用
Cmd/Ctrl + Enter快捷键切换任务状态 - 🖱️ 点击 DOING 状态的复选框自动完成时间统计
- ⏱️ 自动追踪任务耗时
- 🕐 显示任务开始时间(如
DOING 10:32 任务名称) - 🔄 智能替换已存在的时间戳(将创建时间替换为开始时间)
- 📊 智能时长显示(秒/分钟/小时)
- 🔄 支持任务状态循环切换
- ✅ 支持原生 Markdown 复选框(
- [ ]/- [x]) - 🎯 简洁设计,不干扰其他插件
使用方法
基本流程
创建普通列表项
- 实现时间追踪功能添加 TODO 标记 - 按
Cmd/Ctrl + Enter- TODO 实现时间追踪功能开始计时 - 再次按
Cmd/Ctrl + Enter- DOING 10:32 <!-- ts:2026-01-19T10:00:56|source:todo --> 实现时间追踪功能注:
10:32是任务开始时间,方便查看每个任务的开始时刻完成任务 - 再次按
Cmd/Ctrl + Enter或 点击复选框 ✨- DONE 10:32 实现时间追踪功能 5分钟注:完成后保留开始时间
10:32和耗时5分钟💡 新功能:在实时预览模式下,可以直接点击 DOING 状态的复选框来完成任务,插件会自动计算并添加耗时!
移除状态(可选)- 再次按
Cmd/Ctrl + Enter- 10:32 实现时间追踪功能注:移除状态后保留开始时间,方便查看任务创建/开始时刻
状态流转
- task → - TODO → - DOING 10:32 → - DONE 10:32 5分钟 → - 10:32 task
(添加标记) (开始计时) (显示耗时) (保留时间戳)
复选框支持
插件也支持原生 Markdown 复选框格式:
创建复选框
- [ ] 完成报告开始计时 - 按
Cmd/Ctrl + Enter- DOING 14:25 <!-- ts:2026-01-19T14:25:30|source:checkbox --> 完成报告完成任务 - 再次按
Cmd/Ctrl + Enter- [x] 14:25 完成报告 15分钟注:完成后保留开始时间和耗时
移除复选框(可选)- 再次按
Cmd/Ctrl + Enter- 14:25 完成报告注:移除复选框后保留开始时间
时长显示格式
插件会根据任务耗时自动选择合适的单位:
- 小于 60 秒:显示秒数(例如:
30秒) - 小于 1 小时:显示分钟数(例如:
15分钟) - 大于等于 1 小时:显示小时数(例如:
2小时)
设置选项
自动追加时长
- 默认:开启
- 完成任务时自动在任务末尾追加耗时
时长显示位置
- 任务末尾(默认):
- DONE 任务名称 5分钟 - 状态后面:
- DONE 5分钟 任务名称
技术细节
- 使用 HTML 注释存储开始时间,不影响笔记渲染
- 完成任务后自动清理 HTML 注释
- 兼容其他 Obsidian 插件(如闪卡插件)
- 默认绑定
Cmd/Ctrl + Enter快捷键
快捷键冲突
如果你安装了其他使用 Cmd+Enter 的插件(如 logseq-todo-compatibility),可能会有冲突。解决方法:
- 在 Obsidian 设置 → 快捷键中
- 禁用其他插件的
Cmd+Enter绑定 - 或者修改本插件的快捷键为其他组合
安装
手动安装
- 下载最新的
main.js和manifest.json - 在 vault 的
.obsidian/plugins/目录下创建obsidian-time-tracking文件夹 - 将文件复制到该文件夹
- 在 Obsidian 设置中启用插件
开发
# 安装依赖
npm install
# 开发模式(监听文件变化)
npm run dev
# 构建生产版本
npm run build
# 部署到 vaults
npm run deploy
# 发布新版本
npm run release
许可证
MIT
作者
lizhifeng