从内测到如今:我和 Obsidian 的相伴之路

从内测版本到现在,我已经和 Obsidian 相伴好多年了。一路走来,我经历了把它当作 Typora 继任者的单纯 markdown 编辑器阶段,也经历了"折腾大于记录"的插件狂魔阶段,还经历了删掉一切非刚需插件、只留下 Tasks、Dataview、Templater、QuickAdd、Style Settings 几个核心玩具的极简阶段。Obsidian 陪着我踩过本科的期末周,也陪着我撑完研究生的毕业季,如今它已经是我生活和工作的中枢:知识库、行程、阅读、观影、健身……ALL IN ONE。

那根一直扎在心里的小刺

可惜的是,唯独"日程可视化"这块一直像心里的一根小刺。

全局任务我交给 Tasks,查询交给 Dataview,整个工作流已经足够顺畅。可一旦要拉开一个真正可读的甘特图去安排项目,或者对齐第三方日历时,Obsidian 里就像突然缺了点什么。我需要的不是一个单纯的日历插件,而是一个能把散落在笔记里的任务重新串成清晰时间线的工具。

曾经我和 Task Genius 较劲了整整一周。它足够强大,功能也很全面,可就是和我的工作流完全对不上节奏。每次想快速创建一个任务,都要在多层菜单里跳来跳去;想看项目排期,却发现甘特图和我用了这么久的 Tasks 语法完全是两套系统。我开始意识到,我需要的是一个能跟 Tasks 语言对话、跟 Dataview 互通的插件,一个我自己也能看得懂、不会迷失在菜单里的甘特图。

这就是我想解决的核心问题:如何在不破坏现有工作流的前提下,为 Obsidian 补上直觉化的日程可视化能力?

在纸上画出的第一根横线

于是这个插件的故事开始了。

去年秋天,我在调 SOC 验证脚本的间隙,拿笔在纸上画了几根横线。我列出了四个核心需求:

  1. 日、周、月、年四个视图要像 macOS 日历那样切换顺滑

  2. 周视图要能重叠任务,不要为了冲突硬拆成两列

  3. 独立的甘特视图要像 Notion 或飞书多维表一样,可以无限左右拉开,把跨月的研究排期一眼望穿

  4. 长按拖动就创建任务,完全兼容 Tasks 的全局过滤

我把这张纸拍了照,贴在每日页面上,告诉自己:“既然没人做,那就自己造。”

第一版是一个周末的作品:我让插件直接扫描整个库的 Tasks 语法,无需额外的 .md 数据仓,读到的任务立刻映射到日历四视图里。那时候的甘特图还只有当前月份,导航也只是简单的左右键,但我第一次在 Obsidian 里拖动一条跨多天的条形块时,心里那种"终于对了"的感觉让我激动了一整晚。

深夜两点的魔法时刻

最难忘的瞬间发生在深夜两点。

我在日视图里长按上午十点,希望能复制实验室的一段会议。手指刚松开,一个预填了时间的 TaskModal 就弹了出来,标题栏里静静躺着"task-"前缀的 ID。那一刻我意识到,这不仅仅是一个"UI 更好看"的日程插件,它真正读懂了我在 Obsidian 里写下的每一条任务,并且用我熟悉的方式回馈给我。

这才是我想要的:一个懂 Tasks 语法,能无缝融入现有工作流,却又能把时间可视化的插件。

从草图到实现:四个视图和一个甘特图

现在的版本,已经实现了当初纸上画下的所有设想。

周视图:让任务自然重叠

周视图

在周视图里,任务可以自然重叠显示,不会因为时间冲突就被硬生生拆成两列。你可以一眼看清这一周的所有安排,长按任意时间段就能快速创建新任务,上下拖动就能调整时段。

日视图:精确到每个小时

日视图

