【标题】生活娱乐 |能"陪读"的 AI 电子书阅读器-漫读LL

用 TRAE 做了一个能"陪读"的 AI 电子书阅读器-漫读LL

0. 先和大家打个招呼 :waving_hand:

我是一个18岁的ai爱好者

这次用 TRAE 把脑子里想了很久的「AI 陪读阅读器」做了出来,整个过程像和一个懂技术的朋友结对编程——我负责想清楚要什么,它负责把想法变成能跑的代码。

最让我意外的是:我没有任何 AI 应用开发经验,原以为"本地保存文件"“epub 解析”"流式对话"这些会很难搞,结果都是用大白话跟 TRAE 描述需求,它一步步帮我实现了。特别是当我遇到 epub.js 的章节定位 bug 时,TRAE 带着我一路 debug,从打印日志到定位根因,最终用 href 反查 spine index 绕过了官方库的 bug——那个瞬间我真的觉得「原来这么简单」。

1. Demo 简介

是什么 :一个单文件 HTML 的 AI 电子书阅读器,导入 epub 即可阅读 + 与 AI 对话。

面向谁 :喜欢读电子书、读小说时想随时找人讨论剧情、问"这段啥意思""这个伏笔埋在哪"的读者。

主要功能 :

  1. 三种阅读模式

    • 普通模式:纯阅读,无 AI
    • 跟随模式:AI 逐页陪读,自动总结已读内容,绝不剧透
    • 全知模式:AI 读完全书,可跳着问、查资料、讨论伏笔
  2. 本地书库 :导入的 epub 自动保存到桌面文件夹,一本书一个文件夹(含 epub 原文件 + 阅读进度 + 对话历史 + AI 知识库),关闭浏览器也不丢

  3. AI 个性定制 :可设置 AI 回答风格(幽默老朋友 / 文学教授 / 简洁直接…),还能一键获取 API 可用模型列表

2. Demo 创作思路

灵感来源 :读小说时经常想"这章讲啥来着"“前面那个伏笔埋在哪了”,但翻回去找太麻烦,又不想被搜索引擎剧透。希望有个 AI 能像读过这本书的朋友一样陪我聊。

想解决的问题 :

  • 现有阅读器只是"看",没有"聊"

  • 直接问 ChatGPT 会剧透,且不知道你读到哪

  • 想要一种"AI 跟我一起一页页读"的体验
    为什么做这个方向 :

  • "跟随模式"是这个产品的灵魂——AI 只知道你读过的内容,绝不剧透,这是通用 AI 办不到的

  • 用渐进式摘要(每 5-10 页自动总结)解决了"读多了 AI 会忘"的问题

  • 全知模式做对照:想查全书资料时随时切换

  • 单文件 HTML = 解压即用,零配置门槛

3. Demo 体验地址

manduLL.zip (6.7 MB)

使用说明:

  1. 点击一键启动
  2. 首次打开会提示选择书库文件夹(建议桌面新建一个"我的书房")
  3. 点击"+"导入 epub 文件,选择阅读模式
  4. 全知/跟随模式需在设置里填 OpenAI 兼容 API Key

4. TRAE 实践过程

开发流程

第一步:需求拆解 跟 TRAE 说了整体构想(epub 阅读器 + 三模式 + 本地保存 + AI),TRAE 帮我列出了 MVP 范围:先做核心阅读,再叠 AI,再做本地持久化。

第二步:阅读器骨架 用 epub.js 渲染 epub,配 Framer Motion 风格的封面动画、大厅书架、阅读器顶栏。这一步主要是 UI,TRAE 一次生成,我微调样式。

第三步:调试 epub.js 的 bug(踩坑) 翻页时章节名一直停在"第 1 节",进度卡在 2%。打印日志发现 epub.js 0.3.93 的 location.start.spineIndex 永远返回 0。TRAE 帮我写了 getSpineIndexByHref 函数,用 href 反查 spine index,绕过了官方 bug。

第四步:本地保存 用 File System Access API 选文件夹、IndexedDB 持久化目录 handle,每本书一个文件夹(epub + meta.json + chat.json + knowledge.json)。导入时弹文件夹选择,下次打开自动恢复。

