跳转到主要内容
集成与工作流

Obsidian Dataview 任务管理:查询用法与无查询替代方案

Dataview 是将 Obsidian 笔记转化为动态任务列表的首选插件。本指南介绍最实用的 TASK 查询写法、Dataview 的优势与局限,以及 TaskForge 如何让你在任意设备上获得同样的过滤视图,无需编写一行 DQL。

TaskForge 在 macOS 上显示自定义列表,呈现经过筛选的 Obsidian 任务视图,无需编写 Dataview 查询
查看所有功能

Dataview 能为任务管理做什么

Dataview 是一款将你的 Vault 视为数据库的社区插件。其 TASK 查询类型会扫描所有笔记中的每个 Markdown 复选框,并在包含查询的笔记内将它们渲染为一个实时、可交互的列表。无需在文件间来回翻找,只需编写一小段查询,Dataview 便会随着你添加和完成任务自动保持列表更新。

值得掌握的 Dataview 任务查询

以下所有示例均需放入带有 dataview 语言标签的围栏代码块中。从简单的开始,随着需求增长逐步添加条件。

Vault 中所有未完成任务

```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 在一件事上表现出色:在桌面端查询你的 Vault。但当你希望任务随时随地伴随左右时,几个缺口便会显现:

  • 以桌面为主:查询在笔记内渲染,没有主屏幕或锁屏小组件。
  • 没有推送通知或提醒——Dataview 只展示任务,不会在任务到期时提醒你。
  • 需要编写并维护 DQL;查询中的一个拼写错误会静默地返回错误的任务。
  • 复杂查询在手机上可能卡顿,且结果是渲染列表,而非快速流畅的原生任务界面。
  • 它能读取你的 Vault,但并非为捕获、快速添加、拖拽排序或看板与日历视图而设计。

同样的视图,无需查询语言

TaskForge 是一款读取你 Vault 中完全相同的 Markdown 任务的原生应用。无需编写 DQL,只需点击选项即可构建过滤视图,且该视图在任何地方都可使用。

可视化筛选构建器

通过截止日期、优先级、标签、上下文、项目、状态等维度的 AND/OR 条件重现任何 Dataview 任务查询,并保存为自定义列表。无需语法,无需调试查询。

驻留主屏幕

将任意过滤列表固定为主屏幕或锁屏小组件,并直接从中完成任务——这正是 Dataview 无法提供的移动端视图。

提醒与通知

过滤视图中的任务可触发截止日期提醒,即使 Obsidian 已关闭也能及时送达。

不止于列表

以列表、拖拽看板或日历多种形式查看同一批过滤任务,并可直接在视图中快速添加新任务。

Dataview 与 TaskForge 任务管理对比

两者解决相互重叠但场景不同的问题,以下是它们的对比。

单独使用 Dataview

  • 需编写 DQL 查询来构建每个任务视图
  • 结果在桌面端的笔记内渲染
  • 无小组件、提醒或通知
  • 非常适合 Vault 内的静态看板
  • 移动端交互与捕获能力有限

TaskForge 配合你的 Vault

  • 点击即可构建过滤视图,无需查询代码
  • iPhone、iPad、Mac、Android 上的原生任务界面
  • 主屏幕小组件、提醒和推送通知
  • 以列表、看板和日历查看同一批任务
  • 直接在你的 Vault 中快速添加和编辑任务

各自的适用场景(或两者兼用)

这不是非此即彼的选择。Dataview 在桌面端 Obsidian 内构建自定义看板和报告方面无可替代,能将任务与元数据、表格和笔记融合在一起。当你需要任务在离开桌面后依然随手可及、可立即行动时,TaskForge 则是更好的选择——配备小组件、提醒和流畅的原生界面。很多人将 Dataview 看板用于桌面端的深度工作,同时用 TaskForge 在移动端日常捕获和跟进——两者读取的是同一份纯 Markdown 任务,始终保持同步。

几分钟内获得移动端视图

如果你的任务已经存在于 Vault 中,TaskForge 无需改动你的 Dataview 配置即可将它们呈现出来。

1

将 TaskForge 指向你的 Vault

安装 TaskForge 并打开同一个 Obsidian Vault。它会读取你现有的 Markdown 任务,无需迁移或重新格式化。

2

将查询重建为过滤器

使用可视化筛选构建器,按照 Dataview 查询的相同条件构建自定义列表,例如本周到期且标有 #work 标签的未完成任务。

3

添加小组件和提醒

将列表固定到主屏幕,并开启提醒,让到期任务在出行时也能及时触达你。

常见问题

如何在 Obsidian 中用 Dataview 查询任务?

在 ```dataview 代码块中使用 TASK 查询。例如,包含 `TASK WHERE !completed` 的代码块会列出你 Vault 中所有未勾选的复选框任务。添加 WHERE 条件可按截止日期、标签或文件夹筛选,使用 SORT 对结果排序。查询会在 Obsidian 桌面端的笔记内渲染出可实时操作的任务列表。

Dataview 能显示今日到期或已逾期的任务吗?

可以。将日期比较与未完成任务筛选组合使用:`TASK WHERE !completed AND due <= date(today) SORT due ASC`。这会返回所有截止日期为今天或更早的未完成任务,并按最早优先排序。Dataview 需要能从任务中读取到截止日期才能匹配。

Dataview 在 Obsidian 移动端可以查询任务吗?

Dataview 查询可以在 Obsidian 移动端渲染,但没有主屏幕小组件、没有推送通知,且复杂查询在手机上可能较慢。如需在 iPhone、iPad 和 Android 上快速浏览、随时操作的任务视图,像 TaskForge 这样的专用应用可读取同样的 Markdown 任务,并在无需任何查询代码的情况下展示过滤列表。

我需要学习 DQL 才能筛选 Obsidian 任务吗?

使用 Dataview 的话,是的,你需要用 DQL(Dataview 查询语言)编写查询。如果你不想这样做,TaskForge 通过可视化筛选构建器提供同样的过滤和排序任务视图,支持 AND/OR 逻辑,你只需点击选项即可保存「本周到期、高优先级、#work」这样的列表,无需编写任何查询。

你的 Dataview 任务,现在触手可及

保留你的 Vault 和查询。添加 TaskForge,在每台设备上获得过滤任务视图、小组件和提醒。

Azhar Dewji
Azhar Dewji ·

软件工程师,拥有 10+ 年使用 Swift、Kotlin 和 Flutter 开发移动端与桌面应用的经验。独立开发者,现居 Toronto, Canada。TaskForge 的作者。 了解更多