Skip to content

任务管理系统

Obsidian 可以成为强大的任务管理工具,本指南将介绍如何构建完整的任务管理系统。

GTD 工作流

GTD 简介

GTD(Getting Things Done)是大卫·艾伦提出的高效任务管理方法,包含五个核心步骤:

📥 收集 → 🔍 处理 → 📋 组织 → 📅 回顾 → 🎯 执行

在 Obsidian 中实现

收集箱结构:

markdown
---
type: inbox
date: {{date}}
---

## 快速收集

- [ ] 任务 1
- [ ] 任务 2
- [ ] 想法/想法记录

处理流程:

收到任务

是否可执行?
├── 否 → 归档/删除/ someday
└── 是

是否 2 分钟内可完成?
├── 是 → 立即执行
└── 否

需要委派?
├── 是 → 等待清单
└── 否 → 项目/下一步行动

任务笔记结构

基础任务模板

markdown
---
type: task
status: todo
priority: medium
created: {{date}}
due:
tags: [任务]
---

# {{title}}

## 任务描述


## 子任务

- [ ] 子任务 1
- [ ] 子任务 2

## 相关资料

-

## 备注

项目模板

markdown
---
type: project
status: active
start: {{date}}
deadline:
progress: 0
---

# {{title}}

## 项目目标

1. 目标 1
2. 目标 2

## 任务列表

- [ ] 任务 1
- [ ] 任务 2

## 进度

[ ]||||||||||| 0%

## 相关笔记

-

任务追踪

使用 Dataview 追踪

待办任务:

dataview
TABLE
  priority AS "优先级",
  due AS "截止日期",
  file.folder AS "位置"
FROM #任务
WHERE status = "todo" AND !completed
SORT priority ASC, due ASC

本周任务:

dataview
TABLE
  choice(completed, "✅", "⬜") AS "状态",
  due AS "截止"
FROM #任务
WHERE due >= date(today) AND due <= date(today) + dur(7 days)
SORT due ASC

过期任务:

dataview
LIST
FROM #任务
WHERE due < date(today) AND status != "done"
SORT due ASC

任务看板

使用看板视图管理任务:

markdown
## 待办

- [ ] 任务 1
- [ ] 任务 2

## 进行中

- [ ] 任务 3 (进行中)

## 已完成

- [x] 任务 4

日记任务管理

每日任务模板

markdown
---
type: daily
date: {{date}}
---

## 今日任务

- [ ] 重要任务 1
- [ ] 常规任务 2
- [ ] 琐碎任务 3

## 今日重点

- 重点事项说明

## 时间块

| 时间 | 任务 |
|-----|------|
| 09:00-10:00 | |
| 10:00-12:00 | |
| 14:00-16:00 | |

## 复盘

### 完成情况

### 明日计划

任务汇总

dataviewjs
// 汇总今日任务完成情况
const today = dv.date("today").toFormat("yyyy-MM-dd");
const daily = dv.page(`日记/${today}`);

if (daily) {
  const tasks = daily.file.tasks;
  const completed = tasks.where(t => t.completed).length;
  const total = tasks.length;

  dv.paragraph(`📊 今日完成: ${completed}/${total}`);

  if (completed < total) {
    dv.header(3, "未完成任务");
    dv.taskList(tasks.where(t => !t.completed));
  }
}

周回顾

周回顾模板

markdown
---
type: weekly
week: {{week}}
---

## 本周目标

- [ ] 目标 1
- [ ] 目标 2

## 完成情况

| 目标 | 状态 | 备注 |
|-----|------|-----|
| 目标 1 | ✅ | |
| 目标 2 | ⬜ | |

## 数据统计

```dataview
TABLE length(file.tasks) AS "任务数"
FROM "日记"
WHERE file.ctime >= date({{week_start}}) AND file.ctime <= date({{week_end}})

下周计划

  • [ ] 计划 1
  • [ ] 计划 2

## 推荐插件

### 任务相关插件

| 插件 | 功能 |
|-----|------|
| Tasks | 任务增强、循环任务、截止提醒 |
| Kanban | 看板视图 |
| Reminder | 任务提醒 |
| Progress Bar | 进度条 |
| Dataview | 数据查询统计 |

### Tasks 插件配置

安装 Tasks 插件后,可以使用增强的任务语法:

```markdown
- [ ] 普通任务
- [ ] #任务 带截止日期 📅 2024-01-20
- [ ] #任务 循环任务 🔁 每天
- [ ] #任务 带优先级 ⏫
- [ ] #任务 带开始日期 🛫 2024-01-15

自动化工作流

自动创建日记

使用 Templater 自动创建:

javascript
<%*
// 自动创建今日日记
const today = tp.date.now("YYYY-MM-DD");
const filePath = `日记/${today}.md`;

if (!tp.file.exists(filePath)) {
  tp.file.create_new("日记模板", filePath);
}
%>

任务自动汇总

dataviewjs
// 自动汇总所有未完成任务
const tasks = dv.pages()
  .file.tasks
  .where(t => !t.completed);

dv.taskList(tasks);

进度自动计算

dataviewjs
// 自动计算项目进度
const project = dv.current();
const tasks = project.file.tasks;
const completed = tasks.where(t => t.completed).length;
const total = tasks.length;
const progress = Math.round((completed / total) * 100);

dv.paragraph(`进度: ${progress}% (${completed}/${total})`);

最佳实践

任务分类

建议使用标签或文件夹分类:

任务/
├── 工作/
│   ├── 项目A/
│   └── 项目B/
├── 生活/
│   ├── 健康/
│   └── 财务/
└── 学习/
    ├── 课程/
    └── 阅读/

优先级系统

使用四象限法则:

紧急不紧急
重要立即执行计划执行
不重要委派他人以后再说

定期回顾

建立回顾习惯:

  • 每日回顾:傍晚 5 分钟整理
  • 每周回顾:周末 30 分钟全面梳理
  • 每月回顾:月度目标检查

提示

任务管理的关键在于「简单可执行」,不要过度复杂化系统!

INFO

建议从简单的任务列表开始,逐步添加复杂功能。

最后更新:2026年2月22日编辑此页反馈问题