我是怎么使用 Obsidian 的
Obsidian 的哲学和缺陷
在过去,我不算是 Obsidian 的用户,它过于复杂,以至于需要我耗费不少精力在做笔记之外的事情上,这种折腾使我觉得麻烦。所以网络上流行一张梗图——最聪明和愚蠢的人使用简洁的 Apple Notes,它的功能不多,但几乎没有摩擦成本,用户可以将时间投入在写笔记上;而处于中间水平的人在不断地捣鼓各种笔记软件。
![]()
但是 AI 的发展彻底改变了我对 Obsidian 的态度,Obsidian 的 vault(仓库)管理逻辑恰好和 agent 的以项目为单位的逻辑一致,所以我可以直接让 agent 帮我处理仓库;与此同时,AI 还可以快速帮我写出便利的 Obsidian 插件,以便满足自己的小众需求。AI 让 Obsidian 这样的低下限、高上限的自由软件变得更为强大。
Obsidian 的哲学
如果要高效地使用 Obsidian,相比技术上的探索,更重要的是理解文档管理的哲学。
Obsidian 的 CEO 在他的博客站里写过一篇他的使用哲学的文章 How I use Obsidian,我的理念和他相似。不过相比他的使用方法,我会更多地让 agent 介入对仓库的管理。
为了高效地使用 Obsidian,需要打破以单个超大文件、文件夹整理为中心的文档处理思维。取而代之的是 frontmatter 和 agent。
1. 利用 frontmatter
Markdown 的 frontmatter(前置元数据)是放在 Markdown 文件最开头的一段「元数据配置」,用来描述这篇文档具有什么样的属性。在 frontmatter 的后面,才是 Markdown 的征文。
例如,这篇博文的 frontmatter 是这样:
---
title: 我是怎么使用 Obsidian 的
title_english: How I Use Obsidian
description: Obsidian 的哲学、agent 协作、缺陷
date: 2026-10-01
date_updated:
category: ""
tags: []
cover: "../attachments/how-i-use-obsidian-cover.png"
draft: false
hidden: false
comments: open
comment_id: "post-ae8ffbc6-9bdd-4f19-a6d2-de2b367032ac"
---
借助 frontmatter,文档被进行了格式规范的标记,这样一来,就完成了对文档的分类,并且后续可以通过编程来实现对文档的整理。我的博文 markdown 文件的 frontmatter 中的标题、描述、日期等信息还会被处理为博客站里的信息。
2. 避免文件夹嵌套
文件管理对人的大量折磨里,一大核心折磨是文件夹的繁琐——大量的文件夹数量使得人需要思考把文件放在什么文件夹里;当文件夹出现嵌套时,光是在这层峦叠嶂的文件夹结构里花样游泳就要花上不少的时间。
在 Obsidian 的哲学里,良好的文件夹结构是扁平化的,应当减少对文件夹的使用,同时尽量使用 frontmatter 来标记文件,这样就可以避免文件夹带来的烦恼。文件夹意味着一种固定的结构,而良好的 frontmatter 意味着用户可以拥有随心所欲的认知结构。
我的博文的文档管理目前践行了这样的哲学,在博文的大文件夹下,只有 4 个小文件夹,分别用来放置博文、博文模版、媒体、附件。小文件夹里不再有其他文件夹。
blog/
├── AGENTS.md
├── attachments/
├── media/
├── posts/
└── template/
![]()
3. 设计良好的模版
上文提到了使用 frontmatter 来标记文档,但是在新建文档时,没有人想把这些 frontmatter 来手动敲一遍,甚至连拷贝粘贴都是麻烦的。
比较好的实践是将模版放在一个文件夹里,然后在 Obsidian 里将这个文件夹设置为模版文件夹。下次新建文件时,就只需要按下快捷键,然后选择所需的模版,frontmatter 就被自动填写到文档内,只需要人工再填写一些核心内容就大功告成了。
![]()
对于不同类型的文档,需要不同的 frontmatter,所以也就需要不同的模版。例如对于游戏记录所对应的模版,我在 frontmatter 里增加了用来记录发售年份的 release_year、用来记录游玩设备的 device、用来记录购买费用的 price,以便符合记录游戏时的需求。
---
type: Game
date:
date_purchase:
date_completion:
writer:
participants:
title:
title_english:
title_japanese:
creator:
release_year:
image:
price:
device:
---
除了记录游戏时的模版,我还为书籍、动画、物品、电影、日记准备了不同的模版。Obsidian CEO 分享过他的模版,如果你需要现成的模版,那么可以从他那里下载。
4. 考虑拆分文件
在过去,我写日记的方式是,使用一个超大的文件来写一年的日记,来年再创建新的文件,并把这些日记放在一个文件夹里。管理一个超大的日记文件是麻烦的,如果把新的日记写在下面,每次都需要翻到文档的最下面才能新写;如果把新的日记写在上面,总体上又怪怪的。
在 Obsidian 的哲学里,日记应当被按日拆分为独立的文件,然后用 frontmatter 来标记每天的日期,这样一来,每天的记录都是轻便的。我现在每天新开一个文档写日记,日期和文件名通过插件自动生成,减少了「写上今天日期」这样的无意义工作。
拆分文件还是为了便于 agent 的发挥。有过 agentic coding 经历的人都知道,随着文件行数的增加,agent 的能力会迅速下滑。因此,较小的单个文件大小可以让 agent 保持高效。在原子化的日记结构下,每份文件的 frontmatter 还使得我可以借助 agent 简单地做出 heatmap。
Obsidian 与我的日常
Bases 与自定义视图
上文提到,「以单个超大文件、文件夹整理为中心的文档处理思维」是糟糕的。但是在 Obsidian 的哲学下,文件的数量众多,文件夹结构扁平,这导致了不适合使用传统的方式查看文件内容的问题。
Obsidian 对此的处理方式是 Bases,它可以指定的筛选和排序方式来展示文档。例如,如果我想看到我的所有电视剧记录,那么需要筛选所有类型为电视剧的文档,然后让它们按照时间从新到旧排序。我让 agent 根据影片名称抓取对应的海报,并在 frontmatter 里设置了属于海报图像的一行,于是就可以在数据库视图下将海报也展示出来。点击海报则可以前往对应的文档。
![]()
由于 Obsidian 巨大的自由度,除了使用它自带的数据库功能,还可以让 agent 来写代码,这样就可以打造自己喜欢的视图。例如我让 agent 写了关于日记的 heatmap,这样一来就可以看到自己每天写日记的情况。Lia 在此基础上再修改了一下,让「点击其中的块」具有前往或创建对应日记的效果。
![]()
Agent 整理消费
Obsidian 现在还承担对我和 Lia 的消费的整理职能。
由于每次开启 Obsidian 进行记录是麻烦的,所以 Lia 借助 agent 制作了可以辅助整理消费记录的 Telegram bot。在完成一笔消费后,我或 Lia 会将消费的截图发送到私有的 Telegram 群组中,由 bot 完成对消费的识别和记录,然后自动在我们的 Obsidian vault 里创建对应的文件。
文件的 frontmatter 里包含了对消费名称、日期、付款人等信息的记录,等到月底的时候,我们会再进行综合的开销计算。由于在前期就注重 frontmatter 的格式规范,所以后续的计算都是便利的。
![]()
我所使用的 Obsidian 插件
关于详细的使用 Obsidian 的技术问题,我没兴趣讲太多。Obsidian 有极为丰富的插件生态,在此我推荐 3 个插件,感兴趣的话可以自己去研究:
- Notebook Navigator(让 Obsidian 更像 Apple Notes)
- Easy Wikilink(用来快速地创建 Wikilink)
- Templater(需要写代码,我用它来给文档自动命名)
- Dataview(需要写代码,日记热力图是借助它做的)
Obsidian 的缺点
Obsidian 是神,但是它同时也是使用体验上的灾难。我觉得它没有充分地考虑普通用户的需求,以至于成为了需要折腾才能使用的软件。日常生活里,我依然喜欢打开 Apple Notes 随手写点什么。
在 2026-05-08 那天,我写了一篇《从大众视角看 Apple Notes 的优秀》的短文,下面是它的原文。
从大众视角看 Apple Notes 的优秀(旧文)
今天在 Obsidian 里安装一个让设计变得像 Apple Notes 的插件「Notebook Navigator」,它可以实现类似 Apple Notes 的笔记预览和分类,以及使用方向键来定位笔记的功能(这么基础的功能,Obsidian 居然不是原生支持的)。现在更觉得 Apple Notes 优秀了:
-
在 Apple Notes 里点击新建备忘录,就是新的一篇备忘录,无需给文件命名(把命名的过程省略掉了)。Obsidian 由于是基于仓库(电脑上的某个文件夹)的笔记管理软件,所以无法避开给文件命名这个烦人的环节,而且 Obsidian 的默认文件名还是「未命名」,不支持原生就以固定的格式命名。目前我在 Obsidian 里使用 Templater 来半自动化命名,它会收集当前笔记的 frontmatter,并按照我设定的规则命名,但这个插件对于普通用户来说具有明显的上手门槛。
-
Apple Notes 有「智能文件夹」功能,智能文件夹是一个虚拟的文件夹,它会按照用户的设定,将符合某种标准的笔记抽象为智能文件夹下的文件。Obsidian 里类似定位的功能是 Bases,Bases 可以按照用户的设定来筛选和排序文件,功能上是类似的。但是 Bases 意味着「Bases」这一新的抽象文件,如果用户想通过 Bases 的功能找到某一文件,需要先打开 Bases 文件。Apple Notes 则没有这个步骤,因为智能文件夹和文件列表是融为一体的,没有新增一种文件类型。
-
在文件列表,Obsidian 缺乏最基本的正文预览、通过方向键变更当前文件、pin 文件的功能,需要插件 Notebook Navigator 才能实现。Apple Notes 原生支持。
-
在文件列表,Apple Notes 有相当巧妙的分组和排序,而且默认就是按照编辑时间分组排序——这很符合用户习惯,最近编辑过的内容,自然更有需要继续编辑的可能。分组也是很关键的设计,Apple Notes 的默认分组是「今天」「昨天」「过去 7 天」「过去 30 天」「MM月」「YYYY年」,层级合理,而且在文件列表一眼就知道这个文件是什么时候编辑过的。Obsidian 原生只能看到文件名。
-
轻量,在 macOS 上,Obsidian 需要相比 Apple Notes 3-10 倍的内存(也许是我的 Obsidian 插件开多了)。在手机上,Obsidian 每次打开仓库都需要较长的时间,这没法满足用手机快速写点笔记的常见场景。由于每次打开移动端上的 Obsidian 都需要等待异常久的时间,所以我已经变成了只使用桌面端 Obsidian 的状态。
-
同步的便利性,Obsidian 需要用户自己探索才能实现良好的同步。Obsidian 缺乏良好的同步手段,自带的同步服务价格昂贵,网络上比较流行的是用 github 来实现同步。而 Apple Notes 依托 iCloud,完全不需要进行同步设置的配置,而且效果也好。
-
Apple Notes 有一个「最近删除」的文件夹,被删除的笔记会放进里面,过一段时间自动删除,想要恢复的话也只需要点进「最近删除」看看。但 Obsidian 没能提供类似的入口。
发表留言