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

微信扫码打赏