lukebest/dsh-plugin-profile-sync:把 DSH profile 的插件與配置同步到另一臺機器

前言

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 安裝。

核心功能

  1. 導出:把當前 profile 已選插件和配置打成一個 JSON 快照。
  2. 恢復:選擇一份快照執行「恢復」,按合併方式寫入當前 profile,而不是整目錄覆蓋。
  3. GitHub 私有同步:填寫 owner/name 後,可以保存私有倉庫、推送當前快照,或合併倉庫裏的快照。
  4. 拒絕密鑰:快照裏如果含有密鑰值會被拒絕;apiKeyEnv 這類環境變量名會保留,因爲它們本身不是密鑰。
  5. 目標機數據受保護:會話、憑據,以及目標機器上多出來的設置都會保留。

除了界面操作,插件還暴露 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,希望插件和配置保持一致,但又不想把會話和憑據複製過去。

使用時要注意幾點:

  1. 插件以當前 dsh 進程的權限運行,能讀到該 profile 的配置和已裝插件信息。安裝前應先讀一遍源碼,確認 bundle 用到的 cordis.patch.yml 和客戶端注入項 @deepseek-ai/dsh-client-ui-settings、@deepseek-ai/dsh-client-ui-settings-plugins、@deepseek-ai/dsh-client-locale 與預期一致。

  2. 許可證爲 MIT,package.json 裏 version 是 1.0.0,name 是 @local/profile-sync,安裝命令與倉庫地址都來自其 README,不要憑名字拼 dsh plugin add github:owner/repo。

  3. 密鑰保護只在快照層面:環境變量名會保留,值不會。如果項目裏有把密鑰值寫進配置的習慣,導出前需要自行檢查。

  4. 上面提到的 GitHub 倉庫屬於作者個人,本插件與 DeepSeek / 幻方無官方從屬關係,相關目錄站也是第三方社區站點,不是官方應用商店。

短結尾

這個插件做的事情很窄:導出當前 profile 的已選插件與配置,合併恢復到另一臺機器,需要時再走私有 GitHub 倉庫同步。合併語義讓它比整目錄複製更適合跨機器維護同一套配置。

目錄頁在 https://www.skillhub.cn/plugins/lukebest/dsh-plugin-profile-sync,源碼與 README 在 https://github.com/lukebest/dsh-plugin-profile-sync。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