Obsidian 是什么
Obsidian 是一款基于本地 Markdown 文件的笔记软件。它由 Shida Li 和 Erica Xu 于 2020 年发布,核心理念是 本地优先(Local-first)、数据永存、插件驱动。
与其他笔记工具不同,Obsidian 不把你锁在一个专有格式里。你的所有笔记就是硬盘上一个文件夹里的 .md 纯文本文件——即使 Obsidian 有一天消失,你的知识仍然完整可读。
| 特性 | 说明 |
|---|---|
| 数据主权 | 笔记存储在本地,.md 纯文本,任何编辑器都能打开 |
| 双向链接 | [[笔记名]] 语法建立笔记间连接,形成知识网络 |
| 图谱视图 | 可视化笔记间的链接关系,发现隐藏关联 |
| 3900+ 插件 | 社区驱动,覆盖从任务管理到 AI 集成的所有场景 |
| 完全免费 | 个人使用免费,无笔记数量或功能限制 |
| 跨平台 | Windows / macOS / Linux / iOS / Android |
Obsidian vs 其他工具
| Obsidian | Notion | Logseq | Roam Research | |
|---|---|---|---|---|
| 存储方式 | 本地 .md 文件 | 云端专有格式 | 本地 .md 文件 | 云端专有格式 |
| 离线可用 | 完全离线 | 需预加载 | 完全离线 | 有限离线 |
| 双向链接 | [[ ]] | 无原生支持 | 内置 | 核心特性 |
| 插件生态 | 3900+ | 集成少 | 200+ | 有限 |
| 价格 | 个人免费 | 免费增值 | 免费 | $15/月 |
| 数据可迁移性 | 极高 | 导出受限 | 高 | 中等 |
| 最适合 | 个人知识管理、写作、研究 | 团队协作、项目管理 | 大纲式笔记、日记 | 学术研究、文献笔记 |
如果你需要一个数据由你掌控、功能可按需扩展、永久免费可用的笔记工具,Obsidian 是当前最好的选择。
这篇文章适合谁
- 想从 Notion / 语雀 / OneNote 迁移的笔记用户
- 收藏夹爆满、想系统化整理知识的效率爱好者
- 已用 Obsidian 但只用基础功能的进阶探索者
- 对 Zettelkasten / PARA 方法论感兴趣的知识管理者
你将收获什么
- 从零搭建一个结构清晰的 Obsidian 知识库
- 掌握 Templater + Dataview 两大核心插件的实际用法
- 获得 6 个可直接复用的 DataviewJS 自动化脚本
- 建立适合自己的周月年联动工作流
- 避开新手最常见的 8 个坑
安装与初始化
下载安装
前往 obsidian.md/download 下载对应平台版本。Linux 用户还可以通过 Flatpak 安装:
flatpak install flathub md.obsidian.Obsidian创建第一个 Vault
Vault(仓库)就是一个文件夹,里面存放你的所有笔记。打开 Obsidian 后点击”Create new vault”,选择名称和存储路径。
Vault 路径建议:
- 选在云同步目录外(如
~/Documents/Obsidian/),避免 iCloud/OneDrive 冲突 - 不要放在 U 盘、网络挂载盘等不稳定介质上
- 路径中避免中文字符和空格(规避极少数插件的路径解析问题)
界面导览
┌──────────┬──────────────────────────────┬──────────┐│ Sidebar │ Main View │ Sidebar ││ (left) │ │ (right) ││ │ │ ││ · Files │ Your note content │ · TOC ││ · Search │ │ · Links ││ · BM │ │ · Tags ││ │ │ │├──────────┴──────────────────────────────┴──────────┤│ Status Bar │└────────────────────────────────────────────────────┘- 左侧边栏:文件列表、搜索、书签
- 右侧边栏:大纲(TOC)、反向链接、标签面板
- 命令面板:
Ctrl/Cmd + P,所有操作的入口 - 标签页:支持多标签页打开笔记,
Ctrl/Cmd + T新建标签 - 状态栏:字数统计、当前文件路径
核心设置推荐
打开 Settings(Ctrl/Cmd + ,),按以下配置:
| 设置项 | 路径 | 推荐值 | 原因 |
|---|---|---|---|
| 语言 | About → Language | 中文 | 可选,英文搜插件更准确 |
| 附件路径 | Files & Links → Attachment folder path | assets | 图片附件统一放子目录,不污染根目录 |
| 链接格式 | Files & Links → New link format | Shortest path | [[笔记名]] 而非 [[文件夹/笔记名]] |
| 内部链接 | Files & Links → Default location for new notes | In the folder specified below | 设成 Inbox/ 或留空放根目录 |
| 检测所有文件扩展名 | Files & Links → Detect all file extensions | 开启 | 支持 .md 以外的 Markdown 扩展名 |
| Markdown links | Files & Links → Use properties | 开启 | 链接存入 frontmatter,兼容性更好 |
Obsidian Sync 的配置项(Syncing)如果是用 Git 或其他方案同步,不要开启内置同步。
PARA 目录结构设计
新手最容易犯的错误是:一开始随便放,三个月后几百篇笔记散落一地,重构成本巨大。
一开始就定好目录结构。业界最成熟的方案是 Tiago Forte 提出的 PARA:
MyVault/├── 00-Inbox/ ← 快速捕捉,来不及分类的先丢这里├── 01-Projects/ ← 有截止日期的任务(写毕业论文、开发某项目)├── 02-Areas/ ← 长期维护的领域(编程、理财、健康)├── 03-Resources/ ← 兴趣与参考资料(读书笔记、代码片段、好文章收藏)├── 04-Archives/ ← 已完成或不再活跃的内容├── 05-Templates/ ← 模板文件(日记模板、项目模板、会议模板)├── assets/ ← 图片、附件└── README.md ← 仓库使用说明(可选)分类判断标准:
| 问自己 | 答案 Yes | 答案 No |
|---|---|---|
| 有明确的截止日期? | Projects | 继续判断 |
| 需要长期维护? | Areas | 继续判断 |
| 只是参考/兴趣? | Resources | Archives |
数字前缀(
01-、02-)用于控制排序。Obsidian 按名称排序,不加数字前缀的话 Archives 会排在 Projects 前面。
文件夹不是分类,链接才是。PARA 结构只是帮你减少”不知道该放哪”的决策疲劳,真正的知识分类通过 [[双向链接]] 和标签完成。
2026 新功能速览
2026 年 Obsidian 发布了一系列重要更新(v1.12+),其中最有价值的几个:
Bases:原生数据库视图
右键任意文件夹 → New Base,自动读取该文件夹下所有笔记的 Properties,支持 Table / Card / Map / Gallery 四种视图切换,可筛选排序,像 Excel 一样操作。适合快速浏览笔记属性。
Bases 和 Dataview 的详细对比见进阶插件实战章节。
Obsidian CLI
命令行工具,适合自动化场景:
obsidian new "会议记录 2026-05-27" --vault "MyVault" --content "## 议题\n"obsidian open --vault "MyVault" "Projects/项目A"结合 Shell 脚本或 Alfred/Raycast,可以实现快速创建笔记的自动化。
Keychain
安全存储 API 密钥,供 Text Generator、Smart Connections 等 AI 插件调用。不再需要把 API Key 明文写在插件设置里。
Mobile 2.0
移动端重大更新:
- 桌面小组件(快速创建笔记、打开日记)
- Siri 快捷指令支持
- 浮动导航按钮,大屏手机单手可操作
- 全屏专注模式
其他改进:Dynamic Tables(从数据库实时读取表格)、图片拖拽缩放、更快的启动速度。
基础编辑
Markdown 语法速查
| 语法 | 效果 |
|---|---|
# 标题1 ## 标题2 ### 标题3 | 一、二、三级标题 |
**加粗** | 加粗 |
*斜体* | 斜体 |
~~删除线~~ | |
==高亮== | ==高亮== |
[链接文字](URL) | 外部链接 |
 | 插入图片 |
