中文 English

别让错题本变成抄题本:我给孩子用的 AI 错题本开源了

发布时间: 2026-10-22 · 阅读量 --
AI 教育 Education 学习 Learning 开源项目 Open Source 自托管 Self-hosting

错题本最容易完成的一步,是把题目抄进去。最容易掉链子的一步,是过几天再拿出来,确认孩子真的会做了。

题干要抄,图要画,答案要整理;好不容易收拾干净,下次复习又得翻半天。要是同一道题再次做错,常常只留下另一张照片,很难看出前后发生了什么。

我自己给孩子用了一段时间的 wrong-notebook,就是围绕这件事持续迭代的:让电脑多做识别、归类、找题这些杂活,让家长和孩子把精力留给理解与练习。

先交代出处:这个项目 fork 自 wttwins/wrong-notebook。感谢上游打下的基础;我在自己的分支中,围绕家庭实际使用补充功能、修问题,并把改动公开。它已经在使用,也会随着新的问题继续调整。

更新说明(2026-10-28):本文已按正式版 v2026.10.26 更新,补充按 1、2、4、7、15、30 天间隔安排的今日复习、免费 MiniMax 账号接入、管理员安装向导、每人每日 AI 次数、严格判题和更完整的备份等变化。免费账号与今日复习的详细介绍,见续篇《不用先配 API Key:支持飞牛OS的 AI 错题本,接上了 MiniMax 免费账号》。

原创题图:让错题真正用起来,识别、练习和记录连成家庭复习流程

图 1:本文原创信息图,结合匿名化真实应用界面局部,分别为电脑和手机排版。本文介绍项目与使用思路,安装步骤以仓库文档为准。

一、我想解决的,是错题整理后半程的麻烦

传统错题本的价值很清楚:把薄弱处留下来,方便之后集中复习。麻烦在于,围绕一道错题的事情很多,而且前后常常断开。

题目存在相册里,解析在聊天记录里,打印出来的练习在书桌上,孩子上次做得怎样又只有家长记得。等到周末准备复习,先得扮演一阵“资料管理员”。

wrong-notebook 希望把这些信息放回同一条线上。一道题有自己的题干、原图、解析、知识点、难度和练习记录;从原题生成的变式练习、试卷作答,也能回到原题下面。

真实截图:错题本中的题目卡片、难度星级、知识点标签和筛选条件

图 2:真实应用界面,取自项目已公开的匿名化截图,采集于 2026-10-22。涉及复习状态、详情和错题统计的画面已按当前版本重拍,其余保留本日公开实拍素材;用户名已匿名化。点击截图可查看原尺寸图片。

可以把它理解成给每道错题办了一张“借书证”。题目无论出现在复习列表、变式练习还是打印试卷里,都能通过自己的记录找到来处,不用每次重新认一遍。

我更在意下面三个问题能不能顺手回答:

整理得漂亮当然很好,但这些问题,决定了错题本之后还会不会被打开。

二、先说清楚:看懂解析,还需要自己做一遍

学骑自行车时,看别人示范转弯很有帮助。不过,看懂动作以后,还得自己扶住车把、踩踏板,才能知道哪里没有掌握。

看解析和独立做题,也有类似的区别。读答案时,思路已经摆在眼前;把答案收起来,自己找出第一步,才能暴露真正卡住的地方。

心理学家 Dunlosky 等人在一篇学习方法综述中,把练习测试和分散练习评为具有较高实用价值的方法。用家常话说,就是“自己回想、自己做”,以及“隔开时间再练”。研究讨论的是学习方法,并没有验证这个项目的教学效果,更不能推导出“装上软件就能提分”。

原创流程图:记录错题、理解原因、独立完成变式练习,再安排回看

图 3:本文原创复习流程图,表达的是建议的家庭使用方式。新版已内置“今日复习”,按间隔把到期的题目排出来(见第六节);每次练多少、怎么练,仍由家长和孩子商量。

所以,这个工具的设计重点,是让题目更容易回到练习里。AI 提供解释、生成练习,家长核对内容,孩子独立作答,再把结果留下来。每一环都很普通,接起来才有用。

