前言¶
DeepSeek Harness (DSH) 的核心設計理念是“一切皆插件”。在多終端環境下,手動維護統一的插件列表配置(包括依賴版本和用戶補丁設置)效率低下且容易出錯。dsh-plugin-list-sync 插件通過 S3 兼容的對象存儲(AWS S3、MinIO、Cloudflare R2 等)來同步 DSH 客戶端的 plugin-list 配置,支持預覽差異、上傳、下載、回滾等操作,爲多端開發與使用提供了統一的配置管理方案。
插件簡介¶
該插件由開發者 smellgamed3 維護,分類爲聯網工具。它將 DSH 配置文件(package.json 和 cordis.patch.yml)存儲在 S3 兼容存儲中,實現多端配置的一致性與安全性。
核心功能¶
- 合併同步:默認採用合併策略。上傳時保留遠程已有的插件,下載時保留本地已有的插件,互不覆蓋。
- 快照機制:所有寫入操作前會自動截取快照,支持一鍵回滾到任意歷史快照。
- 安全防護:官方
@deepseek-ai/*組件默認不參與同步,防止 peer-dependency 破壞;LLM 提供商配置默認排除。 - 強制覆蓋:提供顯式的、一次性的強制覆蓋選項,需雙確認且不持久化。
- 半自動同步:支持防抖上傳和遠程檢查,但不會自動安裝/移除插件,需人工確認。
安裝與配置¶
通過以下命令安裝插件:
dsh plugin add smellgamed3/dsh-plugin-list-sync
安裝後,在 DSH Web UI 的“設置 -> 插件同步”中配置 S3 端點、區域、存儲桶及憑證。
- S3 端點:如
https://s3.amazonaws.com或http://127.0.0.1:9000(MinIO/RustFS)。 - 區域:AWS 真實區域;
auto可用於 MinIO/RustFS。 - 憑證:憑證不會寫入配置文件或清單,僅保存在本地。可通過 Web UI 的 AccessKey/SecretKey 字段保存,或使用環境變量
DSH_PLUGIN_SYNC_S3_KEY/DSH_PLUGIN_SYNC_S3_SECRET。
使用方法¶
Web UI 操作¶
在 DSH Web UI 的“設置 -> 插件同步”頁面中,可執行以下操作:
* 預覽 diff:Dry-run 檢查遠程 manifest 的差異。
* 上傳當前列表:將本地配置合併上傳。
* 下載並應用:從遠程合併下載配置。
* 回滾:恢復最新的快照。
命令行操作¶
在 DSH 聊天界面,可使用以下命令:
/plugin-sync status
/plugin-sync upload
/plugin-sync diff
/plugin-sync pull
/plugin-sync rollback [snapshot-id]
強制覆蓋(危險操作)¶
強制覆蓋是顯式的、單次操作且不持久化的選項。在設置頁面底部,有兩個獨立開關:
* Force overwrite remote:上傳將替換遠程 manifest,移除遠程獨有插件。
* Force overwrite local:應用將鏡像遠程 manifest,移除本地獨有插件。
該操作需要雙確認,且僅在單次操作中生效,操作後自動重置。官方組件(@deepseek-ai/*)和 LLM 配置在強制覆蓋下仍會被保留。
注意事項¶
- 官方組件保護:官方
@deepseek-ai/*組件永不同步,以避免依賴衝突。 - 配置隔離:LLM provider 配置默認不參與同步,避免泄露敏感信息。
- 安全模型:所有寫入操作前都會生成快照;遠程 manifest 在應用前會進行嚴格的格式校驗。
總結¶
該插件爲多環境 DSH 開發提供了配置管理的標準方案,通過 S3 兼容存儲實現了配置的集中存儲與安全同步。
- 插件目錄:SkillHub 插件目錄
- 源碼地址:GitHub 倉庫