夜雨聆风学习资料网

ARTICLE · 1207773

我用 AI 给孩子做了个学习工具,现在开源了

我用 AI 给孩子做了个学习工具,现在开源了

最近,我把 AI 用在了一件离生活更近的事上:给孩子做一套学习小工具。

打开之后,能看到今天学什么;认识几个字,听一首诗,做两道数学题;完成后,可以给自己的小兔子喂根胡萝卜。

家长能调整任务、查看学习记录,也能决定今天什么时候结束。

我把它叫作「乐学」。现在,项目已经开源。

从需求拆解、界面设计,到功能开发、测试修复和部署,各环节的执行都交给了 Agent,也就是能调用工具、完成实际操作的 AI 助手。我的主要工作,是描述清楚需求、体验结果,再提出修改意见。

这篇把做出来的东西、制作经过,以及你怎样部署自己的一套,都整理出来。开源地址和在线演示入口,我会放在第一条留言里。

文中产品截图使用独立演示数据,展示功能和交互,不代表真实孩子的学习效果。

01先把“今天学什么”安排好

我想做这个工具,首先是为了把一次学习组织得简单一点。

今天看哪几项,每项做多少,完成之后还有没有任务,打开页面就能知道。

对孩子来说,清楚的入口和及时的反馈比较容易理解。对家长来说,能删减任务、调整起点,也很重要。

所以,乐学首页是一份每天的学习清单。它面向 3—12 岁儿童,默认按 4 岁起点配置,但可以根据年龄和学习阶段筛选内容。

不需要一开始就打开所有模块。比如,先留识字和数学,每天安排少量新内容,看看是否合适,再慢慢调整。

学习记录会先保存在本地,家长可以导出备份;完整部署后,也能使用家庭账号、多孩子档案和云端恢复。

02六个模块,接到孩子的日常里

现在,乐学内置了 2089 项课程内容,另有 40 篇分龄故事。

内容数量给了家长选择空间。每天实际用多少,还是按孩子的情况来。

认一个字,再找一找它出现在哪里

识字模块有 665 个常用字,每个内置字都配了一个常用组词。

例如,页面展示“林”,也展示“森林”,可以把字和词一起读出来。认识之后,还可以在绘本、包装或路牌上找一找。

控笔会跟随当天的识字任务,包括复习字。屏幕上有浅色字形和田字格,可以自由描写、重写。

目前它不自动评判笔顺或书写质量。屏幕上描一遍之后,也可以换成纸笔继续练。

学一首诗,先听听、读读、聊聊

国学模块包含 320 首古诗词和 11 篇经典古文,按适合年龄筛选,展示原文、朝代和作者,也有朗读入口。

家长可以选一小段,陪孩子听一遍、读一遍,再聊聊其中一个词或画面。是否要求背诵、多久学一首,都可以自己安排。

数学从当前阶段开始,英语也能选起点

数学有 240 道六阶任务,可以设置起始阶段。

选择题会保存第一次答对没有、尝试几次、错误几次。在当前阶段独立完成 10 个不同内容后,系统再尝试进入下一阶。

另有 0—1000 的数字探索,可以滑动选数、加减 1 或 10,并听中英文朗读。

英语则包含 26 个字母、270 个主题词和 12 本原创启蒙绘本。默认从每天两个新字母开始,穿插复习;已经认识字母的孩子,可以调整为从单词和绘本开始。

字母、例词和中文意思分段朗读,中间留出间隔,方便跟读。

科学题,可以带着走到屏幕外

科学模块有 102 个任务,按“问题、观察方法、结果、解释”组织。

比如“纸巾吸水比赛”:准备几种纸巾,滴上同样多的水,观察哪种吸得快,再讨论可能的原因。

页面可以分段朗读,读到哪里,哪里高亮。但更值得做的,是准备好材料,真的观察一次。

科学活动需要家长先判断是否适合孩子,并在需要时陪同。这样的任务,也可以成为放下手机后继续聊的话题。

03愿意开始,也要知道什么时候结束

为了让小进步有回应,我加了学习伙伴、星光和胡萝卜。

完成任务后会获得奖励,小兔子也会随着经验成长。兑换项目和标准可以由家长修改,申请兑换需要家长确认。

但做这个工具时,我一直在想:如果孩子愿意用,怎样让一次使用自然结束?

