目錄掃描
掃描本機目錄,自動擷取書名、作者、出版社、語言、簡介、大小與 MD5,並從書中抽出封面;支援 EPUB、PDF、MOBI、AZW3、KEPUB。
Windows / macOS / Linux 上的本機電子書庫
用 Wails v2 + Go + React 寫的本機電子書管理應用程式。掃描本機目錄建立書架,用標籤把書整理清楚,epub / pdf / mobi 直接在應用程式內閱讀,還有十四個內建小工具整理 PDF —— 資料只存在你自己的磁碟上,全部裝在一個 SQLite 檔案裡。
Windows 10/11 · macOS · Linux · 免安裝綠色版 · MIT 授權
掃描本機目錄,自動擷取書名、作者、出版社、語言、簡介、大小與 MD5,並從書中抽出封面;支援 EPUB、PDF、MOBI、AZW3、KEPUB。
封面網格 + 關鍵字搜尋、格式篩選、多標籤「或 / 且」篩選與多種排序;卡片上直接顯示閱讀進度和豆瓣評分,瀏覽位置也會記住。
新增、改名換色、凍結、刪除標籤,拖曳排出自己的順序,還能隨機配色;或者切到標籤雲,字號隨收錄的書本數變大。
依書名從豆瓣取得封面、連結、評分與評價人數,可以批次補齊,也可以在書籍詳細資料裡單本搜尋關聯。
EPUB / KEPUB 用 epub.js,PDF 用 pdf.js,MOBI / AZW3 用內建的 PalmDoc 解壓與解析(內嵌圖片也能顯示);閱讀位置、頁數與進度依書記錄,加密 PDF 只需輸入一次密碼。
閱讀器工具列裡可以隨時調整字級,也能開啟護眼模式(epub 變暖色紙、PDF 換暖底襯);兩項都只在本次工作階段生效,不動全域設定。
每次閱讀都累計到總時長;長時間停在同一頁只算 1 分鐘,這個閒置上限可以在設定裡改。
閱讀時選取文字即可加筆記(含原文引用與位置),之後可以檢視和刪除。
密碼、合併、擷取頁面、修改文件、壓縮文件、PDF → EPUB、EPUB → PDF、轉存圖片……全部離線,只動你自己的檔案。
把誤判的書標記為誤錄,下次掃描依路徑與 MD5 雙重比對自動跳過,隨時可以還原。
書籍數、總體積、累計閱讀時長、筆記數,格式分布、最近入庫,以及完整的閱讀紀錄列表。
介面內建繁體中文、简体中文與 English,設定裡隨時切換。
不用註冊、不上雲、無遙測 —— 所有資料就是 exe 旁邊的一個 SQLite 檔案。
關掉視窗只是收進系統匣;再啟動一次只會把已經在執行的視窗喚到前景。
全部離線執行,只處理你自己挑選的檔案(包含書架上既有的 PDF)。
為 PDF 加上開啟密碼。
移除 PDF 的開啟密碼。
把多個 PDF 依序合併成一個新檔案。
挑出 PDF 裡的頁面,另存成一個新的 PDF。
把頁面匯出成 PNG / JPEG 圖片,可以只匯出指定頁面。
檢視並修改 PDF 的標題、作者、主題與關鍵字。
用 Ghostscript 重寫 PDF,依檔位降採樣影像來縮小體積。
把 PDF 的文字排版成 epub,可選擇儲存目錄。
把 epub 排版成帶書籤目錄的 PDF,內嵌字型、文字可選取。
掃描本機目錄,把新增的電子書加入書架。
新增 / 改名換色 / 凍結 / 刪除標籤,並可依標籤檢視書籍。
檢視並還原被標記為誤錄的檔案。
為缺少評分 / 封面的書批次取得豆瓣資訊。
book.db 與封面快取所在位置,可一鍵開啟。
go install github.com/wailsapp/wails/v2/cmd/wails@latestxattr -dr com.apple.quarantine book-manager.applibwebkit2gtk-4.1 與 libgtk-3(於 Ubuntu 24.04 建置,glibc 2.39+)just setup | 安裝前端相依套件 |
just dev | 開發模式(熱重載) |
just build | 正式建置 → src/build/bin/book-manager.exe |
just release | 發行建置 → release/book-manager.exe |
just test | Go 後端測試 + JS 解析器 + i18n 檢查 |
just ui-test | 前端 UI 冒煙測試(需 Edge + playwright-core) |
just icon | 從 asserts/logo.png 重新產生應用程式圖示 |
just fmt | Go 格式化 + 靜態檢查 |
just docs | 重新產生 README 與官網 |
just site-test | 用無頭瀏覽器渲染官網,檢查連結、圖片與語言切換 |
just push "msg" | 提交並推送(中文 message) |
詳細開發約定見 agents.md —— 每次開發工作結束時必須提交並推送。
<資料目錄>/book.db —— SQLite,純 Go 實作,可用環境變數 BOOKMANAGER_DATA_DIR 覆寫目錄。<資料目錄>/covers/ 與 <資料目錄>/.image/。在正式建置(內嵌資源)模式下,新版 WebView2 與本機 GPU 組合可能因 Wails 的 Hide / Show 可見性 workaround 觸發不重繪問題:視窗只顯示背景色。規避方案內建在 src/platform_windows.go:
app.Windows = &windows.Options{
WebviewGpuIsDisabled: true, // --disable-gpu,文字類應用程式無影響
WebviewUserDataPath: resolveWebviewUserDataPath(dataDir),
},
若要診斷這類問題,可用 wails build -debug 開啟 DevTools,或用 WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS=--remote-debugging-port=9333 連接 CDP。
src/version.go 裡的 Version 常數。src/version.go 並推送 —— GitHub Actions 會自動建置三平台套件並建立 Release;本機 just release 只產出 Windows exe。每個版本都由 GitHub Actions 打包成三平台免安裝包,並把提交訊息彙整成 release 說明:Windows 單檔 exe(book-manager-<版本>-windows-x64.zip)、macOS 通用 app(-macos-universal.zip)、Linux x64 壓縮檔(-linux-x64.tar.gz)。解壓即用,資料目錄會建在程式旁邊。