三、录入:拍照、粘贴、打字,先把搬运成本降下来

家里的题目来源很杂:纸质练习册、老师发的图片、电子资料,以及家长自己补充的一小段文字。只支持一种入口,很快就会遇到不方便。

项目现在支持图片上传、剪贴板粘贴、截图和手动输入。图片可以裁剪,裁剪时支持滚轮、双指捏合和按钮缩放,小字也能框准;也可以在一张图里框选多道题;文字内容支持 Markdown 和 LaTeX 公式。

真实截图:拍照上传、手动输入、直接录入和剪贴板粘贴入口

图 4:真实首页截图。不同来源的题目,可以进入同一套整理流程。

AI 会尝试识别题干、答案、解析、学生的错误解答和错因,再补上学科、知识点与难度。遇到配图,还能生成 SVG 重绘图,方便显示与打印。

这里的 OCR,可以理解成“让电脑把照片上的字读出来”。它读错一个负号、漏掉一个条件,后面的解题过程就可能跟着走偏。因此,项目保留原题图片,也提供导入前人工确认:先核对,再入库。

真实截图:一道题的公式排版、知识点、年级学期和试卷等级

图 5:真实题目详情。题干、分类信息与后续操作集中在同一处,也可以回看原图。

比如,一道题写着“至少”,识别结果却成了“至多”,这就像快递地址抄错了一个字:包裹包装得再好,也会送错地方。保留原图和校对入口,是为了让问题能被及时发现。

公式显示也有相应的细节。题目里的分数、根号、方程会按数学公式排版;发现公式语法问题时,可以让 AI 修复 LaTeX 写法。重新生成完整解答则是另一个操作,覆盖前需要确认,方便区分“排版错了”和“解答要重来”。

四、知识点和动画:让一道题有更多解释的角度

找题时,按日期翻相册通常不如按知识点找来得直接。今天想复习“角”,未必还记得那道题是哪一天拍下来的。

项目的标准知识点库按学科、学段、年级和章节组织,也支持自定义标签。AI 会从对应学段和学科的知识点中选择标签,家长可以继续核对和调整。新版把知识点库并入了统计中心,导航由 6 项精简为 5 项:「知识点管理」页签浏览标签库、增删自定义标签,「知识点统计」页签查看使用频率。

真实截图:数学知识点按年级、章节和具体概念逐级展开

图 6:真实知识点库。标签像书架上的分类牌,帮助下一次按薄弱点找题。

理解题目时,有些内容适合文字,有些关系画出来更直观。项目支持让 AI 生成分步骤的 SVG 动画讲解,播放器可以暂停、拖动进度、重播和全屏;数学、物理题还可以选择开启 GeoGebra 动态演示。

SVG 像一张用“画图说明书”描述的图片:线条、形状、文字各有位置,放大时依然清楚。把这些元素按步骤显示,就能把一段解题过程拆开来看。

真实截图:六边形染色题的 SVG 动画讲解、图形、计数表和播放控制

图 7:真实动画播放器截图,展示分步演示的形态。画面是已有题目的讲解内容,数学结论仍应结合原题核对。

动画最有用的时刻,可能是家长把它暂停下来,问一句:“接下来会怎样?为什么?”孩子先说自己的判断,再继续播放。这样,一段演示就能变成一次交流。

当然,AI 画得流畅、颜色漂亮,并不自动说明推理正确。题目条件、图形关系和答案都需要检查。家长也可以按需要关闭动画,保留更简单的文字与纸面练习。

五、真正推动迭代的,往往是这些小细节

一个给自己家持续使用的工具,需求会越来越具体。最初看上去只是“录入一道题”,用起来就会追问:重复题怎么办?模型识别错了怎么办?难度和 A/B 卷能不能少填一次?

目前项目里,能看到几项围绕这些问题的处理。

