默读 Modu Reader 从零开始详细教程:扫描书 OCR 之后能划词、翻译、问 AI

如果你手里攒了一批扫描版 PDF——考试资料、旧书、复印件——大概早就习惯了这套流程:在阅读器里打开,看到的是图片;想摘一段,得先开另一个 OCR 工具;识别完再复制回笔记软件,格式全乱。默读(Modu Reader)想解决的就是这一段:OCR 出来的文字不离开阅读器,直接接着划词、翻译、写笔记、喂给 AI。

这篇能帮你搞清楚的事
  • 扫描书从打开到能划词,中间具体是哪几步、每步的边界在哪里;
  • 「文字重排」「OCR 重排」「提取」三个入口长得像,实际区别很大,选错会白等;
  • AI 问答不是把整本书丢给模型,Embedding 和聊天模型各干什么;
  • 哪些数据会离开你的设备——这条比功能列表更重要;
  • 六个平台的安装门槛,以及从 Anx Reader 迁过来要怎么备份。
14.9 MiB
推荐 OCR 模型下载体积
6
个平台安装包
2 步
Hybrid RAG:先检索再回答
0
需要的 OCR API Key

它是什么,不是什么

默读是基于 Flutter 的开源跨平台阅读器,仓库在 sobranie2406/modureader,整体按 GPL-3.0-or-later 发布。写这篇时的最新正式版是 v1.3.0(2026-10-20,build 10151),GitHub 上同时放了 9 个安装包和 9 个 .sha256 校验文件,一共 18 个资产。

它跟另外两个项目有关系,但不是什么「换皮版」。按仓库里 UPSTREAM.md 的记录:阅读界面、本地书库、笔记、统计和 WebDAV 底座来自 Anx Reader(MIT,引入 commit 107f4fa);AI 阅读技能、Hybrid RAG、模型配置和 TTS 参考了 ReadAny(GPL-3.0-or-later,参考 commit 021137e);Readest 只被用来参考 S3 设置表单的交互,没有抄代码。三份 LICENSE 都原样留在仓库的 LICENSES 目录里。

需要先打消一个常见误会:它不是 Calibre 的开源替代品。Calibre 的重心在桌面书库管理、格式转换和元数据整理;默读的重心在「一本书打开之后」——裁边、OCR、划词、AI、听书、跨设备同步。两者不冲突,也别指望用一个替另一个。

还有个前提:不配置 AI 也能正常用。本地阅读、OCR、笔记、同步都不要求注册任何账号。项目本身没有内购和订阅,接入在线 AI、翻译或语音后的费用由你选的服务商决定。

安装:六个平台,门槛不一样

六个平台安装门槛对比:Windows 需 WebView2、macOS 未公证、iOS 与鸿蒙需自行签名

v1.3.0 的 9 个包覆盖 Android、iOS、macOS、Windows、Linux 和原生鸿蒙。但「有包」和「能像商店软件一样装上」是两件事,官方文档把话说得很直:文件名里不带 unsigned/unnotarized 后缀,不代表它就有签名或公证。

平台 包体 安装门槛
Windows x64 / ARM64 EXE 需要 WebView2 Runtime,安装包不自动下载;无商业 Authenticode 签名;VC++ CRT 已打进包
macOS x64 / ARM64 DMG ad-hoc 临时签名,未做 Apple 公证,未上架 App Store,首次打开会有系统提示
Linux x64 / ARM64 DEB 面向 Debian 13 (trixie),依赖 GTK3、WPE WebKit 2.0、libwpe、epoxy、GStreamer 及音频插件
Android arm64-v8a APK 最低 API 26;项目专用密钥签名,升级必须沿用同一密钥;不发布 x64 包
iOS ARM64 IPA iOS 16+;无 Apple 分发签名,应用和分享扩展都要你自己合法签名
原生鸿蒙 ARM64 HAP 未签名,需鸿蒙证书与 Profile 手动签名;安卓签名不能通用;官方注明尚未完成真机验证

不走商店渠道装,第一件事是核对校验值。每个安装包旁边都有同名 .sha256 文件:

# Windows PowerShell
Get-FileHash .\Modu-1.3.0-windows-x64-setup.exe -Algorithm SHA256

# macOS / Linux
shasum -a 256 ./Modu-1.3.0-macos-arm64.dmg

