在 DeepSeek Harness(DSH)環境中,跨機器同步配置通常意味着複製整個配置目錄,這會引入敏感信息和本地化設置。dsh-sync 旨在解決這些問題,提供一種更安全、更可控的 Git 同步工作流。
dsh-sync 是一個用於同步 DeepSeek Harness 設置和配置文件的插件。它由 ZhenHuangLab 維護。核心價值在於讓用戶明確選擇要同步的內容,同時將敏感數據和本地設置保留在本地,並在應用變更前進行審覈。
核心功能¶
- 選擇性配置同步:只同步選定的命名空間、配置文件。
- 敏感設置感知:在存儲前移除已知密鑰和配置的本地路徑,確保敏感數據不進入 Git。
- 逐行審覈:在應用前審覈變更,可以單獨啓用或禁用某一行。
- 可執行變更確認:變更涉及代碼或插件執行時,需要明確確認。
- 衝突處理:支持 Cherry-pick 單行或選擇 Keep/Take 整個文件。
- 安全恢復:應用前備份,並在中斷或驗證失敗時恢復。
安裝與啓用¶
以 Web 配置文件爲例,安裝命令如下:
dsh plugin --profile web add dsh-sync
安裝完成後,需要重啓 dsh web,然後在 Web UI 中打開 Settings → Git Sync。
使用方法¶
Web 界面流程¶
- 在 Settings → Git Sync 中輸入 Git 遠程 URL 和分支。
- 選擇需要同步的設置命名空間、配置文件、補丁和預設。
- 將機器特定的設置路徑添加到 Keep local-only paths,確保這些路徑不被同步。
- 保存配置並選擇 Compare。
- 檢查 incoming 和 outgoing 的變更,確認無誤後應用設置。
命令行操作¶
在會話中可以使用以下 /sync 命令:
/sync status
/sync check
/sync diff
/sync pull
/sync push
/sync doctor
/sync recover
在終端中也可以直接運行:
dsh-sync status
dsh-sync check
dsh-sync doctor
dsh-sync recover
本地路徑配置¶
如果某些配置(如 baseURL)需要在特定機器上保持不變,可以在 Keep local-only paths 中添加這些路徑。
注意事項¶
- 憑據處理:
dsh-sync不在配置中存儲 Git 憑據,而是使用現有的 Git 環境。拒絕包含嵌入憑據的 HTTPS 遠程 URL。 - 掃描報告:敏感掃描報告會顯示受影響的路徑,但不會顯示具體的密鑰值。
- 不同步的內容:以下內容永遠不會被同步:憑據、會話、存儲、
node_modules、生成的配置文件(如.dsh-sync、.env*)、系統預設、符號鏈接或 gitlink。 - 可執行變更:涉及代碼或插件執行的變更永遠不會被自動應用,必須經用戶確認。
總結¶
dsh-sync 爲 DSH 提供了一個安全的 Sidecar Git 工作流。通過選擇性的配置同步、敏感數據過濾和嚴格的變更確認機制,它解決了跨機器配置管理的痛點。
- 插件目錄:dsh-market catalog
- 源碼地址:GitHub