使用中的小麻烦 现在的处理方式
同一道题又拍了一次 根据题干相似度判重,命中时保留原题,并记录这次做错
不同家庭对“重复”的容忍度不同 判重阈值可在设置中保存,默认 90%
担心 AI 识别后直接保存不准确 可开启导入前人工确认,在校对页修改
难度和 A/B 卷重复选择 未手动指定时,1~3 星默认 A 卷,4~5 星默认 B 卷
AI 任务耗时较长 后台任务入口显示进度,任务可在离开当前页面后继续处理
昨天生成的变式题,今天想接着做 每道错题暂存最近一次生成的举一反三题目与解答,再次进入直接显示
第一次安装,不知道从哪里配起 管理员首次登录进入安装向导:修改默认密码、配置 AI 渠道、创建第一个错题本

真实截图:导入前确认、SVG 动画、GeoGebra 和判重阈值等通用偏好

图 8:真实设置界面。影响整理习惯的选项可以按用户偏好调整。

其中,我觉得“重复题仍要留下这次做错”很关键。

同一道题再次出现,题库里确实没必要多一份副本;但对复习来说,“又错了一次”本身就是信息。就像同一个水龙头又漏水了,维修记录应该增加一条,不能因为水龙头早就登记过,就把这次情况忽略掉。

相似度判重也有边界。长得像的题,不一定是同一道题;改了一个数字或者条件,可能已经是有意义的变式。项目支持调整阈值和比较题目相似度,让家长根据自己的题目类型决定尺度。

这些功能很难单独做成一个惊艳的宣传口号,却会影响每天愿不愿意继续用。我也会沿着这条路,随着实际使用中遇到的问题继续迭代。

六、举一反三:把“刚才听懂了”变成可回看的练习记录

围绕原题,项目可以生成同知识点的变式题,并选择难度。孩子做完后,记录做对、做错等结果;试卷里的作答记录也会归回来源题目。

判题也收紧了:答案能在本地严格比对一致时直接判对,其余交给 AI 判断,减少把只对了一部分的答案误判为正确。

家长因此可以看到前后的过程:某次做错,后来练过一道变式,又在另一张试卷里遇到它。把几次尝试连起来看,这条历史更容易帮助人作出判断。

真实截图:变式题、先错后对的练习历史和掌握概率评估

图 9:真实练习历史。画面中的百分比是应用对这道题的估计,不是考试分数,也不是项目效果证明。

当前实现会优先根据作答历史调用 AI 评估掌握概率;AI 评估失败时,使用规则估算兜底。新版按已登记的练习结果和掌握概率,自动推导复习状态。

待复习、复习中、已掌握,按记录来分

这像把作业放进三个收纳篮:还没开始处理的、正在巩固的、目前达到应用判定标准的。50% 是当前应用整理复习队列的分类线,最终判断仍要看孩子能否独立完成。

状态不再靠手动开关标记。列表、筛选、统计和组卷沿用同一套规则,避免一处显示已掌握,另一处仍按旧规则计数。

原创示意图:三种复习状态依据练习记录和50%阈值自动推导

图 10:新版三态复习的原创示意图。状态分类服务于安排下一步练习。

可以把这个数字看成天气预报:它帮助安排下一步,但仍要抬头看看天。记录少、题目过于相似、家长提示太多,都会让“看起来做对了”与“能独立完成”产生差距。

我更建议把百分比当作一个回看的入口:为什么这道题还需要练?最近哪次做错?换了条件以后有没有独立完成?最终判断,仍来自孩子真实的作答和解释。

今日复习:到期的题自动排进来

上一版里,什么时候再看一道题,主要靠家长记。现在新增了“今日复习”:每道错题按 1、2、4、7、15、30 天的艾宾浩斯间隔安排下一次复习,做对进入下一档,做错回到第一档,连续做对 6 次后不再排入。首页显示今天待复习的数量,导航栏的「复习」页列出今天到期和之前已经到期的题目,较早到期的排在前面。

真实截图:今日复习列表、到期日期与轮次

图 11:真实今日复习列表,引自本站续篇的匿名化截图。每道题显示到期日期和当前轮次。

这有点像图书馆的还书日期:日子到了会提醒,读没读懂,还得翻开书才知道。今日复习回答“今天该看哪些题”,三态复习回答“记录显示它处在哪个阶段”,两者互不替代,已掌握的题目也可能在某天到期。间隔表是一个通用起点,孩子累了或者到期题太多时,按实际情况减量就好。

