用 Obsidian + AI,把"散落四处"的待办任务吸到一张纸上
本章导语
"我在周一的日记里写了'回复客户邮件',结果周五才想起来。"
"我在项目笔记里写了一堆待办,但日记里也有待办,我不知道该看哪里。"
"我不想再装一个 TodoList APP 了,能不能在 Obsidian 里管理任务?"
你的直觉是对的。你不需要单独的任务管理软件。
大多数人的"任务管理"需求其实很简单:记录要做的事、知道哪些没做完、做完了打个勾。这些事情 Obsidian 完全能做,而且有一个独特的优势——你的任务和它的上下文在一起。
什么意思?
在 Todoist 或滴答清单里,你写一条"修改方案第三版",但你不知道方案在哪里、上次修改了什么、客户的反馈是什么。你需要切换到另一个APP 去找。
在 Obsidian 里,你的任务就写在项目笔记里。任务的上面是项目背景,下面是相关资料的链接,旁边就是客户的反馈记录。任务不是孤立的,它长在笔记里。
这一章教你两件事:
怎么在笔记里随手记任务 怎么用 Dataview 把散落各处的任务"吸"到一张纸上
6.1 基础:随手记任务
任务语法
在 Obsidian 的任何笔记里,输入:
Markdown
- [ ] 这是一个未完成的任务
- [x] 这是一个已完成的任务
在实时预览模式下,- [ ] 会渲染成一个可以点击的复选框。点一下,它就变成 - [x],任务完成。
[截图位]:展示两个任务的渲染效果——一个空复选框和一个打了勾的复选框。
就这么简单。不需要安装任何插件,不需要任何配置。
在哪里写任务?
原则:任务在哪里发生,就在哪里记录。
不要专门建一个"任务清单"笔记来集中管理所有任务。 那样做会让任务脱离上下文,你看着一条"修改方案第三版"的任务,根本不知道方案在哪里。
正确的做法是:任务分散在各处,但用 Dataview 自动汇总到一个地方。
让任务更有信息量
一条好的任务应该包含"做什么"和"什么时候"。你可以这样写:
Markdown
- [ ] 回复李总的邮件 📅 2024-07-22
- [ ] 提交设计稿给开发 📅 2024-07-25
- [ ] 买生日礼物 #waiting(等发工资)
这里的 📅 后面跟的是截止日期。#waiting 表示这件事在等待某个条件满足。
你也可以用更简洁的方式:
Markdown
- [ ] 回复李总的邮件 [due:: 2024-07-22]
- [ ] 提交设计稿给开发 [due:: 2024-07-25]
[due:: 日期] 是 Dataview 能识别的"内联字段"。后面我们会用到它。
[!NOTE] 不要过度设计
你不需要给每一条任务都标注优先级、截止日期、负责人、分类、标签。这不是 Jira,这是你的个人笔记。大部分任务只需要一句话描述就够了。只有那些真正有截止日期的任务,才需要标注日期。保持简单,你才会坚持用。
6.2 进阶:Dataview 自动汇总任务
现在你的任务散落在 10 篇不同的笔记里。你怎么知道自己还有哪些事情没做?
一个个去翻那 10 篇笔记? 当然不。
你需要一个"总控台"——一篇笔记,自动把所有散落在各处的未完成任务"吸"过来,集中展示。
这需要用到社区插件 Dataview。
安装 Dataview
如果你还没有安装,按以下步骤操作:
打开设置 → 社区插件 → 关闭"安全模式"(第一次会弹出警告,确认即可) 点击"浏览" → 搜索 "Dataview" 点击"安装" → "启用"
[截图位]:社区插件市场,Dataview 的安装页面,红框圈出"安装"和"启用"按钮。
安装后,需要进入 Dataview 的设置,做一个调整:
设置 → 社区插件 → Dataview → 齿轮图标 → 把**"Enable JavaScript Queries"**打开。
[截图位]:Dataview 设置页面,红框圈出"Enable JavaScript Queries"开关。
创建"任务总控台"
新建一篇笔记,命名为 任务总控台。
把以下代码复制粘贴进去(你不需要理解代码的含义,直接抄就行):
代码块 1:所有未完成的任务
## 📌 所有未完成的任务
```dataview
TASK
WHERE !completed
SORT file.name ASC
```
保存后,切换到阅读视图(按 Ctrl + E,或点击右上角的书本图标)。
你会看到一个自动生成的列表,里面包含了你所有笔记中所有未完成的任务(- [ ])。每条任务后面还标注了它来自哪篇笔记,你可以直接点击跳转回去。
[截图位]:Dataview 渲染后的任务列表,展示 5-8 条来自不同笔记的未完成任务,每条后面有源文件链接。
这就像一个磁铁,把散落在各处的任务全部吸了过来。
你只需要打开这一篇笔记,就能看到你所有的待办事项。不需要翻日记,不需要翻项目文件夹。
[GIF位]:演示在某篇日记里新增一条- [ ] 测试任务,然后切换到"任务总控台",新任务自动出现在列表中。
代码块 2:只看今天日记里的任务
如果你只想看今天的任务,把以下代码放在任务总控台里:
## 🎯 今日任务
```dataview
TASK
WHERE file.name = dateformat(date(today), "yyyy-MM-dd")
WHERE !completed
```
这段代码的意思是:只显示文件名等于今天日期(比如 2024-07-20)的那篇笔记里的未完成任务。也就是只看今天日记里的任务。
代码块 3:按标签筛选任务
如果你在某些任务后面打了 #waiting 标签(表示在等别人或等某个条件),你可以单独列出来:
## ⏳ 等待中的事项
```dataview
TASK
WHERE !completed
WHERE contains(text, "#waiting")
```
代码块 4:有截止日期的任务(按日期排序)
如果你在任务里用了 [due:: 日期] 这种内联字段,可以按截止日期排序:
## 📅 即将到期的任务
```dataview
TASK
WHERE !completed
WHERE due
SORT due ASC
```
这会把所有带截止日期的未完成任务,按日期从近到远排列。最紧急的排在最前面。
把任务总控台"钉"在最顺手的地方
你的任务总控台建好了。现在让它伸手可及:
方法 1:把它加入书签(和首页一样的操作)。
方法 2:在你的 000_Home 首页里,加一行链接:[[任务总控台]]。
方法 3:把它放在右侧面板,和你的笔记编辑器并排显示(按住 Ctrl 点击链接,然后拖到右边)。
[截图位]:左边是正在编辑的笔记,右边是任务总控台,两个面板并排的效果。
[!TIP] 🎉 你的成就
现在打开你的任务总控台,看看你一共有多少条未完成的任务。如果超过 20 条——别慌。去掉那些其实不重要的(直接在源笔记里删掉或勾掉),留下真正要做的。一个清爽的任务列表比一个臃肿的任务列表有用一万倍。
6.3 Obsidian 不是项目管理工具(这是夸奖)
最后,我想帮你校准一下预期。
Obsidian 能做任务管理,但它不应该成为你的 Jira 或 Trello。
如果你需要管理一个 10 人团队的项目进度、分配任务给不同的人、追踪每个人的工作量——请用专业的项目管理工具。
Obsidian 的任务管理适合的是个人场景:
你自己每天要做什么 你自己的项目有哪些下一步行动 你在等待谁的回复
它的优势不在于"任务管理功能有多强",而在于"任务和知识在一起"。
你在写方案的时候,随手写一条 - [ ] 明天和设计师确认配色。这条任务和方案的上下文紧密相连。当你在任务总控台看到这条任务时,点击旁边的源文件链接,直接跳回方案笔记,上下文一目了然。
这是任何独立的 TodoList APP 都做不到的。
[!NOTE] 一句话总结
Obsidian 的任务管理 = 随手记 + 自动汇总。 不要把它搞复杂。简单到你随时愿意写- [ ],就对了。
更多系列完整内容,欢迎访问知识星球。
AII
松花酿酒,春水煎茶。
眉上风止,见字如晤。
一只阿木木