现在可以设置每周学习日、开启的模块和每天新增多少内容。休息日会有休息提示。当天任务完成后,首页也会告诉孩子可以休息了。

故事屋有每日收听上限和睡眠定时。达到上限时,正在听的故事可以播完,之后不会再开始下一篇。

这些是任务和故事的边界,还不能替代设备总屏幕时长限制。 当前没有整站强制计时退出功能,家长仍需要约定使用时间,并在设备系统里设置相应限制。

我希望保留的使用方式,是一起完成少量任务,再把其中一个问题带到生活里。

认过的字,去家里找一找;科学题里提到的现象,去观察一下。工具把活动组织好,后面仍有很多事可以离开屏幕做。

也别把“完成”直接当成“学会”

非选择题里,可以记录“独立完成”“需要提示”“还需练习”。系统再据此安排复习,待巩固的内容更早出现。

家长周报会区分新学、复习、独立完成和选择题首次答对,历史页可以查具体学了什么。

这些记录适合用来判断下一次陪着练什么。听完一次、点过完成,都不足以证明已经掌握。

04故事屋,还能制作自己的家庭故事

故事屋目前有 40 篇分龄故事,支持按阶段、主题和时长筛选,也支持收藏、续听、倍速和睡眠定时。

播放时,正在朗读的文字会高亮。

家长还可以输入一个主题,让 AI 写原创故事草稿。比如围绕“轮流”“合作”,或者“遇到困难怎么求助”。

草稿先由家长检查、修改、保存,再生成配音;试听通过后,手动发布给对应孩子。生成的内容不会直接出现在孩子面前。

学习资料也有类似入口。比如,输入:

增加一道适合 5 岁孩子的 10 以内加法选择题,主题是分享苹果。

AI 会把结果放进编辑表单。家长核对题目、选项和答案,确认后再保存。

这个设计让我可以逐步补充需要的资料,内容上的决定仍然留在家长手里。

05开发、测试、部署,Agent 具体做了什么

这个项目让我感受比较深的,是很多零碎工作现在可以连续交给 Agent 去做。

第一版先完成六个模块、家长中心、成长奖励和本地数据保存。之后,继续加入适龄排课、复习安排、家庭同步、故事屋和成本控制。

我在其中的工作方式,是把需求变得足够具体。

“做一个儿童学习 App”太宽。更容易落地的描述是:孩子打开后看到当天清单;家长能调整年龄和每天的内容数量;完成任务有反馈;重复点击不能重复发奖;刷新以后记录还在。

把这些过程和规则说清楚,Agent 才有明确的实现和检查目标。

很多迭代,来自一个具体的不顺手

版本记录里有不少这样的修复:iPhone 英文分段朗读没声音,科学讲解同时请求多段音频触发限流,更新后手机仍显示旧页面。

还有一些问题藏在操作之后:调整了任务,原来的进度要保留;恢复数据之前,应该先备份当前数据;AI 生成内容,不能跳过家长确认。

我把现象和期望告诉 Agent,让它定位、修改,再验证。代码、测试和文档也随着这些需求一起补齐。

这段过程需要持续体验和判断。我的投入主要放在“哪里不合适、应该怎样改”,具体执行交给 Agent。

上线之后,也要能继续更新

部署相关的脚本和流程,也由 Agent 完成。

项目支持 Docker。准备好服务器和凭据后,可以通过版本发布流程自动测试、构建、上传、启动并检查健康状态;启动或检查失败时,尝试恢复上一个镜像。

阿里云部署还把应用代码和运行环境分开。环境没有变化时,后续更新主要上传应用包,减少重复传输。

第三方账号注册、服务开通、凭据保管和费用预算,仍由我自己决定。Agent 帮我完成安装配置、接入和排错。

06想要一套自己的,可以先从免费基础功能开始

项目已经开源,不用重新写一遍。

我建议分开考虑三件事:先体验,随后决定要不要部署,最后再决定是否接付费服务。

先体验,再在电脑上跑起来

演示入口和 GitHub 仓库地址见第一条留言。先试试操作,再决定是否适合自己的家庭。

如果希望本地运行,可以让 Agent 读取仓库 README,准备 Node.js 和 pnpm,再安装依赖、复制配置模板并启动。

第一次运行大致是:

pnpm install --frozen-lockfilecp .env.example .envpnpm dev

