可以,Anki的复习记录能迁移到StudyDaily,而且不会丢失。我在官方Anki 26.9.3中搭建了一个测试牌组,用Anki自带的调度器学习,导出后导入StudyDaily,再从StudyDaily导出,并在全新的Anki收藏中打开结果。全部35张卡片的状态、FSRS记忆、标记和复习历史都完整保留,57条复习日志也全部走完了这一趟往返。
先说结论
- 25条笔记、35张卡片、57条复习记录、3个媒体文件和1个自定义预设,从Anki进入StudyDaily,没有任何缺失。
- 每张卡片的牌组、状态、复习次数、遗忘次数、标记、暂停状态、FSRS稳定性和FSRS难度都一致。
- 导回Anki后,收藏再次逐张卡片吻合。
- 只有一处差异:5张新卡片的队列位置被重新编号,它们的状态和内容没有变化。
- 测试文件附在下方,你可以自己重复这次检查。
测试牌组里有什么
牌组是特意合成的。真实收藏里有个人笔记,而一个任何人都能下载的测试必须不含任何隐私内容。不过,它仍然涵盖了迁移时最容易出问题的那些部分。
我用Anki官方Python包的26.9.3版本创建了它。这和Anki桌面版运行的是同一个引擎,所以卡片、调度器和导出代码都是Anki自己的。收藏已开启FSRS,和目前大多数Anki配置一致。
| 部分 | 内容 |
|---|---|
| 牌组结构 | 一个父牌组,下设四个子牌组:化学、词汇、填空、媒体 |
| 基础笔记 | 12条笔记,每条一张卡片,带粗体格式和标签 |
| 正反双向 | 6组法英对照,每组两张卡片 |
| 填空 | 4条笔记,每条两处挖空,共8张卡片 |
| 媒体 | 2张PNG图片和1个WAV音频,分布在3条笔记上 |
| 预设 | “Migration test preset”:期望保留率0.92,每天15张新卡和150张复习,学习步长1分钟和10分钟,重学步长10分钟,最大间隔3650天 |
然后我开始学习。每张卡片都通过Anki的调度器作答,评分按固定顺序在重来、困难、良好和简单之间轮换。结果是57条复习日志和一个贴近真实的分布:23张处于复习阶段,6张处于学习阶段,6张仍是新卡,29张带有FSRS记忆状态,1张红色标记,1张已暂停。牌组导出为.apkg,包含计划、牌组预设和媒体,也就是Anki导出手册所说明的那些选项。
牌组如何通过StudyDaily
导入使用的是StudyDaily真实的导入代码和真实的数据库,与应用中打开.apkg时走的路径完全相同。同样的检查现在已经纳入应用的自动化测试,发布前一旦出现回归就能发现。
步骤如下:
- 导入Anki包,保留进度和预设。
- 从StudyDaily数据库读回每张卡片,与在Anki中取得的快照对比。
- 从StudyDaily把收藏导出为新的
.apkg。 - 把这个文件导入一个空的Anki 26.9.3收藏,再次逐张对比。
第4步是大多数对比评测会跳过的部分。只有同时能够离开,迁移才算安全,所以回程也是测试的一部分。
结果:Anki、StudyDaily、再回到Anki
| 检查项 | 迁移前的Anki | StudyDaily中 | 导回Anki后 |
|---|---|---|---|
| 笔记 | 25 | 25 | 25 |
| 卡片 | 35 | 35 | 35 |
| 复习日志条目 | 57 | 57 | 57 |
| 复习中/学习中/新卡 | 23 / 6 / 6 | 23 / 6 / 6 | 23 / 6 / 6 |
| 带FSRS记忆的卡片 | 29 | 29 | 29 |
| 已标记/已暂停的卡片 | 1 / 1 | 1 / 1 | 1 / 1 |
| 媒体文件 | 3 | 3 | 3 |
| 逐张卡片吻合 | — | 35/35 | 35/35,核对项为状态、间隔、已学卡片的到期日、复习次数、遗忘次数、FSRS记忆、标记和标签 |
在StudyDaily内部,每张卡片都通过笔记GUID和卡片模板与Anki中的原卡片配对。35张卡片在牌组、学习状态、复习次数、遗忘次数、标记、暂停状态、稳定性和难度上全部一致。预设以“Anki · Migration test preset”的名称到达,保留率、每日上限、学习步长和最大间隔都相同。
导入时,StudyDaily会记录两类事件。57条复习日志变成复习历史中的57条记录。每张学过的卡片还会多一个导入检查点(这个牌组中共30个),用来固定Anki导出时的确切状态。正因为有这个检查点,在Anki中11天后到期的卡片,在StudyDaily中仍然是11天后到期,而不是被重新计算。
媒体的格式如预期发生了变化。两张PNG图片被转换成WebP,这是StudyDaily存储图片的格式,笔记也被改写,指向转换后的文件。音频文件仍是WAV。回到Anki后,三个文件都在,每条笔记依然引用着自己的图片或声音。
唯一的差异:新卡顺序
有5张新卡片回来时队列位置不同。Anki把从未学习过的卡片的位置存为新卡队列中的一个数字,而StudyDaily在导出时重新给这5张卡片编了号。它们仍是新卡,内容、牌组和标签都相同,变化的只有引入它们的先后顺序。已学卡片、被暂停的卡片和全部复习历史都不受影响。保留这一位置现已列为待修复项。
如果新卡的顺序对你很重要,比如按顺序教学的词汇课程,导入后请检查开头的几张新卡。
下载测试文件
测试中用到的每个文件都已公开,包括脚本:
- Anki包(
.apkg):你可以自己导入Anki或StudyDaily。 - Anki中每张卡片的快照(JSON)
- StudyDaily导入报告(JSON)
- 从StudyDaily导回的包(
.apkg) - 回到Anki后的逐卡对比(JSON)
- 在Anki中生成牌组的脚本(Python)和检查回程的脚本(Python)
牌组生成于2026年10月5日。57次作答都在当天完成,所以历史涵盖的是学习步长和首次间隔,而不是几个月的复习。成熟的收藏每张卡片的历史更长,但数据类型并不会比这里更多。
五分钟,用你自己的牌组做同样的检查
不必相信我的牌组,用你自己的。
- 在Anki中,把一个小牌组导出为
.apkg,勾选Include scheduling information和Include media。 - 记下三张卡片:一张新卡,一张你很熟的卡,一张带图片或填空的卡。
- 打开iPhone或iPad上的StudyDaily或Android版,导入文件,被询问时选择保留进度。
- 找到这三张卡片,把到期日、间隔和复习次数与Anki中的对照。
在满意之前,不要动你的Anki收藏。开始前,先做一份你确实打开验证过的备份。想知道这个文件能带什么、不能带什么,可以读.apkg中的计划信息指南,它逐个字段作了说明;闪卡迁移后什么会保留则涵盖其他应用。完整流程见迁移检查清单。
常见问题
StudyDaily会保留我的Anki复习历史吗?
会,前提是.apkg导出时包含了计划信息,并且你在导入时选择保留进度。在这次测试中,57条复习日志全部进入StudyDaily,并原样回到了Anki。
导入StudyDaily后,我的到期日会变吗?
不会。已学卡片保留Anki导出的到期日和间隔,以及FSRS稳定性和难度。StudyDaily会从这个状态出发,继续用FSRS-6安排复习。
切换后我还能回到Anki吗?
可以。StudyDaily随时可以导出.apkg、.colpkg和CSV,无需账号。在这次测试中,导出的包在Anki中打开时,每张卡片、每条复习记录和每个媒体文件都在原位。
导入需要账号或Premium吗?
不需要。导入、学习和导出都在本地完成,无需账号。只有在设备之间进行可选同步时,才需要账号和StudyDaily Premium。
这对AnkiWeb上的共享牌组也适用吗?
共享牌组通常不带计划信息发布,所以会作为新卡导入。上面的测试针对的是你自己的收藏,并且导出时带有你的进度。
Anki和AnkiWeb是其各自所有者的商标。StudyDaily与Anki没有关联,也没有获得其认可或赞助。产品名称在此仅用于说明兼容性。
用自己的卡片试试这个方法
在浏览器中打开 StudyDaily。本地学习无需账号。
打开 StudyDaily