用 TRAE 做了一个能"陪读"的 AI 电子书阅读器-漫读LL
0. 先和大家打个招呼 
我是一个18岁的ai爱好者
这次用 TRAE 把脑子里想了很久的「AI 陪读阅读器」做了出来,整个过程像和一个懂技术的朋友结对编程——我负责想清楚要什么,它负责把想法变成能跑的代码。
最让我意外的是:我没有任何 AI 应用开发经验,原以为"本地保存文件"“epub 解析”"流式对话"这些会很难搞,结果都是用大白话跟 TRAE 描述需求,它一步步帮我实现了。特别是当我遇到 epub.js 的章节定位 bug 时,TRAE 带着我一路 debug,从打印日志到定位根因,最终用 href 反查 spine index 绕过了官方库的 bug——那个瞬间我真的觉得「原来这么简单」。
1. Demo 简介
是什么 :一个单文件 HTML 的 AI 电子书阅读器,导入 epub 即可阅读 + 与 AI 对话。
面向谁 :喜欢读电子书、读小说时想随时找人讨论剧情、问"这段啥意思""这个伏笔埋在哪"的读者。
主要功能 :
-
三种阅读模式
- 普通模式:纯阅读,无 AI
- 跟随模式:AI 逐页陪读,自动总结已读内容,绝不剧透
- 全知模式:AI 读完全书,可跳着问、查资料、讨论伏笔
-
本地书库 :导入的 epub 自动保存到桌面文件夹,一本书一个文件夹(含 epub 原文件 + 阅读进度 + 对话历史 + AI 知识库),关闭浏览器也不丢
-
AI 个性定制 :可设置 AI 回答风格(幽默老朋友 / 文学教授 / 简洁直接…),还能一键获取 API 可用模型列表
2. Demo 创作思路
灵感来源 :读小说时经常想"这章讲啥来着"“前面那个伏笔埋在哪了”,但翻回去找太麻烦,又不想被搜索引擎剧透。希望有个 AI 能像读过这本书的朋友一样陪我聊。
想解决的问题 :
-
现有阅读器只是"看",没有"聊"
-
直接问 ChatGPT 会剧透,且不知道你读到哪
-
想要一种"AI 跟我一起一页页读"的体验
为什么做这个方向 : -
"跟随模式"是这个产品的灵魂——AI 只知道你读过的内容,绝不剧透,这是通用 AI 办不到的
-
用渐进式摘要(每 5-10 页自动总结)解决了"读多了 AI 会忘"的问题
-
全知模式做对照:想查全书资料时随时切换
-
单文件 HTML = 解压即用,零配置门槛
3. Demo 体验地址
manduLL.zip (6.7 MB)
使用说明:
- 点击一键启动
- 首次打开会提示选择书库文件夹(建议桌面新建一个"我的书房")
- 点击"+"导入 epub 文件,选择阅读模式
- 全知/跟随模式需在设置里填 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
-
构建 epub 阅读器主体 + 三种模式的
.4157679020545609:2ecc1563589d4d5b0b56402576883ecf_6a46a6655d378a3fffac30df.6a46a8c25d378a3fffac3136.6a46a8c2f169362f6e842e6a:Trae CN.T(2026/7/3 02:06:58) -
.4157679020545609:3d9e2e58ccb22e92a35672e06ea667bd_6a46a6655d378a3fffac30df.6a48020d8b5442ec20c1a5cd.6a48020d9a2715f0e29b10c9:Trae CN.T(2026/7/4 02:40:13)
-
调试 epub.js spineIndex bug 的 Session
.4157679020545609:141e42303dcac717238073a836400a6e_6a46a6655d378a3fffac30df.6a46b0405d378a3fffac3211.6a46b03ff169362f6e842e73:Trae CN.T(2026/7/3 02:38:56) -
设计并实现跟随模式渐进式摘要系统的
.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)