把输出和 Release 页面里的值逐字符对一遍,再谈安装。顺手记两条:覆盖升级前先备份,不要先卸载或清数据;安卓换签名密钥等于换应用,历史数据不会跟着走。

第一次导入:书架与远程书库

书架右上角「导入书籍」可以选文件或文件夹,桌面端直接拖进去也行。支持的格式是 EPUB、PDF、MOBI、AZW3、FB2、TXT、.md/.markdown、文字 UMD,以及扫描图片书。几个容易踩的边界:

  • TXT / Markdown 导入时会转成 EPUB,之后走统一的阅读、笔记和同步流程,原文件不改。Markdown 不运行 Mermaid、LaTeX 或脚本,相对路径的图片不会自动去读相邻目录,图文书建议先打包成 EPUB。
  • 文字 UMD 后台转 EPUB,文件上限 64 MiB、解压文本上限 32 MiB,暂不支持图片/漫画 UMD。
  • 「远程书库」不是同步。它在设置里连一个独立的 WebDAV,用来浏览、下载、勾选导入远程文件夹,不修改服务器上的书,取消连接也不影响已导入的书。

书架本身支持文件夹、批量移入、标签、置顶。有个细节值得知道:书架上出现一个条目,不等于这本书的正文已经在本地。同步先过去的是元数据和封面,正文是第一次打开时才下载的。

普通文字书:排版与阅读设置

扫描书之前,先说一下普通书这一侧,因为两套菜单是分开的——PDF 和已判定为扫描版的书用原版控件,普通文字书继续用自己的字体行距面板,互不干扰。

「样式」里能调字体、字号、粗细、模拟加粗、行距、段距和背景;「更多设置」管边距、横排/竖排和翻页行为。可以导入 TTF/OTF 字体,实际字重取决于字体文件支持到什么程度。中文字体旁边的「原文 / 简体 / 繁体」只转换显示,不改写原书。MOBI 的旧式注释列表和上标图标会恢复成弹窗,AZW3 补齐注释语义。

设置 初始值 / 范围 说明
字体粗细 0.5–2.0,步进 0.1 按字体支持显示,固定字重可试模拟加粗
滚动翻页比例 默认 80%,可设 80%–100% 控制一次滚动翻页的移动量,不限制连续手动滚
仅点击翻页 默认关 移动端避免滑动翻页,仍可选词和连续滚动
长按选择整段 默认关 默认自动匹配词语,打开后仍可调选择手柄
阅读亮度 默认跟随系统,手动 0–100 安卓调窗口亮度,其他平台应用内调暗
E-Ink 默认关 关掉过渡和动态效果,用适合墨水屏的实色界面

桌面和安卓接实体键盘的话,可以给翻页、菜单、播放/暂停(共用键,默认 P)和上一段/下一段绑键,支持多个绑定、冲突检查和恢复默认,按键配置参加阅读设置备份。

扫描书主线:从原页到能划词

扫描书五步流水线:打开、裁边增强、下载模型、本地识别、进入阅读流

导入时怎么判定「扫描版」

PDF 直接走原版阅读控件。EPUB、MOBI、AZW3、FB2 会在导入时做一次抽样识别:最多抽 5 个正文 section,排除封面、目录和非正文部分,看的是图/文证据,不是文件扩展名,也不是 fixed-layout 标记。判定结果按书和来源指纹缓存,打开书时只读缓存,不重新抽样、不重算哈希。识别不确定或失败就按普通文字书处理,你也可以在书架菜单里手动改成扫描版或改回普通阅读。

换成源文件会让旧判定失效,需要重新来一次。老书如果没分类,手动纠一下就行。

裁边、分格与图像增强:只作用于显示

扫描书打开后用的是专用阅读菜单,跟普通文字书的字体行距控件不是一套。原版页面提供适屏、适宽、100%–1500% 缩放、旋转、移动视口、单页和连续卷轴。

裁边和分格是分开的两件事。裁边支持自动和手动,作用范围可以按页、按书、按奇偶页;分格有 7 种布局(单页、横二、竖二、四格、横六、竖六、九格)和对应的阅读顺序,多格时先在本原页内推进,再翻下一页。自动裁边逐页识别内容边界,可以加保护留白——建议留一点,别把页码和脚注切掉。

图像增强五项,边界都写在文档里:

