看懂功能,也看懂邊界。

這裡整理 Shinsou X 的功能範圍、平台差異、資料與安全邊界、備份與還原,以及開發與發佈入口。

Feature map

從取得內容到完成閱讀的完整流程

Shinsou X 不是單純的檔案檢視器;它把來源、書庫、統一內容基礎、Reader、離線與備份串成可恢復的本機優先流程。

書庫

分類、搜尋、篩選、排序、批次操作與閱讀進度。

活動

Updates、Upcoming、History、下載佇列與統計。

來源

Shinsou X Extension v2、來源瀏覽、跨來源搜尋、登入、Cookie 與偏好。

本機內容

TXT、圖片、ZIP、CBZ、EPUB 匯入與由 App 管理的本機 immutable blob store。

閱讀器

漫畫、小說與 EPUB 共用 portable locator 與內容權利邊界。

保護資料

可攜備份、Content Backup v2 與由 App 管理的本機自動備份。

Shinsou X 更多功能畫面
更多頁集中本機匯入、下載、統計、設定、備份還原與 ShuYue 遷移入口。

Platforms

共用核心,保留平台應有的整合

平台最低目標平台整合目前限制
AndroidAndroid 8.0 / API 26+Keystore、WorkManager、Biometric、WebView、文件選擇器真實背景排程時間由系統決定
iOS / iPadOSiOS 16+Keychain、BGTask、WKWebView、Widget需要 Xcode、簽章與 entitlement
macOSCompose DesktopMenu Bar、⌘ 快捷鍵、文件選擇器、Keychain、獨立 WKWebView challenge 視窗目前 DMG 主要目標 Apple Silicon;app lock/secure screen 不可用
WindowsWindows 10 / 11 x64DPAPI、Ctrl 快捷鍵、原生文件選擇器、MSI/EXEWeb challenge 只開外部瀏覽器;必須在 Windows + WiX 3.x 建置安裝包
Shinsou X Desktop 設定頁
Desktop 使用 sidebar 與雙欄設定;手機會依視窗尺寸調整導航與版面。

Reader

圖片、文字與 EPUB 的統一 Reader

內容主要模式定位離線
圖片序列LTR、RTL、直向、Webtoon、縮放、濾鏡邏輯頁與 Webtoon page 內 normalized offset下載 completion manifest 驗證頁面完整性
純文字翻頁、連續捲動、LTR、RTL、垂直、TTS保留 UTF-16 offset,重新排版後恢復接近位置本機出版物 immutable body
EPUBspine 導覽、XHTML / CSS / font / imageportable locatorresource graph 按需讀取,不在開書時一次 hydration
ShuYue 風格小說操作

正文工具列預設隱藏,中央區域切換工具列、左右區域翻頁。共用操作包含拖曳;Desktop 支援滾輪與鍵盤,實體音量鍵翻頁只在 Android/iOS 提供,電腦版不顯示該設定。

Library & content

書庫 metadata 與內容 bytes 分開管理

書庫保存作品、章節、分類、進度與來源身分;實際內容則由本機 blob store、下載完成清單或合法重新取得路徑負責。這個分離使備份能明確遵守內容權利。

分類與批次操作

多分類、篩選、排序、顯示模式與批次調整。

統一內容基礎

metadata、ref 與 outbox 在 shared SQLite 中原子提交。

Local source

內建 source 0,處理直接圖片、TXT、ZIP、CBZ 與 EPUB。

全文索引與註記

純文字內容可建立本機全文索引,註記與內容權利一起受控。

Extension reference

Plugin 技術文件入口

官網的 Plugin 系統說明 適合安裝者與套件作者快速查閱;App repository 另提供以目前 production 原始碼為準的完整契約文件。

插件系統總覽

發佈者信任、沙箱、權限、更新與撤回、內容契約、網路、登入與資料邊界。

閱讀總覽 ↗

Repository contract

簽章儲存庫的檔案格式、索引偵測規則與 Mihon metadata 相容性。

閱讀儲存庫契約 ↗

System events

Exact-artifact event grant、wire names、Host handler、限流、去重與保留能力。

閱讀事件架構 ↗

套件作者指南

從發佈者金鑰、CLI、權限、開發者模式到簽章發佈、撤回與金鑰輪替的完整流程。

閱讀作者指南 ↗

Privacy

Local-first 的意思,是先說清楚資料放哪裡

專案本身不提供廣告或分析服務。主要資料保存在使用者裝置;敏感 KV 使用各平台安全儲存保護。

資料保存位置/保護可攜備份
書庫、分類、閱讀進度由 App 管理的本機 snapshot / SQLite是
Cookie、密碼、OAuth token、API keyKeychain / Keystore / DPAPI 保護的敏感 KV否
Plugin package本機 package store否
下載 cache / queue由 App 管理的本機 storage舊 snapshot 不含 bodies;queue 保持本機
Local source 原始內容immutable blob store / 由 App 管理的本機 files僅 Content Backup v2 在權利與選項允許時附帶

Backup & restore

備份是本機復原點,還原只作用於這台裝置

Snapshot backup

可攜 snapshot 與由 App 管理的本機自動備份,提供選擇性還原與 deterministic conflict merge。

Content Backup v2

checksummed publication graph、body-free metadata、legacy aliases 與 migration ledgers。

本機自動備份

由 App 管理,存放在 App 自己的資料夾內;解除安裝或清除資料後會一併消失。

還原只作用於這台裝置

還原只會套用到目前這台裝置,不會影響其他裝置;已安裝的套件、發佈者信任、授權、Cookie 與密碼都不在備份內。

解除安裝或換機前,請先匯出備份

自動備份存放在 App 自己的資料夾,解除安裝或清除資料後便無法找回。更換裝置前,請先手動匯出一份可攜備份並保存到 App 以外的地方。

目前沒有雲端或跨裝置同步功能;新的可自行部署同步服務正在規劃中,尚未提供。

Build & release

從原始碼建置

需要 JDK 17 與 Android SDK Platform 36。macOS Desktop 的執行、測試與 DMG 會編譯原生 WKWebView helper,因此另需 Xcode Command Line Tools、macOS SDK 與 Swift compiler;iOS 還需完整 Xcode 與 XcodeGen。Windows 安裝包需 Windows + WiX Toolset 3.x。

git clone https://github.com/aluo96078/shinsoux.git
cd shinsoux

# Shared / Desktop deterministic tests
./gradlew :composeApp:desktopTest

# Desktop
./gradlew :composeApp:run

# Android debug APK
./gradlew :composeApp:assembleDebug

# iOS Simulator framework
./gradlew :composeApp:linkDebugFrameworkIosSimulatorArm64

Project status

持續開發中,測試通過不等於所有外部服務已驗證

Shinsou X 是目前唯一持續開發的版本。舊 Swift/SwiftUI 的 Shinsou 已停止開發,只保留歷史參考。

下載狀態以 GitHub Releases 為準

Release workflow 定義了 APK、IPA、DMG、MSI/EXE 與 SHA256SUMS 的建置流程,但 workflow 設計不等於已發布版本。Releases 頁面沒有項目時,代表目前沒有公開安裝包,請依建置指南從原始碼建立。

如何解讀目前狀態

deterministic tests 與 target compile 能證明本地契約與建置;真機按鍵、Apple entitlement、背景排程、真實 OAuth 與第三方來源網站仍需要各自的外部 smoke test。

使用責任

Shinsou X 只提供書庫、閱讀器與來源擴充機制,不營運或託管第三方漫畫、小說或其他內容。使用者應只安裝可信任套件、遵守所在地法律與來源條款,並自行確認其存取內容的權利。