Skip to content

Releases

NextVol 0.2.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 06:00
1185964

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...
Read more

Embedded speech runtime v4

Choose a tag to compare

@Renakoni Renakoni released this 04 Nov 13:09

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

Choose a tag to compare

@Renakoni Renakoni released this 04 Nov 07:05
513a93f

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

Pre-release

Choose a tag to compare

@Renakoni Renakoni released this 04 Nov 08:10
513a93f

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

Pre-release

Choose a tag to compare

@Renakoni Renakoni released this 31 Oct 07:12
697de0a

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.so variant.
  • assets/offline-native/runtime-manifest.json lists library names, sizes, dependencies and alignment. Importing voice packages does not use model hashes or an allowlist.

NextVol 0.1.1

Choose a tag to compare

@github-actions github-actions released this 26 Oct 16:55
0d25209

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

Choose a tag to compare

@github-actions github-actions released this 12 Oct 13:49
8a626f1

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...
Read more