增强项 范围 说明
文字加黑 0–15 笔画增强
对比度 −100 ~ 100 对比映射
加黑(暗部) 0–100 gamma / 暗部增强
漂白 0–200 背景清理
锐化 0–100 边缘锐化
两条硬边界。一,裁边和增强改的是显示和保存的阅读设置,永远不会改写原书文件。二,扫描水印减淡属于图像处理,能减淡、也可能留下痕迹或影响浅色插图,被水印糊掉的笔画补不回来,重要内容对照原图看。

下载 OCR 模型

「设置 → 模型设置 → OCR 模型」里选模型和下载源。模型不内嵌安装包,也不随启动偷偷下载,只有你点了才下,下完按大小和 SHA-256 校验后使用。

模型 下载体积 上游 备选
PP-OCRv4 中英文(推荐) 14.9 MiB Hugging Face Gitee
PP-OCRv5 中英文轻量 20.5 MiB ModelScope Gitee
PP-OCRv3 中英文 12.5 MiB Hugging Face Gitee
PP-OCRv3 英文 10.9 MiB Hugging Face Gitee

Gitee 镜像在 sobranie2406/modu-models,OCR 资产挂在 ocr-v1 release 下。国内网络下不动的时候换源试试,换源不改变修订版本、维度和索引格式,已下好并通过校验的文件能直接复用。下载体积不是推理峰值内存,别拿 14.9 MiB 去估占用。

三个入口:文字重排 / OCR 重排 / 提取

这是最容易混的一处。三者都在 PDF/扫描书的底部工具栏,但做的事不一样:

入口 文字来源 处理范围 结果去哪
文字重排 当前页已有文字层,必要时才用本地 OCR 当前原页,或裁边界内的整页 阅读区内可直接选字
OCR 重排 强制本地识别,不看有没有文字层 同上 阅读区内可直接选字
提取 手动框选区域,也支持整页 只有它打开区域选择器 填进 AI 输入框,不自动发送

两个关键点。第一,重排的处理范围是「当前原页」或「裁边界内的整页」,不是你现在放大的那个视口、也不是某个分格——以为只识别一小块所以会很快,这个预期是错的。第二,「提取」是唯一会把文字送进 AI 输入框的入口,但它只填框,发送要你自己点,页面图片和模型下载都不会跟着一起去 AI 服务。

识别在独立的 Dart isolate 里跑,安卓原生推理走专门的串行后台队列。单次任务有输入上限:2MP 像素、检测长边 960、最多 300 个文本区域。点「停止」会取消当前识别并丢弃结果,已校验的模型文件留着下次离线用。

顺带说下 v1.3.0 的两个新东西:已保存的书籍文字可以按原页码导出 TXT 或 Markdown(优先用校对稿);重排页支持只翻译当前原页,可以仅译文或原译对照,复用划词工具栏的查询、复制、AI 和本页选词朗读。

速度与准确率的边界

开发文档里留了一组单次本地开发构建的采样:灰底英文样本约 0.7 秒,一份真实中文扫描约 2.9 秒。这是单机单次样本,不是跨平台承诺,你的设备、页面复杂度、有没有开裁边都会让它变。

准确率方面,官方一句话说得比任何宣传都实在:OCR 不是「全书一键无损转换」。小字、模糊页、复杂分栏、竖排、表格和反色页都不保证忠实还原,姓名和数字尤其容易错。复杂分栏需要手动框一栏。重要内容请对照原图核——这也是为什么「提取」只填框不自动发送。

AI 问答:Hybrid RAG 其实是两步

Hybrid RAG 两步走:Embedding 从书里找到相关段落,聊天模型照着原文回答

很多人对「阅读器里的 AI 问答」的想象是:把整本书丢给模型,然后问什么答什么。默读不是这么做的,它分两步。

第一步,Embedding 负责找。「设置 → 模型设置 → 向量模型」里默认启用本地模式,默认模型 BGE Small ZH v1.5,另有 BGE Small EN、all-MiniLM-L6-v2、Multilingual E5 Small,也可以配远程 embeddings 服务。给一本书建索引的入口在书架里的书籍菜单——「向量化 / 重新向量化」,自动索引用同一条后台队列。

