夜雨聆风学习资料网

ARTICLE · 1229684

我用 AI 给孩子做了一套学习工具:每天一份“能结束”的学习清单

我用 AI 给孩子做了一套学习工具:每天一份“能结束”的学习清单

开发、测试、部署交给 Agent,我负责把需求说清楚、体验结果、验收调整。

我们已经很习惯让 AI 帮自己写方案、查资料、改代码。

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

我给它取名叫「乐学」。里面有识字、数学、英语、国学、控笔和科学启蒙,也有能听故事的故事屋、会成长的小兔子,以及家长管理入口。

从功能开发、页面调整,到测试、修复问题和部署上线,各环节的执行都交给了 Agent。我的主要工作,是把需求说清楚、体验结果,再告诉它哪里需要调整。

这不是一篇技术炫技文,更像是一次家庭小工具复盘:一个普通家长,怎么借助 Agent,把一个“想给孩子做点什么”的念头,做成一个能跑起来、能每天用一点点的产品。

文中的产品截图使用独立本地演示数据,昵称为默认昵称;截图里的任务和记录不代表真实孩子的学习表现。


一、我最在意的,不是功能多,而是“愿意开始,也能结束”

给孩子做工具,很容易一路往里面加功能。

多一个游戏,多一个奖励,多一组内容,孩子或许愿意多停留一会儿。但作为家长,我更希望工具能帮助一次学习顺利结束。

所以「乐学」的首页不是功能大厅,而是一份当天的学习清单。

打开之后,今天学什么很清楚:上面有继续学习的入口、小兔子和简单的奖励反馈,下面是当天的模块任务。学几个字,做两道数学题,听一首诗,或者带着一个科学问题去观察。内容可以少一点,步骤要容易理解。

它面向 3—12 岁儿童,默认从 4 岁起点配置。这个年龄范围表示可以按年龄和学习起点选内容,并不意味着所有内容都适合每一个年龄,也不意味着应该把六个模块全部打开。

家长可以调整学习日、开启的模块,以及每天新增多少内容。孩子现在在哪个阶段,就从哪里开始。

还有一个比功能更重要的问题:使用时间。

现在,「乐学」可以设置每周学习日和每天的新内容数量。休息日会显示休息提示。故事屋有每日收听上限,也有睡眠定时;达到上限时,正在听的那篇可以播完,之后不能再开始下一篇。

这里必须说清楚:故事收听限时,不等于整个应用的屏幕时间锁。当前版本还没有整站强制计时退出功能。

如果要控制孩子使用设备的总时长,还需要家长约定每次的开始和结束,并在设备系统里设置相应限制。故事的计时设置也有“不限时”选项,部署后应先按自己的家庭规则检查一遍。

我也希望屏幕上的任务能接到屏幕之外。

识一个字,可以在家里找找哪里出现过;描过的字,可以拿纸笔再写一次;科学题里提到纸巾吸水,就准备几种纸巾,真的滴水观察。

工具负责把一个活动组织起来。孩子接下来做什么,仍然有很大的线下空间。


二、六个学习模块,分别解决什么问题

当前内置课程共有 2089 项,另外有 40 篇分龄故事。

这个数字只是内容规模。对一个家庭来说,更有意义的是:能不能从中挑出适合自己孩子的一小部分,每天轻量地用起来。

国学:把原文、作者和朗读放在一起

内置 320 首古诗词、11 篇经典古文,按适合年龄筛选,展示原文、朝代和作者,也提供朗读入口。

家长可以安排少量内容,陪孩子读一遍、听一遍,再聊聊其中一个词或一个画面。至于什么时候要求背诵,由家长自己决定。

识字:认识一个字,再认识一个词

目前有 665 个常用字,每个内置汉字都补充了一个常用组词。

比如页面展示“林”,也展示“森林”,支持把汉字和组词一起读出来。这样,一个字能接到孩子比较容易理解的词语上。

控笔:今天认识的字,今天就能描

控笔默认跟随当天的识字任务,复习字也会同步进来。

