你大概也经历过:网上找到一本 300 章的小说,下载下来是一个巨大的 TXT。扔进 Kindle 或手机——没有封面、没有目录,章节标题和正文糊成一坨,翻到第 180 章想找个人名,只能一路往下划。
想把它变成「能读的书」,得凑齐四个工具:在线转换站(要上传原文件)→ Calibre(手动分章)→ 数据线(传进设备)→ 文件管理器(找书)。一本书,半小时。
systemo ebook 把这条链路做成一个 Windows 程序:下载 → 制作 → 传输 → 阅读 → 推荐,一条完整的电子书生产线,全程本地完成,数据不出本机。
【🚀 三分钟上手】
1. 打开 Release 页,下载 systemo-ebook-v1.1.0-full.rar
2. 解压到可写目录(例如 D:\systemo ebook,不要放 C:\Program Files)
3. 双击 EasyPub.exe。首次启动会多等几秒(初始化后端进程),属正常现象
发布包已自带冻结的 Python 后端(PyInstaller)、ChromeDriver、Pandoc、字体与封面增强模型。请整个文件夹一起解压 / 移动,不要只拿一个 exe。
【🧭 它是什么:七个模块,一条产线】
· 下载 —— 输入书名或「书名@作者」,多源检索:笔趣阁爬虫源 / UU看書精校源 / 久久(女频 TXT 直链)/ 哔哩轻小说(可按卷选、带插图)。显示真实进度,随时可取消。
· 制作 —— TXT 自动分章(识别卷 / 章 / 节,可手动增删改、实时预览)→ 联网搜作者 → 搜封面(小图自动升级)→ 生成带封面与目录的 EPUB。
· 传输 —— 三条通道:苹果图书(网盘中转)/ WiFi 直传(手机浏览器打开地址即收)/ Send to Kindle(Amazon 官方通道)。
· 书库 —— 制作完成的 EPUB 自动入库;双击开读、右键详情、多选批量传输 / 导出 / 删除。
· 推荐 —— 多源榜单聚合(微信读书 / 起点 / 番茄 / 晋江 / 哔哩轻小说),综合推荐每批 14 本,轻小说 5 个榜单可翻页。
· 阅读 —— 内置 foliate-js:目录、书签、全文搜索、三种主题(深色 / 浅色 / 护眼)、字体、字号、行距、翻页与滚动、边距、对齐。
· 一键 —— 书名 → 搜索 → 下载 → 分章 → 找封面 → 转换 → 传输,一条流水线走完。
【⬇️ 下载这块,说细一点】
这是整个项目最花时间的部分,也是最容易被人拿去和「在线转换器」比较的部分。
· 多源检索:输入书名或「书名@作者」,一次查多个源,命中即停,不用一个站一个站试。
· 源的差别是真的差别:精校源排版干净、错字少;普通源章节全但排版乱;女频 TXT 直链是整本原文件;哔哩轻小说可以按卷勾选,插图一起拿下来。
· 真实进度:不是假进度条,能看到章节数在涨,随时可取消。
· 三通道之外的第四件事——榜单:微信读书 / 起点 / 番茄 / 晋江 / 哔哩轻小说五个榜聚合,每批推 14 本,轻小说另有 5 个榜可翻页,书荒直接翻榜。
· 书源是开放的:novelmeta/ 是适配层,novel_dl.py 管调度与优先级,rank_pool.py 管榜单池,linovelib.py 是哔哩轻小说。想接自己的站点,改配置、重建后端即可。
【📸 界面】
README 里有 11 张真实界面截图:下载(多源检索)、选择下载源(精校 / 普通)、制作(自动分章)、章节预览、传输(三通道)、书库、精选推荐(14 本 / 批)、轻小说榜单(5 榜 + 分页)、内置阅读器(护眼双栏)、一键完成、英文界面。
界面支持月夜插画 / 简洁背景一键切换,中英双语。
【🏗 架构】
渲染层是原生 JS(无框架):index.html、library.js、i18n.js、settings-ui.js,以及 resona-workspace / studio / layout / theme / bridge 几套 CSS 和 background-switch.js。通过 preload.js 的 contextBridge 暴露 window.electronAPI.*。
主进程 main.js 负责窗口与 IPC、三条传输通道、暂存队列 sendqueue\,并把子进程 stdout 转发到界面、同时写入 logs\upload-*.log。
Python 后端由主进程 spawn:开发时直接跑 python xxx.py,发布时跑 PyInstaller 冻结的 resources\backend\easypub-backend.exe。
进程间协议是约定好的:Python 每个阶段往 stdout 打一行 @@MARKER {json},主进程解析后转发给界面——@@INFO 提示 / @@PROGRESS 进度 / @@RESULT 结果 / @@RANK 候选排序。这样前端不需要懂业务,只需要渲染。
三条传输通道的实现:
· 苹果图书:bypy 上传百度网盘 → 手机端「苹果图书」/「文件」App 取回
· WiFi 直传:本地起 HTTP 服务 + Selenium 驱动 Chrome,把文件送到手机打开的页面(要求同一局域网)
· Send to Kindle:Amazon 官方 Send to Kindle 网页通道(登录后上传,密码不落盘)
后端模块:novel_dl.py / xbiquzw.py / uukanshu.py(下载)、epub_generator.py(TXT → 分章 → 带封面 EPUB)、meta_lookup.py + novelmeta/(作者封面多源查询、榜单聚合)、linovelib.py(哔哩轻小说选卷 / 插图 / 组书)、wifi_upload.py / get_auth_code.py / upload_folder_cmd.py(传输)、image_enhancer.py(本地封面超分,ONNX,无需联网)、backend_entry.py(打包入口)。
【🔧 从源码运行(开发者)】
需要 Node.js 18+、Electron 27、Python 3.11+、本机安装 Google Chrome、与 Chrome 主版本一致的 ChromeDriver、Pandoc 3.10.2。
pip install -r requirements.txt
npm install
npm start # 开发模式
npx electron-builder --win dir --x64 # 打免安装版,产物在 dist\win-unpacked
仓库里不含的大文件(都在发布包里,克隆源码后可自行补齐):fonts\(约 42 MB)、models\(封面超分 ONNX,约 4.6 MB)、chromedriver.exe(约 24 MB)与 pandoc-3.10.2\。
【🧩 自定义书源】
书源与解析规则全部在源码里,可自由增删改:novelmeta\(书源适配层)、novel_dl.py(下载调度与源优先级)、rank_pool.py(推荐池 / 榜单聚合与配额)、linovelib.py(哔哩轻小说源)。
新增书源、修改解析规则或接自己的榜单源后,重新构建后端(backend.spec)或在开发模式下直接跑脚本即可。
改完 CSS / JS 记得执行 npm run bump 刷新 index.html 里的 ?v= 缓存戳,否则界面可能仍走旧缓存。
【🔒 数据与隐私】
配置与数据都在程序自己目录下:settings.json、logs\、export\、sendqueue\、download\。整个目录拷走即迁移,不含任何账号密码(登录态按浏览器会话分区存放)。
仓库 .gitignore 已排除所有凭据类文件。发布包是零数据的:不含任何设置、书库、登录态,首次打开书库为空属正常。
【🔧 首次使用要配置什么】
· 苹果图书通道:先在传输页做一次百度网盘授权(浏览器登录后把授权码粘回)
· Send to Kindle:需要登录 Amazon 账号(登录态只存本机会话分区,密码不落盘)
· WiFi 直传:手机和电脑连同一个 WiFi,按弹窗提示在手机浏览器打开地址
· 封面超分 / 输出目录:制作页底部可设置
【📦 下载】
GitHub:https://github.com/systemsssx/systemo-ebook
Release:https://github.com/systemsssx/systemo-ebook/releases/tag/v1.1.0
包名:systemo-ebook-v1.1.0-full.rar(257,491,742 字节)
SHA256:9B5F3FB14EB37960D77F90676E4D5DA614DC32F0D54E313B3D064848DA396965
版本 v1.1.0(2026-10-25),历史 v1.0.0 已归档;升级时整目录替换,用户数据在程序目录,先备份。
【🙏 致谢】
桌面壳 Electron;阅读器 foliate-js;排版样式 @readium/css;打包 PyInstaller、electron-builder;格式转换 Pandoc;简繁转换 OpenCC;浏览器自动化 Chrome for Testing。
【📄 许可】
本项目代码仅供学习交流,All rights reserved(未声明开源许可证,请勿商用或二次分发);第三方组件的许可与版权归各自项目所有。
【⚠️ 免责声明】
* 用爱发电:这是一个纯粹为了“让自己看书更爽”而写出来的个人折腾项目,仅供编程学习与技术研究,完全无任何商业盈利行为(不卖课、不收费、无广告)。
* 技术本质:项目中的网文/轻小说下载与封面搜刮功能,本质上是对公开网络信息的个人离线缓存与自动化重排(相当于用代码替你完成了“打开网页 ➔ 摘录文字 ➔ 加上封面排成EPUB”的机械劳动),旨在解决多设备阅读的排版与传输痛点,并非为了建立盗版分发平台。
* 版权倡导:好故事值得被温柔对待,更值得被付费支持。本工具生成的电子书仅限个人离线自用与护眼设备转码,严禁用于任何形式的二次分发、传播或商业牟利。看书遇到喜欢的作品,请一定去正版平台订阅支持原作者!
