一个纯本地的儿童错题本 Web 原型,数据仅存于浏览器 localStorage,支持手动录入、OCR 识别、语音转写、多条件筛选、导出、薄弱点分析和备份恢复。

Stars

123

7 天增长

暂无数据

Fork 数

24

开放 Issue

0

开源协议

暂无数据

最近更新

2026-07-06

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它将 OCR、语音、导出、分析等丰富功能整合到一个离线原型中,注重隐私与本地使用,并提供详尽的测试覆盖和家长友好的多子女管理界面。

适合谁使用

  • 需要记录并管理孩子错题的家长
  • 希望使用本地错题本而无云端依赖的学生
  • 需要自建工具分析学生薄弱点的教师或辅导者
  • 对功能丰富的本地优先 Web 原型感兴趣的开发者

典型使用场景

  • 手动录入错题并可选使用 OCR/语音自动填充
  • 按日期、学科、类别、状态和标签筛选和查看错题
  • 将错题导出为 TXT、Markdown 或 PDF 用于打印或分享
  • 分析高频错误和连续多周重复的模式

项目优势

  • 完全离线运行,无需服务器或数据库
  • 集成开源 OCR (rapidocr) 和语音转写 (faster-whisper),实现自动输入
  • 提供重复错题检测与关联提示
  • 支持灵活的导出周期、策略和多种格式

使用前须知

  • 数据仅存于浏览器 localStorage,无法跨设备同步
  • 语音转写需要本地 Python 3.11 环境和 ffmpeg
  • 应用为原型,无用户注册或云备份功能(仅支持手动 JSON 导出)

README 快速开始

儿童错题本(本地 Web 原型)

当前版本是纯本地 Web 应用,不接数据库,数据只存浏览器 localStorage

已实现:

  • 手机号/邮箱本地登录
  • 孩子档案管理(多孩子)
  • 错题手动录入(含日期、学科、预置分类/自定义分类、状态、标签)
  • 错题详情面板(完整结构化字段查看)
  • 错题编辑(在详情页直接修改错题内容)
  • 状态快捷更新(在详情页直接改为未复习/已复习/已掌握/需再次复习)
  • 错题多条件筛选(日期范围、学科、类别关键词、状态、标签)
  • 重复错题检测与关联提示(保存前检测相似题,可关联历史或按新题保存)
  • OCR 草稿位(粘贴识别文本 -> 自动生成学科/类别/来源草稿)
  • 语音转写(开源 faster-whisper
  • 导出 TXT / Markdown / PDF(支持简洁版与详细版,支持按日/周/月/自定义)
  • 导出策略(可排除“已掌握”;可优先“需再次复习”)
  • 自动定期导出(按日/周/月,到点自动生成导出记录)
  • 薄弱点归纳(高频错误、连续多周重复、模式关键词)
  • 最简提醒(站内提醒 + 可选浏览器系统通知)
  • 本地备份与恢复(导出 JSON / 导入并覆盖恢复)
  • 敏感操作二次确认(删除/导入恢复)
  • 操作审计日志(导出/备份/删除等关键行为记录)

1. 启动与测试

npm start

默认地址:http://localhost:5173

npm test

2. 语音转写(开源)

转写引擎:faster-whisper

安装依赖(推荐 Python 3.11 虚拟环境;faster-whisper 目前不支持 Python 3.12+):

uv venv .venv311 --python 3.11
uv pip install --python .venv311/bin/python -r scripts/requirements.txt

如遇音频解码问题,请安装 ffmpeg

启动服务时可指定解释器(让后端 OCR/转写脚本使用该 Python):

PYTHON_BIN=.venv311/bin/python npm start

转写接口:

  • POST /api/transcribe
  • 请求体:录音二进制(audio/webm 等)
  • 返回:{ ok, engine, language, text }

3. 图片 OCR(开源)

OCR 引擎:rapidocr_onnxruntime

安装依赖同上(scripts/requirements.txt 已包含)。

OCR 接口:

  • POST /api/ocr
  • 请求体:图片二进制(image/jpegimage/pngimage/webp 等)
  • 返回:{ ok, engine, text, lines }

4. 页面功能流程

4.1 登录

输入手机号(11 位大陆号)或邮箱即可登录,本地自动创建家长账号。

4.2 页面结构(新版)

  • 顶部工作区切换:记录 / 复习 / 导出 / 薄弱点 / 设置
  • 默认进入“记录”,优先展示极简录入表单
  • 高级项(孩子档案管理、更多筛选、自动导出配置)折叠收起,按需展开

4.3 错题录入(极简)

  • 默认核心字段:孩子、日期、学科、类别、错题内容
  • 其余字段放在“更多选项(可选)”中,降低录入负担
  • 或上传图片点“上传图片并识别”,OCR 结果会自动填入“OCR 原文”
  • OCR 后会尝试从图片元数据推断日期,并弹确认是否填入记录日期
  • 再点“按 OCR 生成草稿”,自动填学科/类别/来源/日期/原题
  • 学科选择后会自动给出该学科预置分类,仍可切换到“自定义”
  • 若已有语音转写结果,可点“把语音结果填入错题内容”
  • 保存时若检测到相似历史错题,会提示可直接关联;也可选择按新题保存或取消

4.4 错题列表与详情

  • 列表支持按日期范围、孩子(当前/全部/指定)、学科、类别关键词、状态、标签筛选
  • 点击“查看详情”可查看完整结构化字段(ID、日期、学科、类别、原题、错答、正答、解析、建议、来源、状态、标签、关联历史错题)
  • 详情页可“快捷更新状态”
  • 详情页可进入“编辑错题”,保存后覆盖原记录并更新更新时间
  • 详情页支持“删除该错题”,并触发统一二次确认

4.5 导出

在导出区选择:

  • 导出周期(按日 / 按周 / 按月 / 自定义)
  • 孩子
  • 开始/结束日期
  • 模板(简洁打印版 / 详细讲解版)
  • 导出策略(是否排除“已掌握”、是否优先“需再次复习”)

可直接下载:

  • TXT(.txt
  • Markdown(.md
  • PDF(.pdf

导出历史会在页面内展示最近 10 次,并支持一键重新下载。

4.6 自动导出

  • 支持设置按日/按周/按月、时间、目标孩子、导出模板、导出格式
  • 支持自动导出同样的导出策略(排除“已掌握”/优先“需再次复习”)
  • 到时间会自动生成导出记录(本地版不自动触发下载)
  • 可在导出历史点击“下载”获取文件

4.7 薄弱点归纳

  • 可选分析范围:当前孩子 / 全部孩子
  • 可选时间窗口:近 30/90/180 天或全部历史
  • 输出三类结果:高频错误、连续多周重复、模式关键词
  • 若样本不足会明确提示“样本不足”

4.8 提醒

支持每周/每月提醒时间。当前是最

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

react
精选
react GitHub avatar

react

React is a JavaScript library for building user interfaces with declarative, component-based, and cross-platform design.

Web 开发前端框架
246,741
tandpfun
精选
tandpfun GitHub avatar

wardrobe

A GPT‑image powered app that extracts individual garment cutouts from photos, organizes them into a digital wardrobe, and generates modeled outfit previews.

JavaScript
1,570
mshumer
精选
mshumer GitHub avatar

Claude-of-Duty

A browser-based first-person shooter built entirely with procedural generation and orchestrated AI agents, featuring 55k lines of Three.js/WebGL2 code and no art assets.

AI 与机器学习AI 智能体
1,234