第二步,聊天模型负责答。模型拿到检索出来的原文片段,再生成回答。这就是为什么跨章节提问比「只把当前页扔给 AI」靠谱:相关段落是被找出来的,不是靠模型背。

索引的硬上限也记一下:单文件 1 GiB、单条记录 2 Mi 字符、25 万个 chunk、8192 维。检索时 chunk 和向量还是要载进内存,所以文件上限不等于低内存设备能用。

提问时到底发生什么

不同功能取的上下文范围不一样,搞混了就会对结果产生错误期待:

功能 实际拿到的文本
书内自由问答 当前书有效索引里的关键词/语义相关片段
首页书籍问答 工具先确认书籍 ID,再检索该书索引;需要模型支持工具调用并启用
本章总结 / 概念解析 / 论证分析 / 金句摘录 / 阅读指南 / 词汇助手 / 思维导图 选文或当前章可取得的正文,不混入其他章的检索片段
智能翻译 仅选中文本
全书总结 沿目录取章,复用有效索引文本并补取缺失部分,压缩到上下文预算,不等于逐字读完全书
人物追踪 已读章节的索引文本 + 当前章截至阅读位置;取不到已读范围就停,不偷偷换成整章

思维导图可以全屏、缩放、平移、展开收起,导出 PNG、SVG、Markdown、FreeMind、JSON。AI 生成的引述、人物事实和来源仍然要自己核。

换模型要重建索引。查询向量必须和索引的模型、模式、维度对得上。换了 Embedding 模型就重新向量化;单纯升级安装包不应该让没变更过的有效索引失效。模型不可用或不匹配时,检索回退到关键词,不会去比较不同模型的向量;索引损坏也不阻断普通搜索。

哪些内容会离开本机

这条比功能列表重要。按官方文档的离线/联网速查:

场景 联网行为
已下载书籍阅读、笔记、本地字典 本机(书内远程资源和你开启的脚本/CSS 另算)
本地 OCR / 本地 Embedding 只有下载模型需要网络,推理在本机
在线 AI 问答 相关正文片段发给你配的服务
远程 Embedding 建索引时文本发到远程接口,可能收费
在线翻译 / 在线语音 选中文字发给对应服务
选词搜索 / AI 知识联网搜索 查询词发到搜索站点或词典/百科
同步 同步范围内的数据发到你配的 WebDAV / 对象存储

结论很直接:「本地 Embedding」不代表「AI 问答离线」。索引用本地模型建,提问时相关片段照样会发给你配的聊天服务。想完全离线,就得聊天模型也配本地的。

还有一件相关的事:向量索引只留在本机,不参加 WebDAV / S3 同步,换设备自己重建。以前云端可能残留旧索引,位置在 WebDAV 配置目录下的 modu/knowledge-v1,要清理就只删这个目录,别动书文件夹和同步数据库,并且先在老客户端上关掉索引同步,防止它再传一次。

划词工具栏、本地词典与翻译

选中正文后的工具栏可以在设置里开关按钮、拖动排序,还能给 AI 划词命令改名字、图标和提示词。每个 AI 划词命令能选「结合上下文」或「仅选中文字」,以及是否联网。「技能模板先填入输入框」默认关闭,点模板直接发送;打开后先编辑再发。

离线查词这块做得比想象中深:「设置 → 自定义字典」支持导入 MDX 1/2、StarDict 配套文件,或含一部字典的 ZIP。MDX 保留原版 HTML,可以配 MDD 和本地资源,原版图片、音频直接内嵌显示;音频要主动点才播,原版视图和外部网络隔离。MDX 3、LZO、加密记录不支持。查询在本机进行,不会自动改用在线翻译,字典数据也不参加书库同步和当前备份。查启用字典没命中时会注明「词典名 · 无条目」。

翻译可选 Google 翻译(免费)、AI、DeepL/DeepLX,以及 Google / Bing / 百度 / 有道网页。网页引擎用于选文;全文翻译走 Google 免费、AI 或 DeepL,别把网页窗口误当成逐段全文翻译。全文翻译在书页展示原文+译文或仅译文,不是导出整本译书。「选中文本后自动翻译」默认关闭。

CSS 方案与正则高亮

CSS 和正则高亮放在同一处管理:「设置 → CSS 设置」提供命名方案、图形参数、自定义代码和正则高亮,一共 32 个方案位置。打开总开关和需要的方案就能多套组合,当前书可以跟随默认组合或独立选择。新增、复制、导入的方案默认关闭,导入占用空位而不直接覆盖——改共享方案会影响所有用它的书。

