
每天晚上,我都会在女儿睡觉前,给我女儿讲故事,一开始,我是用家里的绘本去讲,后来实在是讲腻了,我就上豆包找故事灵感。但因为工作原因,跨时区工作,晚上需要上班,我变得越来越忙,我每天都会在豆包上找一些有声儿童故事播放给女儿听。
但是慢慢的,我发现豆包来找这个故事,并不是很方便,而且那些故事,也开始有了重复。我也没有去买喜马拉雅那种故事APP,我女儿不是很喜欢那种。
所以,后来我又回归到讲故事中去,我每天陪女儿的时间其实不少,会跟她们一起经历一些有趣的小事。我就在睡前,根据这些有趣的小故事,小见闻,编成一个小故事讲给她听。她听着也很有意思,但,总有词穷的时候 。在那个时间,我突然就灵机一动,我能不能让AI,根据我输入的现实中的趣事,见闻,来生成一个小故事呢? 于是我开始使用豆包做了一些尝试,发现生成的效果,还可以。 但是我觉得使用豆包并不方便,因为我希望,能更加存粹点。于是我开始设想一个工具:把孩子经历过的事情、说过的话和她喜欢的角色放进去,帮助我们把今天发生的小事,变成今晚可以一起听的故事。
这就是拾芽最初的起点。这样的故事不属于某一本书,而只属于我们自己。它可以从今天出门时遇到的一只小狗开始,也可以把一次坐船、一顿晚饭或者孩子突然冒出来的想法变成一次冒险。明天又会有新的事情发生,故事也可以跟着孩子一起变化。

于是,在今年4月的时候,我开始了疯狂的vibe coding 。一直到6点中旬,有了第一个上架的版本。而这个版本的第一个用户,就是我的女儿。
纪念一下最初让codex出的一个版本:

我们还想要一本全家可以共同记录的记事本
在想故事这件事的同时,我和妻子一直还有另一个愿望:希望有一个地方,可以让我们共同记录关于孩子的瞬间。
我作为爸爸记下的内容,她能够看见;她记录的瞬间,我也不会错过。以后孩子自己录下的一段声音、拍下的一张照片、写下的一句话,也都可以进入同一个家庭空间。
有人可能会说,夫妻两个人建一个微信群,不也可以往里面发照片、文字和语音吗?
从保存消息的角度看,当然可以。但当孩子也想亲自录下一段声音、拍一张照片,或者讲讲今天发生的事情时,但是我们并不想让孩子过多的接触微信。
而且,我们想保存的也不只是一条条聊天记录。
拾芽是一个以家庭为单位的 App。爸爸录入的内容全家可以看见,妈妈和孩子留下的记录也会进入同一本家庭素材本。一段童声、一张照片、一句随手写下的话,不再只是发过以后慢慢沉下去的消息,而是属于这个家庭的成长素材。
更重要的是,孩子不仅可以参与记录,还可以把自己录入的内容变成喜欢听的故事。
这就是拾芽和一个家庭聊天群最不一样的地方:它不只是替父母保存孩子的过去,也邀请孩子参与创造自己的故事。
对孩子来说,拾芽是一个可以一起说、一起想、一起听故事的玩伴;对我和妻子来说,它则是一本由全家共同书写的成长记事本。


先记下来,不急着把它写得完整
很多值得保存的时刻都很短。
孩子可能突然说了一句很有意思的话,转身就跑去做别的事;也可能在回家的路上讲了学校里的一件小事,等到晚上再问,她已经不记得细节了。
所以在拾芽里,我首先做的不是一个复杂的故事编辑器,而是一个尽量简单的记录入口。家长或者孩子可以写一小段文字、拍一张照片,也可以直接录下一段声音。不需要先想标题,更不用一开始就把事情写成完整文章。
这些内容会按日期留在家庭素材本里。它们可以只是一份记录,也可以等到晚上有空时,再点一下“讲成故事”。
我很喜欢“素材本”这个名字。因为在我看来,一段童声、一张随手拍下的照片、孩子讲的一件小事,都还不是被加工好的作品。它们只是生活落下来的小种子。
拾芽要做的,是先把这些小种子接住。
让孩子成为自己故事里的主角
记录下来之后,家长可以根据孩子的年龄和兴趣,选择故事的主角、主题、伙伴、时长与讲述方式,再由拾芽帮助把零散素材整理成一个完整故事。
如果今天一家人去河边玩,故事可以从一次真实的出发开始,再慢慢长出一点想象:普通的游船变成探险船,溅起的水花变成彩虹,孩子在故事里重新经历白天发生过的事,也遇见一个稍微更大的世界。
如果孩子自己有想法,她也可以直接说出来。她可以决定谁是主角、下一站去哪里,或者给故事加上一只现实中并不存在的小动物。
在这个过程中,孩子不是坐在一旁等待内容的人。她说过的话、经历过的事情和临时冒出来的想象,本身就是内容的一部分。

故事生成后,可以像普通睡前故事一样播放,也可以留在故事本中以后再听。孩子听见自己熟悉的人和事出现在故事里时,常常会很快认出来:“这个讲的是我。”
对我来说,这种认出来的瞬间很重要。它让故事不再只是来自外部的内容,而是孩子参与完成的一次表达。
课本也可以成为故事的起点
做拾芽的过程中,我又想到另一类常见的家庭场景。
孩子在课本里刚刚学了一首古诗、一个自然现象,或者一个还不太熟悉的知识点,或者是一些单词。直接复述和记忆有时会显得生硬,但知识本身并不生硬,它们同样可以进入人物、场景和冒险。
家长可以拍下课本中的一页,或者简单写下今天学到的内容,再把它和孩子喜欢的角色放在一起。比如让熟悉的小伙伴走进古诗里的季节,在一次旅行中认识不同的动物,或者通过一场小冒险重新遇见刚学过的词语。


