开源了一个跨平台 EPUB 阅读软件 Readest,使用 Tauri v2 和 Next.js 15 开发

323 天前
 chrox

Readest 📚

给大家推荐一款全新的开源电子书阅读器 —— Readest,专为追求沉浸式深度阅读体验的用户打造! Readest 是经典阅读器 Foliate 的现代化重写版,使用了最新技术栈 Next.js 15 和 Tauri v2 ,支持 macOS 、Windows 、Linux 和 Web 平台,未来还将支持 iOS 和 Android 。

预览:

已支持的功能:

  • 支持多种电子书格式:支持 EPUB 、MOBI 、AZW3 、PDF 等多种格式;
  • 分页/滚动阅读模式:自由切换,适应不同阅读习惯;
  • 高效注释与标记:支持高亮、书签和笔记,轻松整理知识点;
  • 全文搜索与翻译:支持全文搜索,还能通过 DeepL 轻松翻译文本;
  • 双屏平行阅读:支持同时阅读两本书籍,满足学术研究和对比需求;
  • 个性化排版设置:字体、主题、颜色随心定制,专属阅读体验。

未来计划支持的功能:

  • 支持 iOS 和 Android 平台;
  • 支持 Readest 多设备进度;
  • 与 Koreader 设备同步;
  • 与 OPDS / Calibre 集成;
  • 支持手写注释与语音朗读;
  • 支持高级阅读统计;
  • 支持 AI 自动生成大纲摘要。

立即体验 Readest !

欢迎大家尝试并分享反馈,一起打造极致的阅读体验! ❤️ 让阅读回归纯粹的乐趣!

5705 次点击
所在节点    程序员
58 条回复
chrox
302 天前
@syx86 @feng901108 最新版本已经支持多端同步进度和笔记。
sakura1988
300 天前
已 star ,体验了一天:
UI 好看,pc 上用着比 calibre 舒服太多了。android 上个人认为 UI 吊打 legado 和静读天下。
而且内容渲染目前来看都没有问题,不像 android 的某几个 app ,要么格式渲染错误,要么干脆有些内容不显示。
注释弹窗这点真的很贴心,不像其他的直接跳转了,还得再点一次返回来。

但是 android 端用 web 体验下来,还是差点意思。感觉做 app 的话需要好好考虑一下 UI/UX 。厚墨 1.3.0 和掌阅个人认为算是 UI/UX 方面比较好的,但是前者渲染问题太大,后者又擅自给我加缩进,而且一堆没用的书城、会员、广告。用了一圈,作者这个感觉是目前最接近我理想状态的阅读器了。当然最合自己胃口的还是自己做的,等以后有时间自己写一个算了哈哈哈哈。



发现的一些问题:
1.无法搜索单个字。
2.无法删除摘录。
3.笔记保存后,会在左侧侧边栏生成两条笔记记录。
4.左侧侧边栏书名右边的 icon 点击没反应。
5.位置(页码)计算不准确。
6.顶部工具栏背景透明,导致滚动后搜索栏内容看不清。
7.dialog 会导致界面出现布局变化,包括首页和阅读界面。
8.章节之间切换,因为上/下一章节没有加载,会有很短暂的白屏。打开翻页动画就能发现。
9.android web 端显示不全,表现为底部的进度条看不到。就是 100vh 的移动端适配问题,改成 svh 或者 dvh 完事。
10.android web 端翻页效果很生硬,肉眼可见的卡顿。
11.windows 客户端点击菜单按钮弹出登录、关于的菜单后,直接点菜单外区域,整个界面无法点击。看了下是蒙版没销毁。
12.windows 客户端 google 登录 400 ,validation_failed 。



几个疑问和建议:
1.搜索功能的书籍功能是做什么的?只有章节能搜索出结果
2.是否考虑支持 txt ?
3.为什么 copy 内容要当作摘录保存?在我的理解中这两个应该是完全无关的操作。
4.笔记为什么必须输入内容才能删除?有时候点错了,要先输入内容、保存,最后才能删除。
5.优化自定义 css 的输入交互。其实直接用一个不带输入格式化的 textarea 让用户自己输就好了。我都是编辑好直接粘贴到里面,因为目前的输入太难用了。。。
6.支持修改字间距、段间距,增加提高样式优先级的开关。我写自定义 css 的原因之一就是这个。字体和布局配置的样式优先级比 calibre 的低,导致根本不生效。而有些书的排版又很差劲。如果不改阅读器的配置,就得直接去改源文件的排版。
7.图书资源管理:文件夹扫描入库、文件格式关联、排序和分组。这点个人感觉算是重点,不然还是偏玩具。
chrox
299 天前
@sakura1988 感谢你很细致的使用反馈!