两条边界:正则高亮是显示规则,不是保存的笔记或批注;CSS 不改写源书。CSS 里引用的远程字体或图片可能联网,效果受阅读内核和原书样式影响。

顺带一句:Markdown 导入转 EPUB 时不运行 Mermaid、LaTeX 或脚本,完整图文书建议直接打包成 EPUB。分章规则、文件校验值管理、日志、网络代理和 JavaScript 开关都在「设置 → 高级」里,启用脚本前先确认书来源可信。

听书与在线朗读参数

朗读提供系统语音、Edge TTS、DashScope、Xiaomi MiMo 和 OpenAI 兼容语音。系统 TTS 只接入 Android、iOS、macOS、Windows,Linux 和 OpenHarmony 要主动选一个支持的在线服务。在线音频最高 4×,2× 之后是 3×、4× 档位。

在线朗读的缓冲参数在「设置 → 朗读 → 在线朗读缓冲与缓存」,默认值和可选值都列一下:

参数 默认 可选值
提前缓冲量(段) 3 0、1、3、5、8、12
单次合成字数上限 240 100、240、400、600、1000、1500、2000
预合成并发数 2 1、2、3、4
段落停顿(毫秒) 0 0 ~ 3000,八档
缓存保留(分钟) 10 0、5、10、30、60、120

音频只走内存缓存,上限 32 MiB,退出不保留。前四项停止后重新开始才生效,暂停/继续保留当前会话参数。调高预合成和并发会增加用量或触发限流。想深入可以看站内那篇 开源 TTS 十个工具横评。

同步:WebDAV 与 S3 兼容对象存储

WebDAV 与 S3 同步边界:元数据封面笔记进度会过去,字体索引模型权重不会

同步不需要注册它自己的云账号。WebDAV 是默认选项,填上级地址、账号、密码,数据放在它下面的 modu 目录,地址末尾不要再加一层 /modu。从 1.2.2 起还能选 S3 兼容对象存储,当前同步协议是 v9。

配一个 S3 兼容存储

预设覆盖八类加一个自定义:Amazon S3、阿里云 OSS、腾讯云 COS、Cloudflare R2、雨云 ROS、七牛 Kodo、百度 BOS、火山 TOS,以及 MinIO 等自定义 S3 兼容地址。要填的是 Endpoint、Region、Bucket、同步前缀、AccessKey 和 Secret,默认前缀 modu,大小写敏感。

最容易填错的三处:用 S3 兼容端点,不要用控制台网址或公开下载链接;端点通常不含桶名和对象路径;腾讯云 COS 的桶名带 APPID。高级设置里有临时会话令牌、path-style / virtual-host / 桶绑定自定义域名、签名 V4/V2、列举 V2/V1 和明文 HTTP opt-in,优先 HTTPS。

「测试连接」会在你配的前缀下创建、下载、校验再删除一个唯一命名的探针,不会清空桶,也不会靠覆盖书库数据库来测试。保存后再打开云同步,其他设备用同一个桶和前缀。华为 OBS 目前没有预设,官方规则禁止 path-style,兼容性还要再验。

权限按最小给:自建私有桶,给 key 前缀内的列举加上该前缀下对象的读、写、删,公开访问没必要。配置存在本地偏好里,不是系统钥匙串;书籍和记录不会由 Modu 自动加密落地,需要的话开服务端加密。

会同步的与不同步的

同步是记录级合并,不是把整个数据库上传或替换。SQLite 仍是云端容器,但只有允许同步的记录会被搬运。以 WebDAV 为例,服务器上长这样:

modu/
├── database8.db              # 可靠 ETag 服务器的主容器
├── record-log-v1/            # ETag 不可靠时的内容寻址日志
│   └── <首位哈希>/<SHA-256>.db
└── knowledge-v1/             # 旧版向量索引残留,可清理

合并规则:书籍按稳定标识关联,元数据跟随操作时间,保留本地整数 ID;笔记、书签、高亮有独立标识,同一条记录按操作时间裁决,删除保留墓碑;阅读位置看最近一次真实操作,往回读也会同步过去,不会自动挑读得最远的位置;新增阅读时长按独立事件去重聚合。