我并不希望故事取代课堂,也不会把它包装成提高成绩的捷径。它更像是在正式学习之外,为知识多开一扇门。
孩子可以用比较轻松的方式复习已经接触过的内容,也可以在故事里先认识一个新的概念。等到下次在书里再次遇见时,那个知识点或许已经不是完全陌生的了。
照片之外,我还想留下声音
最初构思拾芽时,我把很多注意力放在“故事”上。真正开始使用以后,我越来越在意的却是故事前面的那些原始素材。
尤其是声音。起源于一个小故事:那一天,我在开着车,我女儿突然说,想让拾芽生成一个故事,她今天去画画课,拿了积分,换了拉布布的小玩具。她很开心。我说我现在在开车,不方便拿手机打字呢,要不这样子,你点一下这个,可以语音输入,当时她就拿过去了,她好好的思考了一下,在脑海中准备了一遍要说的话,再跟拾芽说了出来。
这个有意思的不再是生成故事了,而是我发现,我女儿会去脑海里组织语言了,为了是一次性能准确地把自己想说的话给表达出来。这让我十分惊喜,觉得难道拾芽的被动技能能让我女儿学会组织语言了? 同时也觉得,如果能收集起来这些小声音,该是多么有趣。
在拾芽里,孩子录下的声音不仅可以用来整理故事,也会和当天的照片、文字一起保留下来。现在听可能只觉得可爱,几年后再打开,它或许会成为比一张照片更具体的记忆。

慢慢地,素材本里留下的就不再只是“某天去了哪里”。它还会留下孩子当时关注什么、怎样描述一件事、喜欢怎样的角色,以及她在不同年龄提出过什么问题。
这也是我逐渐确定的一件事:拾芽不应该只是一个生成儿童故事的工具。
它更应该是一份会随着孩子一起长大的记录。
AI 不应该成为故事的主角
拾芽会使用 AI,但我不想把“AI”放在产品最中心的位置。
如果只需要凭空生成一个故事,市面上已经有很多工具可以做到。拾芽更想处理的是那些来自真实生活、看起来有些零散,却只属于一个家庭的素材。
AI 在这里更像一个整理者。它把一句话、一张照片、一段声音和一个知识点连接起来,帮助它们成为一个更完整、更容易被孩子听懂的故事。
但故事里最重要的部分,仍然来自孩子和家人。
孩子才是主角,她真实经历过的生活才是故事生长的地方。AI 不替家庭制造回忆,也不能代替父母的声音、拥抱和面对面的交流。它只是让那些已经发生过的瞬间,多一种被保存和重新讲述的可能。
这也决定了我对拾芽的期待:它不应该鼓励家长追求“每天必须产出一个精彩故事”,也不需要把孩子生活里的每件事都记录下来。
想记的时候记下一点,觉得值得讲的时候再讲出来,就够了。
让一家人的记录慢慢发芽
我把它叫作“拾芽”,也是因为我很喜欢这个名字带来的想象。
一家人把生活里散落的小声音、小照片和小事情拾起来,放进同一本家庭记事本。它们在当下可能只有十几秒、几句话,看起来并不起眼;但借由一个个故事被重新讲述,也在时间里慢慢发芽。
我想象中的拾芽,不是一条不断刷新的内容流,而更像一本只属于家庭的成长册:今天放进去一句话,明天放进去一段声音,周末再添上一张照片。过一段时间回头看,才发现那些不起眼的小事已经连在一起,变成了孩子和这个家庭共同走过的日子。
等孩子长大以后再回头看,这些内容记录的不只是“小时候发生过什么”。她还可以听见自己当时的声音,看见自己曾经怎样理解世界,也知道爸爸妈妈在那段时间里为她记下了什么。
拾芽也不是让你把手机丢给孩子,不再陪伴。我每天仍然会跟在孩子身边,陪她一起听故事。如果我工作忙了,我会跟她说,爸爸去工作了,你听着,然后睡觉。在她心中,她认为,这些故事都是爸爸创造出来的,那种陪伴感仍然存在。
下载试用
iOS 在 App Store 搜“拾芽”就能安装。
安卓的应用商店上架手续比较麻烦,我还没腾出时间去走流程,所以暂时没有上架,但官网可以直接下载安装包,也可以打开网页版随时体验,不装任何东西——网页版和 App 共用同一套首页、素材本和播放器,登录后数据是同一份。
- 官网与安卓安装包:https://shiya.infyniclick.com
- 网页版PWA体验版,可能打开会有点慢:https://shiya.infyniclick.com/app/

因为运用了一些AI的工具,有相应的成本。这也是拾芽不得不收费的原因。但是我也在尽量的提供了一些手段,可以尽可能的免费使用,欢迎有兴趣的朋友试用,给予批评反馈。
拾芽还很年轻,还在慢慢迭代成长中。
我不知道最终会有多少人喜欢拾芽,但是我知道,我女儿很喜欢,她现在每天都会把发生的小事来告诉我,让我录入,或者她自己录入到拾芽中,在晚上睡觉前,听着入睡。
