Obsidian Dataview 任务管理:查询用法与无查询替代方案
Dataview 是将 Obsidian 笔记转化为动态任务列表的首选插件。本指南介绍最实用的 TASK 查询写法、Dataview 的优势与局限,以及 TaskForge 如何让你在任意设备上获得同样的筛选视图,无需编写一行 DQL。
TASK
WHERE !completed AND due <= date(today)
SORT due ASC Dataview 能为任务管理做什么
Dataview 是一款将你的仓库视为数据库的社区插件。其 TASK 查询类型会扫描所有笔记中的每个 Markdown 复选框,并在包含查询的笔记内将它们渲染为一个实时、可交互的列表。无需在文件间来回翻找,只需编写一小段查询,Dataview 便会随着你添加和完成任务自动保持列表更新。
值得掌握的 Dataview 任务查询
以下所有示例均需放入带有 dataview 语言标签的围栏代码块中。从简单的开始,随着需求增长逐步添加条件。
仓库中所有未完成任务
```dataview TASK WHERE !completed ```
列出所有笔记中未勾选的任务,适合放进仪表板笔记当作“总任务列表”。
今日到期或已逾期
```dataview TASK WHERE !completed AND due <= date(today) SORT due ASC ```
筛选出截止日期为今天或更早的未完成任务,按日期从早到晚排序,作为你每天的“马上处理”视图。
特定项目或标签的任务
```dataview TASK WHERE !completed AND contains(tags, "#work") ```
将列表缩小到带有特定标签的未完成任务。可替换为你使用的任意标签、上下文或内联字段。
按来源笔记分组
```dataview TASK FROM "Projects" WHERE !completed GROUP BY file.link ```
从 Projects 文件夹中提取未完成任务,并按所属笔记分组,轻量级的项目概览。
Dataview 任务查询的局限
Dataview 擅长一件事:在桌面端查询你的仓库。可一旦你希望任务随身跟着你,几处短板就暴露出来了:
- 以桌面为主:查询在笔记内渲染,没有主屏幕小组件。
- 没有推送通知或提醒,Dataview 只展示任务,不会在任务到期时提醒你。
- 需要编写并维护 DQL;查询里一个拼写错误,就会悄无声息地返回错误的任务。
- 复杂查询在手机上可能卡顿,且结果是渲染列表,而非快速流畅的原生任务界面。
- 它能读取你的仓库,但并非为随手记录、快速添加、拖放排序或看板与日历视图而设计。
同样的视图,无需查询语言
TaskForge 是一款原生应用,读取的正是你仓库里的那些 Markdown 任务。不用编写 DQL,点选选项就能构建筛选视图,而且在每台设备上都能用。
可视化筛选构建器
通过截止日期、优先级、标签、上下文、项目、状态等维度的 AND/OR 条件重现任何 Dataview 任务查询,并保存为自定义空间。无需语法,无需调试查询。
驻留主屏幕
把任意筛选列表放到主屏幕小组件上,直接在小组件里完成任务,这正是 Dataview 提供不了的移动端视图。
提醒与通知
筛选视图里的任务可以触发截止日期提醒和其他提醒,即使 Obsidian 已关闭也能及时送达。
不止于列表
以列表、拖放看板或日历查看同一批筛选后的任务,还能直接在视图里快速添加新任务。
Dataview 与 TaskForge 任务管理对比
两者要解决的问题有重叠,但用在不同的地方。下面是它们的对比。
单独使用 Dataview
- 需编写 DQL 查询来构建每个任务视图
- 结果在桌面端的笔记内渲染
- 无小组件、提醒或通知
- 非常适合仓库内的静态看板
- 移动端交互和随手记录能力有限
TaskForge 配合你的仓库
- 点选即可构建筛选视图,无需查询代码
- iPhone、iPad、Mac、安卓、Windows 上的原生任务界面
- 主屏幕小组件、提醒和到期通知
- 以列表、看板和日历查看同一批任务
- 直接在你的仓库中快速添加和编辑任务
各自的适用场景(或两者兼用)
这不是非此即彼的选择。Dataview 在桌面端 Obsidian 内构建自定义看板和报告方面无可替代,能将任务与元数据、表格和笔记融合在一起。当你需要任务在离开桌面后依然随手可及、可立即行动时,TaskForge 则是更好的选择,配备小组件、提醒和流畅的原生界面。很多人将 Dataview 看板用于桌面端的深度工作,同时用 TaskForge 在手机上日常记录和跟进任务,两者读取的是同一份纯 Markdown 任务。
几分钟内获得移动端视图
如果你的任务已经存在于仓库中,TaskForge 无需改动你的 Dataview 配置即可将它们呈现出来。
将 TaskForge 指向你的仓库
安装 TaskForge 并打开同一个 Obsidian 仓库。它会读取你现有的 Markdown 任务,无需迁移或重新格式化。
把查询改建成筛选条件
使用可视化筛选构建器,按照 Dataview 查询的相同条件构建自定义空间,例如本周到期且标有 #work 标签的未完成任务。
添加小组件和提醒
将列表固定到主屏幕,并开启提醒,让到期任务在出行时也能及时触达你。
常见问题
如何在 Obsidian 中用 Dataview 查询任务?
在 ```dataview 代码块中使用 TASK 查询。例如,包含 `TASK WHERE !completed` 的代码块会列出你仓库中所有未勾选的复选框任务。添加 WHERE 条件可按截止日期、标签或文件夹筛选,使用 SORT 对结果排序。查询会在 Obsidian 桌面端的笔记内渲染出可实时操作的任务列表。
Dataview 能显示今日到期或已逾期的任务吗?
可以。将日期比较与未完成任务筛选组合使用:`TASK WHERE !completed AND due <= date(today) SORT due ASC`。这会返回所有截止日期为今天或更早的未完成任务,并按最早优先排序。Dataview 需要能从任务中读取到截止日期才能匹配。
Dataview 在 Obsidian 移动端可以查询任务吗?
Dataview 查询可以在 Obsidian 移动端渲染,但没有主屏幕小组件、没有推送通知,且复杂查询在手机上可能较慢。如需在 iPhone、iPad 和安卓上快速浏览、随时操作的任务视图,像 TaskForge 这样的专用应用可读取同样的 Markdown 任务,无需任何查询代码就能展示筛选后的列表。
我需要学习 DQL 才能筛选 Obsidian 任务吗?
用 Dataview 的话,确实要用 DQL(Dataview 查询语言)写查询。如果不想写,TaskForge 的可视化筛选构建器支持 AND/OR 逻辑,能提供同样的筛选和排序任务视图,点选选项就能保存“本周到期、高优先级、#work”这样的列表,不用写任何查询。
你的 Dataview 任务,现在触手可及
TaskForge 会按原样读取 [due:: 2026-10-20] 这样的 Dataview 字段,仓库里的内容无需转换。保留你的查询,在每台设备上用上筛选任务视图、小组件和提醒。
相关文章
- Obsidian Tasks 插件完整指南 掌握 Obsidian Tasks 语法:仓库中的日期、优先级、重复任务与筛选器。 阅读更多
- 最佳 Obsidian 任务插件横向评测 比较 Obsidian Tasks、Task Genius 和 TaskForge 在任务管理上的差异。 阅读更多
- Obsidian 项目管理指南 用任务、标签和视图在 Obsidian 中管理项目,轻松超越单篇笔记的局限。 阅读更多
- Obsidian 主屏幕小组件 无需打开应用,直接在主屏幕上查看并完成筛选好的空间里的任务。 阅读更多
- Obsidian 任务应用:小组件、看板与提醒 通过原生应用、筛选列表和通知,把你的 Obsidian 任务带到手机上。 阅读更多
- Obsidian 任务格式对比:表情符号、Dataview、文件 表情符号、Dataview 字段、Task Genius,还是一个任务一篇笔记?各种 Obsidian 任务格式的优势、哪些插件能读取,以及开始前该怎么选。 阅读更多
- 主屏幕上的 TaskNotes 在小组件里查看任务,随手勾掉。有日期的任务到期时,提醒会让你及时想起它。两者用的都是你仓库里的 TaskNotes。 阅读更多