界面提供浅色字形和田字格,可以自由描写、重写,再确认完成。它目前是自由描写工具,没有自动评判笔顺和书写质量。手机或平板上描一遍之后,也可以换成纸笔继续练。

数学:从当前阶段开始,留下真实作答记录

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

选择题会记录第一次回答是否正确、尝试了几次、错了几次。在当前阶段独立完成 10 个不同内容后,系统会尝试进入下一阶。

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

这些记录能帮助家长判断下一次练什么,避免只看一个“已完成”的勾。

英语:从字母走向主题词和小绘本

英语包含 26 个字母、270 个主题词和 12 本原创启蒙绘本。

默认先按每天两个新字母学习,再穿插复习;认识全部字母后,进入主题词和绘本。已经认识字母的孩子,也可以由家长调整起点。

字母课按“大写、小写、英文例词、中文意思”分段朗读,单词课先读英文,再读中文释义。中间留出间隔,方便跟读。

科学:用一个问题,带出一次小观察

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

比如“纸巾吸水比赛”:准备不同纸巾,滴上同样多的水,观察谁吸得快,再看看纸张结构和吸水有什么关系。

它也支持分段朗读,读到哪一段,哪一段高亮。家长仍应先判断活动是否适合孩子,并在需要时陪同操作。


三、学过之后,不只留下一个“完成”

我给「乐学」加了学习伙伴、星光和胡萝卜。完成任务后,小进步会有一个看得见的回应,小兔子也会随着经验成长。

奖励可以由家长调整,兑换需要家长确认。默认示例里有听音乐、看动画、小零食等项目,每个家庭可以按自己的习惯修改,不必照搬。

我更在意的是奖励背后的记录。

非选择题可以记录“独立完成”“需要提示”“还需练习”。系统再根据表现安排复习:还需要练习的内容更早出现,独立完成的内容逐步拉长间隔。

家长周报会区分新学、复习、独立完成、选择题首次答对,以及待巩固内容。历史页还能查某一天、某个模块具体学了什么。

完成次数和掌握程度,需要分开看。一次点击、一次听完,都不足以证明孩子已经学会。周报的作用,是给下一次陪伴提供线索。


四、故事屋:能听,也能由家长制作自己的故事

故事屋目前有 40 篇分龄故事,其中幼儿园阶段 20 篇,小学低年级和高年级各 10 篇。

支持按阶段、主题和时长筛选,也有收藏、续听、倍速和睡眠定时。音频与逐句时间点配合,播放时会高亮正在朗读的文字。

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

这条流程保留了两次人工确认:先检查并保存文字,再生成配音;试听通过后,由家长发布给对应孩子。AI 草稿不会直接出现在孩子面前。

家长中心还支持一句话新增学习资料。例如:

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

生成结果会进入编辑表单,由家长检查题目、选项和答案后保存。这个入口让我可以逐步补充家庭需要的内容,而不用为每条资料重新改代码。


五、这套东西,我是怎么让 Agent 做出来的

回看项目记录,8 月 30 日已经形成第一版,包含六个模块、家长中心、成长奖励、离线保存和自动部署。后面又持续补上适龄排课、学习表现、家庭账号、故事屋,以及权限和成本控制。

这段过程里,我负责提出问题、明确规则和验收;需求拆解、界面实现、前后端开发、测试修复、部署脚本和使用文档,都由 Agent 执行。

先描述一个能走完的使用过程

“给孩子做一个学习 App”太宽泛。

更容易推进的描述,是孩子打开后看到什么,今天做几项,做完后发生什么,家长在哪里调整。

如果你也想开始,可以参考这样的需求:

给孩子做一个手机上能使用的学习工具。首页显示当天的少量任务,支持识字、数学和英语。家长能调整年龄、学习日和每天的新内容数量。完成后给简单奖励,重复点击不能重复发奖。先保存本地数据,支持导出备份。请先跑通“打开、学习、记录表现、完成、查看记录”这个过程。

先把这个过程做好,后面再加故事、云同步或更多内容,会比较容易判断每次修改有没有破坏原来的功能。