时间戳相同的情况用持久随机操作修订号确定性裁决。并发保护上,可靠写入用强 ETag 的 If-Match,首次创建用 If-None-Match: *,412 就重新下载合并,最多三次,绝不无条件覆盖;ETag 不可靠的服务器走内容寻址的记录日志通道。单文件上限 5 GiB,没有实现分片上传和断点续传。签名请求不跟随重定向——遇到跳转是端点填错了,别把凭据转到新主机。

不会跟着过去的东西:字体、主题图片、本地偏好、本地字典、已下载的模型权重、页面重排缓存,以及向量索引。OCR 模型和来源选择会随全局设置备份走,但权重不会。坚果云自动合并重复触发,之后至少间隔 10 分钟;同机同账号有半小时 480 次请求预算,其他设备也消耗这个额度。

备份不是同步

三样东西别混:

  • 全局设置备份:JSON 或 modu 链接,可选模块。恢复的是文件里的设置,不迁移书籍、笔记、聊天和进度。默认不含账号、密码和 API Key;打开凭据选项后 JSON/链接能还原出明文,要私密保存。
  • 本地书库备份:设置 → 同步 → 数据库备份,ZIP 含本机正文、封面、字体、背景、数据库、AI 历史和一般设置。恢复会替换现有书库,不是合并。数据库备份管理最多保留 3 份合并前的本地快照。
  • 同步:用于多台设备之间保持一致。

所以「同步开着」不等于「有备份」。恢复本地书库前先下载所有要保留的正文、等同步和向量任务结束、备份现状,导完完全关闭再重开。带账号或 API Key 的备份文件,别分享到公开位置。

从 Anx Reader 迁移

入口在「设置 → 高级 → 导入 ANX Reader 的备份文件」,只认 ZIP。步骤是:在 Anx Reader 里下载要迁的书、停止阅读、等同步完成,然后从它的「设置 → 同步 → 导出和导入 → 导出」拿一份完整 ZIP,不要解压不要改,放到跑默读的设备上选它。

能过去的是:已下载的书和封面、笔记/高亮、阅读位置、阅读时长、文件夹和标签。过不去的是:已删除的书、正文缺失的书(会按标题列出来)、应用设置、账号密码、API Key、同步配置、AI 聊天、独立字体/主题/背景。

几个保护机制值得知道:导入前会自动创建当前数据库快照,放在数据目录 import-backups/before-anx-<unique-id>.db;只认 ANX 的 schema 7,独立 DB、加密 ZIP、未知 schema/触发器、默读自己的数据库一律拒;重复导入按文件 MD5 去重,匹配的书保留默读当前进度和文件夹,已有笔记的编辑/删除状态优先。解压和校验在临时目录做,每个 DB/WAL 限 256 MiB、每表 20 万行、ZIP 展开限 20 GiB 和 10 万条目。这是一次性迁移,不是两个应用之间的持续同步。

和 Anx Reader、KOReader、Calibre 怎么选

Anx Reader、默读、KOReader、Calibre 四款阅读器的定位与适合人群对比

名字 定位 什么时候先看它
Anx Reader 默读的底座,MIT 已经在用,只想知道默读多了什么、怎么迁
默读 Modu 扫描书 + AI + 同步 扫描资料多,想把 OCR、AI、同步收进一个阅读器
KOReader 老牌,墨水屏优先 主要在 Kindle、Kobo 上看书
Calibre 老牌,桌面书库 重心是管理、转换、元数据整理

一句话:想找「Calibre 的开源替代品」,默读并不准确;扫描书多、又想把 OCR、AI 和同步收进一个阅读器,它才合适。许可上留意一下:上游 Anx Reader 是 MIT,默读整体按 GPL-3.0-or-later 发布,自己下载安装不影响日常使用,但要改源码、重新分发或塞进商业产品时,去读 LICENSE、NOTICE 和 UPSTREAM.md。

适合谁,不适合谁

比较适合
  • 手里扫描版 PDF 多,希望 OCR 后还能划词、记笔记
  • 想在阅读器里直接做 AI 问答和跨章节语义检索
  • 愿意自己选 AI、Embedding、翻译、TTS 服务
  • 同时用 Windows、Mac、Linux、Android 或 iPhone
  • 家里已经有 NAS、WebDAV 或对象存储
