乐于分享
好东西不私藏

我做了一个 Obsidian 插件:让笔记真正回到你的学习循环里

我做了一个 Obsidian 插件:让笔记真正回到你的学习循环里

摘要

我做了一个 Obsidian 插件,叫 Smart Review。

它解决的问题很具体:很多人用 Obsidian 写了大量笔记、文章、资料和知识卡片,但这些内容写完之后,很快就沉到知识库深处。你知道它们“在那里”,但它们不会主动回到你面前,也不会自然进入复习、更新和再创作的循环。

Smart Review 想做的事情,就是把 Obsidian 里的笔记重新拉回复习系统:插件会读取笔记的 Properties / YAML frontmatter,根据 next_review 自动生成复习队列,在 Review Center 里展示今日、逾期、未来 7 天和更远未来的内容,并支持用 Again / Hard / Good / Easy 记录复习反馈,自动写回下一次复习日期、复习历史和间隔重复字段。

一句话概括:

Smart Review 不是帮你多存一点笔记,而是帮你把已经写下的知识重新用起来。

一、为什么我要做这个插件

我做这个插件的起点,其实不是“想做一个工具”,而是一个长期使用 Obsidian 后越来越明显的问题:

知识库越来越大,但真正被重新看见的内容越来越少。

一开始用 Obsidian 的时候,我们通常会很兴奋。看到好文章,剪藏;想到一个观点,记录;做完一个项目,复盘;学到一个概念,写成笔记。

但时间一长,问题就来了:

  • 笔记越写越多,但复习越来越少
  • 目录越来越完整,但旧内容越来越少被打开
  • 文章写完就结束,很少再被更新
  • 知识库看起来很丰富,但真正产生复利的部分并不多

这就是我最想解决的问题。

我一直很喜欢一句话:

温故而知新。

这句话放在知识管理里特别准确。很多新想法,并不是来自凭空输入更多信息,而是来自你在合适的时间重新遇见旧内容。

一篇半年前写下的笔记,今天再看,可能会出现新的连接;一个项目复盘,过一段时间再读,可能会暴露当时没有意识到的判断偏差;一篇已经发布过的文章,复习时可能会变成下一篇文章的种子。

问题在于,Obsidian 本身很擅长存放和连接知识,但它不会天然告诉你:

  • 今天该复习哪几篇笔记?
  • 哪些内容已经逾期太久?
  • 哪些文章应该重新检查和更新?
  • 一篇笔记复习完之后,下次应该什么时候再看?

所以我做了 Smart Review。

它不是要取代 Obsidian 的双链、标签、文件夹和 Properties,而是基于这些原生能力,补上一个关键环节:

让知识从“被保存”进入“被定期唤醒”。

二、Smart Review 适合什么人

如果你只是偶尔用 Obsidian 写几条零散备忘,这个插件未必是刚需。

但如果你属于下面这些情况,Smart Review 会很适合你:

  • 你用 Obsidian 写长期笔记、读书笔记、技术文章或知识库
  • 你希望旧内容能被定期复习,而不是写完就沉底
  • 你已经在笔记里使用 Properties 或 YAML frontmatter
  • 你希望用一个轻量、可解释的方式管理复习节奏
  • 你不想把全部知识复习交给封闭系统,希望数据仍然留在自己的 Markdown 文件里
  • 你希望后续能结合 AI,把待复习笔记转成问题、摘要和知识卡片

我自己的使用场景是:Obsidian 里有大量文章、专题、系列和知识库内容。它们不是一次性资料,而是长期资产。既然是资产,就应该有复习、更新和再利用的机制。

这也是 Smart Review 的核心定位:

它不是一个背单词工具,也不是一个独立知识库,而是 Obsidian 里的复习调度层。

三、它的核心功能

1. 基于 next_review 自动生成复习队列

Smart Review 会直接读取 Obsidian 笔记里的 Properties / YAML frontmatter。

只要你的笔记里有类似字段:

next_review:2026-06-01

插件就能判断这篇笔记当前属于哪种状态:

  • 已逾期
  • 今日复习
  • 未来 7 天
  • 更远未来
  • 日期无效

这样你不需要手动建表,也不需要额外维护一个复习清单。笔记自己携带复习信息,插件负责扫描和组织。

2. Review Center:在 Obsidian 里集中处理复习

安装并启用插件后,你可以通过左侧 Ribbon 图标或命令面板打开 Review Center。