第五步:AI 记忆系统

  • 全知模式:导入时调 AI 批量生成章节摘要(自动分批,短书 1 次调用搞定),问答时全书摘要 + 检索 top-3 相关章节全文

  • 跟随模式:翻页时自动累积原文,每 5-10 页调 AI 压缩成 150 字摘要,问答时所有摘要 + 当前原文

第六步:多格式支持(PDF/TXT)

  • PDF:用 pdfjs-dist 渲染,支持目录提取、封面生成、整页适配显示(按宽高取小值缩放,避免滚动)

  • TXT:自定义分页逻辑(按段落累积),章节正则检测(支持"第X章"、"Chapter X"等多种格式)

  • 发现扫描版 PDF 无法提取文字,决定 PDF 仅支持普通模式,不支持全知/跟随

第七步:功能完善与体验优化

  • 便签功能:选中文字可保存为便签,支持搜索、复制、双击跳转

  • AI 回复 Markdown 渲染:用 marked 库解析,支持加粗、列表、代码块等

  • 跟随模式优化:后台执行不显示 loading、摘要带页码范围、上下文不限制条数

  • 主题系统:light/dark/sepia 三主题,CSS 变量动态切换,内联样式预定义避免闪白

第八步:Web 版本(轻量分发)

  • 去掉 Electron,纯 React SPA,打包产物 6.5MB

  • 用 File System Access API 直接读写本地文件(限 Chrome/Edge)

  • 单窗口架构,大厅和阅读器在同一页面切换

  • 提供 一键启动.bat ,对方解压后双击即可运行
    第九步:规划后续

  • 增加 TTS 朗读、文生图等功能

  • 记忆系统进一步开发(跨书关联、长期记忆)

  • 考虑自动更新、多语言、单元测试等开源项目必备功能

关键步骤截图

提出需求


确定可能的bug

对接记忆模式思路

转为完整版

关键任务对话 Session ID

  1. 构建 epub 阅读器主体 + 三种模式的
    .4157679020545609:2ecc1563589d4d5b0b56402576883ecf_6a46a6655d378a3fffac30df.6a46a8c25d378a3fffac3136.6a46a8c2f169362f6e842e6a:Trae CN.T(2026/7/3 02:06:58)

  2. .4157679020545609:3d9e2e58ccb22e92a35672e06ea667bd_6a46a6655d378a3fffac30df.6a48020d8b5442ec20c1a5cd.6a48020d9a2715f0e29b10c9:Trae CN.T(2026/7/4 02:40:13)

  3. 调试 epub.js spineIndex bug 的 Session
    .4157679020545609:141e42303dcac717238073a836400a6e_6a46a6655d378a3fffac30df.6a46b0405d378a3fffac3211.6a46b03ff169362f6e842e73:Trae CN.T(2026/7/3 02:38:56)

  4. 设计并实现跟随模式渐进式摘要系统的
    .4157679020545609:28050a486bf4ff15b45d1faedd599ac0_6a46a6655d378a3fffac30df.6a47fabe8b5442ec20c1a45f.6a47fabe9a2715f0e29b10c0:Trae CN.T(2026/7/4 02:09:02)

5.mvp转正式版本
.4157679020545609:b0661ecc2c4c059964074c100e88d485_6a4f97c4f967e602b0e07176.6a4f9a48ac8553c469aa7458.6a4f9a489aee3f0b21d83b88:Trae CN.T(2026/7/9 20:55:36)

报名帖子 【生活娱乐赛道】漫读伴 — AI 陪你读每一个故事

仔细看了项目介绍,三种阅读模式的设计很聪明:跟随模式逐页陪读不剧透,全知模式可以跳着问,这比大多数AI阅读器只有“总结全文”要细腻很多。18岁能把epub解析、本地书库、流式对话这些串起来,说明你真的在用大白话跟TRAE把需求讲清楚了。

补充一个小建议:Demo入口可以放一个epub样例文件,评委不用自己找书就能直接进入跟随模式体验。

另外我们也在比赛里做了个《衍境》,偏互动影游智能体方向,有空欢迎来互评看看 → 【生活娱乐赛道】衍境 Demo:EvoMap 驱动的互动影游智能体创作系统