七、能打印,是因为家庭学习本来就不只在屏幕里

有些练习适合在纸上写。列竖式、画辅助线、写完整推理过程,都需要留白。家庭错题工具如果只顾屏幕内的体验,就会在这一步断开。

项目支持按错题本、知识点、掌握情况等条件组卷,用变式题生成可打印的试卷;也支持直接筛选错题打印,选择是否包含答案、解析、知识点,或使用原图。试卷生成完成显示“已生成”,录入过作答结果后才显示“已完成”,哪几张纸还在桌上没做完,一眼就能看出来。

真实截图:已生成的试卷、题目来源 ID 和多次作答结果

图 12:真实试卷页面。来源题目和后续作答结果可以串起来看。

打印内容带有来源 ID,做完以后可以回到原题录入结果。这个 ID 就像包裹上的取件码:纸张离开电脑以后,仍有办法找到对应记录。

真实截图:试卷打印预览、答案页开关、下载和打印入口

图 13:真实打印预览。可以下载 HTML,也可以通过浏览器打印或保存为 PDF。

一个可以尝试的家庭用法是:挑少量需要巩固的知识点,打印一小份练习,先让孩子独立完成;做完后一起核对,只把关键结果记回去。题量和频率跟着孩子的状态走,不必因为软件方便出题,就无限增加练习量。

这也保留了工具应有的位置:它负责准备和记录,纸笔上的思考仍然属于孩子。

八、统计:帮人选下一步,不给孩子贴标签

项目把错题统计与练习统计分开。前者展示错题数量、掌握率、科目分布与月度趋势;后者展示练习次数、正确率、活跃月份等信息。

真实截图:错题数量、掌握率、科目分布与月度趋势

图 14:真实错题统计。截图中的数量是这个界面当时的数据,用于展示功能。

真实截图:练习次数、正确率、活跃月份和练习趋势

图 15:真实练习统计。这里展示的是使用记录,不代表对学习效果做过对照实验。

这两组数字回答的是不同问题。“收录了多少错题”和“最近实际练过多少次”,不能混着看;题目难度变化时,正确率也需要结合内容理解。

对我来说,更合适的使用方向是:“这周哪些题值得再看看?”统计页面像一张路口指示牌,帮助选路,不应该变成给孩子贴上“擅长”或“不擅长”的永久标签。

九、自托管、模型选择和隐私:控制权需要说具体

项目使用 Next.js、React、TypeScript,数据通过 Prisma 存入 SQLite。支持多用户、数据导入导出,也有 Docker、npm、桌面版、飞牛OS 与安卓双形态的文档与发布入口。

这些技术名字可以先放一边。自托管最容易理解的类比,是把资料柜放在自己管理的地方:资料怎样备份、谁能访问、什么时候升级,自己有更多决定权,同时也需要自己负责维护。

几个人共用一个实例时,新版的管理也更细:新用户注册默认关闭,可用 ALLOW_REGISTRATION 修改;管理员用默认密码登录时必须先改密码;管理员还可以设置每人每日 AI 次数,并在用户管理中看到今天的用量。数据导出导入补齐了用户偏好、随机错题试卷及其作答记录、暂存练习和掌握概率等内容,换设备前的备份更完整。

AI 部分支持 Gemini、OpenAI、Azure OpenAI、Anthropic,以及 MiniMax、智谱 GLM、DeepSeek、Kimi 等渠道。不同渠道的图片输入能力、费用和返回质量需要分别确认;接入列表并不意味着任意模型都能完成所有任务。

新增的 MiniMax Code OAuth 渠道降低了起步门槛:用免费的 MiniMax Code 账号网页登录,即可调用 MiniMax-M3.1-Flash,不必先购买 API Key;应用每天自动签到领取积分,AI 功能消耗的是账号积分。它使用 MiniMax Code 客户端的登录方式,不是官方开放接口,平台可能调整规则,免费积分也有用完的时候,额度边界见续篇。

原创数据边界图:自己的实例保存题目和记录,外部AI按请求处理相关题目与提示

图 16:本文原创数据边界示意图。自托管不等于所有 AI 计算都在本地完成。

