A local web prototype app for children's error notebook that stores data in browser localStorage, enabling manual error entry, OCR and voice transcription, multi-condition filtering, export, weak point analysis, and backup/restore.

Stars

123

7-day growth

No data

Forks

24

Open issues

0

License

No data

Last updated

2026-07-06

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It combines a comprehensive set of study aid features (OCR, voice, export, analysis) into a single local-only prototype, emphasizing privacy and offline use, with detailed test coverage and a user-friendly interface designed for parents managing multiple children.

Who it is for

  • Parents who want to track and manage their children's homework mistakes
  • Students who need a simple local error notebook without cloud services
  • Educators or tutors looking for a self-hosted tool to analyze student weak points
  • Developers interested in a feature-rich local-first web app prototype

Use cases

  • Manually logging and categorizing children's errors with optional OCR/voice input
  • Filtering and reviewing mistakes by date, subject, category, status, and tags
  • Exporting error summaries as TXT, Markdown, or PDF for printing or sharing
  • Analyzing frequent errors and recurring weak points over time

Strengths

  • Runs fully offline with no server or database dependency
  • Integrates open-source OCR (rapidocr) and voice transcription (faster-whisper) for automatic input
  • Provides duplicate detection and linking of similar mistakes
  • Offers flexible export with schedules, strategies, and multiple formats

Considerations

  • Data is stored only in browser localStorage and cannot be synced across devices
  • Voice transcription requires local Python 3.11 environment and ffmpeg
  • App is a prototype without user authentication or cloud backup (only manual JSON export)

README quick start

儿童错题本(本地 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 提醒

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

Related repositories

Similar projects matched by category, topics, and programming language.

react
Featured
react GitHub avatar

react

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

Web DevelopmentFrontend Frameworks
246,741
tandpfun
Featured
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
Featured
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 & Machine LearningAI Agents
1,234