核心用法
Learn 是一个本地化学习管理技能,采用认知科学验证的间隔重复(Spaced Repetition)和主动回忆(Active Recall)技术,帮助用户结构化追踪任意领域的学习进度。
工作流程
技能遵循「目标→计划→学习→练习→验证→复习」的闭环:
1. 用户声明学习主题后,自动创建 ~/learning/topics/{topic}/ 目录结构
2. 将主题拆分为概念单元,存入 concepts.json 并配置 SR 调度参数
3. 每日通过 cron 生成待复习队列,强制采用「先提问→用户作答→揭示答案→难度评级」的主动回忆模式
4. 掌握验证阶段需通过 5 题测试(正确率≥80%),结果记入 progress.md
技术实现
- 间隔重复算法:基于 SM-2 简化版,根据答题表现动态调整间隔天数(
interval_days × ease_factor或重置为 1 天) - 数据架构:纯本地 JSON/Markdown 存储,零外部依赖,支持版本控制友好的人工审阅
显著优点
- 隐私优先:所有数据滞留于
~/learning/,无云端同步风险 - 方法论严谨:强制主动回忆替代被动重读,符合认知负荷理论
- 灵活可配置:支持
depth(标准/深入)、learner_type(理论/实践型)等个性化参数 - 可验证掌握:5 题测验门槛避免虚假精通感
潜在局限
- 无内置内容:需用户手动输入学习材料,不提供预制课程
- 算法简化:未实现 FSRS 等现代自适应算法,复习调度偏保守
- 跨设备同步缺失:纯本地架构需借助外部工具(如 Git/Syncthing)实现多端同步
- 依赖用户自律:无推送通知机制,需主动查询
due.json或配置 cron
适合人群
- 自学者、备考者、语言学习者等需长期记忆巩固的用户
- 隐私敏感型用户,拒绝商业学习平台的数据收集
- 已拥有学习材料、仅需结构化复习工具的效率爱好者
常规风险
- 数据丢失:本地存储无自动备份,建议配合
git或定期归档 - 进度伪造:用户可手动修改
concepts.json的复习日期,破坏算法有效性 - 过度自信偏差:自我评级(easy/good/hard/wrong)可能失真,建议定期用「验证」功能校准
- 认知负荷管理:
daily_review_limit默认 20 条可防止堆积,但初学者可能低估初期投入