功能规则,比页面长什么样更值得说明白

“做得可爱一点”可以帮助确定风格,但不足以让工具可靠。

这个项目里更具体的规则包括:同一任务不能重复发奖;修改学习设置后保留已有进度;生成内容先由家长审核;恢复数据前先备份当前数据。

这些规则都能变成 Agent 的实现要求和检查项。

需求越具体,我越容易验收。出现问题时,也能告诉它哪个动作、哪个页面、哪一种设备没有达到预期。

真正花心思的地方,往往是那些小问题

项目的版本记录里,有不少看起来很小的修复。

例如,iPhone 上英文分段朗读没有声音;科学讲解一次准备多段音频,触发了并发限制;更新后手机还停留在旧缓存;资料改了,已经开始的学习进度要保留。

我把这些现象交给 Agent,让它定位、修改并补上检查。项目也逐步有了在线与设备朗读切换、分段高亮、缓存更新提示和更完整的数据保护。

这比“生成了多少行代码”更能说明 Agent 对我有什么帮助:我可以围绕实际体验持续提需求,而不必自己逐个实现所有环节。

连部署和后续更新,也一起交付

现在项目支持 Docker 部署,并有版本自动发布流程。

准备好服务器和部署凭据后,发布新版本会自动执行测试、构建、上传、启动和健康检查;启动或健康检查失败时,尝试恢复上一个镜像。

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

Agent 完成的是这些环节的配置、脚本与执行。第三方账号注册、服务开通、凭据保管和费用决定,仍然由我自己掌握。


六、想部署自己的一套?先跑通,再按需接服务

开源地址和在线演示地址,我放在文末/评论区置顶。可以先打开演示体验,再从 GitHub 下载源码,按下面这条路径部署自己的一套。

第一步:先在电脑上跑起来

下载源码后,让 Agent 阅读 README,并在项目目录执行:

pnpm install --frozen-lockfile
cp .env.example .env
pnpm dev

这条复制配置命令适用于第一次运行;已经有 .env 时,不要覆盖。

需要准备项目要求的 Node.js 和 pnpm 环境。在新复制的 .env 里,先把 PAID_SERVICES_ENABLED 设为 false,保留 ALLOW_LOCAL_PAID_SERVICES=false,即可先体验基础界面、任务和本地保存。这里不需要填写 API Key。

本地开发模式不提供完整家庭账号和家庭故事后台。localhost 页面也不会因为电脑能打开,就自动变成手机能安装的正式服务。

第二步:长期使用,再部署服务端

当前项目提供 Dockerfile、应用 Compose,以及带 PostgreSQL 的 Compose 配置。

可以让 Agent 构建应用镜像,部署应用和数据库,把域名反向代理到应用端口,再配置 HTTPS。之后用手机浏览器打开,添加到主屏幕,就能作为 PWA 使用。

这是一条部署现有代码的路径,不需要自己重新写一套 Android 或 iOS 应用。首次打开并缓存后,基础课程和本地进度可离线使用;在线生成、云同步和未缓存的故事音频仍需要网络。

所有私有配置统一放在服务端 .env。其中最关键的是数据库连接 DATABASE_URL、会话签名 SESSION_SECRET、自己的站点地址 PUBLIC_ORIGIN,以及按需添加的服务密钥。

服务端、数据库和反向代理应一起部署。只上传前端静态 ZIP,不能获得完整的语音、账号和故事服务。

第三步:按需要申请 API,不必全部申请

想用在线朗读:申请一家语音服务即可。项目目前支持千问、豆包和 MiniMax 三选一。默认走千问:登录阿里云百炼,按项目当前接入选择北京地域,在 API Key 页面创建密钥,并获取同一业务空间的 ID;确认对应语音模型已开通。

填入 .env 的是 TTS_PROVIDER=qwen、QWEN_API_KEY 和 QWEN_WORKSPACE_ID。工作空间 ID 要填实际 ID,不是空间名称;地域也要与接口匹配。

