Skip to content

區域網路同步

區域網路同步讓同一網路下的兩台 Luker 實例保持同步——桌面和手機、兩台電腦,任何區域網路可達的裝置都可以。只有變更的資料會透過網路傳輸,無需重新上傳全量資料。

何時使用哪種方式

Luker 提供了兩種在裝置間搬運資料的方式:

  • 遷移——一次性、全量的資料傳輸。適合在新裝置上首次安裝時使用。
  • 區域網路同步(本頁)——重複、雙向、增量。適合兩台裝置都經常使用的場景。

快速開始

配對兩台裝置

  1. 在第一台裝置(稱為 A)上,開啟設定 → 區域網路同步 → 配對新裝置。給對端裝置取一個標籤,勾選要同步的類別,點擊產生配對連結

    配對新裝置表單,已勾選類別

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

    已產生的配對連結

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

    與已有裝置配對表單,連結已貼上

  4. 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),一次典型的同步在首次配對完成後通常在一秒內完成。只有自上次同步以來新增的物件會透過網路傳輸。首次配對拉取是最慢的操作;後續同步幾乎是瞬間完成。

基於 SillyTavern 建構