區域網路同步
區域網路同步讓同一網路下的兩台 Luker 實例保持同步——桌面和手機、兩台電腦,任何區域網路可達的裝置都可以。只有變更的資料會透過網路傳輸,無需重新上傳全量資料。
何時使用哪種方式
Luker 提供了兩種在裝置間搬運資料的方式:
- 遷移——一次性、全量的資料傳輸。適合在新裝置上首次安裝時使用。
- 區域網路同步(本頁)——重複、雙向、增量。適合兩台裝置都經常使用的場景。
快速開始
配對兩台裝置
在第一台裝置(稱為 A)上,開啟設定 → 區域網路同步 → 配對新裝置。給對端裝置取一個標籤,勾選要同步的類別,點擊產生配對連結。

A 顯示一個 URL,有效期為 10 分鐘。

在第二台裝置(B)上,開啟同一面板,選擇與已有裝置配對。貼上 URL,點擊配對並同步。若 A 啟用了 basic-auth,在選填的憑證欄位填入 A 的帳號密碼。

B 下載 A 選擇共享的資料並寫入本地。當面板出現 Synced with <peer>. 橫幅時,配對完成。

配對完成後,A 和 B 會記住彼此。之後的同步只需一次點擊。
配對後同步
在任一裝置上,開啟區域網路同步面板——已配對的裝置會出現在我的裝置下,每台都帶有立即同步、撤銷上次同步、忘記按鈕。點擊立即同步,兩端交換變更並協調一致。完成時橫幅顯示 Sync complete.。

解決衝突
如果兩台裝置在兩次同步之間都修改了同一個檔案(例如:都重新命名了同一張角色卡),區域網路同步會停下並顯示衝突面板。每個衝突有兩張卡片:本地版本和遠端版本。每個衝突挑選一張卡片——沒有逐行合併。

衝突始終是按檔案粒度處理的。在同一次同步中,給一個檔案選「本地」、給另一個檔案選「遠端」是完全可以的。
特殊情況:設定檔
settings.json 檔案儲存著從「目前聊天」到「啟用預設」再到 UI 佈局的一切內容,且只是一個大檔案。即便兩台裝置只做了很小的變動,也會被視為衝突,而唯一可用的解決方式是整個檔案擇一保留——不存在按欄位合併。建議:盡量只在一台裝置上修改設定,先同步,再去另一台改。
同步內容
預設會同步的內容:
- 角色卡、聊天記錄、群組聊天、世界書
- CardApp 和技能(skills)
- 預設(OpenAI / NovelAI / KoboldAI / TextGen)、指令 / 上下文 / 系統提示詞 / 推理 範本
- 主題、可拖動 UI 佈局、快捷回覆
- 背景、使用者頭像、上傳檔案、使用者圖片
- ComfyUI 工作流程
- 素材(音效、背景音樂等)
- 圖片中繼資料(與它描述的圖片一同傳輸)
- 向量索引(節省 API 預算——兩端共用同一份嵌入)
- 單角色統計資料
settings.json(預設開啟,並附帶警告——見上文「特殊情況」)
預設關閉——如果需要請按裝置分別開啟:
- 密鑰(API key)——預設關閉。除非傳輸通道加密,否則會以明文形式在區域網路中傳輸密鑰。僅在你信任所在網路時開啟。
- 外掛——預設關閉。第三方外掛可能存有裝置相關的進行中變更;同步它們往往會讓情況變糟。
從不同步(每台裝置各自保留):
- 縮圖(首次檢視時重新產生)
- 裝置本地的聊天自動備份
- 儲存遷移歸檔
- 執行階段日誌、目前同步狀態本身、伺服器的 cookie 密鑰
復原
如果一次同步覆蓋了你想要保留的內容,開啟區域網路同步面板,點擊撤銷上次同步,會回退到那次同步發生前的狀態。另一台裝置不會受影響(撤銷只作用在本地)。
如果在高風險同步前需要更強的兜底,使用 Luker 的完整 ZIP 備份(設定 → 備份與還原)後再同步。
儲存模式
區域網路同步在所有儲存後端下行為一致。聊天記錄、預設、世界書等存放在資料庫裡的類別,在同步時會被還原為逐條記錄,因此衝突始終落在檔案粒度(一條聊天、一個預設、一本世界書),與資料存放在哪裡無關。
- 檔案儲存(預設):資料本身就以檔案形式存在磁碟上,直接進行協調。
- SQLite 儲存:
luker-storage.sqlite中的列會按記錄讀出並寫回。兩台裝置同時改動同一條聊天,只會針對那一條聊天出現一個衝突,而不是針對整個資料庫。 - MySQL / Postgres 儲存:與 SQLite 走同一套逐記錄流程。只要兩台裝置處在同一網路,區域網路同步就能完成同步;資料庫伺服器本身無需對對端可達。
效能
在成熟資料集上(幾千個檔案、約 100 MB),一次典型的同步在首次配對完成後通常在一秒內完成。只有自上次同步以來新增的物件會透過網路傳輸。首次配對拉取是最慢的操作;後續同步幾乎是瞬間完成。