有旧 .env 时不要覆盖。新配置先关闭付费生成,保留本地付费调用放行开关关闭,即可先用基础课程、任务、奖励和本地记录。

这部分不需要购买大模型 API。设备朗读能否播放中英文,要看设备和系统语音支持情况。

长期在手机上用,再部署完整服务

可以让 Agent 使用项目提供的 Docker 和 PostgreSQL 配置,接上自己的域名与 HTTPS。手机打开后,添加到主屏幕,作为 PWA 使用。

PWA 可以理解为能添加到手机桌面的网页应用。基础资源缓存后,课程和本地进度可以离线使用;在线生成、云同步和未缓存的故事音频仍需联网。

本地开发服务器不提供完整的家庭账号和家庭故事后台。只上传前端静态文件,也不会自动拥有这些服务。

最新版的家庭注册和找回密码需要邮箱验证码,因此完整部署还要准备发信服务。当前源码中的发信账号是固定配置,自用部署需要让 Agent 先改成自己的发信账号,再配置对应的 SMTP 授权码。

第三方服务,按需要接入

想用在线朗读,选一家语音服务就够了。

项目支持千问、豆包和 MiniMax。默认接入千问:在阿里云百炼创建 API Key,取得同一业务空间 ID,确认地域和语音模型权限匹配,再填写 QWEN_API_KEY、QWEN_WORKSPACE_ID 等字段。

百炼不同地域的密钥和接口不能混用,申请时可以对照阿里云官方说明。

想让 AI 补资料、写故事,再申请 DeepSeek Key。

在 DeepSeek 开放平台注册、创建 API Key,并检查可用余额,填写 DEEPSEEK_API_KEY。模型名称按部署时的官方说明和项目配置核对。

想完整使用故事音频,再准备自己的 OSS。

创建私有存储空间,给应用配置只访问所需音频目录的密钥。课程朗读可以先使用本机缓存;当前故事音频服务依赖 OSS。

这里有个需要提前知道的细节:40 篇故事的文字和目录在代码里,私有 OSS 中的 MP3 不会随源码自动下载。 自己部署时,需要准备对应音频,或使用项目脚本制作、校验、上传;重新配音会产生语音费用,可以先试一篇。

所有服务密钥保留在服务端 .env,不要放进前端。生产环境的在线生成还需要为自己的家庭账号开通权限,只填 Key 不会自动放行。

基础功能可以先不使用付费 API。增加在线语音、AI 生成之后,按实际用量付费;服务器、存储流量和开发时的 Agent 费用,也需要分别计算。

项目已有缓存、额度和调用上限,可以减少重复生成、限制调用规模。我没有完整账单支持一个固定月费承诺,所以建议先开需要的功能,再看实际用量调整。

07这段需求,可以直接交给 Agent

如果你想部署自己的版本,可以复制下面这段,再附上第一条留言里的仓库地址:

请根据这个仓库的 README、配置模板和部署文档,帮我部署一套自用的乐学。先保留已有配置,跑通基础课程、设备朗读、本地记录和备份,新安装先关闭付费生成。长期使用时,再部署 Docker、PostgreSQL、域名和 HTTPS。家庭账号需要邮箱验证,请先检查发信账号配置,接入我自己的邮箱和对应授权码。语音、DeepSeek 和 OSS 按需接入,列出官方申请入口和需要填写的字段,不回显真实密钥。为自己的家庭账号开通必要权限,设置调用上限。最后逐项检查手机访问、进度保存、备份恢复,以及已配置的在线功能;不要默认批量生成全部故事音频。

账号和服务需要自己申请,预算也需要自己决定。安装、配置和排错,可以继续让 Agent 帮着完成。

如果只是想体验,可以先用演示,不必一上来就租服务器、申请全部服务。

做完乐学之后,我觉得家庭里的小需求也值得认真试一次。过去可能觉得开发成本太高,一直放着;现在可以先把目标说清楚,让 Agent 做出能用的一版,再通过实际体验去修改。

对我来说,接下来更值得观察的,是孩子愿不愿意开始,内容是否合适,以及结束得是否自然。学习兴趣和效果,都还需要在使用中验证。

如果你也想给孩子做个小工具,先选一件具体的事就好:认字、练几道题,或听一个家长检查过的故事。

点击阅读原文,可体验我家孩子用的 demo, 也可以按照评论区我留言的 github部署适合自己的一套,并交给自己的 Agent 个性化定制。

相关学习资料