其实 Android 端和 iOS 端还没有真正开始做 UI/UE 的移动端适配,目前沿用的桌面端的响应式布局,我打算做完 TTS 开始适配移动端。
chrox
299 天前
@sakura1988
有问题的部分。

1. 考虑全文搜索性能问题,只有输入两个字符以上才开始全文搜索。当时没考虑中文的情况,中文一个字确实应该开始搜索,我修复一下。
2. 摘录在右侧边栏可以删除,需要展开摘录卡片,显示删除按钮。
3. 笔记同时保存一份高亮,这个逻辑参考了微信读书,实际使用确实比较方便,比如一份笔记可能写了后又删除重新写的时候只需要点击那个高亮,方便定位。很多时候,笔记也是在高亮一段文字之后添加的。
4. 图书详情今天我添加一下。
5. 目前,考虑性能问题位置与实际的页码不完全一致,因为每次渲染只渲染当前章节,不会渲染整本书。后续可以加入后台预渲染可能会好一些。
6. 我看下这个问题。
7. 我看一下。
8. 同第 5 个问题。
9. 我试一下看看。
10. 移动端后续统一做适配。
11 和 12. 我修复一下。
chrox
299 天前
@sakura1988 关于疑问和建议。

1. 搜索选项里书籍和章节是搜索范围,如果章节里有书籍里没有,可能是触发了 bug 。
2. 暂时优先级较低,优先支持的格式是 epub 和 pdf 。这两个格式完善之后再考虑 txt 。
3. 相当于默认 copy 到了笔记本和剪切板,这个确实跟之前的使用习惯可能不一致,大多数阅读软件并不提供内置的摘录功能,但我发现内置摘录对记笔记很方便,特别是笔记设计多个地方的摘录文本。
4. 我修复一下,添加快捷删除按钮。
5. 我优化一下交互,在保存时校验 css 。
6. 可以添加相关设置,方便分享一下你的自定义 css 吗,我作为参考设置一些默认值。
7. 图书管理功能后续会加强,会是很重要的功能。
sakura1988
299 天前
@chrox
问题:
2: 点击删除会收起摘录卡片,删除按钮并不生效。

5:
大概找了下相关的讨论,页码获取似乎比较困难。
我是参考了 android 的掌阅、多看,它们的页码是准确的,但是文件比较大的时候会显示 "分页中"。这时候应该是后台还没算出总页数和当前页码。我也没有实际做过这些功能,所以无法评估真正的复杂度。
也有些阅读器是用百分比进度,但是感觉没有页码好。



建议:
2: txt 主要是因为不想再手动编成 epub 。不支持也问题不大,就是用户得花时间。

6:
这个类似 2 ,主要就是因为改 epub 要花点时间。懒得改的时候直接设置阅读器配置会比较方便。
具体配置可以参考其他竞品,字体的相关配置主要包括:字体、字号、字重、字间距、行间距、段间距、首行缩进。布局就是页边距之类的了,当前其实已经可以了。
而且个人认为比较重要的就是支持相关的开关,用户能够自己选择强制覆盖原书样式还是保留原书样式。原书排版完美,就关掉配置,像 pdf 一样直接原样显示。排版有问题再开启。像多看和掌阅强制首行缩进我就比较反感,把排版都搞乱了。

5:
放在 6 后面是因为自定义 css 其实完全能实现 6 的功能,而且更强大。只不过不够傻瓜式,不适合非专业用户。不太清除作者做这个功能的出发点是什么,我觉得这个功能很棒,已经有插件的味道了。而且要做得彻底一点的话,建议把应用范围扩大到除侧边栏和工具栏之外的整个界面,当前好像只能设置书内容区域很小一块。
更高阶的形态应该是类似 foobar2000 ,给用户完全的权力,爱怎么改怎么改,当然这太过不切实际了,略过。


总体看下来,个人感觉当前的产品形态是一个应用场景局限在平板、pc 上的阅读器,移动端还不太行。两个路径:
1.专注做阅读器,这时候不需要考虑 7 图书管理,也不用考虑多端同步,只需要把移动端搞好就行了。但说实话这样的产品没太大用,用户为了方便大概率不会去用。
2.maganer+ reader ,整条链路打通,把图书功能包圆。这是最理想的了,但是也是最花资源的。如果做到了就我个人而言完全能接受付费。
sakura1988
299 天前
路径 2 是 manager+reader ,打快了。

总之还是感谢作者做出了这样的工具。
chrox
299 天前
@chrox 感谢你的反馈,我看一下摘录卡片的删除功能。

目前 Readest 的产品方向是第 2 种,manager + reader 的方式,后续阅读的也不仅仅是出版物图书,还可以是文章、视频和播客。让 Readest 接管用户一部分的信息输入,并在 Readest 里消化和提炼或者洞察。要实现这些还需要很长的路要走,期待关注和支持。
chrox
299 天前
> 大概找了下相关的讨论,页码获取似乎比较困难。
我是参考了 android 的掌阅、多看,它们的页码是准确的,但是文件比较大的时候会显示 "分页中"。这时候应该是后台还没算出总页数和当前页码。我也没有实际做过这些功能,所以无法评估真正的复杂度。
也有些阅读器是用百分比进度,但是感觉没有页码好。


@sakura1988 目前是根据渲染以前文档的字数来计算位置的,好处是不需要渲染完整书籍就可以显示当前位置。
chrox
299 天前
> 放在 6 后面是因为自定义 css 其实完全能实现 6 的功能,而且更强大。只不过不够傻瓜式,不适合非专业用户。不太清除作者做这个功能的出发点是什么,我觉得这个功能很棒,已经有插件的味道了。而且要做得彻底一点的话,建议把应用范围扩大到除侧边栏和工具栏之外的整个界面,当前好像只能设置书内容区域很小一块。
更高阶的形态应该是类似 foobar2000 ,给用户完全的权力,爱怎么改怎么改,当然这太过不切实际了,略过。

@sakura1988 如果技术上可行,我希望 Readest 有一个插件系统能够让用户自定义功能和外观。后续我尝试一下技术可行性。也欢迎你一起贡献代码。
chrox
296 天前
## 更新日志:

### Readest 0.8.9 ( 2025-01-03 ):
1. 支持加载更多系统字体;
2. 阅读界面侧边栏添加书籍详情按钮;
3. 修复 Native App 的 Google 、GitHub 登陆无效的问题;
4. 修复部分书籍内嵌字体无法显示的问题;
5. 修复个别书籍无法找到封面的问题;
6. 修复书籍导入失败会导致页面卡死的问题;
7. 修复部分书籍行间距设置无效的问题;
8. 修复搜索结果在深色模式下的背景色问题。

### Readest 0.8.7 ( 2024-12-28 ):

1. 支持多语言,软件界面自动切换到当前系统的语言;
9. 登陆后支持多端阅读进度和笔记同步;
10. 阅读界面支持更多快捷键,快捷键列表:[Keyboard Shortcuts Reference Guide · readest/readest Wiki · GitHub]( https://github.com/readest/readest/wiki/Keyboard-Shortcuts-Reference-Guide)
11. 侧边栏鼠标移动到相应划线和笔记显示删除按钮;
12. 书架右键菜单增加在文件夹中显示和删除的按钮;
13. 修复直接退出程序阅读进度不保存的问题。
chrox
296 天前
@sakura1988 Windows 客户端的 oauth 登录已经在 0.8.9 版本中修复了。
K2
272 天前
@chrox #51 期待一下移动端,web 端的朗读功能在 iOS 上无法独占后台音频,也就不能息屏朗读。
lijie33402
265 天前
tauri 支持移动端了?
c1wx
244 天前
很漂亮的界面,搜索速度特别快,非常期待 iOS 端,还有能够配合 immersive translate 翻译插件使用。
taotaoba
194 天前
打扰一下,请问能不能加入一个已读功能,或者书籍整理这样的东西,读完一本书之后去查笔记,结果又回到了笔记的页数,而且笔记那不能直接复制粘贴,必须回到原来笔记的那页
maxwell29
187 天前
可算让我找到了
afxmsg
11 天前
pdf 格式不能高亮文本?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1095654

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX