LearnKit
让 Obsidian 笔记变身为自适应的学习系统,FSRS 调度 + AI 闪卡生成 + 多类型卡片
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 Obsidian 笔记变身为自适应的学习系统,FSRS 调度 + AI 闪卡生成 + 多类型卡片
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有过这样的经历:读了很多笔记,回头却想不起来自己到底记住了什么?
威廉·盖伊(William Guy)显然也问过自己这个问题。2026 年 1 月,他决定把笔记和记忆这件事彻底打通——在 Obsidian 这款流行的知识管理工具里,塞进一套完整的记忆学习系统。就这样,LearnKit 诞生了。短短半年时间,它在 GitHub 上收获了 147 颗星,虽然数字不算惊人,但考虑到它瞄准的是 Obsidian 用户中真正有学习需求的那批人,这个增长曲线值得关注。

图1:LearnKit 欢迎横幅,展示其与 Obsidian 的深度集成
我们不妨把 LearnKit 理解成一个「装在保险库里的记忆教练」。传统上,一个学习者如果想用闪卡复习,往往需要打开 Anki 或者其他专门的记忆软件,笔记在一个地方,闪卡在另一个地方,两个系统之间永远要靠手动同步。LearnKit 直接把这个墙拆掉了——你的闪卡就嵌在 Markdown 笔记里,和你的知识本身绑定在一起。
FSRS(Free Spaced Repetition Scheduler)是 LearnKit 的核心技术。这套算法脱胎于 SM-2,是目前间隔重复领域公认效果最好的开源实现之一(open-spaced-repetition/ts-fsrs)。简单来说,它的原理是根据你对每张卡片的记忆牢固程度,动态调整下次复习的间隔——记牢了,下次可能 10 天后再见;记模糊了,明天就得再战。LearnKit 通过 ts-fsrs 库(版本 5.2.3)将 FSRS-6 算法完整移植到 TypeScript 端,让浏览器里的 Obsidian 插件也能享受自适应调度。
在卡片类型上,LearnKit 走得相当远。除了常规的 Basic(问答卡)和 Cloze(完形填空),它还支持 Reversed Card(正反双向卡)、Multiple Choice(选择题)、Image Occlusion(图片遮挡卡)等高级类型。图片遮挡卡尤其适合医学或解剖学场景的学习——你可以在解剖图上遮住某个器官的名称,然后让自己辨认。这种多模态的记忆组织方式,是纯文本闪卡难以企及的。

图2:LearnKit 支持多种闪卡类型,包括 Cloze、Basic、Reversed、Multiple Choice 和图片遮挡
另一个值得关注的模块是 Note Review Mode(笔记复习模式)。传统的闪卡复习只针对独立卡片,而 Note Review 会把整篇笔记纳入间隔重复计划。你不仅能记住「名词解释」,还能记住「这篇论文讲了什么」,知识结构的保持更加完整。
2026 年,随着大模型能力爆发,LearnKit 也引入了 AI 层——一个名为 Companion 的内置 AI 学习助手。它不需要你额外付费订阅,直接用自己的 API Key 接入,支持 Google、OpenRouter、Anthropic、OpenAI、Perplexity 等主流模型提供商。Companion 可以帮你从笔记自动生成闪卡和测试题,也可以在阅读时实时回答关于当前笔记的问题,甚至还能帮你改写和重构笔记内容。需要明确的是:AI 功能是完全可选的,不用 AI 也能完整使用 LearnKit 的所有核心功能。

图3:LearnKit 内置 FSRS-6 自适应间隔重复算法,动态调整复习计划
音频功能是 LearnKit 的另一个亮点。它内置了 Text-to-Speech 引擎(soundtouchjs + fflate),支持将卡片内容朗读出来。对于语言学习者来说,边听边记的听写练习非常有价值。同时还支持导入导出 Anki 格式的数据(deck + media + 调度数据),方便从 Anki 无缝迁移过来——虽然图片遮挡卡暂时还不支持导入导出。

图4:内置 Text-to-Speech 朗读功能,适合语言学习和听写练习
安装方面,LearnKit 通过 Obsidian 官方社区插件库分发,搜索「LearnKit」一键安装;也支持手动从 GitHub Releases 下载。不过需要注意的是,LearnKit 是 Obsidian 的插件,而不是独立运行的 Web 服务,因此它没有 Docker 部署选项,也不提供命令行界面。最低需要 Obsidian 1.7.2 版本,移动端和桌面端均可使用。
代码架构上,LearnKit 是一个典型的 TypeScript 前端插件项目。源码组织清晰:src/engine/ 下是核心学习引擎(调度算法 scheduler/、解析器 parser/、卡组管理 deck/、笔记索引 indexing/);src/platform/ 下是 Obsidian 平台适配层(插件入口 plugin/、编辑器 editor/、服务 services/、集成 integrations/);src/views/ 下是各个功能视图(闪卡复习 reviewer/、笔记复习 note-review/、分析面板 analytics/、AI 助手 exam-generator/)。
构建工具链也相当专业:esbuild 做 JS 打包(比 webpack 快很多),Tailwind CSS 4.2 做样式(用 CVA 做组件变体管理),Vitest 做单元测试(含覆盖率报告),ESLint + TypeScript 严格模式保质量。还有完整的国际化(i18n)检测流水线,支持社区贡献翻译。测试覆盖率和代码规范检测都跑在 GitHub Actions CI 里。

图5:LearnKit 的卡片创建界面,支持直接在笔记内嵌入闪卡内容
对于普通用户,LearnKit 的上手门槛非常低——只要你会用 Obsidian,就能直接上手。它的受众非常明确:备考医学生、程序员(记语言/算法)、写论文的学者,以及任何想让自己的笔记「不只是存着,而是真正记住」的人。对于开发者来说,它的源码结构干净、测试完善,是一个学习如何构建 Obsidian 插件以及如何实现 FSRS 调度的好范本。
当然它也有局限:目前 Companion AI 功能对复杂附件(多图、长 PDF)的处理能力受限于模型水平,免费模型和付费模型的表现差异较大;此外作为插件,它强依赖 Obsidian 生态,不能独立运行,这既是特色也是限制。
总体而言,LearnKit 代表了一个趋势:将知识管理工具和主动学习工具深度融合。随着 Obsidian 用户规模持续增长,类似 LearnKit 这样「让笔记本身成为学习资产」的项目,生命力值得关注。