前言¶
DSH 的理念是「一切皆插件」,插件、hook、權限、模型配置都寫在 profile 裏。換機器時,通常的做法是把配置一項一項抄過去,或者複製整個配置目錄。抄容易漏,整目錄複製則會把目標機器特有的東西一起帶走:會話歷史、憑據、本地專屬設置,都可能被覆蓋。
下面介紹的 lukebest/dsh-plugin-profile-sync 解決這件事:它把當前 profile 裏「已選插件 + 配置」導出成一個 JSON 快照,再以合併的方式恢復到另一臺機器,目標機器自己的東西保持不變。快照還可以通過 GitHub CLI 存進私有倉庫。
這是什麼¶
一個 DeepSeek Harness 社區插件,由 lukebest 維護,分類是聯網工具。README 中的定位一句話:導出當前 profile 已選插件和配置,再合併到另一臺機器;同一份快照也可通過 GitHub CLI 保存到私有倉庫。許可證 MIT,package.json 中作者字段爲 lukeliu。
需要說明的一點:DeepSeek Harness 目前不接收外部插件進入官方倉庫,這個包只能按社區插件從 GitHub 安裝。
核心功能¶
- 導出:把當前 profile 已選插件和配置打成一個 JSON 快照。
- 恢復:選擇一份快照執行「恢復」,按合併方式寫入當前 profile,而不是整目錄覆蓋。
- GitHub 私有同步:填寫
owner/name後,可以保存私有倉庫、推送當前快照,或合併倉庫裏的快照。 - 拒絕密鑰:快照裏如果含有密鑰值會被拒絕;
apiKeyEnv這類環境變量名會保留,因爲它們本身不是密鑰。 - 目標機數據受保護:會話、憑據,以及目標機器上多出來的設置都會保留。
除了界面操作,插件還暴露 profile_sync 工具,提供同樣的導出、恢復和 GitHub 操作。
安裝與啓用¶
從 GitHub 安裝,命令如下:
dsh plugin install git+https://github.com/lukebest/dsh-plugin-profile-sync.git
也可以在插件頁使用同一個 Git 地址安裝。如果要在「發現」中瀏覽它,添加下面的索引地址:
https://raw.githubusercontent.com/lukebest/dsh-plugin-profile-sync/main/index.json
從 Plugins 界面啓用後,入口在「設置 → 插件 → 同步」。插件的客戶端配置聲明爲 web 平臺,安裝後按平臺是否滿足來決定能否直接看到界面。
典型用法¶
本機導出,另一臺機器恢復¶
1、在導出的機器上打開「設置 → 插件 → 同步」,執行「導出快照」,下載 JSON 文件。
2、把這份 JSON 拷到目標機器,在同一位置選它,執行「恢復」。
3、恢復是合併方式:目標機器原有的會話、憑據和額外設置不會被覆蓋;當前 profile 已選插件和配置則對齊到快照內容。
通過私有 GitHub 倉庫同步¶
1、先確認本機已安裝並登錄 gh:
gh auth login
gh 未安裝或未登錄時,GitHub 同步那部分功能不可用。
2、在「設置 → 插件 → 同步」裏填寫 owner/name。倉庫不存在時會創建爲私有倉庫;填一個公開倉庫會被拒絕。
3、之後可以推送當前快照,或合併倉庫中已保存的快照。快照保存在倉庫的 profiles/<profile>.json。
用工具直接調用¶
不想走界面時,同一個插件提供的 profile_sync 工具也包含導出、恢復和 GitHub 操作。
適用場景與注意¶
適合這類人:在多臺機器上使用同一套 DSH profile,希望插件和配置保持一致,但又不想把會話和憑據複製過去。
使用時要注意幾點:
-
插件以當前 dsh 進程的權限運行,能讀到該 profile 的配置和已裝插件信息。安裝前應先讀一遍源碼,確認 bundle 用到的
cordis.patch.yml和客戶端注入項@deepseek-ai/dsh-client-ui-settings、@deepseek-ai/dsh-client-ui-settings-plugins、@deepseek-ai/dsh-client-locale與預期一致。 -
許可證爲 MIT,package.json 裏
version是 1.0.0,name是@local/profile-sync,安裝命令與倉庫地址都來自其 README,不要憑名字拼dsh plugin add github:owner/repo。 -
密鑰保護只在快照層面:環境變量名會保留,值不會。如果項目裏有把密鑰值寫進配置的習慣,導出前需要自行檢查。
-
上面提到的 GitHub 倉庫屬於作者個人,本插件與 DeepSeek / 幻方無官方從屬關係,相關目錄站也是第三方社區站點,不是官方應用商店。
短結尾¶
這個插件做的事情很窄:導出當前 profile 的已選插件與配置,合併恢復到另一臺機器,需要時再走私有 GitHub 倉庫同步。合併語義讓它比整目錄複製更適合跨機器維護同一套配置。
目錄頁在 https://www.skillhub.cn/plugins/lukebest/dsh-plugin-profile-sync,源碼與 README 在 https://github.com/lukebest/dsh-plugin-profile-sync。