浮读是一款 Windows 优先的轻量电子书阅读器。它把电子书正文放进类似“桌面歌词”的无边框悬浮窗:窗口可以置顶、拖动和缩放,鼠标移出后会快速淡到接近透明,重新移入原区域即可恢复。
当前仓库包含可直接运行和打包的 v0.4.2,而不是仅供展示的界面原型。
| 格式 | 当前支持 |
|---|---|
| TXT | UTF-8、UTF-16、GB18030、Big5,并自动识别常见章节标题 |
| 提取文档文字层,按页生成导航目录 | |
| EPUB | 按书脊顺序提取无 DRM EPUB 的章节正文和目录 |
运行环境:Windows 10/11,Python 3.10 或更高版本。
在项目根目录执行:
.\scripts\setup.ps1
.\scripts\run.ps1首次运行会在项目目录创建 .venv,并安装 PySide6、PyMuPDF、EbookLib 和 BeautifulSoup。
直接打开一本电子书:
.\scripts\run.ps1 "D:\Books\示例.epub"本次启动不自动继续上次阅读:
.\scripts\run.ps1 --no-auto-open查看当前版本:
.\scripts\run.ps1 --version也可以在书架点击“添加电子书”,或者将一个 PDF、TXT、EPUB 文件拖入窗口。
- 保存最多 50 本最近阅读记录,展示格式和阅读进度
- 点击书籍卡片继续阅读
- 按书名、格式或文件路径搜索
- 支持置顶和移除书架记录;移除记录不会删除原文件
- 原文件移动后可重新定位,并继承阅读进度和书签
- 超长书名最多显示两行,不会撑宽或溢出窗口
- 搜索框使用拼音等输入法时暂停自动淡出,输入结束后恢复原行为
- 无标题栏、自由拖动、四边与四角缩放、默认窗口置顶
- 阅读页左上角返回书架,右上角提供设置和退出悬浮按钮
- 鼠标滚轮、键盘翻页和小步滚动
- 字号、行距和背景透明度实时调整
- 沉浸阅读、便签、代码注释、终端输出、普通提示五种主题
- 鼠标移出后延迟淡出,重新移入后平滑恢复
- 目录筛选和全文搜索输入期间保持窗口可见
- 可选鼠标穿透模式,并可通过全局快捷键或托盘恢复
- 双击正文区域可在紧凑高度和展开高度之间切换
- 阅读区、书架页和书架卡片均不响应右键菜单
- TXT 章节、PDF 页目录、EPUB 章节目录与快速跳转
- 主题联动的无边框导航面板,集中提供目录、全文搜索和书签
- 全文搜索在后台运行;新查询或文档切换会取消旧任务
- 书签和每本书的阅读位置独立保存
- 超过 150 万字符的文档只向阅读控件加载约 32 万字符的可见窗口,目录、搜索、书签和进度仍使用全文位置
- PDF 和 EPUB 在后台解析;连续打开文件时以最后一次请求为准
- 系统级快捷键在焦点位于其他软件时仍可控制阅读器
- 单实例运行:重复启动会激活已有窗口,并转发待打开的电子书
- 系统托盘支持恢复窗口、打开文件和退出
- 窗口位置会自动校正到可见屏幕范围,并支持一键重置
- 设置、窗口位置、阅读进度和书签均保存在本机
- 设置和进度使用原子写入,降低异常退出造成数据损坏的风险
本地数据位于:
%APPDATA%\QuietRead\
├─ settings.json
├─ progress.json
└─ quietread.log
浮读不会上传电子书内容。
- 拖动正文空白区域:移动窗口
- 拖动窗口四边或四角:调整窗口尺寸
Ctrl+左键拖动:选择正文文字- 双击正文区域:切换紧凑高度和展开高度
Ctrl+滚轮:调整字号Alt+滚轮:调整背景透明度- 阅读页和书架页的设置按钮:打开主题化设置面板
- 设置面板包含图书、阅读、窗口和帮助四页
| 作用 | 快捷键 |
|---|---|
| 显示 / 隐藏;鼠标穿透时恢复交互 | Ctrl+Alt+Space |
| 上一页 / 下一页 | Ctrl+Alt+PgUp / Ctrl+Alt+PgDn |
| 向上 / 向下小步滚动 | Ctrl+Alt+↑ / Ctrl+Alt+↓ |
| 降低 / 提高背景不透明度 | Ctrl+Alt+← / Ctrl+Alt+→ |
| 重置窗口位置与尺寸 | Ctrl+Alt+Home |
| 退出浮读 | Ctrl+Q |
| 作用 | 快捷键 |
|---|---|
| 打开电子书 | Ctrl+O |
| 上一页 / 下一页 | Page Up / Page Down |
| 上一页 / 下一页 | Shift+Space / Space |
| 向上 / 向下小步滚动 | ↑ / ↓ |
| 目录与导航 | Ctrl+K |
| 全文搜索 | Ctrl+F |
| 添加当前位置书签 | Ctrl+B |
| 查看书签 | Ctrl+Shift+B |
| 增大 / 减小字号 | Ctrl++ / Ctrl+- |
| 降低 / 提高背景不透明度 | Alt+← / Alt+→ |
| 重置窗口位置与尺寸 | Ctrl+Shift+Home |
| 立即淡出 | Esc |
| 查看快捷键帮助 | F1 |
| 退出浮读 | Ctrl+Q |
如果系统级组合已被其他程序占用,浮读不会抢占它;按 F1 可以查看注册失败的快捷键。
运行完整测试:
.\scripts\test.ps1当前测试集包含 43 项自动化测试,覆盖格式解析、书架、长书名、导航、后台任务、书签和进度存储、单实例、窗口缩放、输入法防淡出以及主要 UI 交互。
构建 Windows 免安装目录版:
.\scripts\build.ps1产物位于:
dist\QuietRead\QuietRead.exe
打包版不要求目标电脑预装 Python。构建后可以针对不同格式分别执行解析冒烟检查:
.\dist\QuietRead\QuietRead.exe "D:\Books\示例.txt" --smoke-test
.\dist\QuietRead\QuietRead.exe "D:\Books\示例.pdf" --smoke-test
.\dist\QuietRead\QuietRead.exe "D:\Books\示例.epub" --smoke-testsrc\quietread\
├─ app.py 应用入口、托盘和系统快捷键
├─ reader_window.py 主窗口与阅读会话协调
├─ reader_view.py 正文交互、拖动和缩放
├─ library_view.py 书架首页与书籍卡片
├─ settings_dialog.py 四页设置面板
├─ navigation_dialog.py 目录、搜索和书签
├─ document_window.py 大文档分段视图与位置映射
├─ loaders.py TXT、PDF、EPUB 解析
├─ tasks.py 后台解析和搜索任务
├─ storage.py 设置、进度和书签持久化
├─ hotkeys.py Windows 系统级快捷键
└─ single_instance.py 单实例与启动请求转发
完整产品与技术方案见 docs/PRODUCT_SPEC.md,版本变化见 CHANGELOG.md。
- PDF 只读取文字层,不复刻原始排版、图片或批注;扫描 PDF 尚不支持 OCR。
- 加密 PDF 需要先移除密码。
- EPUB 以连续纯文本方式阅读,不保留复杂排版和图片,也不绕过 DRM。
- 当前首页不提供文件夹批量扫描;请使用“添加电子书”或单文件拖放。
- Windows 已完成系统级快捷键和打包验证;其他平台尚未完成发布级适配与验证。
- 当前定位是低干扰连续阅读,不替代专业 PDF 标注器或大型电子书库管理器。
v0.5 计划重点包括 PDF 原页 / 纯文本双模式、可选本地 OCR、脚注和图片处理、字体与段落排版设置,以及快捷键自定义和冲突检测。