这点需要讲明白:使用外部模型接口识别或生成内容时,相关题目内容会发送给配置的 AI 提供商。因此,别把“数据库在自己手里”理解成“题目永远不会离开设备”。上传前裁掉姓名、学校、班级等无关信息,是一个直接有效的习惯。

项目也提供 Openclaw 批量图片上传接口,方便已经使用 Agent 的家长接入自己的工作流。目前这里说的是已有的导入能力,不等于已经具备自动教学、全程自主辅导或完整的 MCP 产品。

对熟悉 Agent 的家长,我的建议很朴素:让它帮助搬运和准备材料,家长确认内容与结果,孩子完成学习。密钥、账号和带身份信息的作业,不应该为了展示自动化而出现在公开截图或 Issue 里。

十、手机和平板:四种安卓安装包怎么选

单机版像随身小厨房,客户端连接家里的厨房

项目现在提供安卓单机版和客户端版,两种形态各有手机版与平板版。

单机版像把小厨房装进手机:服务端和资料柜都在设备里,适合先在一台安卓设备上使用。客户端更像拿着菜单去同一家厨房点餐:手机负责界面,题目与记录保存在已经部署好的服务器上,适合多台设备访问同一份资料。

单机版内置 Node.js 和应用服务端,要求 Android 8.0 及以上、64 位 ARM 设备;客户端版不内置服务端,要求 Android 7.0 及以上。Phone 版本锁定竖屏,Tablet 版本可横竖屏旋转。两种形态包名不同,可以同时安装。

原创示意图:安卓单机版在本机运行服务和保存数据,客户端版连接已有服务器

图 17:安卓双形态的原创示意图,不是 APK 真机截图。界面截图来自浏览器中的真实响应式页面,本文没有进行安卓安装包真机测试。

拍照、保存和打印,由系统接起来

安卓 App 补上了 WebView 外壳需要的原生能力:上传时可以拍照或选相册、文件;下载备份和试卷时调起系统另存为;打印预览可调用系统打印并保存 PDF;外部网站通过系统浏览器打开。

单机版的数据保存在 App 私有目录,卸载会删除。两种 App 都关闭系统自动备份,换机或卸载前需要用应用的导出功能保存资料;客户端则要维护服务器端的数据备份。

核查时,正式版 v2026.10.26 已提供单机版/客户端版各自的 Phone、Tablet 四种 APK,并包含本文介绍的三态复习、今日复习和安装向导等改动。之后的新提交是否进入下载包,请以对应 Release 的说明为准。

PWA 缓存的是界面零件

手机和平板也可以使用 PWA 添加到主屏幕。新补齐的 Service Worker 会缓存脚本、样式和图标,并在网络不可用时显示离线提示页;题目和统计 API 仍从服务器读取,没有缓存成离线题库。

可以把它理解为先备好封面和界面零件,资料内容仍要向服务器取。安卓单机版把服务器移到了本机,也没有顺带把大模型装进手机;使用外部模型时,识别、解析和生成练习仍需要相应网络与接口。

十一、继续维护的,也包括权限和安全细节

给外来图形和原生接口设好边界

SVG 配图可以看成一张带画图指令的外来纸条。当前代码会反复净化危险片段,减少嵌套内容拼接出脚本的风险。安卓网页与拍照、下载、打印之间的 Bridge 像一扇服务窗口,只为本服务器页面执行相应操作。Openclaw 批量上传接口也只接受 JPEG 与 PNG 图片。

把定期检查放进维护流程

近期默认 Node.js 升级到 24,桌面版升级到 Electron 45,Next.js、公式与代理相关依赖也跟进了安全更新;CI 加入了 Dependabot 依赖更新检查、CodeQL 代码扫描、ESLint 零警告和测试覆盖率门槛。这些改动帮助持续发现和处理问题,不能代替使用者核对资料、备份数据与管理访问权限。

开源文件也补得更完整了:项目现有 MIT 许可证、贡献与安全反馈说明,并增加正式版 CHANGELOG 和中英文 Wiki。日常追踪变化时,正式版看更新日志,预览版和当前源码看 Release、提交记录,能分清哪些已经进了安装包,哪些刚合入主线。