想让 AI 新增资料、写故事:申请 DeepSeek API Key。登录 DeepSeek 开放平台,创建 API Key,检查可用余额,再填写 DEEPSEEK_API_KEY。这是开放平台调用凭据,与聊天网页的登录状态是两件事。模型名称可通过 DEEPSEEK_MODEL 配置,部署时应再核对当前官方模型说明。

想完整使用故事屋音频和家庭故事配音:再配置 OSS。在阿里云创建私有 Bucket,使用受限 RAM 用户的 AccessKey,让应用只访问自己需要的音频目录。填入 OSS_REGION、OSS_BUCKET、OSS_ACCESS_KEY_ID 和 OSS_ACCESS_KEY_SECRET,并核对模板中的 Endpoint 和目录前缀。

课程在线朗读没有 OSS 也可以先用本机缓存;当前故事音频服务则依赖 OSS。

还有个必须说明的细节:40 篇故事的文字和目录在项目里,当前配音 MP3 放在私有 OSS,不随代码自动下载。部署自己的实例,需要准备对应音频,或用项目提供的制作流程生成、校验并上传自己的音频;重新合成会产生语音费用。

第四步:给自己的家庭开启在线生成权限

生产环境里,注册家庭账号不会自动获得付费生成权限。只填好了 Key,也可能仍然看到“尚未启用在线生成”。

部署者在确认自己的注册邮箱后,可以在服务器上为该账号授予管理和在线生成权限,再设置家庭额度。这是现有的成本保护机制。

只想用基础学习和设备朗读,可以继续保持在线生成关闭。也不要为了省一步配置,把生产环境的本地调试放行开关打开。

配置修改后要重启服务;使用当前 Compose 时,需要按项目文档重建应用容器,才能确保读取到新的 .env。


七、成本可以从很低开始,先别把所有服务都打开

如果你只想在自己的电脑上体验,基础学习任务、奖励、本地记录和数据导出,不依赖付费大模型 API。

课程可以使用设备朗读,但效果取决于设备有没有安装相应语言的声音。在线高质量配音、AI 新增资料和 AI 故事,是后面按需接入的能力。

开发时使用的 Agent 订阅或模型调用,也要和工具运行成本分开算。已经有的服务器或订阅可以复用,但它们仍是成本。

我没有一份足够完整的账单,能据此承诺“每家每月只要几块钱”。更实用的做法,是先开基础功能,再按实际需要增加服务。

项目已经做了语音缓存、家庭额度、全站上限和并发限制。同样的语音优先复用缓存,减少重复合成;这些保护能限制调用规模,但不等于供应商账单的固定金额上限。


八、不想研究命令?可以把这段直接交给 Agent

请根据这个仓库的 README、.env.example 和部署文档,帮我部署一套自用的乐学。先核对运行环境,保留已有配置,先跑通基础学习、本地记录和备份;新安装时先关闭付费生成。长期部署使用 Docker 和 PostgreSQL,配置我自己的域名与 HTTPS。需要我申请第三方服务时,列出用途、官方入口和对应变量名,按需接入语音、DeepSeek 和 OSS,不在聊天里回显真实密钥。注册家庭账号后,协助我为自己的账号开通必要权限,设置调用上限。最后检查手机访问、设备朗读、任务完成、备份恢复;已配置的在线功能逐项验证,未配置的明确列出。不要默认生成整批故事音频。

你需要提供自己的设备、账号、域名或服务器信息,并在涉及开通服务和费用时做决定。Agent 则可以继续承担安装、配置、排错和验收的大部分执行工作。


写在最后:先和孩子完成一个很小的任务

部署好之后,我建议先别急着把所有模块打开。

和孩子一起完成一个很小的任务:认一个字、描一次、做一道题,或者带着一个问题去观察。

看看操作是否顺手,内容是否合适,结束时是否自然。再决定第二天还要留下什么。

这个项目让我觉得,个人和家庭的一些小需求,也值得被认真做成工具。以前可能因为开发成本太高一直放着;现在,可以先描述清楚,让 Agent 做出一个能用的版本,再一点点调整。

相关学习资料