【学习工作】白日回声 - 我把收藏用 AI 整理成了笔记,为什么它还是在吃灰?

1.自我介绍

我是一个研究生,是自动化专业的,编程只能说是略懂,会点 python。

今年寒假在企业实习的时候,作为职场新人,经常会在抖音刷到一些职场沟通和工作方法的视频。

但是这种视频一般都很长,听一遍也记不住,我本身有做笔记的习惯,但是刷到时很难抽时间做笔记,觉得太麻烦了,也许是我太懒了,而且我刷抖音只是想娱乐,这些教学内容对我很有用,但是我此刻不想看,于是就点了收藏,但是后来再也没有打开过了,可能我还是不够自律吧哈哈。

当时 openclaw(养龙虾)很火,于是我就每次把我的链接发给他,然后让他总结然后整理到我的电脑端的笔记里。

但是这样虽然整理了,但是我还是没有时间看,还是吃灰,我就让他转语音,转成播客的形式,每天在中午和睡前固定时间点推送给我,按照遗忘曲线给我推送,然后我每天晚上就是睡前放着音频,然后睡觉,音频放完我也差不多睡着了。一个月下来发现很有用,无痛学到很多东西了。


但是使用期间也有很多问题,包括音频质量不可控,经常报错,增大学习阻力,一直都是在聊天框中,没有单独的页面,所以当时就想着做一个 APP,但是一直搁置了。

后来偶然间看到这个比赛,决定用 TRAE 做一个这样的 APP,这就是【白日回声】的由来。

至于为什么叫白日回声,可能是白天的知识不断回响在耳边的意思吧,好吧其实是 AI 起的名字,我感觉还蛮有意境的就用了。

2.产品简介

2.1 是什么

白日回声形态为 ios App,帮助用户把收藏后长期吃灰的知识,转化成会主动回来的音频内容。

当下「娱乐内容」和「学习内容」出现在同一个推荐流里是冲突的。
我们刷短视频时通常只想放松,即使遇到真正有用的内容,也很难立刻切换到需要专注和思考的学习状态。于是顺手收藏,想着以后再看,最后收藏夹却长期吃灰。

白日回声是一款接住用户“想学但当下不想学”瞬间的 AI 知识回响 App。它不要求用户立即学习,而是先保存这份学习意愿,自动整理内容,再在通勤、做家务、睡前或早晨等更合适的时间,以音频形式重新送回来。

2.2 面向谁

  • 有自我提升意愿的用户。
  • 常刷抖音/小红书/B 站/公众号并收藏干货的人。
  • 已经有一点知识管理习惯,但坚持复习做不到的人。
  • 时间碎片化,想持续成长,但没有完整学习时段。

2.3 完整功能:

APP 完整流程为:采集内容 → AI 整理 → 生成笔记 → 音频回响 → 可视化沉淀

  1. 低成本采集
    粘贴分享链接后,AI 自动提炼重点、整理笔记并归入主题文件夹,省去手动摘录和分类。
    CleanShot 2026-08-06 at 23.44.46CleanShot 2026-08-06 at 23.47.30

  2. 音频回响
    笔记可以自动转成播客式讲解或独白音频(自动选择音色搭配 bgm),并根据遗忘节奏重新出现(即使一样的内容音频每次也不一样)。用户还可以设置在睡前或早晨自动播放。
    CleanShot 2026-08-06 at 23.45.37

  3. 知识积累可视化
    开屏动画会依次展示由过往积累形成的全局知识城,以及今天正在增长的知识地块。
    画面中 12 为累计天数,记录用户已经沉淀知识的总天数。
    开屏 1全局态 1
    每收藏或回响一段知识,就会落下一枚黏土方块。让原本看不见的学习成果变得直观、有成就感。
    CleanShot 2026-07-11 at 22.24.48

2.4相比初赛 Demo 的升级