十二、哪些家庭值得试,开始前常见的几个问题

如果你已经有拍题、整理、定期复习的习惯,愿意核对 AI 内容,也希望自己保留资料,这个项目值得看看。尤其是“有题目照片,却总在复习前重新找资料”的家庭,比较容易理解它想省掉哪些动作。

如果更希望有人提供现成课程、保证答案质量、全程带着孩子学,那么这个仍在迭代的开源工具,承担不了这些服务。

不会写代码,也能体验吗?

可以先从项目介绍页和在线演示了解界面。演示使用共享账号,资料对其他访客可见,只适合查看和使用无隐私的示例内容;登录方式见仓库 README。

没有付费 API Key,能先用起来吗?

可以先试试 MiniMax Code OAuth 渠道:在设置中网页登录免费的 MiniMax Code 账号,管理员首次登录的安装向导也会推荐这一步。免费积分够不够用,取决于题量和使用的功能;需要更稳定的额度时,再考虑其他付费渠道。

想长期使用,从哪里安装?

想长期保存自己家的资料,再到 Releases 和安装说明选择合适方式。具体可下载文件以对应版本页面为准。

可以完全离线使用吗?

PWA 只缓存界面静态资源,题目和统计仍向服务器读取。安卓单机版在本机运行服务器,客户端连接已有服务器;这两者都不等于在本机运行大模型。调用外部模型识别题目、生成解答或练习时,仍需要网络和相应接口。

AI 会不会把题目讲错?

会有这种可能。原图核对、导入前确认、编辑与重新生成入口,都是为了方便纠错。动画、公式和掌握概率也需要同样看待。遇到争议题,优先回到教材、老师的要求和可验证的解题过程。

会不会变成孩子直接抄答案的工具?

家庭怎么安排使用,会直接影响结果。可以由家长负责整理和打印,让孩子先独立作答,之后再看解析。软件提供材料与记录,使用顺序仍需要大人和孩子共同约定。

可以自己修改和分发吗?

仓库已采用 MIT 许可证,可以按许可使用、修改和分发,同时保留版权与许可说明。安装包带入的第三方组件仍按各自许可证处理;贡献改进可参考仓库的贡献指南。

后续还会更新吗?

会。我自己仍在给孩子使用,发现问题就会继续调整。但开源维护有现实节奏,具体功能和修复以仓库提交、Issue 与 Release 为准,不预先承诺一个无法保证的更新时刻表。

如果你也有一本“收得很认真,翻得很费劲”的错题本

欢迎看看 margrop/wrong-notebook。你可以先浏览截图和演示,再决定是否适合自己家的习惯;觉得有用,点个 Star 留作入口,也欢迎把实际遇到的不顺手之处写成 Issue。

反馈越具体,越容易推动改进:哪一步不方便,原本期待怎样,实际发生了什么。附图前,请先删掉孩子身份、学校信息、账号和访问地址。愿意参与开发,也欢迎从文档、界面翻译、测试和具体小问题开始。

我希望它能慢慢成为一个顺手的家庭工具:题目更容易留下,复习更容易开始,每一次练习也更容易被看见。至于学习中最珍贵的那部分,仍然是孩子愿意再试一次,以及家长愿意陪着把一个问题想明白。

资料来源与配图说明

本次更新依据 2026-10-28 公开 main 的 610af18、正式版 v2026.10.26 的代码、文档、更新日志及实际 Release 附件核对。软件持续迭代,源码与安装包的进度可能不同。

本文包含 12 张真实应用截图与 5 张原创示意图,其中今日复习截图引自本站续篇。未变化的截图保留原有公开素材,涉及三态复习、题目详情和错题统计的画面按当前版本重新采集;截图无损转换为 WebP。五类原创信息图已重新设计,中文与英文分别排版,并为电脑和手机提供不同构图;文字与图形均经过实际渲染检查。

如果还想找能与纸面学习搭配的工具,可以继续看本站的 PhET 互动仿真实验室介绍和 41 款在线逻辑谜题。

评论

使用 GitHub 登录后即可评论,中英文版本共用同一讨论。 在 GitHub 上参与讨论

本文阅读量 --