跳转到主要内容
TaskForge 3.0:AI 能读任务了

Obsidian 任务格式对比

Obsidian 里的任务可以是一行表情符号、一行带 Dataview 字段的文字、两者混用的一行,或是带 YAML 属性的整篇笔记。它们不能互换,你的选择决定哪些插件能看到你的任务。本页按日后真正重要的几点来比较:可读性、查询、移动端,以及日后换格式有多麻烦。

依据 Obsidian Tasks 8.6、Dataview、Task Genius 9.13 和 TaskNotes 4.14 的文档与源码,2026 年 10 月核对。每个字段的确切语法请查看速查表。 任务格式速查表

三十秒选定

选表情符号行,如果
你使用 Obsidian Tasks 插件,并想要最短的行。它是该插件的默认格式,也是论坛回答里最常见的格式。
选 Dataview 字段,如果
你会写 Dataview 查询,或者希望每个字段都是能在纯文本里搜索到的词。Obsidian Tasks 也能使用这种格式,但一次只能用一种。
选 Task Genius,如果
你的笔记里已经两种风格并存,或者想从一种逐步换到另一种,而不用一次改完所有内容。
选任务文件,如果
任务有自己的笔记、很多属性或很长的重复历史,而且你愿意在表格、看板和日历视图里操作,而不是在你正在写的那篇笔记里。

四种格式

表情符号行(Obsidian Tasks)

示例
- [ ] Call the plumber ⏫ 📅 2026-02-03

谁能读取: 默认是 Obsidian Tasks,Task Genius 也可以。Dataview 只认识少数几个日期表情符号,其他都不认识。

擅长

  • 四种格式里最短的行。一个截止日期占 12 个字符,Dataview 风格是 18 个。
  • 示例、回答和查询方案最多,因为这是 Obsidian Tasks 的原生格式。
  • Obsidian Tasks 的查询在这里很强:过滤、分组、排序和自定义脚本都能作用于每个字段。

需要留意

  • 表情符号难以手动输入,在不同操作系统上外观也不同。
  • 顺序很重要。Obsidian Tasks 从右往左读,字段之间出现一个无法识别的词,就会让它前面的字段读不出来。
  • 粘贴的文本可能带入不换行空格或隐藏的变体选择符,让看起来正常的行无法读取。
  • 想在库里找出所有带优先级的任务,就得搜索表情符号。

Dataview 内联字段

示例
- [ ] Call the plumber  [priority:: high]  [due:: 2026-02-03]

谁能读取: 用于查询的 Dataview。把任务格式切换为 Dataview 之后的 Obsidian Tasks。还有 Task Genius。

擅长

  • 每个字段都是有名字的词。你可以用任何工具在库里搜索 due::。
  • 可用于 Dataview 的 TASK 和 TABLE 查询,这些查询能把任务和页面数据混在一起。
  • Dataview 和 Obsidian Tasks 都能读取方括号和圆括号。用圆括号时,Dataview 渲染该行会隐藏键名。

需要留意

  • 行更长,源码视图里括号很杂乱。
  • 完成日期是 completion,不是 done。这一点让不少人折腾过一晚上。
  • Obsidian Tasks 只读取行尾的 Dataview 字段,而且只读取它认定为任务的行。Dataview 本身则能读取行中任何位置的字段。
  • 选择了 Dataview 格式的 Obsidian Tasks 不再读取它自己的表情符号。

Task Genius(表情符号和方括号并用)

示例
- [ ] Call the plumber @phone ⏫ 📅 2026-02-03 09:00

谁能读取: Task Genius。只用表情符号或只用方括号的行,仍然能被 Obsidian Tasks 或 Dataview 读取。

擅长

  • 同一行里能读取表情符号和方括号字段,所以只迁移了一半的库也能正常使用。
  • 增加了日期之后的时间、项目和情境字段,以及 iCalendar 重复规则。
  • 由一个设置决定它写入两种形式中的哪一种。

需要留意

  • 同一个信息可以有好几种写法,这会让你自己的搜索和查询更难让人放心。
  • Task Genius 独有的字段,比如日期之后的时间,Obsidian Tasks 不认识。
  • 重复由 Task Genius 计算,而不是 Obsidian Tasks,两者对某些短语的读法并不一致。

任务文件(TaskNotes)

示例
---
tags:
  - task
title: Call the plumber
status: open
priority: high
due: 2026-02-03
---

谁能读取: TaskNotes,它需要 Obsidian 的 Bases 核心插件。Dataview 可以查询这些属性。Task Genius 可以通过可选的 File Source 设置把文件当作任务。Obsidian Tasks 不行。