日视图把一天的 24 小时完整展开,每个任务都是一个可以拖动的时间块。无论是早上的晨会,还是下午的实验安排,都能精确定位。这个视图特别适合需要精细管理每日行程的场景。

月视图:项目排期一目了然

月视图

月视图让你能从更高的维度审视任务分布。哪些天被安排满了?哪些时间段还有空隙?项目 deadline 是否合理分散?所有这些问题都能在这个视图里找到答案。

年视图:把整年规划装进一屏

年视图

年视图是我最喜欢的功能之一。它把全年的任务密度可视化,让你能像鸟瞰地图一样审视自己的时间分配。研究项目的几个关键节点?论文 deadline 的分布?一眼就能看穿。

甘特视图:真正的项目管理利器

甘特视图

甘特视图是整个插件的核心。它可以无限左右拖动时间轴,"今天"按钮会自动把视图拉回当前日期。每个任务都是一条横向的条形块,你可以看到任务的优先级、进度、依赖关系。长按任意一天,横向拖动就能画出新的跨天任务。

最重要的是:所有这些动作背后都还是熟悉的 Tasks 语法。Dataview 依旧能读、QuickAdd 依旧能写,整个工作流一气呵成。没有额外的数据文件,没有割裂的两套系统,你在甘特图里创建的任务,就是你在笔记里写下的那条 - [ ]

从独自开发到社区反馈

回头看,我只是想补上一块自己心里的空白,却顺便结识了一群在论坛留言、给我提建议的朋友。

有人希望它能同步飞书日历,有人希望能导出周报,还有人单纯说"总算有个看得懂的甘特了"。我把这些愿望写进了 TODO,像以前在课堂上记笔记那样,耐心地一条条排到甘特图上。

插件依旧还在迭代,我也依旧不是专业的前端开发者。但只要 Obsidian 还是我生活的中心,我就会继续把这张时间表画得更大、更清楚。第三方日历同步的接口已经预留好了,ICS 导入导出也在计划中,任务依赖关系的可视化也在逐步完善。

一次真诚的"自造轮子"

如果你也在寻找一款既懂 Tasks 又有直觉化日历体验的插件,欢迎试试这个小作品。

也许它还不能满足所有人的野心,也许它的界面还有很多可以优化的空间,可它确实是我这些年 Obsidian 旅程里,最真诚的一次"自造轮子"。它解决的不是一个抽象的技术问题,而是我每天真实遇到的工作流痛点:如何在不破坏现有笔记系统的前提下,让时间变得可视化、可操作、可管理。

希望它也能帮你把那些散落在笔记里的任务,重新串成一条清晰的时间线。让你的 Obsidian 不仅是一个知识库,更是一个真正的生活和工作中枢。

2 个赞

图片全挂了,看不到

图片都看不到,但看你文字描述也很清晰,我跟你一样,对任务管理不太满意,特别是日历视图和甘特图。
目前,我用dvjs实现了甘特图,但日历视图一直没找到合适的方案。你的插件在哪里下载?

啊,图片挂了吗?我这里好像可以看到的呀

图片挂了吗?我这里好像没有诶

开科技没关?或者是浏览器缓存

俺能看到。

不过,不行的话还是把图片传论坛上吧。网络环境啥的。

嗯嗯,行。下次我注意下,主要我第一次分享。没经验

TaskNotes 插件也在做类似的事情, 每个任务是基于单独的 md 和内部的 YAML 去管理, 而不是 - , 所以能有更大的操作空间, 感觉可以参考一下

看起来很不错啊,可是没看到插件啊?

我也想用dataview实现甘特图功能来管理task任务,只是一直没时间去做,可以发插件给我试试吗

看上去管理项目很丝滑啊,但插件名称和下载链接在哪里??
为什么有个类似帖子:【插件分享】基于Tasks任务格式的甘特图日历插件, 是同一个吗?

目前还只是自己在使用,还没公开呢。哈哈,等我完整的弄好了,我再补到这个帖子里。