初赛版本主要是一个用于展示产品想法的 Web Demo,只能在电脑浏览器中体验,笔记和音频也都是提前准备好的素材。复赛期间,我将它重新做成了原生 iOS App,主要完成了以下升级:

  1. 产品形态升级:从电脑端 Web Demo 变成可以在 iPhone 上运行的原生 App,重新适配了页面、手势、震动反馈和系统交互。
  2. AI 链路跑通:从预置笔记和音频,升级为真实的“粘贴链接 → 解析内容 → 生成笔记 → 自动分类 → 生成播客”流程。
  3. 回响体验完善:新增后台播放、锁屏控制、字幕、倍速、断点续播、定时提醒,以及“记住了”“明天再听”等反馈功能。
  4. 知识城重新制作:将初赛的网页 3D 效果重做为实时渲染的原生动画,并让新增笔记和听完回响真正转化为知识方块。
  5. 完整性与稳定性提升:加入任务进度、异常重试、后台恢复、数据保存和新手引导,使产品不再只能演示一次,而是能够持续使用。

3.产品演示视频:

https://pcnqhd92tl78.feishu.cn/wiki/P49Kwa1i5i6ZZUkWNuZcgkvgn6e

4. 产品创作历程

灵感来源的话在最开始的自我介绍里已经说了。

其实我一大半的时间都花在了 UI 和动效上面,我已经忘了改了多少版本了。我认为有一个好看的皮囊能增大用户对学习软件的接受度,本来学习已经很痛苦了,不好看的 ui 只能让我懒得打开。

其实我前面想了很久知识应该以怎么样的形式积累,怎么可视化,让学了多少直观的展现出来,本来想用热力图,但是感觉太平庸了,设计了很多版,最终敲定了使用现在这个立体的粘土质感知识方块的形式,就这一个方块的质感我最起码调了一周多。


动效的制作也是煞费苦心啊。
开屏 1文件夹生成笔记全局态 1播放器

技术的话说实话具体实现原理我不是很懂,全是由 trae 自行完成的,我只是一点点的告诉他应该怎么改,逐步实现我心中所想到样子。

好吧其实可能我就是很肤浅的一个人哈哈,喜欢好看的界面,感觉会让人心情愉悦。

5.TRAE 实践过程:

5.1 前期规划文字工作:

{"region":"","traceId":"e2e6062bda8a86c9ef34b65f0a990553","userId":"duanzhiran","chatSessionId":"6a32a520668d2335136f611f","replyToMessageId":"6a32a61671766c133349c58f","messageId":"6a32a616668d2335136f6150","createTime":"2026/6/17 21:50:14","modelName":"openrouter-3o","status":"completed","ppeEnvName":"","appName":"Trae CN","isAutoMode":false,"callModel":"openrouter-3o","isMaxMode":true,"agentProcessSupport":"v3"}

5.2 UI 设计:

{"region":"","traceId":"5fc270d94c9125a7bcb0958ae4ae9608","userId":"duanzhiran","chatSessionId":"6a32a520668d2335136f611f","replyToMessageId":"6a37e70b4f805b19edcee165","messageId":"6a37e70ba0dabeff23217ab5","createTime":"2026/6/21 21:28:43","modelName":"openrouter-3o","ckgStatus":"success","hasWorkspace":false,"hasFolder":false,"status":"wait-ai-response","ppeEnvName":"","appName":"Trae CN","isAutoMode":false,"callModel":"openrouter-3o","isMaxMode":true,"agentProcessSupport":"v3"}

5.3 移植 iOS:

{"region":"","traceId":"5085cad80607208ba1e214d7335e665d","userId":"duanzhiran","chatSessionId":"6a608d49c358a6cb064043df","replyToMessageId":"6a6214ac4136fa992e7e1c7e","messageId":"6a6214adc358a6cb06404be5","createTime":"2026/7/23 21:18:37","modelName":"gpt-5.6-terra","ckgStatus":"success","hasWorkspace":false,"hasFolder":false,"status":"completed","ppeEnvName":"","appName":"Trae CN","isAutoMode":false,"callModel":"gpt-5.6-terra","isMaxMode":false,"agentProcessSupport":"v3"}

5.4 实现原生 ios 组件


CleanShot 2026-07-26 at 01.30.43

