# 墨舟 **Repository Path**: deepin20/mozhou ## Basic Information - **Project Name**: 墨舟 - **Description**: 墨舟是一款基于 PyQt5 开发的电子书阅读与管理工具,专为统信 UOS / Deepin 系统设计。它提供了干净清爽的界面,支持 TXT / Markdown 文件的导入、阅读、标签分类、笔记高亮、全文搜索,并集成了 So Novel 下载引擎,可一键下载网络小说。 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-09-03 - **Last Updated**: 2026-10-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 墨舟 (Mozhou) > 统信 UOS 原生电子书管理工具 – 阅读、管理、下载,一舟承载墨香。 墨舟是一款基于 PyQt5 开发的电子书阅读与管理工具,专为统信 UOS / Deepin 系统设计。它提供了干净清爽的界面,支持 TXT / Markdown 文件的导入、阅读、标签分类、笔记高亮、全文搜索,并集成了 So Novel 下载引擎,可一键下载网络小说。 --- ## ✨ 主要特性 - 📚 **书库管理** – 导入 `.txt` / `.md` 文件,自动识别作者与编码;支持网格/列表视图,按书名、作者、标签筛选。 - 🏷️ **分类与标签** – 树形分类管理,自由打标签,多维度整理你的藏书。 - 📖 **阅读体验** – 可自定义字体、字号、主题(护眼/深色/羊皮纸等);支持自动滚动、阅读位置记忆。 - ✏️ **笔记与书签** – 高亮文本并添加笔记,支持导出笔记为 `.txt`;书签快速跳转。 - 🔍 **全文搜索** – 基于 SQLite FTS5,实时搜索书名、作者乃至正文内容。 - ⬇️ **在线下载** – 集成 So Novel 下载器(自带 Java 运行时),粘贴书籍详情页 URL 即可下载并自动入库。 - 🖼️ **封面管理** – 支持手动选择封面图片,自动从网络抓取封面(需网络)。 - 🛠️ **扩展工具** – 内置 WebP 图片转换工具,方便制作封面。 --- ## 🖥️ 系统要求 - 统信 UOS 20+ / Deepin 20+(或其他 Debian 11+ 发行版) - Python 3.8+ - 至少 2GB 可用内存,500MB 磁盘空间(含 So Novel 运行时) --- ## 📦 安装方式 ### 1. 使用预编译 `.deb` 包(推荐) ```bash # 下载 mozhou_2.0.0_all.deb sudo dpkg -i mozhou_2.0.0_all.deb sudo apt install -f # 若有依赖缺失,自动补全 ``` 安装后,可在应用菜单中找到“墨舟”,或通过终端执行 `mozhou` 启动。 ### 2. 从源码运行(开发模式) ```bash git clone https://github.com/yourname/mozhou.git cd mozhou chmod +x run.sh ./run.sh ``` > 首次运行会自动检测并安装 Python 依赖(使用 `pip3 --user`)。 ### 3. 用户级安装(无需 sudo) ```bash ./install-user.sh ``` 会将程序安装到 `~/.local/share/mozhou`,并创建桌面快捷方式。 --- ## 🚀 快速上手 1. **导入书籍** – 点击“导入电子书”,选择 `.txt` 或 `.md` 文件。 2. **阅读** – 双击书籍条目,即可进入阅读器。 3. **添加标签/分类** – 右键书籍,可设置标签和分类。 4. **下载小说** – 切换到“下载”页面,粘贴书籍详情页 URL(如 `https://www.xbiqugu.la/book/12345/`),点击“开始下载”。 5. **笔记高亮** – 在阅读器中选中文字,右键添加笔记。 --- ## 🔧 配置 墨舟的数据存储在 `~/.mozhu/` 目录下: - `library.db` – 书库数据库(SQLite) - `downloads/` – 默认下载目录 - `covers/` – 封面图片 - `config.json` – 用户配置文件(字体、主题、下载目录等) 可在“设置”页面调整下载目录。 --- ## 📁 项目结构 ``` mozhou/ ├── mozhou/ # 主程序模块 │ ├── core/ # 核心逻辑(数据库、下载、解析) │ ├── ui/ # PyQt5 界面 │ └── utils/ # 工具函数 ├── sonovel/ # So Novel 下载器及 Java 运行时 │ ├── app.jar │ ├── runtime/ # 内置 Java 21 │ └── rules/ # 书源规则 ├── main.py # 程序入口 ├── run.sh # 开发/运行脚本 ├── build-deb.sh # 打包脚本 └── README.md ``` --- ## 🛠️ 开发与构建 ### 构建 `.deb` 包 ```bash chmod +x build-deb.sh ./build-deb.sh ``` 将在当前目录生成 `mozhou_2.0.0_all.deb`。 ### 运行测试 ```bash ./run.sh ``` --- ## 📋 依赖清单 - **系统库**:`python3-pyqt5`, `python3-requests`, `python3-bs4`, `python3-chardet`, `ffmpeg`(用于朗读) - **Python 包**:`edge-tts`, `Pillow`(用于 WebP 转换) - **内置**:So Novel 及其 Java 21 运行时(已包含在 `sonovel/` 中) --- ## 🤝 贡献 欢迎提交 Issue 或 Pull Request。请确保代码风格符合 PEP 8,并添加必要的注释。 --- ## 📄 许可证 本项目使用 [GNU General Public License v3.0](LICENSE) 开源。 --- ## 🙏 致谢 - [So Novel](https://github.com/freeok/so-novel) – 强大的小说下载引擎 - [PyQt5](https://www.riverbankcomputing.com/software/pyqt/) – 跨平台 GUI 框架 - 所有参与测试与反馈的用户 --- **墨舟** – 让阅读更纯粹。