适用于间隔重复的自托管开源 Flashcards 应用
把 Anki 和 Quizlet 并排打开,不到半分钟,你大概就能看出它们各自的代价。
一个像是停留在 2012 年的老牌桌面软件。另一个则更像一款恰好支持 flashcards 的精致订阅产品。
我在做 Flashcards 的过程中,一直反复碰到这种割裂感。间隔重复这个思路本身依然很好,真正停滞不前的,是围绕它构建出来的产品。
如果今天做软件还是一件很难的事,我或许还能接受这种现状。但现实并不是这样。
现在,小团队一周之内就能做出真正可用的产品。我们可以快速上线,把 AI 接进真实工作流,从第一天起就提供清晰的 API。Flashcards 软件不该还卡在“笨重老旧的 UX”和“封闭平台”之间二选一。
Flashcards 想填补的正是这道空缺:一款可自托管的开源 flashcards app,具备间隔重复、现代 Web 技术栈、离线优先客户端支持,以及从产品方向一开始就纳入其中的 AI,而不是后期硬贴上去的附加功能。
Anki 依然有效,但产品气质确实老了
我不认为 Anki 的问题在于算法不行。它的核心思路早就被反复验证过。多年来,人们一直用它学语言、背医学内容、准备考试,处理各种高度依赖记忆的任务。
问题在于,它的产品体验至今仍然显得很老。
你当然可以逼自己继续忍受,很多人也的确是这么做的。但到了 2026 年,“习惯之后就还行”绝对算不上什么有力的赞美。它更像是一种你愿意容忍的工具,而不是一款你每天都愿意打开的产品。
这件事比很多人愿意承认的更重要。Flashcards 只有在你明天、后天,以及一百天之后仍然愿意回来复习时才真正有效。任何摩擦,最后都会不断累积。
Quizlet 更顺手,但代价也摆到了另一边
Quizlet 解决的是界面层面的问题。它看起来更干净,也更像一款现代面向大众消费者的产品。对很多人来说,仅凭这一点,它就比 Anki 更有吸引力。
但很快,你就会撞上另一堵墙。
对 flashcards 这样基础的功能来说,它的定价并不讨喜。产品本身是封闭的,你的学习系统是建立在别人的平台之上的。如果对方调整价格、改变产品优先级,或者修改访问规则,最后需要适应的人只能是你,而不是他们。
在某些产品类别里,这种关系完全可以接受。
但对个人知识系统来说,我并不觉得这也是理所当然的选择。
你的卡片不该被困在别人的产品里
Flashcards 不是一次性内容。随着时间推移,它会慢慢变成一份记录,记录你在学什么、总是忘什么、以及你的理解是如何变化的。
这些都是有价值的数据。
我并不喜欢把这样的东西放进一个黑箱里。
有了自托管 flashcards app,默认关系就变了。你可以检查代码,可以自己把整套服务跑起来,也可以先使用托管版,之后再迁走。你不需要向任何平台申请许可,才能继续按照自己的方式使用自己的学习系统。
而在今天,这一点只会变得更重要,因为 AI 会让平台锁定带来的代价更明显。只有在数据模型开放、产品又暴露了真实操作时,AI 才能真正和你的卡片协同工作。放在封闭产品里,AI 往往也只能停留在很浅的一层,因为产品本身就没有对外开放太多能力。
现在很多 AI flashcards 功能依然很浅
眼下,很多所谓的 “AI flashcards” 产品其实只会一个小把戏。你贴一段文字,它帮你生成几张卡片,然后魔法就结束了。
这并不是最有意思的部分。
真正有意思的,是让 AI 在真实产品内部持续工作。
在 Flashcards 里,当前的 Web 应用已经把 AI chat 直接接到了真实 workspace 上。更大的整体架构也已经向终端工具暴露了独立的 external agent 接口,而 iOS 客户端则保留了自己的离线优先同步流程。
这条路线,显然比“从这段文字生成 20 张卡片,然后事情就结束了”更扎实。
这意味着 AI 可以真正接手那些枯燥但必要的工作,而不是停留在玩具层面:
- 在创建重复卡片之前,先检查某个概念是否已经存在
- 展示当前真正到期的内容,而不是凭空生成彼此脱节的材料
- 帮你润色表述不清的弱卡片
- 长期维护 deck,而不是只在第一天生成一次
这才是这里 “AI-first” 真正该表达的意思。不是给一个封闭 app 硬塞进聊天机器人,而是让产品里的真实对象和真实操作,能够以受控方式被 AI 调用。
即使先不谈 AI,产品本身也应该先现代化
就算完全不谈 AI,我也希望基础产品至少是讲道理的。
这意味着:复习队列清晰、可以直接在 Web 客户端里创建卡片、由后端负责处理间隔重复、使用无密码登录而不是再造一个密码坟场,以及为那些希望掌握自有技术栈的人提供一条文档清楚的自托管路径。
这个项目现在已经具备这些基础:
- 一个现在就能使用的托管版 Web 应用
- 仓库中自带支持本地 SQLite 和同步能力的 iOS app
- 围绕到期卡片和 FSRS 构建的复习流程
- GitHub 上公开的开源代码
- 已写明文档的 external agent API
- 无密码认证
- 一份 自托管指南
- 一份 架构文档
它当然还处在早期阶段,我也没打算假装不是这样。但它已经不再只是浏览器里的演示原型了。仓库里已经包含了托管版 Web 应用、iOS client、auth service、backend API,以及当前的同步链路。与其使用一个看起来打磨得很精致、却把你彻底锁住的产品,我更愿意使用一个还早期、但方向诚实、边界清楚的系统。
这正是我们现在应该去构建的产品类型
真正奇怪的,并不是又出现了一个新的 Anki 替代品。
真正奇怪的是,为什么这类产品直到现在仍然这么少。
我们如今做产品的速度已经前所未有地快。我们可以维持小团队,可以直接开源,可以把 AI 接到真实产品动作上,而不是只做演示用的魔法,也可以给用户提供托管版,却不强迫他们永远依赖它。
Flashcards 恰好特别适合这样的时代。这个领域本身并不复杂,价值也很明确,数据又高度个人化。当 AI 能处理真实卡片和真实复习状态时,整个工作流就会自然变得更好。这本来就该是最容易被现代化的一类软件之一。
所以,这就是 Flashcards 背后的判断:开源;如果你愿意,也可以自托管;以间隔重复为核心;并把 AI 作为真实产品模型的一部分来整合。
不是因为 “AI-first” 放在落地页上听起来比较好听。
而是因为这个品类终于值得拥有一个更好的产品了。
试试看,或者直接自托管
如果你想找一款以间隔重复为核心、支持自托管,并且真正为 AI 工作流留出空间的开源 flashcards app,可以从这里开始:
Flashcards 应该像现代软件。
而不是那种只是换了更漂亮落地页的老式学习工具。
也不该是一个只是附带了 flashcards 功能的封闭订阅产品。
开源、数据归你,以及真正能作用于产品本体的 AI,才是更好的方向。我觉得这个品类已经等这件事很多年了。