汉语听写助手:给儿子的第二个听写小工具

Written by

in

写完英文听写助手之后,我以为”老爸牌学习工具”系列可以告一段落了。结果儿子三年级开始,语文老师发了一张又一张的字词表——”会认”的、”会写”的,每个单元十几二十个生字,拼音、笔顺、组词……比英语单词还难搞。

于是,汉语听写助手来了。同一个配方,不同的科目。

缘起

小学语文的听写,跟英语听写有一个很大的不同:你需要念的是词语的中文,但考查的是字形。”灿烂”——儿子知道是什么意思,但”灿”字的火字旁写得对不对?”烂”字右边是不是”兰”?这些细节只有动笔才知道。

英语听写还能用发音提示(比如念”apple”),但汉语听写本质上是看拼音写汉字,或者看释义默写词语。这就要求工具不仅要”念题”,还得支持字词的类型分类拼音辅助

有了英文听写助手的底子,这次上手快了很多。核心逻辑复用,重点新增了几个汉语特有的功能。

它长什么样?

字词管理:Excel 一键导入 + OCR 识别

这是汉语听写助手最大的亮点。老师的字词表通常是 Word 或 PDF,我整理成 Excel 后一键上传——字词、拼音、类型(会认/会写)自动解析入库。

还支持图片 OCR 识别:拍一张课本生字表的照片,系统自动提取字词和拼音,省去手动打字的麻烦。当然,OCR 偶尔会把”士”认成”土”,做个校对就好——总比从头敲一遍快。

听写练习:两种模式,针对性训练

和英文版类似的流程:选书本 → 选单元 → 设数量 → 开始听写 → 自己批改 → 查看结果。

不同的是,汉语听写多了“正常听写”和”错题本听写”两种模式。正常模式覆盖全部字词,错题本模式专攻之前的薄弱点。每次听写都有计时,批改时逐个对比自己写的和正确答案,自己标记对错——这个设计从英文版延续下来,因为”自己批改”本身就是一次巩固。

会认 vs 会写:字词类型标记

小学语文的字词分为“会认”(read)和”会写”(write)两类。会认的字只要能读出来就行,会写的字必须能正确书写。系统支持按类型筛选和练习——期末复习时,专攻”会写”的那批字,效率高多了。

错题本:连续答对 3 次自动毕业

和英文版一脉相承的设计:每次听写答错的字词自动进入错题本,连续答对 3 次自动移除。不搞复杂的间隔复习算法,就用最朴素的标准——真正记住了才放你走。

管理员后台

老师或家长可以在后台查看所有学生的听写统计、字词量、正确率趋势,也可以管理用户账号。虽然目前只有一个用户(我儿子),但架构上已经支持多用户了。

和英文听写助手有什么不同?

  • 字词类型:新增”会认/会写”分类,支持按类型筛选练习
  • 拼音辅助:每个字词附带拼音,听写时可以显示拼音提示
  • OCR 识别:拍照识别字词表,减少手动录入工作量
  • Excel 解析增强:支持”字词、拼音、类型”三列表头自动匹配

技术栈

和英文版共用同一台腾讯云轻量应用服务器,技术选型基本一致:

技术用途
Node.js + Express后端 API
MariaDB数据存储
原生 JS + CSS前端(单文件 SPA,无框架)
Caddy反向代理 + 自动 HTTPS
PM2进程守护
腾讯云 OCR图片文字识别
xlsxExcel 文件解析

同样没有 React/Vue,没有构建工具——就是最朴素的 HTML + CSS + JS + Express,一个周末搭完,又一个周末打磨

写在最后

英文听写助手 + 汉语听写助手 + 错题本,三个小工具跑在同一台 2 核 2G 的服务器上,共用一套 Caddy + PM2 + MariaDB 基础设施。每个都是给儿子量身定做的,没想到写着写着就成了一个小生态。

做这些工具最大的收获不是代码本身,而是陪儿子学习的过程。每次他说”爸爸,我今天用你写的那个练了听写”,比我收到 star 还开心。

如果你也是家长,或者想给自家孩子做一个类似的东西,欢迎参考思路。代码暂不开源(写得比较随意😄),但技术栈和架构都在上面了。

P.S. 域名 chinese.sfumes.cloud 可以直接访问体验。

Comments

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

皖ICP备2026020134号-1