EPUB 阅读器
一款轻量的 EPUB 阅读器,尊重每本书自己的排版,支持 Windows 与 Android。用 Tauri 2、React、TypeScript 和 Rust 开发,本地优先。
- 状态
- 进行中
- 更新于
- 2026年11月5日
- 技术
- Tauri 2 · React · TypeScript · Rust
一款轻量的 EPUB 阅读器。它把排版的决定权交还给书本身:书里声明的版心、边距、浮动、插图与脚注都照原样呈现,只有在书没有声明的时候,阅读器才补上默认值。支持 EPUB 2.0.1 与 EPUB 3.x;v0.4.0 起也能打开 TXT 电子书和 ZIP/CBZ 漫画。
特色
- 阅读方式自己定:单页翻页、双页对开,或者连续滚动、从一章直接读到下一章,随时切换而不丢失阅读位置
- 安静的阅读界面:目录、书签与笔记共用一个抽屉,其余界面元素尽量不打扰
- 边读边调版式:配色、字体、字号、行高、间距、边距与栏数,都在页面上方的小面板里调整,拖动滑块时页面实时变化;行高、字重、字距、词距等未设置时停在书籍自身的数值,改过的项可一键恢复跟随书籍,边距与中缝也可恢复自动
- 照顾每一双眼睛:繁简转换与自定义字符替换,灰度、反色、暗化等画面滤镜,红绿蓝三种色弱辅助,都只改变显示,不动原书
- 为触屏而做:在手机和平板上左右滑动翻页,翻页动画跟手,书架与菜单为小屏重新排布
- 插图可看原始尺寸:点开正文图片即进入浮层,能缩放、拖动、适配窗口,也能按原始大小查看,关掉回到原来的位置
- 忠实原书排版:百分比宽度、不对称边距、浮动、整页插图与行内脚注标记都保持原本的比例
- 整个文件夹一次搬进来:选一个存书的文件夹,书会按原来的目录自动整理进书架文件夹,重复的书会被认出来
- 同一 Wi‑Fi 下换设备接着读:一台设备显示二维码,另一台扫一下,就能把书籍、进度、书签和笔记直接传过去,不经过任何云端
- 界面中英双语:界面语言可选简体中文、English 或跟随系统,切换立即生效;只改应用界面,不动书的内容与笔记
- 可选的云同步:通过坚果云或兼容的 WebDAV 服务,在设备之间同步阅读进度、书签、笔记、收藏和文件夹归属;只同步阅读资料,不上传 EPUB 原书
- 隐私书架:点击书架标题可在普通书架与隐私书架之间切换,首次进入时设置密码。隐私书架的书目、进度、书签、笔记与收藏单独存放,不出现在普通书架、全库搜索、存档、互传和云同步里;密码只存在这台设备,原书文件不会被加密
- TXT 与漫画:支持打开 TXT 电子书和 ZIP/CBZ 漫画。TXT 会识别章节与可缩进段落,Aa 面板有「段落缩进」开关;漫画的单页与双页模式可双指缩放至 4 倍并拖动查看,滚动模式下可缩放整条长图,桌面端可用 Ctrl+滚轮与鼠标拖动
- 本地优先:不需要账号,书和阅读资料默认只留在你自己的设备上
- 最重要的还是轻量化和性能优先,我会尽可能做到比较好的阅读体验。
书架
- 自动导入文件夹:设置 > 存储里可选择或更换文件夹、立即扫描或关闭,并显示上次扫描的新增与失败数量;扫描只在应用位于前台且书架空闲时进行
- 通过文件对话框导入,支持批量导入;桌面端也可以直接拖拽;同一本书不会被重复添加
- 从系统打开 EPUB:可在文件管理器的「打开方式」中选择 EPUB Reader,导入并打开电子书
- 导入整个文件夹:按原来的子目录建立书架文件夹,导入前可预览分类,导入中可随时停止,已完成的书会保留
- 文件夹与收藏用来整理书架,整理只记录归属,不会移动或复制书籍文件
- 封面网格展示,没有封面时生成占位封面,新导入的书带「新」标记
- 记录阅读进度与最近阅读,点开直接回到上次的位置
- 阅读存档可导入导出,在设备之间携带进度、书签与设置
- 设备互传:同一 Wi‑Fi 下扫码配对两台设备,发送阅读进度、书签与笔记;「附带书籍」是发送表单里的复选框;一次配对后可以连续传多批,也可以切换发送方向
- 每个文件夹可以单独排序;在文件夹里可以直接导入、从书库其他文件夹添加书籍,拖动文件夹即可重新整理
- 搜索、筛选、排序、视图与密度这些常用工具留在书架上,其余收进独立的设置页,分为外观、阅读、数据与备份、存储、关于;外观里可用「减少动效」开关,书架筛选、搜索范围、字体来源等文字选项共用同一种分段选择样式
- 导出书籍原文件:在书或文件夹的菜单里选「导出书籍」,单本导出 EPUB,多本打包成 ZIP
- 批量选择时可以整个文件夹选中;列表视图里的文件夹显示夹内第一本书的封面、作者和进度,并和书一起排序
阅读
- 多书标签:可以在新标签中打开书,在几本书之间切换,最多保留 5 个标签
- 自定义阅读主题:自选纸张、文字与强调色,最多保存 6 套
- 书里内嵌的音频和视频可以直接在阅读页面播放
- 目录、书签与笔记共用一个抽屉;超长目录也能流畅展开,嵌套分支可以折叠
- 从目录、链接、搜索结果、笔记或书签跳转后,可以退回原处,也可以再前进回去
- 点击翻页区域可以自定义,左右两侧的点击区域只保留想要的;触屏设备还能设置点击左侧也进入下一页;开启「左侧点击也下一页」后,左侧预览箭头会翻转为朝前,与实际翻页方向一致
- 翻页动画可选滑动、淡入或无;触屏滑动翻页可随时打断、来回拖动
- 全书进度条带章节刻度,可拖动跳转
- 超长章节在后台预备,开书或读到重章节时不会卡住当前阅读
- 阅读位置按内容锚点记忆,字号、窗口或版式变化后仍回到同一段文字
- 书签丝带:有书签的页面挂一条红色丝带,加删书签有动画,删掉的书签可以撤销;手机和平板上点屏幕右上角就能加或删书签
- 章节之间像普通翻页一样连续滑过去,中途还能往回滑;双页阅读时,章末空着的半页可以补上下一章的第一页(需在设置里开启)
- 换主题时整屏淡入新配色,当前章节原地换色,阅读位置和选区都保留
- 可选用自己的字体覆盖原书字体,默认关闭
- 脚注以弹层呈现:桌面端悬停预览,点击固定后可滚动查看
- 阅读器里在当前这本书内查找,电脑端的搜索停靠在右侧,不挤压正文;书架上也可以搜索书籍
- 选中正文可以复制或添加笔记,笔记支持编辑、删除与跳回原文
- 双页阅读时,连续的插图页、书名页、版权页这类只有一页的章节会两两并排;连续两章都是大图时左右拼成一个跨页
- 固定版式(pre-paginated)书籍按整页显示;识别到 DRM 保护时给出明确提示
各平台
- Windows:用与应用主题一致的自绘顶栏取代系统标题栏,书名与窗口控件在同一栏,拖动这一栏即可移动窗口;导入时可以选择复制到应用书库,或继续链接原文件;书库位置可以自定义,书籍菜单可以直接在文件资源管理器中找到对应的 EPUB 文件;Aa 主题行支持鼠标滚轮横向浏览和按住拖动
- Android:存储设置关闭「导入时复制到书库」后,从「导入书」选择的文件留在原位置读取,不再复制一份;文件被移动或权限失效时可重新连接同一文件,只有内容一致才会绑定,删除这类书时会提示原文件仍保留在原处;全面屏沉浸阅读、左右滑动翻页、阅读界面显示电量、内置设备互传扫码,支持系统返回手势逐层返回;可开启阅读时屏幕常亮,也可在阅读时隐藏系统状态栏;手机书架上文件夹的展开和收起入口已移到筛选行;阅读设置可开启音量键翻页(可单独反向),只在阅读正文时生效
兼容性
EPUB 文件的实现差异很大,阅读器为此做了容错:
- 百分比宽度、不对称边距与浮动按原本的比例呈现
- 书里声明的字体默认生效,阅读器的默认字体不会盖掉它
- 图片和较宽的表格不越出页面:宽表格会收窄并让长行换行,书本身固定住的表格保持原样
- 要求从右往左翻页的书按书的方向翻页;竖排的书按竖排显示(实验性,效果不理想时可以强制转为横排)
- 整页插图、分隔图与行内脚注标记正确渲染
- 对不严格遵循规范的书籍,也尽量正常打开与阅读
测试中采用了个人作者匠心制作的各种美化版书本,确保了相当优秀的兼容性。
隐私
不需要账号,不收集任何使用数据。书籍、笔记和阅读进度默认只保存在你的设备上;只有你主动开启云同步时,阅读资料才会同步到你自己选择的 WebDAV 服务,EPUB 原书不会上传。设备互传通过一次性的加密配对在两台设备之间直接连接,不经过服务器;Android 上只在扫描配对二维码时使用相机。
技术架构
Tauri 2 提供应用外壳和原生能力,界面用 React 与 TypeScript,解析、排版等核心部分用 Rust 实现,书籍元数据与阅读进度存放在本地 SQLite 中。
平台状态
- Windows:已发布,支持 Windows 10 / 11(x64)
- Android:已发布,支持 Android 7.0 及以上(arm64)
- macOS、Linux、iOS:后续计划
本地 AI 与检索
语义搜索、基于书中内容并附带原文引用的 AI 问答、章节与全书摘要,都在后续计划中。希望检索与问答直接发生在阅读器内部,而不是做成一个独立应用。这部分的探索单独记录在本地 RAG / Retrieval 分支。
下载
所有版本都发布在 Releases。应用自 v0.4.0 起更名为 SeLis,安装身份、签名、数据目录与更新地址保持不变,老用户可覆盖升级并保留书架和进度;发行页同时提供对应源码 ZIP 与许可声明 ZIP。
- Windows:安装版与免安装版。Windows 10 与 11 通常已经带有运行所需的 WebView2;较旧或精简过的系统需要自行安装常青版运行时
- Android:
.apk安装包,没有通过 Google Play 分发,首次安装需要允许安装未知来源应用;之后下载新版本覆盖安装即可,书架与阅读进度会保留
应用内「设置 → 关于」可以检查更新:说明新版本的内容,Windows 安装版和 Android 可以直接下载安装,免安装版提供下载链接;也可以设为启动时自动检查。
许可
原创代码以 GPL-3.0-only 发布;发行页同时提供对应源码 ZIP 与许可声明 ZIP。
第三方组件继续遵守各自原有的许可证(MIT、Apache-2.0、MPL-2.0、BSD、ISC、Zlib、Unicode-3.0 等),完整清单见仓库内的 THIRD_PARTY_LICENSES.md,授权说明见LICENSING.md。