擅长

  • 一个任务可以有完整的笔记正文:调研、链接、自己的清单。
  • 属性是带类型的 YAML,所以 Obsidian 的属性面板和 Bases 都能过滤和排序。
  • 重复任务在同一个文件上保留已完成和已跳过日期的历史。
  • 时间追踪、提醒和依赖有了真正的结构,而不是硬塞进一行里。

需要留意

  • 一个任务一个文件。有 3,000 个任务的库就会多出 3,000 篇笔记。
  • 任务离开了你想到它的那篇笔记。它是被链接到那里,而不是写在那里。
  • 属性名、状态值和优先级值都是插件设置,所以文件只有连同这些设置一起才能迁移。
  • 列表必须是列表。该用列表的地方写了单个值,是任务不显示最常见的原因。

哪个插件读取哪种格式

更换格式之前请先查这张表。读取和写入是两回事:插件可以理解一种自己从不生成的格式。

插件 表情符号行 方括号字段 任务文件
Obsidian Tasks 可读可写。默认格式。可读可写,但两种格式一次只能用一种。不能。它读取复选框行,不读 frontmatter。
Dataview 只读取日期简写。能读取行内任何位置的任何字段。把 frontmatter 当作页面字段读取,所以可以查询任务文件。
Task Genius 可读,也可写。可读,也可写。可选。File Source 默认关闭。
TaskNotes 不能。它可以把复选框行转换成任务文件。不能。可读可写。这是它的原生格式。

查询能力

你能对任务提出什么问题,更多取决于插件而不是格式,但格式决定了上限。

  • Obsidian Tasks 有自己的查询块,支持过滤、分组、排序、自定义脚本和全局查询。它只能看到复选框行。
  • Dataview 有一门查询语言,包含 TASK、LIST 和 TABLE 模式。它能同时看到任务和页面属性,这是把两者关联起来的唯一办法。
  • Bases 是 TaskNotes 视图所依托的 Obsidian 核心插件,能在表格、卡片和看板式视图里过滤和排序笔记属性。它看到的是文件,不是行。
  • Task Genius 对它所索引的内容有自己的视图和过滤器。它不使用 Obsidian Tasks 的查询语言。

在同一个库里混用格式

很多库里不止一种格式。只要清楚谁读什么,就没问题。Obsidian Tasks 和 TaskNotes 各自只读自己那一种:Obsidian Tasks 读复选框行,TaskNotes 读任务文件。Dataview 两种都读。在复选框行里,Obsidian Tasks 只会看到它设置里所选的格式。如果打算统一成一种,转换页面有经过测试的脚本。

在手机上

iOS 和安卓上的 Obsidian 能运行社区插件,所以上面的每种格式都和桌面端一样可用。不同的是在小键盘上输入表情符号或 YAML 是否方便,以及在大库里查询块渲染较慢。

也有独立的应用可以脱离 Obsidian 读取同样的文件。TaskNotes 有自己的测试版网页应用和 iPhone 应用。TaskForge 是面向 iPhone、iPad、Mac、安卓和 Windows 的独立应用,能从同一个文件夹读取表情符号、Dataview 和 Task Genius 的任务行以及任务文件。它不是 Obsidian 插件,与 Obsidian 也没有关联。

大家常问的问题

对 Obsidian Tasks 来说,Dataview 格式比表情符号更好吗?

没有谁更好。表情符号行更短,大多数示例也用它。Dataview 字段更容易搜索,也能配合 Dataview 查询。如果你不用 Dataview,表情符号阻力更小。

Obsidian Tasks 能读取我的 TaskNotes 文件吗?

不能。Obsidian Tasks 读取笔记正文里的复选框行。TaskNotes 把任务存成带 YAML 属性的整篇笔记,Obsidian Tasks 不读取这种内容。

同一个库里可以同时使用表情符号和 Dataview 字段吗?

可以,但插件可能只读取其中一种。Obsidian Tasks 读取设置里选定的那一种。Task Genius 能在同一行里两种都读。

任务应该内联存放,还是存成单独的文件?

内联适合快速、简短、属于创建它们的笔记旁边的任务。单独文件适合会生长出自己笔记、属性和重复历史的任务。很多库对小事项用内联行,对项目用文件。

哪种格式的可移植性最好?

内联 Dataview 字段使用任何文本工具都能找到的普通词。YAML 任务文件是标准 frontmatter,但依赖插件的属性名。表情符号作为文本可以移植,作为语法则很脆弱。不论选哪种,它都是纯 Markdown,日后总能转换。