可能不太适合
  • 只看普通 EPUB,需求就是翻页和基础排版
  • 希望全部功能开箱即用,不想配 AI 或同步
  • 必须走官方应用商店安装
  • 不想处理 iOS 签名、macOS 未公证这类事
  • 只需要桌面书库管理和格式转换

要迁整个书库过去,先拿几本 EPUB 和扫描 PDF 试 OCR、排版、同步和 AI,再决定。

排障:十个常见问题

安装与启动

Windows 打不开或白屏。先确认装了 Microsoft Edge WebView2 Runtime,安装包不会自动下载它。macOS 提示「无法打开」。DMG 是 ad-hoc 签名、未公证,需要在系统设置里放行;别照着网上的建议去全局关保护。如果是在应用内升级后出现「creation without user consent」类日志,正确做法是重新用浏览器下载官方 DMG 覆盖,不要复用旧缓存、不要清书库。Linux 装完起不来。包面向 Debian 13,缺 GTK3、WPE WebKit 2.0、libwpe、epoxy、GStreamer 及音频插件都会有问题。

OCR 与重排

点了重排没文字。原图没有文字层、又没下 OCR 模型,或者模型没下完。先用「文字重排」,它会优先用已有文字层、必要时才调本地 OCR;要强制识别用「OCR 重排」。比预期慢。重排处理的是当前原页或裁边界内的整页,不是放大视口;单页 2MP、检测长边 960、最多 300 个区域都是硬上限。识别错得多。小字、模糊、复杂分栏、竖排、表格、反色页都不保证,复杂分栏手动框一栏,重要的对照原图。

AI、索引与同步

问答结果不像来自这本书。看功能取的是什么范围:本章总结只拿选文或当前章,全书总结是压缩到上下文预算,都不是逐字读完全书。换模型后检索变差。重新向量化,模型不匹配时会回退关键词。同步不生效。确认云同步开关真的打开了(自动同步初始开,但云端连接初始是关的);WebDAV 地址末尾别多加 /modu;换后端前先关同步等任务完成,两套连接分别保留,切换不会自动搬迁旧云端书籍。提示 429/503。尊重 Retry-After,坚果云同机同账号有半小时 480 次预算。

老客户端混在新环境里。新容器是 modu/database8.db,没有它时会读 database7.db、迁一份临时副本再和本地记录合并,旧文件不被覆盖也不删除。参与同步的设备尽量升到支持 database 8 的版本,升级前先把每台设备和服务器上的 modu 目录备份一遍,并暂停老客户端的自动同步。老数据库没有逐次阅读事件和完整删除历史,老版本的时长只能取同书同日两侧较大的累计值,丢掉的笔记和删除记录补不回来。

书架有条目却打不开正文。这是设计如此:元数据和封面先同步,正文第一次打开时才下载。想离线看,先在有网的设备上把书打开一遍。

更新、存储与反馈

检查和下载共用同一个来源选择器,默认 GitHub,连不上会自动试 Gitee;手动切到 Gitee 就直接走镜像。两站提供相同安装包和 SHA-256,应用内下载安装前会再校验一次。macOS 是例外:DMG 走浏览器下载,不进应用沙盒缓存,所以应用无法报告浏览器那边的完成情况和哈希校验,得自己核。

「设置 → 存储」能看占用并清理可再生成的临时数据,但模型、书籍和已完成的索引不属于普通缓存,别一键清完以为在省空间。「问题反馈与功能建议」只有 Bug 和功能建议两类,填复现步骤、预期/实际结果、版本和平台,预览后打开 GitHub 提交。崩溃诊断默认不附带、不上传;勾选后提供的是已脱敏的错误和检查点,不是全部日志。GitHub issue 是公开的,别放私人书籍或凭据。

最后提醒一句自己核对版本的习惯:这个项目迭代很快,写这篇时是 v1.3.0,平台矩阵、安装包和功能边界都可能已经变了。每次升级前先备份,不要先卸载或清数据。

站内相关

版本、安装包和平台支持更新很快。下载前请以 GitHub Releases 和 Gitee 镜像 的最新说明为准;功能边界以仓库 docs 目录下按代码核对的文档为准。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像-二楼后座
欢迎您留下宝贵的见解!
提交
头像-二楼后座

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容