前言¶
DSH 生態強調插件化,但在實際使用中,多臺設備間的上下文、會話記錄和工作區文件往往難以統一。dsh-git-sync 插件通過 Git 協議,解決了工作區對話與文件的雙向同步問題,支持僅同步會話或全量同步兩種模式,併爲預設/插件清單同步預留了中央倉庫綁定。
插件簡介¶
該插件由社區開發者 dHR-P 維護,採用 MIT 許可證。它利用 Git 倉庫作爲中央存儲,實現 DSH 工作區數據(對話與文件)的多端同步,兼容 DSH 官方插件規範。
核心功能¶
- 設置與配置:在「設置 → 插件配置區」提供設置卡片,支持綁定中央倉庫,並允許爲每個工作區單獨配置同步方案。
- 雙模式同步:
- 僅對話模式:只同步
~/.dsh/sessions/的會話日誌到倉庫特定目錄,不觸碰本地工作區文件。 - 全部文件模式:執行
git add -A整倉同步,適合純開發工作區跨設備續接。 - 跨設備路徑無關:在「僅對話」模式下,使用邏輯名映射會話目錄,不依賴本地絕對路徑。新設備拉取後,會自動改寫會話頭部的路徑信息以匹配本地環境。
- 新設備接入:支持新設備通過「克隆工作區」功能一鍵接入,自動完成倉庫克隆、會話註冊和路徑改寫。
- 憑據安全:複用系統 Git 憑據(SSH key / PAT 等),插件本身不存儲任何密鑰。
安裝與啓用¶
在終端執行以下命令安裝插件:
dsh plugin --profile web add "github:dHR-P/dsh-git-sync"
安裝完成後,重啓 dsh web 進程。在「設置」頁面的「插件配置區」中即可看到「Git 同步」卡片。
典型用法¶
- 進入「設置 → 插件配置區 → Git 同步」。
- 爲每個工作區配置同步方案:
- 選擇同步模式(僅對話或全部文件)。
- 填寫遠程倉庫 URL。
- (可選)填寫邏輯名以自定義跨設備鏡像目錄。 - 執行操作:
- 點擊「推送」上傳本地會話或文件。
- 點擊「拉取」下載遠端內容。 - 注意:在「僅對話」模式下,拉取後需重啓 DSH 才能在側欄看到新會話。
新設備接入¶
在新設備上使用時:
1. 安裝插件並登錄 GitHub。
2. 進入「設置 → Git 同步」。
3. 點擊「新設備:克隆工作區」。
4. 輸入本機目標路徑(需爲空或不存在)並選擇對應的遠程倉庫。
5. 插件將自動完成克隆、註冊工作區、拉取會話並改寫路徑。
6. 重啓 DSH 後,會話將出現在側欄。
注意事項¶
- 私有倉庫:由於會話中可能包含敏感信息,建議將遠程倉庫設置爲私有。
- 併發控制:同一時刻僅允許一臺設備續接同一工作區,避免會話文件衝突。
- 路徑依賴:
- 「僅對話」模式:完全路徑無關,依賴邏輯名。
- 「全部文件」模式:按 git 相對路徑同步。
- 會話存儲:會話文件默認存於
~/.dsh/sessions/<projectKey(cwd)>/目錄,DSH 啓動時自動掃描發現。
總結¶
dsh-git-sync 插件爲 DSH 提供了基於 Git 的標準同步方案,適合需要在多臺設備間保持工作上下文一致的開發者。更多細節可查閱 GitHub 倉庫。