easy-Reader 更新日志
每个版本新增了什么、修复了什么。升级只需拉取新镜像并重建容器,书库和阅读数据会自动迁移。
修复
- AI 批量填充豆瓣找不到封面的书(套装、合集等)填充后没有封面。现在找不到时用书名和作者生成默认封面
- AI 填充需操作已经填充过、还没有封面的书,在书库页「导入与管理 → AI 填充」对话框点「为 N 本没有封面的书生成默认封面」一键补上(本地生成,不调用 AI)
- 封面豆瓣搜索结果里的作者条目不再被当成书,不会再把作者照片用作封面
- 手机扫描选项、AI 填充等对话框在手机上超出屏幕;现在收进屏幕内,表单标签改为在上方
新增
- 书库管理入口书库页标题旁新增「导入与管理」按钮(仅管理员),和搜索 / 筛选分开、不占地方;点开是「扫描导入」「AI 填充」(显示填充进度)和待办(待审核批次、AI 建议待确认),有待办时按钮带数字角标。原来顶部零散的两条横幅收进这里。书库还是空的时候展开成大卡片,引导第一次导入
- 阅读器(手机)顶栏只放返回、书名和章节进度,书名不再被按钮挤掉;目录、书签、听书、问书、夜间、设置移到屏幕底部的工具栏,与顶栏一起点屏幕中间显示 / 隐藏;「加入书架」「书籍详情」在阅读设置里
- 点击翻页原来只有墨水屏主题能「点屏幕左 / 右翻页、点中间呼出菜单」,现在所有主题通用,默认开启;不习惯可在阅读设置「点击屏幕」里改回「只呼出菜单」
- 阅读历史左侧菜单新增「历史」。在书库、书架或任何地方打开阅读过的书都会自动记下来,最近翻看的排在最前;点开从上次读到的位置继续。与书架(收藏)分开:可逐本移除或清空,不影响阅读进度和书架。升级后以前读过的书会自动补进历史。对外 API 新增
/api/v1/history - AI 批量填充每填充 500 本生成一批「待确认」,铃铛提醒去确认,后台继续填下一批,不用等全部填完再一次审核几千本。前面的批还没确认时,新一批合并进同一条提醒(如「AI 填充第 1–3 批有 1200 本待确认」),不会一批一条;全部确认完后提醒自动消失
- AI 批量填充AI 额度 / 余额用完(如 MiniMax 套餐每 5 小时重置)或密钥无效时自动暂停,铃铛提醒并显示已完成 / 剩余本数;额度恢复后点铃铛里或书库页「AI 填充」对话框里的「继续填充」,从停下的地方接着处理,不重新扫描文件。连续 10 本出错也会暂停,并撤销这一串「填充失败」标记
- AI 批量填充在待确认页采纳 / 忽略过、或在单本书页确认填充过的书记为「已审核」,以后批量填充(包括升级后重新填充)一律跳过,不会再出一遍待确认;要调整就在单本书页点「AI 填充」。点「重置全部填充记录」会连审核标记一起清掉,所有书重新参与批量填充。升级时会按操作日志给以前采纳过的书补上标记(以前点过的「忽略」没有记录,补不上)
- AI 填充与扫描分开「AI 填充」有单独的对话框:全书库填充进度、预估调用次数、「开始填充 / 继续填充」、两个重置按钮都在这里(高费用 AI 先弹费用提醒);「扫描选项」去掉「AI 批量填充」勾选框,只管扫描文件。有未处理的审核批次时也能直接做 AI 填充
- AI 建议待确认按填充批次分页显示;「采纳本批已勾选」超过 20 本时转为后台执行,可以离开页面,完成后铃铛提醒,失败的书放回列表
- 扫描审核审核模式下新书按每批最多 500 本拆成多个审核批次(同一本书的重复组、系列组在同一批),扫描完成后铃铛提醒去审核;多次扫描的待审核合并成一条,全部审核完后自动消失
- 铃铛新增「后台任务」通知(填充每批完成 / 暂停 / 完成、采纳完成、扫描待审核),可逐条标为已读;关闭「系统提醒」时有任务通知也会显示铃铛
修复
- 墨水屏手机 / 窄屏上纸张左右的黑框和滚动条贴着屏幕边缘显示成黑线,现已去掉
- AI 批量填充额度用完后任务不再继续往下跑,把剩下的书全部标成「填充失败」
- AI 建议待确认待确认的书较多时点「全部采纳」报错(一次提交超过 500 本 / 请求超时)
- AI 批量填充MiniMax 返回 HTTP 200 但带错误码(如余额不足)时,不再被当成「什么都没查到」并标为已填充
- AI 批量填充需操作之前因 AI 额度用完被误标为「AI填充失败」的书,升级后在书库页「AI 填充」对话框点一次「重置『填充失败』记录」,再点「开始填充」(上次是暂停状态时显示为「继续填充」)即可重新处理
- AI 建议待确认文件名与正文不符(错标)的书,认可 AI 判断采纳后书名没有改成正文书名。现在错标的书多一项「书名」建议(如《理智与情感》→《凡人修仙传》),勾选后采纳即改书名并消除错标提示;只改书库里显示的书名,文件不变
- 书籍详情需操作错标提示旁新增「改书名为《…》」按钮。升级前已经采纳过、书名还是文件名的错标书,打开详情页点一下即可改正
修复
- 书籍详情分类标签比同一行的格式、完结标签低一截
- TXT 目录以「第一回」「第二章」开头的正文句子不再被误认成章节标题(如鲁迅《社戏》「第一回是民国元年我初到北京的时候,……」);带问号、感叹号或结尾句号的真标题不受影响
修复
- 扫描去重同一本书的不同格式(如 epub 和 txt / umd)现在会被识别为重复——以前文件名里没有作者就不比对书名,不同格式的指纹又必然不同,两份都会入库。去掉书名号、「作者:…」后书名完全相同、作者一致或为空即判为同名重复(分卷、上下册不受影响);与指纹相同的重复组有交集时合成一组。审核卡片按依据标注「硬重复 / 书名相同」。
新增
- 阅读新增「墨水屏」阅读主题(阅读设置 → 主题):纯黑字白底,关闭所有动画、阴影和模糊;点屏幕左侧 / 右侧瞬间翻一屏(不滚动,减少残影),点中间呼出菜单,章节翻页模式下翻到章末自动进入下一章;设备的翻页键同样瞬间翻页
新增
- AI 填充批量 AI 填充改为「后台丰富 + 集中确认」:空字段且依据明确的结果仍直接写入,其余结果(修改已有内容、低置信、推荐标签、类似作品、改编作品)进入书库的「AI 建议待确认」页,可逐本或一键批量采纳 / 忽略;后台也会查改编作品(限速,避免频繁请求外部网站)
- AI 填充自动识别「文件名与正文不是同一本书」(如文件叫《三国演义》、正文却是另一部小说),在书籍详情、待确认页提示,书库搜索「错标」可筛出;这类书不会自动写入任何信息,可点「不是错标」忽略
- 改编作品新增「短剧」类型,豆瓣收录的微短剧会单独标出(按集数和年份推断,可点击链接核对);只在红果、抖音等平台上线、豆瓣未收录的短剧暂时查不到
- AI 填充升级后下次 AI 填充会把所有书重新处理一遍,生成待确认建议和错标判定;已有的作者、简介、分类不会被覆盖
新增
- AI 填充改为依据电子书自带的书目信息(EPUB / PDF / UMD)和正文开头来判断,不再只凭书名让 AI 回忆,冷门书、出版物、文集不再被填成无关的网络小说;单本 AI 填充预览里每个字段显示「依据明确 / 依据推断 / 低置信」和依据,低置信的建议默认不填入,批量填充也不会自动写入
- AI 填充使用 MiniMax 时,填充默认用低推理强度,单本由一两分钟缩短到几秒
- AI 填充升级后下次 AI 填充会把已填过的书重新处理一遍;已有的作者、简介、分类不会被覆盖,推荐标签和类似作品会更新为新结果
- 改编作品单本 AI 填充预览会从豆瓣影视、猫耳 FM 查找这本书改编的电影、电视剧、动画、广播剧,确认后显示在书籍详情页,可点击跳到来源核对;它们的海报 / 封面也可以选作书籍封面
- 多级分类分类改为「小说 › 网络小说 › 玄幻」这样的多级结构,书库按分类筛选时选上级即包含全部下级,并显示每个分类的书数;书籍详情页可直接修改分类,点击分类可查看同类书
- 多级分类设置 → 系统 →「分类」可编辑分类表(新增、改名、删除、恢复默认),改名会同步到已有的书;AI 填充只会从分类表中选择分类
- 多级分类需操作升级后旧版的单级分类(如「玄幻」「言情」「历史」)需要整理一次:到设置 → 系统 →「分类」点「整理」,AI 会给出新分类建议,确认后写入;整理前这些书无法按分类筛选到
修复
- AI 填充AI 偶尔把结果重复输出两遍时,填充没有任何结果(同样影响去重、系列识别、乱码判定等,乱码判定可能把正常的书误判为乱码)
修复
- 界面手机上书页右侧被截掉(「继续阅读」按钮和简介超出屏幕),现在按屏幕宽度显示,章节名过长时省略
修复
- 应用从桌面图标打开时改为进入上次读的那本书的书页(以前直接进阅读器,左上角返回按钮没有反应);从链接或新标签页直接打开阅读器时,返回按钮回到这本书的书页
新增
- 应用可以把简单书房安装到手机 / 电脑桌面(侧栏「⋯」→「安装到桌面」;iPhone 用 Safari「分享 → 添加到主屏幕」),点图标全屏打开并直接回到上次读的书;桌面上的名字跟随站点名称。服务器升级后页面底部提示「有新版本,点击刷新」;断网或连不上服务器时提示「没有网络连接」。需要通过 HTTPS 访问,HTTP 访问不受影响
- 部署可以使用自己的证书直接提供 HTTPS:在「设置 → 系统 → HTTPS 证书」打开「启用 HTTPS」(默认关闭),把
fullchain.pem、privkey.pem放进数据目录的certs/文件夹(替换后自动生效,可配合续签工具全自动更新)或在设置页上传;到期前 14 天提醒。本程序不申请、不续签证书 - 部署docker-compose 新增 HTTPS 端口映射
8443:3443;需要 HTTPS 的用户请在自己的 Compose 配置里加上这一行(不需要可以不加) - 界面新增应用图标,补上浏览器标签页上缺失的网站图标
修复
- 登录登录过期后重新登录,回到原来要打开的页面(以前固定回到书库)
新增
- 部署Docker 镜像同时提供 x86_64 和 ARM64(aarch64)两种架构,拉取时自动选择;ARM 处理器的 NAS、装 64 位系统的树莓派也能直接使用(32 位 ARM 不支持)
- 反馈侧栏「⋯」菜单新增「问题反馈」(官网留言板)和「提交 Issue」(GitHub)入口,所有用户可见
- 统计新增匿名使用统计,每天随更新检查发送一次随机实例 ID、版本线、版本号、CPU 架构,不含任何书籍和账号信息;可在「设置 → 更新说明」关闭,或设置环境变量
USAGE_STATS=off
修复
- 界面确认弹窗的按钮显示成英文 OK / Cancel,改为中文「确定 / 取消」;分页、空状态等组件自带的文字也统一为中文
新增
- 界面「晴空」主题改为「朱砂」(暖白底配朱红),与默认的靛青区分更明显;已选用晴空的不用重新设置,会自动变成朱砂
新增
- 系统系统提醒——侧栏铃铛提示管理员新版本与需要调整的设置(如 AI 模型下线),可在设置中关闭;设置页更新说明改为读取更新日志
- 界面全站界面风格统一:各页面统一页头、卡片、按钮与输入框样式;设置页改为顶部分段标签与分组卡片;登录、注册、修改密码页对齐;图标统一,去掉 emoji;深色主题阴影更柔和,烛光、冷月等亮主色主题上按钮文字改用深色,更清晰
- 界面侧栏用户区改为「⋯」菜单,「保持连接」「修改密码」「退出登录」都在菜单里
修复
- 设置AI 设置里清空「模型」等输入框后保存不生效(旧值仍保留)的问题;清空即恢复默认
- 设置MiniMax 仍保存着已下线的 MiniMax-M2 系列模型时,设置页 AI 区域会提示重新选择模型;调用被 MiniMax 拒绝(2069)时给出可读的报错
- 书库书籍详情页直接打开(没有上一页)时,「返回」回到书库;系列页加载失败时仍可返回
首个正式版本。
第三方客户端 API 与外网访问安全
- 系统开放 API,可自行开发手机 / 桌面阅读客户端:接口文档在站点的 /api/docs(项目中为 docs/api.md),涵盖登录续期、书库、书架、目录、章节、阅读进度、书签与阅读偏好;第三方客户端使用带版本的 /api/v1,保证向后兼容
- 阅读章节内容可按结构化格式获取(format=blocks:标题 / 段落 / 图片),App 不必解析 HTML 就能排版;进度位置与网页版一致,在手机和网页之间接着读不会错位
- 系统新增环境变量 CORS_ORIGINS(逗号分隔),允许运行在其他网址上的网页客户端跨域访问;原生 App 无需配置
- 安全首次用默认密码 admin123 登录后必须先修改密码,改完才能使用其他功能;已在使用的旧版本升级后,仍是默认密码的账号同样要先改。设置页会说明原因(书库、阅读进度不受影响),刚登录时输入的密码自动带入,只需填两次新密码;改密码后此账号在其他设备上的登录失效
- 安全所有用户都可以自己修改密码:侧栏「退出登录」上方的「修改密码」
- 界面修复「晴空」「素纸」主题下登录、注册页的卡片显示为深色,设置页与输入框的边框显示为紫色(这两个主题缺少卡片颜色定义,沿用了暗夜主题的值)
- 安全经反向代理访问时登录限流按真实 IP 计数(新增环境变量 TRUST_PROXY,一层代理填 1):原来所有人被当作代理的同一个 IP,一人输错密码多次会让所有人都无法登录;登录失败才计数(注册仍每次都计数),令牌续期单独限流,多台设备同时使用不会被误限
多层目录、漫画阅读优化与阅读器加入书架
- 阅读多层目录可折叠:套装 EPUB(如《吴思历史经典三部曲》)按原书目录分成「书 → 部分 → 篇」,原目录没有分册、只在「总目录」页列出各册的套装(如《新中国70年长篇小说典藏》50 册)按总目录分册,漫画 EPUB(如《名侦探柯南》)分成「卷 → 话 → 各页」,TXT 按「第 X 部 / 第 X 卷」分组;点箭头展开或收起,点标题跳转,打开目录时只展开当前章节所在的那一支;倒序时同一层内倒序。单层目录的书不变
- EPUB漫画 / 图片 EPUB 显示优化:图片不再撑出阅读区(覆盖书中写死的宽高),纯图片页整页缩放到一屏内居中显示,去掉没有标题的页上方的标题区,瀑布流中连续的漫画页之间只留窄缝;阅读设置中可选「适合高度」(一屏一页)或「适合宽度」(铺满纸张宽度、上下滚动看,可配合页面宽度放大)
- 阅读阅读器可直接加入书架:右侧工具栏(手机在顶栏)新增书架按钮,点击加入,已在书架时高亮,再点移出
- TXT修复网页抓取的 TXT(如《水浒传》)每回标题写了两遍、目录变成两倍且出现只有标题的空章:同一编号的标题之间没有正文时合并为一章,正文开头重复的标题只显示一次
- TXTTXT 第一章前的书名 / 作者 / 简介中,盗版站推广(网址、「更多小说尽在…下载」、分隔线)不再显示;章节正文保持原样
- 书库书库「书名(A→Z)」改为按页面上显示的书名排序:《三国演义》(精校版全本)作者:罗贯中 这类文件按「三国演义」排,不再因书名号、括号说明排到一起
- 阅读PDF 逐页显示打开更快:不再先解析全书文字,打开时只读页数;AI 问书、听书需要文字时才按页提取
- 书库书页判断「是否已在书架」只查这一本,书架很大时书页打开更快
- 以下为引入版本号之前的更新,按日期记录
听书、AI 前情提要与问书、阅读器改版
- 界面新增默认主题「靛青」:浅灰底、白色卡片、靛蓝主色,更现代简洁,侧栏换用统一的线条图标;原有五个主题仍可在「网站主题」中选择(已保存过主题的站点保持原设置)
- 界面界面精简:书库「AI已填充」改为封面角小圆点,手机端书库顶部压缩为两行;书页显示干净的书名、书架状态与「继续阅读 · 章节」;书架整行点击继续阅读;深色主题下按钮与下拉框统一为深色;图标不再依赖 emoji
- 阅读听书不再依赖 MiniMax:未开启 MiniMax 听书时,阅读器的听书按钮也会显示,改用浏览器自带语音朗读,段落高亮、自动翻章、语速、定时停止等功能相同(浏览器语音在手机锁屏后可能停止);使用 MiniMax AI 语音时,听书按钮右下角显示「AI」角标以示区分;「AI 设置」中注明 AI 语音目前只支持 MiniMax
- 阅读新增「听书」(MiniMax 真人感语音):在「AI 设置 → MiniMax」中开启并选择模型与音色后,阅读器出现听书按钮;从当前位置开始朗读,正在念的段落高亮并自动滚动,章末自动进入下一章;底部播放条可暂停、切段、调语速(0.8–2 倍),支持定时停止(15 / 30 / 60 分钟或本章结束,音量渐弱);手机锁屏、切到后台可继续播放,锁屏界面和耳机按键可控制;合成过的段落缓存在 NAS 上,重听不再花费
- AI阅读器新增 AI「前情提要」:隔 3 天以上再打开一本书时提示「上次阅读是 X 天前」,点「AI 回顾前情」概括最近 3 章到当前位置的情节;工具栏随时可调出,同一位置的结果会缓存,不重复花费
- AI阅读器新增 AI「问书」:在右侧对话面板里问人物、事件、伏笔,可连续追问;只根据当前位置之前的内容回答,不剧透,回答附参考章节。先在本地检索已读章节里的相关片段,只把片段发给 AI,费用可控
- 阅读阅读设置新增「字间距」滑块(0–5px),与字号、行高一样拖动即时生效
- 阅读阅读器换新样式,与网站「靛青」主题统一:默认阅读主题「靛青」(浅灰底 + 白色卡片纸张,正文默认 Noto Serif SC 20px),章节标题左对齐并标出「第 N 章」、书名、作者与本章字数;顶栏下滑自动隐藏、上滑出现,并显示全书进度条;右侧胶囊工具栏(目录 / 书签 / 书详情 / 夜间 / 设置,手机上在顶栏右侧);章末上一章 / 目录 / 下一章。目录改为左侧抽屉:当前章节高亮并自动滚到可见处,已读章节显示为浅灰,可倒序;书签并入同一抽屉,可添加、跳转、删除。之前选过「护眼绿」的会自动改为「靛青」
- 阅读阅读器支持键盘:← / → 翻章,↑ / ↓ 与空格按屏翻页(翻页后保留上一屏最后的完整行,阅读不脱节),B 加书签;去掉右下角重复的书签按钮
- 书库单本 AI 填充改为先预览:可修改简介等信息、增删标签和类似作品,从多张豆瓣封面或按分类风格生成的默认封面中选择,确认后才保存;预览时不再覆盖已锁定的字段
- 阅读PDF 「阅读器逐页显示」模式(原「插件解析」)改为按原版逐页显示,封面图片、字体与排版和原文件一致;支持章节翻页 / 瀑布流、阅读进度与书签,手机上按屏幕宽度自适应
- 阅读PDF 默认改为「阅读器逐页显示」(安卓等手机浏览器无法内嵌显示 PDF);管理员在设置中手动关闭过的保持浏览器原生打开
- EPUB修复部分漫画 EPUB 第一页封面空白的问题(SVG 方式引用的图片此前未能加载)
- AIMiniMax 跟进官方接口变更:默认模型改为 MiniMax-M3.1-Flash(MiniMax-M2 已下线,未填写模型时 AI 填充会失败),接口地址改为 api.minimax.cn
- AIMiniMax 新增「推理强度」设置(仅 MiniMax-M3.1-Flash 生效):调低可明显加快 AI 填充并减少消耗
- AIDeepSeek 默认模型改为 deepseek-flash(旧名 deepseek-chat 已不在官方模型列表中),新增「思考模式」设置:默认关闭,速度与费用和之前一致,可按需开启并选择强度
- AIOllama 新增「思考模式」设置:默认关闭,qwen3、deepseek-r1 等支持思考的模型不再默认先思考,AI 填充明显更快;调用失败时显示 Ollama 返回的原因(如模型未下载、模型不支持思考)
- 系统EPUB 解析依赖的 adm-zip 升级到 0.6.1,修复恶意 ZIP 文件导致内存耗尽等安全漏洞
安全加固、阅读修复与性能优化
- 安全访问令牌与刷新令牌区分用途,刷新令牌不能再直接调用接口(升级后需重新登录一次)
- 安全用户被删除或角色变更后立即生效,无需等待令牌过期
- 安全系统设置接口仅管理员可访问,且不再返回各用户的个人阅读设置
- 系统修复"不能删除自己的账号"校验失效的问题
- 安全修复扫描批次预览接口可读取书库目录外任意文件的问题,并改为只读取文件开头
- 书库封面抓取不再生成调试文件,封面目录仅对外提供图片
- 阅读瀑布流模式书签记录章节内位置,点击书签可准确定位并继续加载后续章节
- 阅读章节模式记住章内阅读位置:按段落定位,改字号、页面宽度或换设备后仍能回到原处,直接关闭页面也会保存
- TXT修复无章节标题的 TXT 按固定字节分段时把汉字切断导致段首段尾乱码的问题,分段改为对齐到行首
- AIAI 填充只读取 TXT 开头部分并按实际编码解码,GBK 等编码的书不再给 AI 传入乱码,批量填充内存占用大幅降低
- 阅读阅读器解析缓存增加上限并合并同一本书的并发加载,长时间运行不再持续占用内存
- 阅读PDF 使用浏览器原生打开时不再在后台完整解析整本 PDF,打开大 PDF 明显更快
- 书库扫描清理已删除文件、删除书籍或用户时,同步清理书架、进度、书签等关联数据
- 书库修复问题书籍页「仅删书库记录」实际会删除磁盘文件的问题,现在会保留文件;并补充重复关联、影响书架时的确认提示
- 书库扫描时若某个子目录临时读取失败(如 NAS 网络抖动),其中的书不再被当作已删除而清理
- 书库修复扫描审核中先调整(更换正本 / 剔除)再点「接受」会丢失调整内容的问题
- TXTTXT 编码修复改为原子写入(先写临时文件再替换),中途中断不会截断原文件,并保留原文件权限与所有者;修复后不再在下次扫描时被重复处理
- 安全扫描审核只能在扫描结果范围内调整,阅读接口只读取书库目录内的文件,防止书库外文件被当作书籍读出
- 安全管理员重置用户密码后,该用户此前登录的所有设备立即失效
- 系统依赖安全更新:修复 DOMPurify、Express、Vue、Axios 等已知漏洞(均为兼容升级)
- 界面修复书架「最近阅读」、书签、用户列表、审计日志等处时间显示相差 8 小时(Safari 下显示 NaN)的问题
- 书库扫描导入支持 UMD 格式(此前阅读器支持但扫描时会被忽略)
- 阅读修复网络较慢时快速切章、或瀑布流后台加载时跳章,页面显示成错误章节的问题
- 安全断网、服务器临时故障或请求过于频繁时不再把用户踢回登录页,网络恢复后可继续使用
- 书库书库切换分类时回到第 1 页,不再因停留在不存在的页码而显示为空
- 书库原书文件删除后,它的重复书自动恢复为普通书籍,不再被永久隐藏;重复书内容变化后不再残留旧的重复关系
- AIAI 统一章节标题失败时保留原有结果,只替换成功的部分;同一本书同时运行不再报错
- 系统为书籍文件路径建立索引,书多时扫描批次应用更快;邀请邮件内容转义并校验链接格式
- 界面手机端优化:书库改为每行两本、搜索栏不再超出屏幕;阅读器正文在窄屏下占满宽度(每行由约 12 字增至 19 字)
- 安全普通用户不再看到书籍在服务器上的文件路径;阅读接口出错时不再回显内部路径;只能为书库中存在的书保存进度和书签
- 系统后端依赖大版本升级:zod 3→4、nodemailer 6→10;移除 uuid 依赖改用 Node 内置 crypto.randomUUID
- 书库审核模式:「非重复,加入书库」的判定会被记住,已标记的乱码书不再重复提交审核,书库无变化时扫描不再反复产生待审核批次(可在「手动规则」中撤销判定)
- TXTTXT 第一个章节标题之前的内容(书名、作者、简介、前言等)现在显示在第一章开头,此前这部分无法阅读;章节划分与书籍指纹保持不变,无需重新扫描
- 安全邀请码改用安全随机数生成;阅读设置保存时校验格式与大小
- 界面Element Plus 改为按需引入,首屏 JS 由约 1.2MB 降至约 160KB,页面打开更快
- 阅读瀑布流模式滚动处理节流,并最多保留 8 章内容,长时间连续阅读不再越来越卡
- TXTTXT / PDF / UMD 正文中的 <、>、& 等字符不再被误当作标签而丢失
- 书库书籍指纹算法升级(v2),升级后首次扫描会重建全部指纹,耗时会比平时长
- 系统移除未使用的后端依赖(multer、node-fetch、winston)
扫描导入重做与 AI 批量填充
- 书库扫描导入重做:可选「暂存审核 / 自动写入」,自动识别重复书籍并分组、自动清理磁盘上已删除的书、从文件名提取作者;普通扫描即为快速增量同步,无需重建指纹
- AI新增 AI 批量填充书籍信息(作者、简介、分类、推荐标签、封面),支持失败重试与「重置全部填充」重跑;AI 填充并入扫描流程
- AI新增豆瓣评分:AI 填充时自动抓取,书库封面角标与书籍详情页显示评分,并支持按评分排序
- 书库搜索框支持关键词筛选:输入「重复」查看重复书籍、「ai填充」查看已填充、「填充失败」查看失败;搜索框旁新增「?」用法说明
- 界面书籍详情页新增推荐标签与「类似作品」(本库已有的可直接跳转),并修复类似作品链接跳转到错误书籍的问题
EPUB 与 TXT 阅读增强
- TXT修复 UTF-16 编码的 TXT 小说打开后乱码的问题,并将编码自动识别的采样范围扩大至 64KB,提升 GBK/中文文件的识别准确度
- EPUB漫画/图册 EPUB 自动切换全页流模式,不再跳过无 TOC 标题的页面(如柯南全 1457 页均可阅读)
- EPUB支持 EPUB 内嵌图片显示,图片通过独立 API 端点从 EPUB 包中提取并返回浏览器
- EPUB修复 EPUB 章节内链接点击后跳转错误(内部 href 现映射至正确章节索引)
- EPUB修复 EPUB 章节内容无法加载的问题(TOC id 与 flow id 不匹配导致 File not found)
- 阅读瀑布流模式:章节内容较短时自动预加载后续章节,确保从首章即可流畅下翻
书库与封面优化
- 界面优化书库封面图片加载与样式展示
- 书库扫描导入时自动清理已删除文件的数据库记录
登录认证重构
- 安全重构登录 Token 处理,优化反馈功能