- 无序列表 | 无序列表 |
1. 有序列表 | 有序列表 |
> 引用 | 引用块 |
--- | 分割线 |
`行内代码` | 行内代码 |
```语言 代码块 ``` | 代码块 |
- [ ] 待办 - [x] 已完成 | 任务列表 |
Callout:Obsidian 的富文本提示框
Callout 是 Obsidian 对标准 Markdown 的优雅扩展,用于创建彩色提示框。语法:
> [!note] 标题> 这是内容内置 12 种类型:
| 类型 | 用途 | 颜色 |
|---|---|---|
note | 一般说明 | 蓝 |
info | 补充信息 | 蓝 |
tip / hint | 提示技巧 | 青 |
success / check / done | 成功/完成 | 绿 |
question / help / faq | 问题 | 黄 |
warning / caution / attention | 注意事项 | 橙 |
danger / error | 危险警告 | 红 |
example | 示例 | 紫 |
quote / cite | 引用 | 灰 |
abstract / summary / tldr | 摘要 | 蓝灰 |
bug | Bug 描述 | 红 |
failure / fail / missing | 失败/缺失 | 红 |
折叠 Callout(内容默认收起):
> [!note]- 点击展开> 这里的内容默认隐藏内部链接与嵌入
[[笔记名]] → 链接到其他笔记[[笔记名|显示文本]] → 自定义链接文本[[笔记名#标题]] → 链接到笔记的特定标题[[笔记名#^block-id]] → 链接到特定段落![[笔记名]] → 嵌入整个笔记![[笔记名#标题]] → 嵌入特定章节![[图片.png]] → 嵌入图片快捷键体系
最常用 20 个快捷键:
| 快捷键 (Win/Linux) | 快捷键 (Mac) | 功能 |
|---|---|---|
Ctrl + P | Cmd + P | 命令面板 |
Ctrl + N | Cmd + N | 新建笔记 |
Ctrl + O | Cmd + O | 快速切换文件 |
Ctrl + S | Cmd + S | 保存当前文件 |
Ctrl + W | Cmd + W | 关闭当前标签页 |
Ctrl + Shift + F | Cmd + Shift + F | 全局搜索 |
Ctrl + E | Cmd + E | 切换编辑/预览 |
Ctrl + , | Cmd + , | 打开设置 |
Ctrl + K | Cmd + K | 插入链接 |
Ctrl + Shift + V | Cmd + Shift + V | 粘贴并自动转换 Markdown |
Ctrl + [ / ] | Cmd + [ / ] | 减少/增加缩进 |
Ctrl + B | Cmd + B | 加粗 |
Ctrl + I | Cmd + I | 斜体 |
Ctrl + G | Cmd + G | 打开图谱视图 |
Ctrl + Shift + D | Cmd + Shift + D | 新建日记 |
Alt + ← / → | Opt + ← / → | 前进/后退导航 |
掌握其中 5-6 个就能大幅提升效率,没必要背全部。
Properties(属性)
Obsidian 支持在笔记顶部用 YAML frontmatter 定义结构化属性。编辑模式下按 Ctrl + ; 可以可视化编辑:
---title: 我的笔记tags: [obsidian, tutorial]aliases: [我的别名, 另一个别名]cssclasses: [custom-css]created: 2026-05-27status: draft---属性可以用于 Dataview 查询和 Bases 视图,是自动化工作流的基石。
笔记组织与链接
双向链接
双向链接是 Obsidian 的灵魂功能。一篇笔记通过 [[另一篇笔记]] 引用另一篇笔记后:
- 出链(Outgoing Links):当前笔记链接了哪些笔记 → 右侧边栏 “Links” 面板
- 入链/反向链接(Backlinks):哪些笔记链接了当前笔记 → 右侧边栏 “Backlinks” 面板
- 未链接提及(Unlinked Mentions):正文中提到了其他笔记名但没有用
[[ ]]→ Backlinks 面板底部
反向链接的真正价值不在”看谁链了我”,而在发现意外关联。读到一篇旧笔记时,反向链接面板会告诉你:“嘿,三个月前那篇笔记也提过这个概念”。
标签系统
#tag#topic/subtopic ← 嵌套标签#project/active ← 按项目状态分类#type/meeting ← 按笔记类型分类标签 vs 链接:标签表达”是什么”,链接表达”和什么相关”。
| 用标签 | 用链接 |
|---|---|
| 笔记类型:#meeting #journal #book | 概念关联:参见 [[Zettelkasten]] |
| 状态:#draft #review #done | 项目归属:属于 [[Project Alpha]] |
| 来源:#youtube #podcast | 作者引用:摘自 [[某作者]] 的观点 |
| 通用分类:#tech #finance | 概念定义:定义了 [[MOC]] 这个概念 |
图谱视图
Ctrl/Cmd + G 打开图谱视图:
- 局部图谱:只看当前笔记的连接——点击右上角图谱图标,或右键笔记 → Open local graph
- 全局图谱:展示整个 Vault 的链接关系
- 深度控制:局部图谱可以设置”显示几层链接”,默认 1 层,改成 2 层就能看到”朋友的朋友”
- 分组着色:按文件夹或标签给节点上色
图谱的最佳用法不是”好看”,而是在研究一个主题时用局部图谱发现关联笔记。
搜索技巧
八个常用搜索运算符:
| 运算符 | 示例 | 说明 |
|---|---|---|
path: | path:Projects | 限定搜索路径 |
tag: | tag:#obsidian | 限定标签,支持嵌套 tag:#topic/sub |
line: | line:(关键字1 关键字2) | 俩词在同一行 |
section: | section:(关键字1 关键字2) | 俩词在同一段落 |
block: | block:(关键字) | 仅搜索段落块 |
file: | file:README | 按文件名搜索 |
task: | task:"" | 搜索任务 |
task-todo: | task-todo:"" | 仅未完成的任务 |
content: | content:关键字 | 搜索正文 |
- | tag:#obsidian -tag:#tutorial | 排除(AND NOT) |
OR | Obsidian OR Notion | 或(大写 OR) |
示例——搜索 Projects 目录下标签为 #active 但非 #blocked 的笔记:
path:Projects tag:#active -tag:#blocked文件管理最佳实践
- 命名规范:一篇笔记 = 一个概念 = 一个简洁文件名。不要
2026-05-27-下午开会关于xxxx最终版-v3,用项目A 需求评审 2026-05-27 - 目录结构最小化:不要建超过 3 层目录。PARA 的 4-5 个顶层文件夹足够了
- Inbox 是安全阀:来不及分类就先丢进 Inbox,每周花 10 分钟清理
- 别怕”放错”:标签和链接可以补上分类维度,文件夹放错了也没关系
- 定期归档:每季度把已完成的项目从
01-Projects移到04-Archives
MOC(内容地图)
MOC(Map of Content)是一篇索引笔记,用来给某个主题下分散的笔记做”目录页”。
何时创建 MOC: 当你发现某个主题积累了 3 篇以上相关笔记时,就创建 MOC 把它们串起来。
MOC 模板示例:
---tags: [moc]---
# Obsidian MOC
## 核心概念- [[Obsidian 是什么]]- [[双向链接 vs 文件夹分类]]
## 插件- [[Templater 模板引擎]]- [[Dataview 查询语言]]- [[Calendar 日记工作流]]
## 工作流- [[PARA 在 Obsidian 中的实践]]- [[周月年联动系统]]- [[Git 备份方案]]
## 待探索- [ ] Obsidian Publish- [ ] Canvas 白板MOC 就是笔记的高阶索引。文件夹 + 标签 + MOC 三层结构,构成了从粗到细的组织体系。
进阶插件实战
必备插件速查表
| 插件 | 一句话作用 | 优先级 |
|---|---|---|
| Templater | 动态模板引擎,自动插入日期/标题/交互输入 | 必装 |
| Dataview | 把 Obsidian 变成可查询的数据库 | 必装 |
| Calendar | 日历视图 + 日记一键创建 | 必装 |
| QuickAdd | 一键创建笔记/执行宏/捕捉想法 | 强烈推荐 |
| Obsidian Git | 自动备份到 GitHub,免费版本控制 | 强烈推荐 |
| Tasks | 增强任务管理,支持截止日/优先级/重复 | 推荐 |
| Kanban | 看板视图管理项目 | 推荐 |
| Excalidraw | 手绘流程图/思维导图,图内文字可全局搜索 | 推荐 |
| Style Settings | 不写 CSS 就能深度定制主题 | 推荐 |
| Auto Note Mover | 按规则自动移动笔记到对应文件夹 | 可选 |
| Zotero Integration | 学术文献管理,与 Zotero 联动 | 学术必备 |
Templater:动态模板引擎
安装设置:
- 设置 → Community plugins → 搜索 “Templater” → 安装并启用
- Settings → Templater → Template folder location →
05-Templates/ - 开启 Trigger Templater on new file creation
- 可选:绑定快捷键
Alt + E呼出模板列表
核心语法:
| 表达式 | 输出 | 用法 |
|---|---|---|
<% tp.date.now("YYYY-MM-DD") %> | 2026-05-27 | 当前日期 |
<% tp.date.now("dddd") %> | Thursday | 星期几 |
<% tp.date.now("HH:mm") %> | 14:30 | 当前时间 |
<% tp.file.title %> | 当前文件名 | 文件名 |
<% tp.file.creation_date() %> | 创建日期 | 文件创建时间 |
<% tp.system.prompt("输入标题") %> | 弹窗输入 | 交互输入框 |
<% tp.file.cursor(0) %> | 光标定位 | 生成后光标位置 |
<% await tp.file.move("Projects/" + tp.file.title) %> | 移动文件 | 自动归档到指定文件夹 |
日记模板实战:
在 05-Templates/ 下创建 daily.md:
---title: <% tp.date.now("YYYY-MM-DD") %>tags: [daily]created: <% tp.date.now("YYYY-MM-DD HH:mm") %>---
# <% tp.date.now("YYYY-MM-DD dddd") %>
## 今日目标- [ ] 目标一- [ ] 目标二- [ ] 目标三
## 笔记<% tp.file.cursor(1) %>
## 今日创建```textLISTFROM ""WHERE file.cday = date(<% tp.date.now("YYYY-MM-DD") %>)SORT file.ctime ASC今日任务
TASKFROM "01-Projects"WHERE !completed AND created <= date(<% tp.date.now("YYYY-MM-DD") %>)LIMIT 10然后设置:Settings → Core plugins → Daily notes → Template file location → `05-Templates/daily.md`
每次点日历上的日期(或 `Cmd/Ctrl + Shift + D`),就会自动套用这个模板。
**项目模板实战:**
`05-Templates/project.md`:
```markdown---title: <% tp.system.prompt("项目名称") %>tags: [project]status: activedeadline: <% tp.system.prompt("截止日期 (YYYY-MM-DD)") %>created: <% tp.date.now("YYYY-MM-DD") %>---
# <% tp.file.title %>
## 目标
## 任务- [ ] 任务一- [ ] 任务二
## 相关笔记-
## 周报汇总```textTABLE WITHOUT ID file.link AS "周报", summary AS "本周进展"FROM "01-Projects/<% tp.file.title %>"WHERE file.name != "<% tp.file.title %>"SORT file.name DESC### Dataview:智能查询引擎
**前置条件**:Settings → Dataview → 开启 **Enable JavaScript Queries** 和 **Enable Inline JavaScript Queries**
Dataview 提供四种查询方式:
| 类型 | 语法 | 用途 ||------|------|------|| `TABLE` | `TABLE col1, col2 FROM ...` | 表格展示,最常用 || `LIST` | `LIST FROM ...` | 列表展示,适合做索引 || `TASK` | `TASK FROM ...` | 任务聚合,跨文件收集待办 || `CALENDAR` | `CALENDAR date FROM ...` | 日历视图 |
**FROM 数据源:**
```textFROM "01-Projects" ← 指定文件夹FROM #project ← 指定标签FROM [[某笔记]] ← 链接到某笔记的所有笔记FROM "01-Projects" AND #active ← 文件夹 + 标签FROM "01-Projects" OR "02-Areas" ← 两个文件夹WHERE 过滤条件:
WHERE file.cday = date(today) ← 今天创建的WHERE file.mday >= date(today) - dur(7 days) ← 最近 7 天修改的WHERE status = "active" ← 属性过滤WHERE !completed ← 未完成任务WHERE contains(tags, "#obsidian") ← 包含特定标签WHERE file.size > 1000 ← 文件大于 1000 字节SORT 排序:
SORT file.ctime DESC ← 按创建时间倒序SORT deadline ASC ← 按截止日期升序SORT file.name ASC ← 按文件名升序实用 DQL 查询示例:
// 1. 所有活跃项目及其截止日期TABLE deadline AS "截止日期", status AS "状态"FROM "01-Projects"WHERE status = "active"SORT deadline ASC
// 2. 最近 7 天修改的笔记TABLE file.mday AS "最后修改"FROM ""WHERE file.mday >= date(today) - dur(7 days)SORT file.mday DESCLIMIT 20
// 3. 收集所有未完成的任务TASKFROM "01-Projects"WHERE !completedSORT priority DESC
// 4. 日历视图:按 created 日期展示笔记CALENDAR file.cdayFROM #meetingDataviewJS 入门
DataviewJS 是 Dataview 的 JavaScript API,用于 DQL 无法实现的高级查询。何时用 DataviewJS:
- 需要动态交互(弹窗输入、按钮)
- 需要复杂计算
- 需要自定义 HTML 渲染
- DQL 的 WHERE 条件写不出来时
基础 API:
dv.pages() // 获取所有笔记dv.pages('#tag') // 按标签筛选dv.pages('"folder"') // 按文件夹筛选dv.page("笔记名") // 获取单篇笔记dv.current() // 获取当前笔记
dv.table(headers, rows) // 渲染表格dv.list(items) // 渲染列表dv.taskList(tasks, groupBy) // 渲染任务列表dv.paragraph("text") // 渲染段落Dataview vs Bases:何时用哪个
2026 年 Obsidian 新增了 Bases(原生数据库视图),常有人问它和 Dataview 的关系:
| Bases | Dataview | |
|---|---|---|
| 操作方式 | 右键文件夹 → New Base,GUI 操作 | 写 DQL / JavaScript 查询 |
| 代码门槛 | 零代码 | 需学 DQL 语法(JS 版本需编程基础) |
| 数据范围 | 单个文件夹 | 跨整个 Vault,灵活组合 |
| 条件过滤 | 基础筛选排序 | 复杂 WHERE 条件、正则、日期计算 |
| 自定义渲染 | 无 | 自定义 HTML 输出 |
| 跨笔记聚合 | 不支持 | 核心能力(如收集所有标题含某个关键词的片段) |
| 适合场景 | 快速浏览属性、简单表格 | 复杂查询、仪表盘、自动化面板 |
结论:两者互补,不是取代关系。 Bases 适合”看看这个文件夹里所有笔记的属性”的简单场景;Dataview 适合跨文件夹聚合、条件过滤、自定义计算等复杂需求。大多数深度用户两者都用——Bases 做日常浏览,Dataview 搭建仪表盘。
实用脚本合集
以下 6 个脚本可直接复制粘贴到笔记中的 ```javascript 代码块。
1. 全局搜索器
const keyword = await dv.el("input")dv.paragraph("输入关键词后按回车搜索");
// 简单的文本搜索实现const files = dv.pages();const results = [];
for (const file of files) { const content = await dv.io.load(file.file.path); if (content && content.toLowerCase().includes("待搜索关键词")) { results.push([file.file.link, file.file.folder]); }}
dv.table(["笔记", "目录"], results);2. 待办聚合器
const tasks = dv.pages() .file.tasks .where(t => !t.completed) .sort(t => t.priority, 'desc');
const rows = tasks.map(t => [ t.text, t.path ? dv.fileLink(t.path) : "", t.priority || "-", t.due ? t.due.toFormat("yyyy-MM-dd") : "-"]);
dv.table(["任务", "所属笔记", "优先级", "截止日"], rows);3. 近期动态板
const days = parseInt(await dv.el( 'input', { attr: { placeholder: "输入天数,默认 7" } })) || 7;
const recentFiles = dv.pages() .where(p => p.file.mday >= dv.date("now").minus({days: days})) .sort(p => p.file.mday, 'desc');
dv.table( ["笔记", "最后修改", "创建日期"], recentFiles.map(p => [ p.file.link, p.file.mday.toFormat("yyyy-MM-dd HH:mm"), p.file.cday.toFormat("yyyy-MM-dd") ]));4. 孤岛探测仪
const allFiles = dv.pages();
const orphans = allFiles.filter(p => { const outlinks = p.file.outlinks?.length || 0; const inlinks = p.file.inlinks?.length || 0; return outlinks === 0 && inlinks === 0;});
dv.paragraph(`共发现 ${orphans.length} 个孤岛笔记:`);dv.list(orphans.map(p => p.file.link));5. 灵感随机机
const count = 5;const files = dv.pages().array();const shuffled = files.sort(() => Math.random() - 0.5);const picked = shuffled.slice(0, Math.min(count, shuffled.length));
dv.list(picked.map(p => p.file.link));6. 项目进度仪表盘
const projects = dv.pages('"01-Projects"');
const active = projects.where(p => p.status === "active").length;const done = projects.where(p => p.status === "done").length;const blocked = projects.where(p => p.status === "blocked").length;const total = projects.length;
dv.paragraph(`总项目 ${total} | 进行中 ${active} | 已完成 ${done} | 阻塞 ${blocked}`);
dv.table( ["项目", "状态", "截止日期"], projects .sort(p => p.deadline, 'asc') .map(p => [p.file.link, p.status || "-", p.deadline || "-"]));Calendar:日历导航
Calendar 插件提供日历视图,核心用法是配合 Daily Notes:
- 安装 Calendar 插件
- 确认 Core plugins → Daily notes 已开启
- 设置 Daily notes 的模板文件路径(指向你的
05-Templates/daily.md) - 打开 Calendar 面板,点击任意日期 → 自动创建该日日记并套用模板
Calendar + Templater 的联动是 Obsidian 最”爽”的体验之一:点一下日历,日记就创建好了,自动带上日期、模板内容、Dataview 查询区块。
其他精选插件详解
QuickAdd — 3 秒捕捉想法
核心配置三步:
- 新建一个 Capture → 选择目标文件(比如
00-Inbox/quick-notes.md) - 设置内容格式:
- [ ] {{VALUE}} <% tp.date.now("YYYY-MM-DD HH:mm") %> - 绑定全局快捷键(如
Ctrl + Shift + Q)
按快捷键 → 弹窗输入 → 回车 → 内容自动追加到文件。整个流程不到 3 秒。
Obsidian Git — 免费备份与版本控制
# 安装 Obsidian Git 插件后,设置:# 1. Vault backup interval: 30 (分钟)# 2. Auto pull on startup: ON# 3. Commit message: "vault backup: {{date}}"
# 然后初始化 Git 仓库cd /path/to/your/vaultgit initgit remote add origin git@github.com:yourname/obsidian-vault.gitgit add -Agit commit -m "initial vault backup"git push -u origin main每 30 分钟自动 commit + push,免费拥有版本历史 + 异地备份。注意:不要把 .obsidian/workspace.json 等频繁变更的文件纳入版本控制,建议写 .gitignore:
.obsidian/workspace.json.obsidian/workspace-mobile.json.obsidian/cache.trash/Tasks — 任务管理增强
把 - [ ] 任务升级为功能完备的 GTD 系统:
- [ ] 写 Q2 报告 📅 2026-06-30 ⏫ 🔁 every week- [x] 发周报 ✅ 2026-05-25| 语法 | 含义 |
|---|---|
| 📅 YYYY-MM-DD | 截止日期 |
| ⏫ / 🔼 / 🔽 | 高/中/低优先级 |
| 🔁 every day/week/month | 重复任务 |
| ✅ YYYY-MM-DD | 完成日期 |
| ➕ YYYY-MM-DD | 创建日期 |
Kanban — 看板管理
右键文件夹 → New Kanban board,创建看板。列名就是 Markdown 的 ## 列名,每个卡片就是 - [ ] 任务名。适合项目管理、内容发布流水线等可视化场景。
Excalidraw — 手绘图表
嵌入绘图就跟嵌入图片一样:![[drawing.excalidraw]]。图表内的文字(包括手写文字转文本后)都可以被 Obsidian 全局搜索索引到。
知识管理体系落地
Zettelkasten(卡片盒笔记法)
Zettelkasten 是德国社会学家卢曼(Niklas Luhmann)发明的方法,核心原则只有三条:
1. 原子性(Atomicity) 一篇笔记 = 一个概念。不是一章,不是一本书,就是一个可以独立理解的概念。
不是:“机器学习笔记”(太宽泛) 而是:“为什么梯度下降比解析解更实用”(一个具体观点)
2. 链接即思考(Links are thinking) 每篇新笔记必须链接到至少一篇已有笔记。建立链接的过程就是思考”这个概念跟我已知的什么有关”。
3. 用自己的话写(Your own words) 不复制粘贴。用你自己的语言重新表述——这个过程本身是最深的理解。
在 Obsidian 中的实践:
- 用
[[ ]]链接代替文件夹分类——文件夹只做粗粒度分组,概念间的关系靠链接 - 每条笔记写完后问自己:“这跟哪篇已有笔记有关?“——至少链一个
- Inbox 里临时放一下可以,但从 Inbox 拿出来时必须是原子化改写后的版本
PARA 方法论
Tiago Forte 在《Building a Second Brain》中提出的分层组织法。在 Obsidian 中落地的具体做法:
| 层级 | 目录 | 判断标准 | 例子 |
|---|---|---|---|
| P — Projects | 01-Projects/ | 有明确目标和截止日期 | 写毕业论文、准备面试、策划旅行 |
| A — Areas | 02-Areas/ | 需要持续维护的领域,无截止日 | 编程技能、理财、身体健康、英语 |
| R — Resources | 03-Resources/ | 兴趣话题,参考资料 | 读书笔记、收藏的技术文章、菜谱 |
| A — Archives | 04-Archives/ | 已完成/不再活跃 | 去年的项目、过时的笔记 |
实际操作流程:
- 新想法/任务进来 → 先扔
00-Inbox/ - 每周整理 Inbox:
- 有截止日?→
01-Projects/ - 需要长期关注?→
02-Areas/ - 只是参考?→
03-Resources/ - 不重要了?→ 删除或
04-Archives/
- 有截止日?→
- 每季度回顾:Projects 中已完成的移到 Archives
一个程序员的知识库实例:
01-Projects/├── blog-redesign/ ← 博客重构项目├── rust-learning/ ← 学 Rust 的 30 天计划02-Areas/├── linux/ ← Linux 技能├── k8s/ ← Kubernetes├── career/ ← 职业发展03-Resources/├── paper-notes/ ← 论文笔记├── book-notes/ ← 读书笔记├── code-snippets/ ← 代码片段04-Archives/├── 2025-projects/ ← 去年的项目周月年联动系统
利用 Templater + Calendar + Dataview 搭建自动化的时间管理系统:
Weekly Review 模板(05-Templates/weekly-review.md):
---title: <% tp.date.now("YYYY-[W]ww") %> 周回顾tags: [weekly-review]created: <% tp.date.now("YYYY-MM-DD") %>---
# 第 <% tp.date.now("ww") %> 周回顾
## 本周创建了哪些笔记```textTABLE file.cday AS "创建日期"FROM ""WHERE file.cday >= date(<% tp.date.now("YYYY-MM-DD") %>) - dur(7 days) AND file.cday <= date(<% tp.date.now("YYYY-MM-DD") %>)SORT file.cday DESC本周完成了哪些任务
TASKFROM "01-Projects"WHERE completed AND completion = date(<% tp.date.now("YYYY-MM-DD") %>) - dur(7 days) .. date(<% tp.date.now("YYYY-MM-DD") %>)反思
- 本周最重要的进展:
- 遇到的阻碍:
- 下周重点:
**Monthly Review** 同理,把时间范围从 7 天改成当月。
每周五下午花 15 分钟写周回顾 + 清 Inbox,每月底花 30 分钟写月回顾 + 归档。
## 工作流与自动化
### QuickAdd 捕捉工作流
配置示例——3 秒录入一篇新想法:
1. QuickAdd settings → Add Choice → 类型选 Capture2. Capture To: `00-Inbox/inbox.md`3. Capture format:- {{VALUE}} #inbox <% tp.date.now(“YYYY-MM-DD”) %>
4. 开启 "Create line above"5. 绑定快捷键 `Ctrl + Shift + I`
再配一个选择题——"新项目"还是"新读书笔记":
1. QuickAdd → Add Choice → 类型选 Template2. Template Path: `05-Templates/project.md`3. 绑定快捷键 `Ctrl + Shift + P`
这样不需要打开 Obsidian 界面(全局快捷键生效),一键就能创建带完整模板的新笔记。
### Templater 进阶技巧
**自动移动文件:**
Template 文件末尾加:
```javascript<%* if (tp.file.title.startsWith("会议")) { await tp.file.move("02-Areas/meetings/" + tp.file.title);} %>创建名为”会议”开头的笔记时,自动移动到 02-Areas/meetings/。
动态标题:
<%*let title = await tp.system.prompt("笔记标题");await tp.file.rename(title);%>先弹窗让用户输入标题,再重命名文件——防止无名笔记堆积。
跨设备同步方案对比
| 方案 | 月成本 | 实时同步 | 版本历史 | 移动端 | 设置难度 | 推荐人群 |
|---|---|---|---|---|---|---|
| Obsidian Sync | USD 5/月(年付 USD 4/月) | 是 | 1 年 | 优 | 极简 | 不想折腾 |
| Obsidian Git | 免费 | 否(定时) | 永久 | 差 | 中 | 程序员 |
| Syncthing | 免费 | 是 | 有限 | 良 | 高 | DIY 爱好者 |
| iCloud | 免费 | 是 | 有限 | 优 | 极简 | Apple 全家桶 |
| Remotely Save + S3 | ~$1 | 否(按需) | 无 | 良 | 中 | 跨平台省钱 |
| Google Drive / OneDrive | 免费 | 是 | 有限 | 良 | 低 | 已有云盘的 |
推荐选择:
- 预算允许且不想折腾 → Obsidian Sync(最省心)
- 程序员且已有 GitHub 账号 → Obsidian Git(免费 + 版本历史)
- 全是 Apple 设备 → iCloud(最省事,但注意 Windows 版 iCloud 冲突问题)
重点:不要同时用两个同步方案。这是最常见的同步故障原因——文件冲突、数据丢失都因为它。
Git 备份自动化
Linux 系统用 systemd timer 实现自动备份:
[Unit]Description=Obsidian vault backup
[Service]Type=oneshotExecStart=/bin/bash -c 'cd %h/path/to/vault && git add -A && git commit -m "auto backup: $(date +%%Y-%%m-%%d_%%H:%%M)" && git push'[Unit]Description=Backup Obsidian vault every 30 mins
[Timer]OnCalendar=*:0/30Persistent=true
[Install]WantedBy=timers.targetsystemctl --user enable obsidian-backup.timersystemctl --user start obsidian-backup.timerWindows 用 Task Scheduler,macOS 用 launchd,或直接用 Obsidian Git 插件更省事。
美化与发布
主题推荐
| 主题 | 风格 | 特色 |
|---|---|---|
| Minimal | 极简白/黑 | Obsidian 官方推荐主题,干净克制,配合 Style Settings 可深度定制配色 |
| AnuPpuccin | 柔和多彩 | 社区最流行主题之一,丰富的色彩方案,Rainbow Folders |
| Blue Topaz | 中文友好 | 国内社区最流行,针对中文排版优化,自带大量 Style Settings 选项 |
| Catppuccin | 温暖柔和 | 四种柔和配色方案(Latte/Frappe/Macchiato/Mocha),护眼 |
| Border | 卡片风格 | 笔记卡片化设计,类似 Notion 的视觉风格 |
| Things | macOS 原生 | 仿 Things 3 的 macOS 风格,圆润清爽 |
安装方法:Settings → Appearance → Themes → Manage → 搜索主题名 → Install and use
CSS Snippets
不需要会写 CSS 就能定制外观。社区有大量现成的 Snippets 可以直接启用。
常用 Snippets 清单:
| Snippet | 效果 |
|---|---|
minimal-cards | 笔记列表卡片化 |
clean-embeds | 净化嵌入内容的显示 |
hide-metadata | 阅读模式下隐藏 frontmatter |
colorful-folders | 文件夹变色 |
code-wrap | 代码块自动换行 |
使用步骤:
- Settings → Appearance → CSS snippets → Open snippets folder
- 把
.css文件放进去 - 回到设置,点刷新 → 点开关启用
自写一个简单 Snippet——让 Callout 更紧凑:
.callout { padding: 8px 16px !important; margin: 8px 0 !important;}.callout-title { font-size: 0.95em !important;}发布方案对比
想把笔记发布成网站?四种方案:
| 方案 | 月成本 | 技术门槛 | SEO | 自定义 | 适合 |
|---|---|---|---|---|---|
| Obsidian Publish | USD 10/月(年付 USD 8/月) | 零 | 内置 | 有限 | 即开即用 |
| Quartz | 免费 | 中等(Node + GitHub Pages) | 良好 | 高 | 程序员/技术博客 |
| Digital Garden 插件 | 免费 | 低 | 基础 | 中 | 轻量分享 |
| Hugo / Astro + Markdown | 免费 | 高 | 最佳 | 最高 | 建独立博客 |
Quartz 是目前社区最受欢迎的免费方案——只渲染发布想发布的笔记,保留双向链接和图谱,部署到 GitHub Pages。
避坑指南与 FAQ
新手最常见的 8 个坑
| 坑 | 症状 | 解法 |
|---|---|---|
| 元数据不一致 | Dataview 查不到数据 | 选一套属性名(如 tags, status, deadline)全库统一,不要混用中英文 |
| 日期格式混乱 | 排序错乱 | 统一 YYYY-MM-DD(ISO 8601),不要用 2026.5.27 或 5/27 |
| 任务格式不对 | Tasks 插件追踪不到 | 必须是 - [ ](方括号间有空格),不是 * [ ] 或 - [] |
| 模板不生效 | <% %> 代码原样输出 | Templater 模板只在新创建时执行,编辑模板文件本身不会执行 |
| Dataview 显示「No results」 | 以为配置错了 | 正常的,说明查询语句正确但当前数据为空,创建符合条件的数据后会显示 |
| 建了多个 Vault | 知识孤立 | 同一知识体系只用一个 Vault,双链跨不了仓库。不同用途(工作/个人)才分开 |
| 过度设计 | 花 3 天搭体系 1 天就放弃 | 先跑起来:PARA 结构 + 日记模板 + 至少一个核心插件。问题驱动,不是设计驱动 |
| 没备份就升级 | 数据丢失 | 大版本升级(如 v1.11 → v1.12)前,先 Git commit 或手动复制 Vault 文件夹 |
FAQ
Q: Obsidian 免费吗?是否有限制? A: 个人使用完全免费。无笔记数量限制、无功能阉割、无云端强制同步。唯一的付费项是 Obsidian Sync(USD 5/月)和 Obsidian Publish(USD 10/月),属于可选增值服务,不用也不影响核心功能。商用需购买商业许可证(USD 50/用户/年)。
Q: 应该先学方法论(Zettelkasten/PARA)还是先上手? A: 先上手。创建一个 Vault,写 10 篇笔记,感受一下基本的链接和搜索。之后再回头看方法论,你才能真正理解”为什么需要这个”。
Q: 手机端能用吗? A: 能。iOS/Android 客户端功能齐全。但移动端更适合查阅和捕捉,不太适合长文写作和复杂模板编辑。
Q: 迁移已有笔记(Notion/语雀/Evernote)麻烦吗?
A: Notion 导出 Markdown → 丢进 Vault 文件夹即可。语雀和 Evernote 需要用第三方工具转换格式。迁移后的笔记需要手动补齐 [[ ]] 链接。
实战路线图
Day 1:搭基础(约 30 分钟)
- 下载安装 Obsidian
- 创建第一个 Vault
- 按 PARA 结构创建文件夹
- 调整核心设置(附件路径、默认笔记位置、语言)
- 安装 3 个必装插件:Templater + Dataview + Calendar
- 创建日记模板
05-Templates/daily.md
Day 2:配自动化(约 20 分钟)
- 安装 QuickAdd,配置”快速捕捉”快捷键
- 创建项目模板
05-Templates/project.md - 搭建首页仪表盘(复制上面”项目进度仪表盘”脚本)
- 安装 Obsidian Git,配置自动备份
Day 3-7:开始使用
- 写入 5-10 篇已有想法/项目
- 养成每天打开写日记的习惯(点日历上的日期就行)
- 用
[[ ]]链接关联笔记 - 每次记录任务时加上截止日和优先级(📅 ⏫)
第 2 周
- 尝试 DataviewJS 脚本(全局搜索器、待办聚合器)
- 安装了看中的社区主题
- 创建第一个 MOC(找一个你已有 3+ 篇笔记的主题)
第 1 个月
- 写第一篇周回顾
- 清理 Inbox,归档已完成的项目
- 决定是否订阅 Obsidian Sync(或用 Git/Syncthing 替代)
- 回顾:当前的体系有哪些摩擦?需要调整什么?
总结与社区资源
核心理念
系统是用出来的,不是设计出来的。
不要在第一天就试图设计完美体系。Obsidian 的美好之处在于——你的笔记都是 .md 文件,无论怎么调整结构,都不会丢数据。大胆实验,发现问题再改。
推荐资源
| 资源 | 链接 | 说明 |
|---|---|---|
| Obsidian 官方论坛 | forum.obsidian.md | 官方社区,插件作者常驻 |
| Obsidian 中文社区 | 微信公众号/QQ 群 | 搜”Obsidian 中文社区” |
| r/ObsidianMD | 国际社区,大量工作流分享 | |
| 官方 Help | help.obsidian.md | 最权威的文档 |
| Minimal 主题文档 | minimal.guide | 主题配置指南 |
| Dataview 文档 | blacksmithgu.github.io/obsidian-dataview | Dataview 官方文档 |
延伸阅读
本博客还写过一篇关于 LLM Wiki 个人知识库的教程——用 Claude Code 自动帮你整理 Obsidian 之外的原始素材。如果你对 AI + 知识管理的组合感兴趣,可以看看:Karpathy LLM Wiki 指南。