Repository navigation
Releases
NextVol 0.2.0
NextVol 0.2.0
0.2.0 是一次以听书为重点的大版本更新:支持导入 MultiTTS 在线与离线音源,为旁白、对话和人物分配声音,并按书保存听书方案。同时补齐文本处理、音频调节、背景音乐和诊断能力,改善阅读设置、分类筛选及数据保存。
版本特性
- 在线与离线听书:导入 JSON、ZIP、YAML 音源及配置包,预览后选择安装;支持多种专用在线服务与内置离线后端。
- 多角色配音:分别选择旁白和对话声音,使用角色规则、人物分析和声音池,为同一本书中的人物保持稳定配音;语言规则可自动切换相应声音。
- 按书听书方案:创建、复制和编辑方案,为不同书籍绑定声音、规则、朗读参数与背景音乐,也可跟随默认方案。
- 更完整的播放控制:统一语速、音量、音调设置,支持流式解码、Sonic/SoundTouch 音频处理、背景音乐,以及按实际播放时长或章数停止。
- 阅读与维护改进:重新整理分类书单和筛选面板,修复主题页返回、设置保存顺序、排版规则更新及导出历史问题,并接通 NextVol 正式更新分发。
Changelog
- 音源与引擎:加入 MultiTTS 包导入、在线专用协议、离线模型安装、独立引擎配置、发音人编辑、批量管理和排序。
- 文本与选声:加入两阶段替换、对话识别、人名发现与分类、角色匹配、语言选声、声音池和文本人物分析,朗读高亮与续听继续对应原文。
- 方案与播放:按书保存听书配置,支持试听后返回原书、背景音乐、朗读标记、段间停顿、流式播放和会话内合成器复用。
- 阅读与数据:改善分类筛选和阅读设置往返,修复快速保存覆盖、旧字体清理、排版规则残留与列表不更新,以及并发导出的历史记录丢失。
- 更新与工程维护:应用更新迁移到 Nextvol api/GitHub 正式渠道,移除上游统计服务,完成 TTS、书源、下载与设置的多轮职责整理。
展开完整 Changelog(按主题归纳)
音源包导入与离线听书
- 统一 JSON、ZIP、YAML 导入入口,支持预览 MultiTTS 引擎、发音人、资源与配置;预览和导入只处理数据,不执行包内脚本或请求语音服务。
- 离线声音可安装到应用目录,用于试听和正文听书。重导入更新资源修订并保留用户编辑,声音副本共享模型,使用中的资源在播放释放后再回收。
- 接入 Sherpa 的 VITS/Piper/Melo/Coqui、Matcha、Kokoro、Kitten,以及 eSpeak、百度、微软、搜狗、讯飞、三星、Vocalizer、Acapela、CereProc、Google、Lark、VCS、微信读书、小米、字节和固定音频适配。
- Sherpa、ONNX Runtime 和 eSpeak 的相关运行能力从源码构建;其他所需运行库随安装包提供,声音模型仍由用户导入的语音包提供。
- 修复字节包中部分声音模型与公共资源目录不一致的问题;按音源实际使用的后端、系统版本、架构和内存页面大小判断设备可用性,并显示具体原因。
- 支持导入替换、角色和声音池配置,选择合并或替换;保留外部声音引用,可先导入配置再安装相应音包。离线配置更新保留已有模型及适用的用户编辑。
相关 PR:#797、#798、#802、#829、#856、#887。
在线服务、引擎与发音人管理
- MultiTTS HTTP 包支持表达式、脚本、GET/POST、动态请求头和正文、超时及 Base64 音频;参数绑定覆盖发音人、文字、语速、音量与扩展控件。
- 接入 Microsoft Translator、Edge、Google 翻译、火山翻译、Gemini、讯飞配音、配音呀,以及 Vivo、BDoTTS、MscTTS、Azure、豆包、Clipchamp、呱呱、Speech Studio、ReadSpeaker 等专用在线协议;补齐 Microsoft 声音的在线订阅模式。
- 对齐引擎参数和发音人编辑;支持独立引擎配置、新建发音人、声音编辑/复制/启停、头像与扩展控件,以及按引擎分页和字段搜索。
- 声音列表支持原地多选、拖动排序、批量删除和加入声音池;筛选中的排序保留隐藏声音的位置,排序本身不打断播放。
- 包提供网页登录配置时,可完成登录并把结果回填编辑草稿。声音目录仅在手动刷新时联网,过期刷新结果不会覆盖后来编辑的配置。
- “过滤语言”用于 Azure/Clipchamp 在线目录刷新,不再隐藏已经保存的声音;“隐藏参数编辑框”“隐藏拓展UI编辑框”和“检查网络”与实际编辑、合成入口保持一致。
- 不支持 Fish 镜像、搜狗在线、纳米 AI 和 Filmora 的对应专用包;这些开发期间评估过的适配未纳入本版支持范围。搜狗离线及通用 HTTP 能力保留。
相关 PR:#831、#833、#834、#847、#848、#849、#886、#888、#890、#905、#909。
文本处理、多角色配音与人物分析
- 接入两阶段替换:先处理整段结构,再进行普通纠音。变长替换、删除和捕获组重排后,正文高亮、跳段、失败定位与续听仍使用原文位置。
- 识别跨行对话、人物标记与上下文,提供句长、英文分离、表情等文本处理设置;规则管理支持搜索、分组、启停、排序及预览。
- 逐段选择实际声音,支持旁白/对话单选或多选,并可在系统、HTTP 与离线声音之间切换;缺失声音或角色规则错误可定位到对应配置。
- 角色管理支持文本、角色与语言规则,提供分组、搜索、拖动和编辑。启用语言规则后自动进行语言识别,可选择 Optimaize 或 Media Pipe,无需单独开启检测。
- 内置 NER 人名识别、Ngr 姓名分类和新词发现,提供人物分析测试;姓名回退正则在隔离进程执行,支持取消与超时。
- 声音池按人物分配声音并保存配对,人工绑定优先;人物与别名可共用配音身份,新增候选不会重新打乱已有配对。
- 文本人物分析可读取本书已缓存正文、补齐全书后分析,或从普通设置入口选择 TXT;支持核对候选、修改姓名和性别、合并别名,确认后保存到目标方案。
相关 PR:#803、#830、#832、#836、#837、#838、#839、#840、#844、#851、#853、#891、#903。
按书听书方案与设置组织
- 在“听书设置 → 朗读设置 → 听书方案”管理方案,支持新建、复制、重命名、删除和设为默认;书内入口可跟随默认、绑定指定方案,或复制当前方案供本书使用。
- 声音选择、替换规则、角色、声音池、文本/音频参数与背景音乐选择归方案;音源、引擎、模型和音乐文件共享,人物配音按书籍和方案隔离。
- 编辑其他方案不会重新合成当前书籍。切换当前方案时清理旧计划与预合成音频,按原文位置继续,并保留暂停意图和睡眠计时。
- 统一听书首页和设置行样式,播放设置按功能分组;朗读设置集中提供语速、音量、音调三个滑条,统一合成参数与公共音频处理的职责。
- 修复试听非默认方案时误用默认方案背景音乐的问题,试听期间的音乐设置修改仍即时生效。
相关 PR:#795、#861、#893、#895、#897、#899、#908。
音频、定时、背景音乐与播放稳定性
- 在线、离线与音效输出共用音频处理链,提供 Sonic/SoundTouch、最低采样率和静音检测;避免在合成器与公共处理层重复应用声音参数。
- “流式解码”允许支持的在线后端边接收、边解码、边播放,减少完整音频下载前的等待;默认关闭,可继续使用完整文件播放。
- 支持
[[PAUSE:毫秒]]、[[SPEED:倍率]]、[[PITCH:倍率]]、[[VOLUME:倍率]]朗读标记及段间附加停顿,保留原文定位。 - 背景音乐可导入本地文件、多选曲目并独立调节音量;跟随听书暂停、停止、音频焦点和定时结束,音乐调整不重新合成正文。
- 定时支持按章数停止,以及 10/30/60/90 分钟或自定义时长。时长只累计正文实际播放,暂停、缓冲、合成和临时试听期间冻结。
- 临时试听结束或普通失败后返回原书;重新打开已暂停的听书面板保持暂停,后续启动采用最新设置。优化刷新和加载期间的控件稳定性,简化底栏播放操作。
- 多角色切声复用会话内合成器,同模型的 Sherpa 声音可共享模型实例;停止、淘汰及资源清理继续等待正在使用的任务释放。
- 修复 HTTP 试听连接清理触发主线程网络异常,以及快速跳段/切书后隔离脚本进程未完整关闭、导致后续合成失败的问题。
- 增加听书诊断日志,记录实际文本处理、规则命中、配对和选声结果,支持查看、清空与导出。
相关 PR:#752、#761、#763、#773、#774、#777、#778、#779、#850、#852、#855、#857、#858、#859、#862。
阅读、分类与数据保存
- 未保存对应偏好时,分页阅读默认开启点击翻页和快速章节切换;已保存的开关值继续生效。
- 从“主题与纸张”返回时恢复原阅读设置面板、标签、滚动位置与展开状态。
- 分类书单重新整理封面与文字层级,筛选收进底部面板;修改先保存在草稿中,应用时一次刷新,取消不提交。统一移除书籍条目的常态灰底。
- 修复书源“绕过 VPN”保存时全局进度提示造成的页面跳动。
- 普通设置按同一路径的提交顺序逐次保存,避免较早操作晚到并覆盖新值;页面退出后已接受的写入继续完成,过期字体清理不会清空后来选择的字体。
- 修复覆盖恢复备份后旧排版规则残留,以及规则增删、修改后分组与列表不更新的问题;文本处理读取一致的规则快照。
- 修复多本书同时导出时完成历史互相覆盖,完成观察在任务终态及时结束;移除或清空的旧卡片不会被迟到读取恢复。
相关 PR:#751、#755、#756、#760、#764、#921、#932、#947、#951。
更新分发、内部整理与语言支持
- 应用内更新改用 Nextvol api(默认)和 GitHub,仅识别 NextVol 正式应用版本;下载后校验 SHA-256、包名、版本及安装签名,运行库组件 Release 不参与应用更新。
- 正式 Release 自动同步到网站分发;修复检查失败后的旧结果、检查与下载并发、下载错误提示和通知权限处理。
- 移除上游 Matomo 统计及旧服务入口,源码、反馈与许可证入口指向本项目,保留上游来源与许可署名。
- 分离 TTS 的声音操作、编辑草稿、共享引擎、引用维护、离线安装、配置解析与片段生产;明确界面、业务编排、存储及资源生命周期的职责。
- 整理书源的登录交互、导入提交、搜索与发现列表解析,收窄存储、网络及脚本执行依赖;保持来源授权、隔离执行和导入不执行脚本的边界。
- 分离下载资源文件操作、详情目录浏览状态及排版规则算法;补充配置字段与调用链文档,并调整构建环境和缓存复用。
- 界面语言保留简体中文、繁体中文和英文,停止维护俄语本地化;俄语音源及其合成能力保留。
相关 PR:#608、#767、#768、#769、#770、#801、#828、#846、#916、#917、#918、#919、#920、#928、#929、#930、#931、#936、#937、#938、#942、#943、#944、#948、#952。
展开完整 PR 记录(91 项,含本次发布配置)
以下为 v0.1.1 标签之后纳入本次版本的 PR,按编号排列,包含文档与构建维护。标题保留开发记录;开发中后来调整或撤销的功能,以本页版本特性和分类 Changelog 描述的最终行为为准。
- #608 fix: 迁移 NextVol 正式更新并移除上游服务
- #748 docs(release): 保留 0.1.1 的 Changelog 与折叠记录
- #751 fix(sources): 修复绕过 VPN 保存时的页面跳动
- #752 fix(tts): 保留刷新结果以稳定听书设置布局
- #755 feat(reader): 默认启用分页点击翻页和快速章节切换
- #756 fix(reader): 从主题页返回时恢复阅读设置上下文
- #760 fix(ui): 统一去除书籍条目的常态灰底
- #761 fix(tts): 修复 HTTP 音色试听连接清理导致的主线程闪退
- #763 fix(tts): 简化听书设置底栏播放控制
- #764 feat(ui): 重塑分类书单布局与筛选交互
- #767 refa...
Embedded speech runtime v4
Complete runtime manifest merging the existing v2 and v3 offline backend coverage, including ByteDance, Vivo and Baidu.
All 48 native libraries are byte-for-byte identical to the libraries already packaged in v3; all 46 libraries from v2 are also unchanged. No vendor library bytes were modified. The manifest now lists every packaged library with its SHA-256 and retains the source APK SHA-256. Runtime license metadata is unchanged, and native libraries supplied by the official Microsoft SDK AAR are not duplicated.
- Archive:
offline-runtime-arm64-v4.zip - SHA-256:
0562b1854da1f4e0c6943f49bc1b350b7913d940328c5f5ed1d439e4bbe721d6 - Archive size: 91,420,529 bytes
- Native libraries: 48 (239,866,712 bytes)
Embedded offline runtime v2
Embedded SDK build input for NextVol, not an application update.
Adds SpeechEngine 1.1.5.3 and its native companions from MultiTTS 1.8.3(84). Contains 46 arm64 libraries, dependency metadata and SDK defaults; no voice models. Existing vendor library bytes are retained. TTNet Java SDK 4.1.127.6-tob is resolved separately from the official Maven repository. Sherpa and standalone eSpeak remain source-built.
Asset: offline-runtime-arm64-v2.zip, 91,419,587 bytes.
SHA-256: b3087fe1109aaa4614776e45fb4ebefb83324c7fbed79aa9ec5c9aab392d653e
The manifest records the input APK digest, per-library digests, dependencies and alignment. Some vendor SDKs require 4 KiB pages; this is an arm64 compatibility reference, not a claim of support on every device.
Embedded vendor runtime v3
Adds the Vivo Speech SDK 5.1.6.11 (231201_ae4b12ea) Opus decoder and its companion library for the original aue=1 online protocol. Baidu online uses the existing BDSpeechDecoder_V1 decoder for the 6.1.4.1add0da aue=2 protocol. Retains v2 runtime assets and all existing offline engines.
44 arm64 native libraries. Vendor SDK binaries remain separate from the Kotlin/Java adapters. The archive manifest records the SDK versions and native dependency/page-alignment inventory.
SHA-256: f194541d1b4a30250dcdd2d2047c5808a70460162f01985429ac4bac4b5490be
Embedded offline runtime v1
Embedded offline runtime v1
Build input for NextVol's in-app offline speech adapters. This is not an application update.
- Asset:
offline-runtime-arm64-v1.zip, 81,378,357 bytes (77.61 MiB). - Contents: 42 arm64 SDK libraries, runtime metadata and SDK default configuration. Voice/model packages are not included.
- The same native libraries occupy about 201.55 MiB before compression. Ordinary APK builds embed this bundle; users do not install another TTS application.
- Sherpa/ONNX Runtime are built separately from repository sources. Microsoft client SDK 1.45.0 comes from its official Maven AAR; this asset supplies its additional embedded extensions.
- Compatibility reference: MultiTTS 1.8.3 (84), arm64-v8a. Google requires Android 8+; some older SDK libraries require 4 KiB memory pages. The reference APK does not contain Baidu's optional
libbd_ettl.sovariant. assets/offline-native/runtime-manifest.jsonlists library names, sizes, dependencies and alignment. Importing voice packages does not use model hashes or an allowlist.
NextVol 0.1.1
NextVol 0.1.1
这次更新主要改善书源的发现、登录和阅读体验:新增哔哩轻小说,修复多家站点的目录、正文与插图解析,补齐书源面板的长按操作,并整理账户设置的布局。
版本特性
- 哔哩轻小说:支持首页推荐、分类浏览、目录、正文和插图,同一章节的多页内容会合并阅读。
- 书源面板长按:书源定义的长按动作现在可以正常触发,例如 Pixiv 的「取消收藏」可通过长按作用于整个系列。
- 更集中的账户设置:账户分区移到基础设置之后,登录状态与主要操作并排展示,窄屏和大字体下操作可以换行。
Changelog
- 内置书源:整理为 71 个可添加条目,补充首页书单,修复站点改版、手机跳转及分页带来的阅读问题。
- 登录兼容:修复部分导入书源无法打开登录页的问题,标准登录表单中的选择、切换和默认值等控件可在普通导入模式下使用。
- 进度与存储:统一阅读和手动已读的整书进度计算;书籍删除失败或取消后,页面能恢复操作。
- 更新下载:修复重复下载互相干扰、下载失败后继续处理文件,以及取消后仍提示完成或请求安装的问题。
展开完整 Changelog(按主题归纳)
内置书源、发现与阅读
- 新增哔哩轻小说,支持首页、分类、详情、目录、正文、插图及同章分页。
- 为维护中的书源补充榜单、推荐、新书或分类书单,首页与分类各有入口;移除失效或已被替代的内置定义。
- 修复番茄的目录与正文地址,减少旧接口失效对阅读的影响;修复刺猬猫手机跳转后无法匹配正文的问题。
- 修正飞卢的目录与付费章节标记、塔读的正文提取,以及咪咕、17K、镜文学、书旗等站点的规则与分页。
- 修复 POPO 的搜索、发现和插图处理,完善部分文学书源的正文还原与图文阅读,避免把登录表单、导航页或购买提示当作章节正文。
- 完善部分书源的网站登录入口和验证页面识别,网站要求的人工验证继续在应用内网页中完成。
相关 PR:内置书源与哔哩轻小说 #677。
登录、长按与账户界面
- 修复部分导入书源点击登录后报错、无法打开网站登录页的问题。
- 标准静态登录表单的选择、切换、默认值和动态标签不再受扩展导入模式限制。
- 登录、配置和阅读中的书源面板支持按钮及带动作的选择/切换控件长按。一次长按只触发一次动作,不同时触发单击,也不自行改变当前选项;忙碌或禁用时不能操作。
- 账户分区前移,状态与主要操作并排显示,退出操作保留并降低视觉权重;登录、重新登录、重试和网站验证入口保持可用。
- 改善窄屏、大字体和长账户名的布局;账户名缩短显示时,读屏仍可读取完整名称。
相关 PR:登录兼容 #722、面板长按 #736、账户布局 #742。
阅读进度与书籍管理
- 阅读和手动标记已读使用一致的整书进度计算,已经不在当前目录中的旧章节记录不再影响完成度。
- 手动标记已读时忽略过期目录结果,目录暂不可用时保留已有总进度,减少错误覆盖。
- 存储统计与孤立内容清理使用一致的章节归属,已下载的旧章节仍按下载记录保留。
- 删除失败或被取消后释放页面的忙碌状态,根据实际剩余内容恢复列表和选择,并在普通失败时显示提示,方便重试。
相关 PR:整书进度 #691、章节归属 #692、删除失败恢复 #710。
更新下载与其他维护
- 更新下载遇到服务器错误时停止后续文件处理,保留原始失败原因,避免被空文件或解压错误提示覆盖。
- 重复点击下载不会再启动相互干扰的任务;取消后不继续发送完成通知或请求安装,失败后仍可重试。
- 整理备份、EPUB 图片准备、存储查询与清理、日志报告和设置菜单的内部职责,保持现有使用方式。
- 调整自动检查的任务范围与构建缓存,修正阅读界面回归检查的等待条件;这些维护不改变应用功能。
相关 PR:下载失败处理 #707、重复下载与取消 #709。
展开完整 PR 记录(31 项,含本次发布配置)
以下为 0.1.0 之后纳入本次安装包的 PR,按编号排列。标题保留开发时的记录;用户可见的变化以本页版本特性和分类 Changelog 为准。
- #677 fix: 完善 71 个内置书源的发现与阅读,新增哔哩轻小说 (#677)
- #685 chore: stop tracking IDE project settings (#681) (#685)
- #686 refactor(settings): separate shared menus from feature options (#686)
- #687 refactor(backup): centralize backup data ownership (#687)
- #688 refactor(export): move EPUB image preparation into export (#688)
- #691 refactor(reading): 统一整书完成度与有效目录口径 (#691)
- #692 refactor(storage): 统一占用统计与孤立清理的章节归属 (#692)
- #697 refactor(storage): 分离书籍列表查询与界面状态 (#697)
- #698 refactor(storage): 下沉书籍清理执行并保留删除边界 (#698)
- #700 docs: add pull request template (#700)
- #701 refactor(update): 分离更新编排、产物下载和 Android 交互 (#701)
- #703 docs: replace issue templates for NextVol (#703)
- #707 fix(update): stop processing after HTTP download failure (#707)
- #709 fix(update): 在文件准备前原子接纳更新下载 (#709)
- #710 fix(bookmanager): 删除失败或取消后恢复界面状态 (#710)
- #722 fix(sources): 修复通用登录分流与标准静态表单 (#722)
- #723 ci: 为文档和仓库展示文件跳过 Android 检查 (#723)
- #724 ci: 区分测试输入与生产检查计划 (#724)
- #725 ci: 为应用更新选择独立测试范围 (#725)
- #726 ci: 为 EPUB 导出选择消费者与分享设备检查 (#726)
- #727 ci: 为备份恢复保留跨目录持久化消费者 (#727)
- #729 ci: 为存储管理保留下载和本地书籍检查 (#729)
- #731 ci: 按书源模块和传递消费者选择 JVM 任务 (#731)
- #732 ci: 收紧 UI、阅读器与语音的消费者测试集合 (#732)
- #733 ci: 在 API 24/35 之间共享同次 Debug APK 构建 (#733)
- #734 refactor(logging): 理顺报告组装与系统分享职责 (#734)
- #735 ci: 补齐测试类缓存并依据实测撤回源码自动预热 (#735)
- #736 fix(sources): 补齐书源面板的长按脚本动作 (#736)
- #742 fix(sources): 收紧账户状态布局并前置账户分区 (#742)
- #744 test(reader): 等待章节正文就绪后验证界面更新 (#744)
- #746 chore(release): 发布 NextVol 0.1.1 (#746)
下载与升级
下载 NextVol-0.1.1-release.apk,支持 Android 7.0 及以上,无需选择 CPU 架构。
已安装 0.1.0 正式版的用户可直接覆盖安装,无需卸载或清空数据。当前请从本发布页手动下载安装包;Debug、Snapshot 和上游 LightNovelReader 与正式版分别安装。
本次内置书源规则更新包含在添加书源的目录中,升级应用不会自动替换已经添加的规则。使用已有书源时,其内容仍以保存的规则为准。
网站要求的登录、订阅和人工验证仍需完成。部分站点可能受地区、网络或网站风控影响;番茄正文依赖第三方公共服务,其可用性可能变化。
NextVol 0.1.0
NextVol 0.1.0
NextVol 的第一个公开版本,也是后续版本迭代和正式安装包升级的起点。这个版本汇集了 300 多个 PR 的开发成果:从书源、找书和阅读,到离线下载、听书、本地书籍与数据备份,建立日常使用所需的基础。
版本特性
- 找书与书源管理:内置书源目录、JSON 规则书源导入、多书源搜索,以及按书源分类浏览和管理。
- 可定制的阅读器:滚动、翻页与双页布局,离线字体、纸张主题、排版预览,配合书签和阅读进度恢复。
- 离线与本地阅读:按卷或章节下载,导入 EPUB / TXT,导出 EPUB,并管理缓存和存储空间。
- 听书:系统朗读与在线音源、后台播放、句段高亮跟随、悬浮控制和睡眠定时。
- 书库与阅读数据:多书架、阅读记录和统计、Bangumi 卷进度同步,以及
.nvbackup备份恢复。
展开全部版本特性
书源、发现与搜索
- 从分类目录选择书源,也可导入单条或批量 JSON 规则;导入前预览内容并确认访问网站。
- 按书源管理启用状态、账户、网站授权、变量和网络设置;一个书源可以加入多个分类。
- 完整 JSON 编辑器支持查找替换、格式化、语法校验和错误位置跳转。
- 发现与分类页面保留各自的来源和浏览位置;书源较多时可筛选分类、分页选择。
- 搜索支持全部书源、单个书源或分组,逐步展示结果,可暂停、继续、加载更多及重试失败来源。
- Wenku8 搜索结合原站、本地书目和 Bangumi 公开资料识别别名与常见缩写,也支持书籍 ID 或链接定位。
- 支持需要账户或网页验证的书源;登录、验证与规则配置按各书源实际能力提供。第三方站点的可用性仍取决于其服务和规则。
阅读与外观
- 支持连续滚动和分页阅读;分页可选择自动、单页或双页,双页受窗口大小、字号与内容兼容性限制。
- 调整字体、字号、字重、行距、段距和页边距,并在设置中查看页面预览。
- 内置思源宋体、霞鹜文楷,可离线使用,也可导入本地字体。
- 提供纸张样式、主题配色和背景设置,支持减少动画;音量键可用于翻页或滚动。
- 目录支持章节搜索、当前章定位、分卷折叠和长目录分页;可以选择单章或多章标记已读、未读。
- 书签保存正文位置,可查看、跳转、删除并随备份恢复;切换模式、改变字体或窗口后按正文位置重新定位。
离线下载与存储
- 下载前按卷、按章勾选范围,任务保存所选章节,并区分“所选章节已完成”和“整书已离线”。
- 下载任务支持进度查看、取消、失败重试和中断后恢复;正文与图片分别保留可复用的完成结果。
- 已下载内容可离线阅读;需要网站验证的任务可在验证后继续,更新下载尽量复用有效缓存。
- 存储管理展示占用情况,并区分阅读缓存、下载内容和本地书籍的清理范围。
本地书籍与 EPUB 导出
- 从应用内选择文件,或通过其他应用的打开、分享入口导入 EPUB / TXT,统一收进“本地书籍”书架。
- TXT 可调整编码和章节规则,确认前预览目录与正文;EPUB 支持目录、分卷内容、封面和本地图片。
- 导入后保存独立副本,移动外部原文件不影响当前设备上的阅读。
- 在线书籍可按卷准备 EPUB,选择文字或带图内容;支持后台导出、完成通知及系统分享。
听书
- 使用已安装的系统 TTS 引擎,或选择内置、自行导入的 HTTP 在线音源;提供统一音源选择、试听及语速设置。
- 支持后台播放、媒体通知控制和自动衔接章节;听书进度与普通阅读进度分别保存。
- 正文显示当前朗读句段并自动跟随;手动浏览可暂时脱离跟随,点击悬浮封面回到朗读位置。
- 应用内悬浮播放器可拖动、吸边、暂停或停止,无需系统悬浮窗权限。
- 可设置 15 / 30 / 45 / 60 分钟定时停止。在线服务需要网络,部分音源还需自行配置账户凭据。
书库、统计与数据备份
- 创建和管理多个书架,收藏书籍,查看最近阅读、章节进度、阅读时长和读完统计。
- Wenku8 阅读记录可匹配 Bangumi 小说条目并同步已完成册数;支持核对匹配、手动修正和查看同步结果。
.nvbackup可按选项备份书架、阅读数据、设置、书签及章节缓存,也可分享书架。- 恢复前检查备份格式与版本;覆盖恢复中的数据写入失败会回滚,保留原有书库与离线文件。
- 备份不包含原始 EPUB / TXT 文件;换设备前需另存原文件,恢复后重新关联。旧
.lnr仅保留受限读取能力。
Changelog
首发累计变更按主题归纳;完整 PR 记录另附在下方折叠区。
- 阅读位置与统计:修复跨章、切换模式和重排时的位置偏移、旧任务覆盖进度,以及已读标记和时长统计不准确的问题。
- 书源与搜索:建立按来源隔离的读取链路,完善规则兼容、登录与网络处理,加入聚合搜索、渐进结果和 Wenku8 别名召回。
- 下载与数据保留:完善任务恢复、选章下载、正文与图片检查点,修复覆盖恢复和备份分享中的数据处理问题。
- 听书与本地书籍:打通后台朗读、正文跟随、EPUB / TXT 导入、EPUB 导出和书签备份。
- 性能与发布基础:减少长章重复排版、重复请求和空转动画,修复页面闪空,建立正式签名 APK 与校验文件的发布流程。
展开完整 Changelog(按主题归纳)
阅读位置、章节切换与记录
- 修复多个阅读会话、迟到保存及异步加载结果互相覆盖进度的问题,限制旧页面对当前阅读状态的影响。
- 修复滚动和翻页切换、恢复阅读、前后章跳转时落到错误章节或错误位置的问题。
- 字体、字号、间距和窗口变化后按原文字符位置恢复;连续重排不再不断偏移,纯排版变化不误写阅读进度。
- 修复滚动模式相邻章的过期结果、重试与跨章位置保存;章节尚未准备好时不提交错误的跨章翻页。
- 完善每本书的阅读时长结算,减少重复计时、遗漏结算及系统时钟变化带来的误差。
- 目录显示章节阅读百分比;单章、多章标记未读保留续读章节,并防止旧会话重新写回已清理进度。
- 手动标记已读后,整书进度按更新后的最大章节进度重算,读完最后一章可触发相应统计。
相关 PR:位置恢复 #536、重排与进度 #553、标记未读 #281、已读统计 #667。
阅读器布局、外观与书签
- 分开行距与段距,统一字体、排版和页面预览入口;加入内置离线字体及本地字体导入。
- 增加纸张样式、菜单配色与减少动画选项,完善音量键翻页和滚动行为。
- 根据窗口可用区域计算正文布局,接入同章双页、章节边界跳转和单双页偏好;无法双页时显示具体原因。
- 书签保存字符位置和正文摘要,避免字体或窗口变化后只按旧百分比跳转;正文已变化时提示定位限制。
- 目录打开时定位当前章,长目录采用惰性显示;增加标题搜索、跨卷查找、分卷折叠与连续分页。
- 调整阅读设置顶部、字体导入入口和预览留白,修复加载过程中的文字闪现及部分菜单切换问题。
相关 PR:排版预览与字体 #208、书签 #348、双页 #549、目录 #563、设置布局 #675。
书源导入、管理与规则兼容
- 将书籍、章节、图片、缓存、下载和导出绑定到所属书源,避免切换来源后读错内容或混用缓存。
- 接入 JSON 规则书源导入、批量预览与校验,完善 HTML、XPath、JSON、JavaScript 及组合规则处理。
- 改善动态请求头、脚本公共库、字符编码、压缩响应、分页目录、空行和大目录的兼容处理。
- 书源脚本使用隔离执行环境;完善取消、超时、执行预算及来源独立的网络与存储边界。
- 提供分类书源目录、分组筛选和多分类成员管理,保留来源身份及原有书架、历史和缓存关联。
- 完整 JSON 编辑器加入查找替换、格式化、语法校验、行列错误定位;网络权限与变量分别保存,错误就近显示。
- 调整 Pixiv 的账户、阅读、发现与屏蔽入口,接入受管理更新;书籍详情可按作品、作者或标签屏蔽。
- 清理失效目录项和不再使用的外部 LNRP 插件系统;移除旧书源测试、报告导出与修订回滚入口。首发保留的是当前 JSON 书源能力。
相关 PR:多分类管理 #474、Pixiv 更新 #491、移除外部插件 #515、屏蔽管理 #535、JSON 编辑 #653。
登录、网站验证与网络请求
- 完善书源账户的加密保存、浏览器登录、Cookie 同步及会话恢复,减少重新打开面板后丢失登录状态的问题。
- 区分账户登录、网站验证、权限不足、DNS 错误、地址拒绝、限流和 HTTP 错误,避免统一显示为空结果。
- 新增网站访问需明确授权;跨域、重定向及动态地址继续检查权限,错误信息隐藏凭据和敏感地址参数。
- 修复旧请求覆盖新 Cookie、账户变化后复用旧缓存及登录检查使用过期结果的问题。
- 完善 WebView 与普通请求的 User-Agent、路由和限速处理,以及 Fake-IP / 代理环境下的地址判断。
- 优化网页验证完成后的重试、登录超时、取消和前后台恢复;下载中的验证可以回到原任务继续。
相关 PR:网页验证恢复 #370、会话恢复 #436、Cookie 覆盖 #588、WebView UA #594。
发现、分类与搜索
- 建立跨书源聚合搜索,按当前范围调度并渐进显示结果;来源失败互不阻断,同源结果去重,跨源同名书籍保留独立身份。
- 统一搜索书籍列表,补充封面、作者、简介和来源;保留搜索历史、关键词、结果及返回后的列表位置。
- 支持暂停、继续、分页和仅重试失败来源;从书源页面进入搜索时继承当前来源,并允许显式扩大范围。
- Wenku8 搜索加入简繁、全半角、大小写和标点归一化、本地目录召回、别名匹配及有限容错。
- Bangumi 公开查询提供备用线路,用于 Wenku8 搜索匹配;账户同步请求不使用该公开搜索镜像。
- Wenku8 首页先展示已返回内容,补充栏目独立加载和重试;刷新失败保留已有书卡。
- 改善封面重试、简介文本处理、预览并发和详情请求复用;减少首次列表跳动及长标题、大字号下的布局问题。
相关 PR:聚合搜索 #365、渐进首页 #593、别名召回 #606、搜索范围 #614。
下载任务与存储管理
- 持久保存下载任务和增量进度,恢复未完成任务;统一排队、运行、失败与完成状态。
- 为暂时性失败提供有限重试,完善前台下载服务的启动、取消与退出,防止后台任务状态滞留。
- 正文和图片分别保存检查点;后续内容失败时保留已完成结果,重试只补齐缺失部分。
- 加入独立选章下载页,保存整卷或逐章选择;不会把少量章节下载完成误报为整书离线。
- 完善验证后续传、有效正文复用和离线内容更新;自动下载仅针对新加入书架的书籍触发。
- 后台书籍更新按源分组调度,移除逐书固定等待,同源控制并发,单本失败不阻塞其他来源。
- 存储页提供占用概览,清理阅读缓存时保护下载文件,并明确本地书籍的删除范围。
相关 PR:任务恢复 #493、检查点 #514、选章下载 #557、后台更新 #589、存储管理 #605。
本地书籍、EPUB 导出与分享
- EPUB / TXT 导入接入书架、阅读、目录与统计;TXT 支持编码选择、章节规则和导入预览。
- EPUB 按正文顺序解析目录、元数据、封面和本地图片;不主动加载书内外部资源,不支持的图片形式给出明确错误。
- 导入文件保存在应用私有目录,取消和失败清理未提交内容;手动与外部文件入口统一使用“本地书籍”书架。
- 备份恢复后可重新关联本地原文件,并改善损坏文件、编码和格式错误的提示。
- 完善 EPUB 的 XHTML 输出和混淆构建中的 XPath 兼容;支持缓存内容导出、分卷选择和带图导出。
- 导出准备按章保存正文、暂存转换结果,减少整书常驻内存;失败重试复用有效内容,不覆盖已有离线图片。
- 整理后台导出、完成通知与分享文件的生命周期,保证分享接收方可通过授权读取生成文件。
相关 PR:本地导入 #240、后台导出 #505、按章准备 #577、本地书架 #648、分享产物 #673。
听书与播放控制
- 打通系统 TTS 合成、音频播放、后台媒体服务和章节衔接,独立保存听书位置。
- 加入 HTTP 音源导入、编辑和播放,内置默认音源目录;统一系统与在线音源选择及用户凭据配置。
- 修复合成期间暂停意图丢失、快速换书、停止后旧任务恢复播放,以及通知跨会话串用等问题。
- 增加睡眠定时,到期取消取章、合成与播放,并清理通知和临时音频。
- 增加可拖动和收边的应用内悬浮控制,点击封面返回正在朗读的书与章节。
- 正文句段高亮、滚动和翻页跟随接入实际播放状态;手动浏览暂停跟随,返回时等待当前章排版后准确定位。
- 朗读索引改为异步准备,减少长章节进入时阻塞;在线音源无逐字时间戳时按音频位置估算跟随,不宣称逐字精确同步。
相关 PR:系统听书 #253、在线音源 #256、内置音源 #293、悬浮控制 #304、正文跟随 #309。
书架、Bangumi 与备份恢复
- 调整书架网格、书籍操作和元数据刷新,修复收藏保存及主页进度展示中的问题。
- Wenku8 阅读记录可自动匹配 Bangumi 小说系列,按已完成出版册同步,保留较高远端进度并避免重读重复计数。
- 增加匹配修正、同步成功与错误记录;有歧义或目录不完整时保留待核对状态。
- 完成书签的创建、跳转、去重与备份恢复;不同书源的同名书籍不共享书签身份。
- 统一使用
.nvbackup导出用户数据和分享书架,检查清单、版本、大小及压缩包完整性。 - 覆盖恢复在同一事务内提交数据,成功前保留旧离线文件;失败或提交前取消时不清空原书库。
- 修复“导出并分享”忽略勾选项的问题,取消书签等选项后,保存和分享均遵守本次选择。
相关 PR:Bangumi 同步 #286、恢复回滚 #342、备份格式 #504、分享选项 #672。
性能、界面与兼容性
- 长章节采用有界排版准备,复用可重用的测字结果;段距或视口高度变化时减少整章重复计算。
- 当前章优先准备,限制相邻章竞争;取消过期测量,减少重复正文解码、同步预取和主线程工作。
- 目录按有界批次解析,对满足条件的分页目录预取;详情、选章和下载复用近期完整目录,避免短时间重复加载。
- 前台读取优先于后台任务,排队等待不再直接耗尽规则执行时间;完善取消后释放请求与执行槽位。
- 主页与书架复用订阅及书籍资料;加载占位退出后停止动画,修复根页面切换时同时淡空。
- 将电量查询等工作移出关键界面路径,减少重复导航和设置弹层切换开销。
- 整理英文、简中、繁中和俄语资源,修复繁中文案格式崩溃,补充长文本、大字号与紧凑窗口的相关布局适配。
- 建立 JVM、API 24 / 35 设备、混淆运行时、Release APK 和 Android Lint 检查;固定构建环境并维护相关回归覆盖。
相关 PR:异步准备 #550、前台调度 #591、目录批处理 #655、阅读与主页性能 #664。
首次正式发布
- 版本名称定为
0.1.0,版本码延续既有值递增,为后续 Android 覆盖升级保留顺序。 - 使用 NextVol 独立正式签名,检查 APK 的包名、版本、证书、最低系统版本和非调试属性。
- 提供通用 APK 与
SHA256SUMS,将本页作为统一发布说明;正式发布标签固定本次源码。
相关 PR:首次发布 #678、发布核验修正 #680。
展开完整 PR 记录(316 项,含本次发布配置)
以下列出本版本纳入的 PR,按编号排列。标题保留开发时的记录;部分早期实现随后被调整或移除,当前功能以本页“版本特性”和分类 Changelog 为准。
- #1 Fix reader overlay, reading resume, and selection dismissal
- #2 Fix reader menu flicker and stale selection toolbar
- #3 fix(reader): stabilize immersive viewport around display cutouts
- #4 refactor(reader): separate display and platform effects
- #5 refactor(settings): separate reader values from edit handles
- #6 refactor(reader): isolate reading records and timing effects (R4)
- #7 refactor(book): isolate chapter and reading data access (R3)
- #8 test(reader): audit R1 R2 R4 behavior and document follow-ups
- #9 refactor(content): separat...