Obsidian 入门23:别让待办烂在笔记里!用 Dataview 自动汇总你所有的 TODO
这是一个「Obsidian × AI」系列。
我会从最基础的认知开始,慢慢写到资料整理、写作工作流,再到怎么把 AI 接进来。
如果你还没看前一篇,可以先看 [[Obsidian 入门22:消除代码恐惧!给你 3 段直接复制的 Dataview 代码,打造全自动仪表盘]]。
在上一篇教程里,我们请出了 Obsidian 里的“真神”插件——Dataview,并且用 3 段直接复制的“神仙指令”,把散落的笔记全自动抓取到了主页。
但其实,笔记里最让人头疼、最容易丢的,并不是整篇的笔记,而是随手记下的待办事项(TODO)。
回想一下你真实的记录场景:
- 开会做记录时,你随手敲了一个
[ ] 找设计确认海报; - 写日记时,你顺手写下一句
[ ] 明天记得交电费; - 跟进项目时,你又在项目文档里加了一条
[ ] 周五前发周报。
几天后,当你打开满屏的文件夹,你还记得这些散落在几百篇笔记各个角落的 TODO 吗?它们就像烂在抽屉角落的便签,直到你因为漏事被老板问起时才突然惊醒。
有人说,为了防止漏事,为什么不用专门的待办软件(比如 Todoist 或滴答清单)?
专门的软件当然好,但在我们记笔记、写会议记录的过程中去新建任务,会打断我们的心流。最舒服的状态,是在记笔记时顺手敲下一个 [ ],然后就不管了,因为你知道,它会自动跑到你的面前排队等你处理。
今天,我们就用 Dataview 的大招:TASK(任务)视图,来帮你打造一个全自动的任务控制中心。

依然不需要学复杂的语法,依然是纯复制粘贴。
为什么 Dataview 能跨越文件夹找任务?
在 Obsidian(以及所有 Markdown 软件)里,待办事项有一个统一的独特标志,那就是:
- [ ] (一个减号、一个空格、一个方括号、再加一个空格)。
这不仅仅是个图形,它是一个结构化的暗号。
当你给你的自动化小秘书(Dataview)下达了 TASK 的指令,它就会像一台超级吸尘器,瞬间扫过你库里的每一个文件夹、每一篇笔记。只要看到带有 [ ] 的句子,它就会通通吸过来,并且整整齐齐地摆在你面前。

更神奇的是,你在这个汇总的视图里点击打钩变成 [x],原始的那篇笔记里的待办事项也会同步被打钩!这是真正的双向同步。
接下来,我为你准备了 3 段最实用的“任务吸尘器”指令。
指令 1:全库未完成任务大搜捕
适用场景:你平时记录比较随意,没有严格的文件夹分类,想把整个库里所有还没打钩的待办事项全部捞出来,放在首页的仪表盘上,每天挨个清理。
请直接复制以下代码:
TASK
WHERE !completed怎么用?
- 把这段代码复制到你的主页(或者每天打开的看板笔记)里。
- 这里的代码一个字都不用改。
!completed的意思就是“未完成(没有打钩)”。只要它一天没被打钩,它就会像一个甩不掉的小尾巴,天天在主页盯着你,直到你消灭它。

指令 2:只看特定标签的未完成任务(如 #工作)
适用场景:上一个指令虽然爽,但如果你把生活和工作的 TODO 都混在一起,看多了容易焦虑。你可能只想在办公时,看到打上了 #工作 标签的未完成任务。
注意!这里有一个新手最容易踩坑的地方。打标签有两种习惯:
习惯 A:把标签打在文章上(比如会议记录的属性里带有 #工作)。
这时候,即使具体的任务后面没有跟标签,只要这篇笔记带有 #工作,里面的所有任务都会被抓出来。
请直接复制以下代码:
TASK
FROM #工作
WHERE !completed
习惯 B:把标签直接打在具体的任务后面(比如 - [ ] 给张总发邮件 #工作)。
这时候,你只想抓取带有这个标签的具体任务,而不受文章标签的影响。
请改为复制这行高级代码:
TASK
WHERE !completed AND contains(tags, "#工作")你要改哪里?
- 把
#工作换成你自己的标签(比如#重要、#买菜)就行。根据你自己的记录习惯,选择上面的一段代码复制。
指令 3:只看某个具体项目的任务
适用场景:你正在跟进一个复杂的大项目,这个项目有自己专属的文件夹(比如叫“01-官网重构”)。你不想看其他杂七杂八的事,只想把这个项目文件夹里散落的 TODO 集中起来。
请直接复制以下代码:
TASK
FROM "01-官网重构"
WHERE !completed你要改哪里?
- 把
"01-官网重构"换成你真实的文件夹名字。注意,两边的英文双引号千万不要删掉。 - 划重点(极易踩坑):如果你的文件夹是嵌套在别的文件夹里面的(比如
Learn/Obsidian_AI_Course/01_模块一_认知重构与极简起步),你不能只写最后那个文件夹的名字!你必须把它的完整路径写出来。 正确的写法应该是这样:TASK FROM "Learn/Obsidian_AI_Course/01_模块一_认知重构与极简起步" WHERE !completed - 这段代码非常适合放在某个具体项目的“项目主页”或者“复盘笔记”里,让你一进去就能看到这个项目还有哪些事没做完。

总结与终极预告
你看,只要把待办事项写成标准的 - [ ],再配上这几段简单的代码,你就可以在任何一篇笔记里毫无心理负担地写下 TODO。因为你的小秘书会帮你记着,绝不漏掉一件。
通过这两篇教程,我们已经用“拿来主义”解决了一大半的自动化需求。但肯定有聪明的朋友会问:
“如果我想更进阶一点,比如想查『只要上周一到周五的、并且打上了 #摸鱼 标签的未完成任务』……这些需求千奇百怪,你给的代码套不进去怎么办?我也背不下那么多语法啊!”
如果复杂的代码我们实在背不下来,那就找个不要钱的程序员帮我们写吧!
请期待下一篇(也是 Dataview 三部曲的终结篇):不会写 Dataview 代码?教你一招,让 AI 成为你的专属“程序员”。
我们下期见。
进阶阅读
如果入门系列让你对 Obsidian 产生了兴趣,这里有几篇我自己折腾出来的实战经验: