V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
chrox
V2EX  ›  程序员

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

  •  4
     
  •   chrox · 2024-12-07 00:26:56 +08:00 · 6244 次点击
    这是一个创建于 366 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Readest 📚

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

    预览:

    Readest Annotator Anim Readest Annotator Readest Dark Mode

    已支持的功能:

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

    未来计划支持的功能:

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

    立即体验 Readest !

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

    59 条回复    2025-11-02 16:52:18 +08:00
    WilliamKong
        1
    WilliamKong  
       2024-12-07 10:34:46 +08:00
    在 web 版试了一下,效果还是挺不错的,滚动阅读和两端对齐排版很合需求,已加星。目前在用自建 Kavita( https://github.com/Kareadita/Kavita),
    WilliamKong
        2
    WilliamKong  
       2024-12-07 10:38:21 +08:00
    @WilliamKong #1 欸发出去了,还没说完呢,Kavita 是纯 web 端,支持数据持久化,支持滚动阅读,但是缺了两端对齐,对 epub 文件的处理也比较死板,一点不符合规范就直接报错(好像那边主打看漫画其实)。不知道作者后续会不会也支持 web 端的自托管
    skmO
        3
    skmO  
       2024-12-07 10:40:44 +08:00
    试试看,希望好用,全平台 epub 有需求,neat reader 很多书都解析出错。
    wynemo
        4
    wynemo  
       2024-12-07 11:30:44 +08:00
    不错 可惜就是 网页版 用沉浸式翻译, 翻译不了正文内容
    yoghurtguy
        5
    yoghurtguy  
       2024-12-07 11:59:12 +08:00 via iPhone
    已 star ,最近在学习 nextjs ,学习一下大佬代码
    zololiu
        6
    zololiu  
       2024-12-07 12:42:08 +08:00
    看上去很酷,先 star 一个,期待大佬能增加个 webdav 多端同步。
    Wudilalala
        7
    Wudilalala  
       2024-12-07 13:10:54 +08:00
    大佬能不能搞一个那种某段话生成卡片分享?
    chrox
        8
    chrox  
    OP
       2024-12-07 13:29:27 +08:00 via iPhone
    @WilliamKong 目前 Readest Web 版托管在 vercel 上,配置相对容易,后续我加一个自托管的部署按钮在 README 文件里。
    chrox
        9
    chrox  
    OP
       2024-12-07 13:35:53 +08:00 via iPhone
    @skmO 欢迎试用分享反馈 😁
    chrox
        10
    chrox  
    OP
       2024-12-07 13:37:36 +08:00 via iPhone
    @wynemo 正文在 iframe 里可能沉浸式翻译没识别到。后续我会参考沉浸式翻译来做翻译功能,敬请期待。
    chrox
        11
    chrox  
    OP
       2024-12-07 13:38:41 +08:00 via iPhone
    @yoghurtguy 感谢关注,期待一起参与开源贡献代码。
    chrox
        12
    chrox  
    OP
       2024-12-07 13:40:27 +08:00 via iPhone
    @zololiu 感谢支持。目前在做多端同步功能的技术选型,可以在 GitHub 上一起交流交流。
    chrox
        13
    chrox  
    OP
       2024-12-07 13:41:31 +08:00 via iPhone   ❤️ 1
    @Wudilalala 这个功能已经在计划中了 😁
    zeusho871
        14
    zeusho871  
       2024-12-07 13:47:16 +08:00
    想拿来看外文书籍,能加个字典功能吗。字典可以用外部的用户自己提供避免侵权( KOreader 有这个功能) 当然能整个记录生词的就更好了😂😂😂😂
    chrox
        15
    chrox  
    OP
       2024-12-07 14:17:37 +08:00 via iPhone
    @zeusho871 目前 Readest 内置的字典是 Wiktionary 。后续会跟 Koreader 一样先支持 Stardict 字典,然后再支持调用第三方词典软件查词。语言学习是 Readest 的一个重要支持场景,我需要再根据用户反馈好好规划一下。
    shinonome
        16
    shinonome  
       2024-12-07 14:41:22 +08:00
    mac 上试了下, 一本书无法正常加载阅读, 自带的是正常的
    shinonome
        17
    shinonome  
       2024-12-07 14:45:47 +08:00
    可以留下邮箱我发一下书
    chrox
        18
    chrox  
    OP
       2024-12-07 15:02:24 +08:00 via iPhone
    @shinonome 感谢反馈: [email protected]
    anyinlover
        19
    anyinlover  
       2024-12-07 16:27:58 +08:00
    已经 star ,楼主很强。之前有类似想法,因为缺乏对应技术栈技能,迟迟没有开始~

    我建议可以往专业阅读软件方向发展,有些想法供参考。

    可以考虑加入主题阅读的功能。比如可以选定一个集合,选择其中一本书的观点后可以通过语义检索找到集合内其他类似观点的片段。可以综合对比集合内不同书的异同。

    对于疑难句子,可以借助 LLM 帮忙释义,类似于有老师指导阅读。

    也可以让 LLM 帮忙总结全文架构和重点,或者通过提问的方式快速找到关心的部分。
    chrox
        20
    chrox  
    OP
       2024-12-07 16:38:01 +08:00 via iPhone
    @anyinlover 感谢支持。我也有类似的想法,就是往专业深度阅读工具上发展,学术主题阅读和语言学习是两个应用场景。后续会引入 LLM 能力来支持这些想法,欢迎 fork 代码一起贡献。😁
    molezznet
        21
    molezznet  
       2024-12-07 17:21:56 +08:00
    star 关注更新。
    导了一本英文书,好用, 虽然浏览器插件不能用, 不过自带的 deepl 可以快速翻译, 字典无效暂时
    期待同步或 web 储存。
    一直找不到替代 readwise 的 epub 跨平台和 web app
    chrox
        22
    chrox  
    OP
       2024-12-07 17:29:10 +08:00
    @molezznet 感谢关注,多平台同步和文件云储存已经在开发计划中了,也欢迎 fork 代码一起贡献。
    lee88688
        23
    lee88688  
       2024-12-07 18:29:05 +08:00   ❤️ 1
    楼主加油,我之前也做过一个 epub 的阅读器,后面准备用 foliate-js 重更新一下,楼主做了我想做的,点赞。
    chrox
        24
    chrox  
    OP
       2024-12-07 18:49:09 +08:00
    @lee88688 多谢支持。欢迎 fork 代码一起开发 😁
    molezznet
        25
    molezznet  
       2024-12-07 22:12:32 +08:00
    @chrox 我是学分子生物学的 …… 完全不懂编程 ………………
    chrox
        26
    chrox  
    OP
       2024-12-07 23:43:16 +08:00 via iPhone
    @molezznet 没关系,我以前是学化学的
    pillarho
        27
    pillarho  
       2024-12-08 01:58:14 +08:00 via Android   ❤️ 1
    关注,关注,其实还有一个场景,支持配置 AI 实现听书
    chrox
        28
    chrox  
    OP
       364 天前
    @pillarho 已经在开发计划中了。
    chrox
        29
    chrox  
    OP
       364 天前
    @shinonome 这本书 DRM 加密了,目前 Readest 还不支持 DRM 。
    matoung
        30
    matoung  
       364 天前
    界面很漂亮,已 Star
    sanquan
        31
    sanquan  
       363 天前
    已 star 期待 ios 版
    chrox
        32
    chrox  
    OP
       363 天前
    @matoung 感谢支持🙏
    chrox
        33
    chrox  
    OP
       363 天前
    @sanquan 感谢支持🙏 马上就回发布敬请期待。
    b1t
        34
    b1t  
       362 天前
    @chrox 想问一下,op 移动端的技术栈怎么选的?
    chrox
        35
    chrox  
    OP
       362 天前   ❤️ 1
    @b1t 还会沿用 Tauri v2 打包到移动端。
    b1t
        36
    b1t  
       362 天前
    @chrox #35 看网上评价坑不少,期待一下
    goushengnankong
        37
    goushengnankong  
       359 天前
    试用了一下,很不错,支持
    syx86
        38
    syx86  
       359 天前
    试了一下,体验不错。等多平台进度同步出来就有实用价值了
    feng901108
        39
    feng901108  
       358 天前
    已 Star 期待多端同步和墨水屏设备支持。
    liuren1
        40
    liuren1  
       354 天前 via iPhone
    @chrox 确实需要这个这个功能,希望可以内挂第三方词典
    chrox
        41
    chrox  
    OP
       346 天前 via iPhone
    @syx86 @feng901108 最新版本已经支持多端同步进度和笔记。
    sakura1988
        42
    sakura1988  
       343 天前
    已 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
        43
    chrox  
    OP
       343 天前 via iPhone
    @sakura1988 感谢你很细致的使用反馈!

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

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

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

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



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

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

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


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

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

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


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

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

    ### 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
        52
    chrox  
    OP
       339 天前
    @sakura1988 Windows 客户端的 oauth 登录已经在 0.8.9 版本中修复了。
    K2
        53
    K2  
    PRO
       316 天前
    @chrox #51 期待一下移动端,web 端的朗读功能在 iOS 上无法独占后台音频,也就不能息屏朗读。
    lijie33402
        54
    lijie33402  
       308 天前
    tauri 支持移动端了?
    c1wx
        55
    c1wx  
       287 天前
    很漂亮的界面,搜索速度特别快,非常期待 iOS 端,还有能够配合 immersive translate 翻译插件使用。
    taotaoba
        56
    taotaoba  
       237 天前
    打扰一下,请问能不能加入一个已读功能,或者书籍整理这样的东西,读完一本书之后去查笔记,结果又回到了笔记的页数,而且笔记那不能直接复制粘贴,必须回到原来笔记的那页
    maxwell29
        57
    maxwell29  
       230 天前
    可算让我找到了
    afxmsg
        58
    afxmsg  
       54 天前
    pdf 格式不能高亮文本?
    getadoggie
        59
    getadoggie  
       35 天前 via iPhone
    你好,我发现 ios14 对于阅读的网页端和 app 都打不开(表现为只加载部分资源)而我的 iphone ios16 都能正常打开,是否是 ios 的 webview 不支持某些特性?希望能支持一下低版本设备,因为我主要考虑巨魔的关系是不会升级 ios 的,而在 ipad 上看小说才是最正统的,这个阅读 app 还算比较不错,希望猛继续用下去
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5296 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 07:48 · PVG 15:48 · LAX 23:48 · JFK 02:48
    ♥ Do have faith in what you're doing.