{"region":"","traceId":"0cfe17ae4814a30e8dd2e23056a6e069","userId":"duanzhiran","chatSessionId":"6a609a76c358a6cb0640457f","replyToMessageId":"6a642bc6f10f74e47ffebbe1","messageId":"6a642bc648a244f6faf813e8","createTime":"2026/7/25 11:21:43","modelName":"gpt-5.6-sol","ckgStatus":"success","hasWorkspace":false,"hasFolder":false,"status":"completed","ppeEnvName":"","appName":"Trae CN","isAutoMode":false,"callModel":"gpt-5.6-sol","isMaxMode":true,"agentProcessSupport":"v3"}

5.5 后端:

{"region":"","traceId":"fa4d6fe1ee55fe0ad43c7103c655f009","userId":"duanzhiran","chatSessionId":"6a63816f48a244f6faf80f9b","replyToMessageId":"6a6af6a1ac20007e7a0d1c58","messageId":"6a6af6a131d43b876c7ba518","createTime":"2026/7/30 15:00:49","modelName":"openrouter-3o","ckgStatus":"success","hasWorkspace":false,"hasFolder":false,"status":"wait-ai-response","ppeEnvName":"","appName":"Trae CN","isAutoMode":false,"callModel":"openrouter-3o","isMaxMode":true}

6.技术方案分享

技术这部分说实话我不是专业的,我只能看懂一点 Python,Swift 基本都是和 TRAE 边做边学的。下面这些不是以后准备做的,而是我让 TRAE 按照现在真正跑起来的代码重新梳理的。

白日回声是完全原生的 iOS App,普通页面主要使用 SwiftUI,底部的 Liquid Glass 导航和部分系统交互使用 UIKit。开屏和知识城不是提前做好的视频或者 Lottie,而是由 Metal 实时渲染的。新增笔记和听完回响后,方块会真实落入 Today 区域,之后再沉淀到 Global 中,旋转、缩放、方块落地和震动反馈也都是真实交互。

音频部分接入了 iOS 原生播放能力,支持后台播放、锁屏和控制中心操作、倍速、字幕和断点续播。用户可以设置自己的回响提醒,点击通知就能直接进入播放;听完后选择“记住了”或者“明天再听”,结果也会回传给后端,参与下一次回响的排期。

后端则负责把一条链接真正变成笔记和播客。目前抖音链接已经完成了生产环境的完整验证,小红书、B 站、公众号和普通网页也已经接入了解析适配。大概的处理流程是:

iOS → FastAPI → TikHub 解析 → FFmpeg 提取音轨 → 火山 ASR 转写 → Qwen 3.7 Plus 整理笔记和分类 → 豆包生成双人播客 → FFmpeg 混合 BGM → 私有 TOS 存储

完整笔记会先生成并返回,音频则作为另一条任务继续处理,所以不用一直停在生成页面等待,音频失败也不会影响已经整理好的笔记。

后端使用 FastAPI 和 SQLAlchemy 开发,API、异步 Worker 和定时任务都部署在火山引擎,PostgreSQL 保存笔记、任务和回响状态,TOS 保存最终音频。另外还做了一套独立的运营后台,用来查看任务、错误以及管理模型、Prompt、音色和 BGM。

7.商业化和社会价值分析

白日回声的商业价值,不只是做一个收费的 AI 工具。它真正想占据的位置,是知识内容被发现之后的下一站。

我觉得它很像“知识版的音乐软件”。

内容平台负责让用户发现好内容,音乐 App 负责把喜欢的歌曲沉淀下来,变成可以长期收听的个人歌单。但是用户刷到一条真正有用的知识内容以后,现在通常只有收藏这一个去处,最后还是慢慢埋在不同平台的收藏夹里。

白日回声想做的,就是这些好知识的统一去处:把原本刷完即走的内容,沉淀成会持续回来的个人知识资产。

而且知识比音乐更需要这样一个沉淀池。喜欢一首歌,用户会主动再听;但一条知识内容即使很有用,大多数人也不会主动再看。所以白日回声不能只是把内容保存下来,还需要完成 AI 整理、音频转化、回响排期和再次送达。它不是另一个收藏夹,而是在补上“收藏之后,真正被再次吸收”的这一段。

这件事可以同时给用户、创作者和内容平台创造价值:

  • 对用户来说,原本分散和吃灰的收藏,会逐渐变成自己的知识库、笔记、音频和回响记录。使用时间越长,积累下来的个人知识资产就越多;
  • 对创作者来说,一条知识内容不再只在发布当天产生价值,而是可以在几天、几周甚至更久以后再次被听见,获得更长的生命周期;
  • 对内容平台来说,知识内容可以从一次性消费变成后续的再次激活,让真正有价值的内容不再随着推荐流一起消失。

单独看,收藏、AI 总结、播客和间隔复习都不是新功能。白日回声真正的门槛,是把它们连接成一条可以长期运行的完整闭环:

发现内容 → 保存意愿 → AI 整理 → 音频回响 → 用户反馈 → 再次出现

随着用户不断使用,白日回声会积累内容来源、个人笔记、收听记录以及“记住了”“明天再听”等反馈。它们不再只是一些孤立的文件,而是一份会不断增长的个人知识资产。未来也可以根据这些反馈逐渐形成更加个性化的回响节奏,让系统越来越适合每一个人的学习习惯。

C 端订阅跑通以后,第二条增长曲线是知识创作者。创作者可以把过去发布的视频、课程和专栏整理成持续更新的“每日回响流”,让内容不只在发布时被看见,也可以在之后不断回到真正需要它的人身边。再往后,这套能力也可以应用到企业内训、销售培训和组织知识回顾中。

如今时代,知识变得廉价,留住知识变得尤为重要,白日回声的社会价值,是降低普通人持续学习的启动门槛。它不要求用户在娱乐时强迫自己进入学习状态,也不要求用户依靠自律反复打开收藏夹,而是把内容送到通勤、运动、做家务等更适合收听的时间。

它缓解的不只是收藏吃灰,还有收藏越多带来的信息囤积焦虑,以及“好像收藏了就等于学过”的假象。让真正有价值的内容被再次听见,让已经花掉的碎片时间留下东西,这就是白日回声想创造的价值。

我们不和内容平台争夺用户时间,而是把用户已经花掉的时间,变成真正留得下来的东西。

8.产品迭代规划

目前处理视频时,主要依赖语音识别,把视频里的声音转成文字。对于访谈、口播和讲解类视频,这种方式已经可以覆盖大部分内容;但很多知识其实并不在声音里,而是在 PPT、图表、代码、字幕、操作步骤和画面演示中。

比如视频里只说了一句“可以看到这里的数据变化”,如果 AI 看不到画面,就不知道“这里”到底发生了什么。最后生成的笔记虽然语句通顺,但会漏掉最重要的信息。

所以后续会加入多模态理解能力:

  • 图片方面,支持直接导入截图、照片、PPT 和知识卡片,识别其中的文字、结构、图表以及图片真正想表达的内容;
  • 视频方面,在保留语音转写的基础上,自动识别镜头变化、抽取关键帧、读取画面文字,再把声音和画面放在同一条时间轴上理解;
  • 生成笔记时保留对应的原始画面和视频时间点,用户可以从笔记直接回到出处,而不是只看到一段无法验证的 AI 总结;
  • 生成播客时,把图表、操作过程和画面变化转述成适合收听的语言,让原本必须盯着屏幕看的内容,也能在通勤或者做家务时听懂。

完成这一步以后,白日回声就不只是“听懂视频里说了什么”,而是能够同时理解视频里说了什么、写了什么、展示了什么。这样无论用户收藏的是口播、PPT 讲解、软件教程、知识图表还是操作演示,都能得到更加完整的笔记和回响。

其他功能仍然会继续优化,但下一阶段最重要的事情,就是让白日回声真正拥有理解图片和视频的能力。

7 个赞

大佬…时隔近一个月我再来感叹一下。。。。。

2 个赞

那完了,收藏夹这种,那我一天就能盖一座东方明珠

3 个赞

完了,我抖音收藏的都是美女。

2 个赞

我去,这个工程化思维,学到了

2 个赞