这里会集中展示:

  • 今日要复习的笔记
  • 已经逾期的笔记
  • 未来 7 天即将复习的笔记
  • 更远未来的复习安排
  • 日期格式异常的笔记

每一条任务都可以直接点击打开原始笔记。也就是说,复习不是在一个孤立的待办系统里完成,而是直接回到 Obsidian 原文上下文里完成。

3. 四档复习反馈:Again / Hard / Good / Easy

复习完一篇笔记后,你可以选择四种反馈:

  • Again:没有掌握,安排短间隔复习
  • Hard:比较吃力,安排较短间隔
  • Good:正常掌握,按默认节奏推进
  • Easy:很轻松,安排更长间隔

插件会根据反馈自动计算新的 next_review,并写回当前笔记的 frontmatter。

写回字段类似这样:

last_reviewed:2026-06-01next_review:2026-07-01review_count:1review_rating:goodreview_interval_days:30review_ease:2.5review_lapses:0

这套算法故意保持轻量,不做黑箱。你能看到每一次复习后的字段变化,也能直接在 Markdown 里保留完整数据。

4. 状态栏显示今日和逾期数量

插件可以在 Obsidian 底部状态栏显示今日复习和逾期数量。

这点很小,但很实用。

因为复习系统最怕的不是功能不够,而是入口太深。状态栏的数字会持续提醒你:今天有多少内容应该回看,哪些内容已经拖延。

点击状态栏,也可以直接打开 Review Center。

5. 自动生成今日复习 Markdown

除了插件界面的 Review Center,Smart Review 还可以生成一份 Obsidian 原生 Markdown:

00-总览/今日复习.md

它会把逾期、今日、未来 7 天的内容整理成 WikiLink 列表。

这对喜欢用 Obsidian 原生页面、Dataview、MOC 或首页仪表盘的人很有用。你可以把它当成一个每日复习入口,也可以把它嵌入自己的总览页。

6. 生成 AI 复习卡片 Payload

Smart Review 还支持生成:

review-ai-cards.json

它会从今日和逾期任务中读取笔记正文,生成 prompt_payload,用于让 ChatGPT、Dify、Ollama 或其他 AI 工具继续生成:

  • 主动回忆问题
  • 120 字以内摘要
  • 知识卡片

这里有一个我刻意做的设计:插件当前不直接调用外部 AI API。

也就是说,它不会要求你填 OpenAI API Key,也不会把你的笔记自动发到远程服务。它只负责在本地生成可复制、可接入、可二次处理的 prompt payload。你要不要交给 AI、交给哪个 AI,仍然由你自己决定。

7. 保留复习历史

每次完成复习反馈时,插件可以把动作追加写入:

review-history.jsonl

这不是覆盖文件,而是一行一条记录地追加。

它适合后续做统计,比如:

  • 最近复习了哪些笔记
  • 哪些笔记经常 Again
  • 哪些主题复习负担最高
  • 哪些内容长期没有被更新

如果你把 Obsidian 当成长期知识资产库,这些历史数据会越来越有价值。

四、它和普通任务管理有什么不同

很多人可能会问:这不就是一个待办列表吗?

不是。

普通待办关心的是“事情有没有完成”。而 Smart Review 关心的是“知识有没有在正确的时间重新进入你的注意力”。

这两者差别很大。

待办事项完成后通常就结束了;知识复习完成后,下一次复习才刚刚被安排出来。

所以 Smart Review 的核心不是把笔记列成任务,而是让笔记拥有自己的复习节奏:

  • 每篇笔记都有自己的 next_review
  • 每次复习都会改变下一次出现时间
  • 复习结果会写回原始 Markdown
  • 历史记录会持续积累

它更像是给 Obsidian 加了一个“知识回访机制”。

五、如何安装

现在你可以直接在 Obsidian 的社区插件里搜索使用。

安装步骤:

  1. 打开 Obsidian 设置
  2. 进入 Community plugins
  3. 点击 Browse
  4. 搜索 Smart Review
  5. 找到作者为 Jayce 的 Smart Review
  6. 点击安装并启用

如果你看到 “This plugin has not been manually reviewed by Obsidian staff” 之类提示,这是新社区插件常见的提醒。你可以先查看插件说明和源码,再决定是否启用。

源码地址:

https://github.com/Jaycelu/Smart-Review

如果你想手动安装,也可以从 GitHub Release 下载以下文件:

main.jsmanifest.jsonstyles.css

然后放到你的 Vault:

<你的 Vault>/.obsidian/plugins/smart-review/

