Show HN:开源的早期阅读器,提供自然拼读辅助
摘要
Show HN:Yara Reads 是一个开源的儿童早期阅读应用,专为刚学完自然拼读 phonics 的孩子设计,每个单词都可逐音素拆解朗读,并内置按发音校验词汇的检查器。项目基于 Cloudflare Worker 构建,支持通过 MCP 接入 Claude/ChatGPT 等代理自动生成符合孩子音素水平的故事。
查看缓存全文
缓存时间: 2026/10/19 20:07
finereli/yarareads 来源:https://github.com/finereli/yarareads
Yara Reads
立即体验:yarareads.finereli.com (https://yarareads.finereli.com) — 免费,无需注册。
一款专为刚学会自然拼读的孩子设计的阅读应用,让他们有真正适合自己的内容可以阅读。故事中的每个单词都能用他们已经掌握的音素拼读出来。当孩子遇到困难时,点击单词即可弹出对应的音素按钮,直接在旁边显示。
这是为我女儿 Yara 做的。她六岁,喜欢闪亮的东西、魔法和龙。她已经完成了 Teach Your Monster to Read,但我找不到适合她继续阅读的内容——既要是一个好故事,又要只包含她能拼读的单词。她的哥哥 Tom 写了第一个故事,而这个应用的设计理念是可以持续增加更多故事。
有什么不同
- 帮助直接在单词上。 点击任意单词:单个字母下方显示圆点,字母组合(如 “sh” 和 “ee”)下方显示横条,分割元音(如 a_e)用弧线连接。一个朗读按钮会依次点亮每个音素,然后读出整个单词。它从不整页朗读给孩子听。
- 校验器是核心。 故事会逐词对照孩子已知的音素进行校验,依据的是发音而非仅仅拼写(如果孩子没学过分割元音 a,“cake” 就会校验失败)。运行
npm run check,如果故事中包含孩子无法拼读的单词,校验就会失败。 - 自带书籍。 连接你自己的 AI 代理(Claude、ChatGPT,任何支持 MCP 的工具),它可以在孩子已学音素范围内创作故事,也可以录入你已有的书籍。它会自动校验单词、添加插图,并展示结果。只有你的账号能看到这些内容。
- 你来设定孩子学了什么。 可以自由开关各个音素和难词。包含未学音素的单词会显示虚线下划线,新音素以紫色显示。
自行部署
这是一个 Cloudflare Worker 应用,使用静态资源、D1 数据库存储数据、R2 存储图片。无需构建步骤。如果你是一位有正在学习阅读的孩子的技术爸爸(或妈妈),欢迎拿去改造成你自己的版本。
git clone https://github.com/finereli/yarareads && cd yarareads
npm install
npx wrangler d1 create yara-reads # 将 database_id 填入 wrangler.jsonc,同时填入你的 account_id
npx wrangler r2 bucket create yara-reads-pictures
npx wrangler d1 migrations apply yara-reads --local
node tools/lexicon-asset.mjs # Worker 使用的单词词典
node tools/push.mjs --local --inventory --images --owner dev # 加载故事(--owner:如果家里有自制书籍也一并加载)
npx wrangler dev
满意后运行 npm run deploy(在 wrangler.jsonc 中修改 routes 以匹配你的域名;部署需要先生成词典,脚本会自动完成这一步)。
需要了解的事项:
- 无需登录即可使用。 这就是完整的应用体验,声音和学习进度保存在浏览器中。账号系统(以及 AI 代理)使用
login.finereli.com,该服务仅服务于我自己的应用。如果想自行运行账号功能,替换为你自己的登录方式即可:只有public/login.js和src/verify-login.js两个文件与登录系统相关。 - 音素发音是我的录音,为每个磁贴单独录制,不包含在本仓库中。没有录音时,磁贴仍然会亮起但不会发声。你可以用
tools/sounds-record.mjs录制自己的音素(见文件顶部注释)。单词朗读由 Cloudflare Workers AI 完成,因此部署需要启用该功能的账号。 - 创作故事:复制
content/stories/toby-1.json,编辑页面内容,运行npm run check。它会告诉你哪些单词你的孩子还无法拼读。千万不要为了通过校验而放宽音素限制——请重写故事。docs/vocabulary.md提供了下一步教学词汇的队列。 - 插图:
docs/illustration.md和tools/illustrate.mjs说明了插图的制作方式。 - CLAUDE.md 说明了各部分如何协同工作,供你或你的 AI 代理参考。
- 使用数据:
node tools/stats.mjs
许可证
代码:MIT 协议(LICENSE)。故事和插图:知识共享署名 4.0 国际协议(content/LICENSE.md),可以自由改编,但请注明 Yara Reads 及原作者。第三方素材:NOTICE.md。
相似文章
KIRA:面向儿童的双通路分析全栈阅读筛查系统
KIRA 是一个面向儿童早期阅读筛查的全栈系统,结合词级流利度评分与音素级错误检测的双通路分析,将儿童语音识别的词错误率从 13.88% 降至 8.84%、音素错误率从 41.66% 降至 23.00%,并配套教师端 Web 界面以支持课堂部署与针对性干预。
构建用于儿童阅读训练与评估的ASR解决方案
介绍了一个用于评估班巴拉语儿童阅读的开源ASR系统,包括现场数据收集、基准构建、模型适配和课堂验证,实现了显著的词错误率降低。
@Jolyne_AI: 有位开发者学《新概念英语》想练听力和跟读,却总卡在这些琐事上:音频要另找,想跳到某一句得来回拖进度条,节奏被打断,效率直线下降。 他索性做了个开源工具:NCE Flow,把《新概念英语》四册做成在线点读学习系统,一次性解决“找音频、对句子…
NCE Flow 是一个开源工具,将《新概念英语》四册内容做成在线点读学习系统,支持句子级点读、多语言视图、倍速连读、进度追踪等功能,可 Docker 自部署或直接在线使用。
Glyphi:快速阅读器
Glyphi 是一款 RSVP 快速阅读器,通过一次显示一个词来让您快速阅读书籍、PDF、文章和网页。
@yadong_xie: 介绍下自用的英文网站阅读插件 自动在英文网站上标注超出英文水平的单词 趁 claude api 单独收费前,跑完了 2 个 claude 20x max,处理了 16w 单词表,不需要注册,免费使用 https://readto.ai
介绍了一款名为 readto 的 Chrome 扩展,可根据用户英语水平自动在英文网页的生词上方标注中文释义,无需划词或中断阅读。该插件利用 Claude API 处理了16万单词表,免费使用。