再回到 Obsidian 的社区插件列表里启用即可。

六、如何开始使用

最简单的用法是:先给一部分你想复习的笔记加上 next_review。

例如:

---title:一篇需要定期复习的笔记type:articlestatus:activenext_review:2026-06-01---

然后打开 Review Center,点击刷新数据。

你会看到这篇笔记进入对应分组。如果它的 next_review 是今天,它会进入“今日复习”;如果日期已经过去,它会进入“已逾期”;如果是未来一周,它会进入“未来 7 天”。

复习时的推荐流程是:

  1. 打开 Review Center
  2. 从“已逾期”和“今日复习”开始
  3. 点击标题打开原笔记
  4. 认真回看内容,必要时补充、修改、重写
  5. 回到 Review Center,选择 Again / Hard / Good / Easy
  6. 让插件自动写回下一次复习日期

如果你希望先轻量试用,可以只给 10 篇重要笔记加上 next_review,跑一周看看节奏是否适合自己。

七、我建议的配置方式

Smart Review 的设置项不是为了复杂,而是为了让它适配不同知识库。

你可以重点关注这几个配置:

  • 允许纳入复习的 status:默认包含 active,published,draft
  • 纳入复习的笔记类型:默认只纳入 article
  • 忽略目录列表:默认忽略 99-模板/
  • 初始复习间隔天数:默认 30 天
  • 今日复习 Markdown 输出路径:默认 00-总览/今日复习.md
  • AI 复习卡片 Payload 输出路径:默认 review-ai-cards.json

我自己的建议是:不要一开始就把整个 Vault 都纳入复习。

更稳妥的做法是,先选择真正有复习价值的内容类型,比如:

  • 长文
  • 技术笔记
  • 读书笔记
  • 项目复盘
  • 方法论沉淀

模板、MOC、临时草稿、目录页、纯索引页,通常不适合进入复习队列。

知识复习系统要长期可持续,关键不是“覆盖越多越好”,而是“每次打开都有价值”。

八、这个插件背后的设计原则

我做 Smart Review 时,有几个原则一直没有变。

1. 数据留在 Markdown 里

复习字段直接写在笔记 frontmatter 中,而不是藏在某个私有数据库里。

这意味着:

  • 你可以自己查看和修改
  • 你可以用 Dataview 查询
  • 你可以用脚本批量处理
  • 即使不用插件,数据也还在

2. 插件只做必要的自动化

它不会试图替你判断一篇笔记“值不值得学”,也不会自动总结、自动打分、自动上传。

它做的是更基础但更可靠的事:

  • 扫描
  • 分组
  • 展示
  • 写回
  • 记录
  • 导出

这些能力足够朴素,也足够长期。

3. AI 是可选增强,不是强依赖

我很喜欢 AI,但我不希望一个 Obsidian 复习插件变成“必须联网、必须填 Key、必须绑定某个服务”的工具。

所以现在的 AI 能力是 Payload 导出。它给 AI 留了接口,但不强迫用户走某条固定路线。

这也符合我的知识管理理念:

工具应该帮你保留选择权,而不是用功能把你锁进另一个系统。

九、我希望它帮你建立的习惯

Smart Review 真正想推动的,不只是安装一个插件,而是建立一个更健康的知识循环:

写下笔记  -> 设置 next_review  -> 到期重新阅读  -> 根据掌握程度反馈  -> 自动安排下次复习  -> 在复习中更新、连接、再创作

当这个循环跑起来之后,Obsidian 就不只是“存东西的地方”,而会变成一个不断提醒你回到旧知识、重新理解旧经验、生成新连接的系统。

这也是我做它的原因。

不是为了再多一个插件。

而是为了让知识库里那些曾经认真写下的内容,不要只停留在“被保存”的状态,而是真的一次次回到我的学习和创作里。

十、最后

如果你也在用 Obsidian 做长期知识管理,欢迎试试 Smart Review。

你可以在 Obsidian 社区插件里搜索:

Smart Review

也可以查看源码:

https://github.com/Jaycelu/Smart-Review

如果你愿意,也欢迎把你的使用场景、问题和建议反馈给我。

我会继续把它打磨成一个更适合长期写作者、知识工作者、技术学习者使用的 Obsidian 复习中心。

因为真正有价值的知识,不应该只被收藏一次。

它应该被反复看见,反复理解,反复长出新的东西。

  如果这篇对你有帮助,后面我会持续更新 Obsidian 知识库系列,欢迎关注「数字卢语」。

相关学习资料