dsh-config-migrator:分區導出 DSH 配置並在新機器上帶衝突預覽還原

前言

換電腦、重裝系統或在新 profile 裏復刻現有 DeepSeek Harness(DSH)環境時,常見做法是手工拷貝 $DSH_HOME、逐個重裝插件、再對照 patch 改模型與 MCP。步驟多、容易漏項,且憑據與 API key 若一併複製會帶來額外風險。

下面介紹社區插件 dsh-config-migrator(維護者 shutongX,分類 admin-security):把本機 DSH 狀態按區塊打成 zip,在新機器上按需、分塊還原,並在寫盤前給出衝突預覽。插件僅使用 Node 內置模塊,導出與導入過程不做網絡請求。

這是什麼

dsh-config-migrator 的定位是:導出所選 DSH 配置分區爲 zip,在新機器上分區塊恢復,且在寫入前展示衝突分析。

SkillHub 等社區目錄與 DeepSeek / 幻方無官方從屬關係;安裝前請自行查看源碼與許可證。插件以當前 DSH 進程權限讀寫本機文件,屬於 admin-security 類能力,使用前確認信任來源。

核心功能

導出與導入流程

入口在 DSH 設置 →「配置遷移」,三個頁籤:導出 / 導入 / 快照。

  1. 導出:勾選要帶走的區塊,生成 zip。API key 在導出時自動脫敏;憑據區塊默認不導出,若勾選導出需設置加密密碼。
  2. 導入:上傳 zip → 查看清單與衝突分析 → 每個區塊單獨選擇「用備份 / 保留本機 / 跳過」→ 確認後才寫盤。導入前可自動創建快照。
  3. 快照:導入、還原會留下快照,支持回滾。

導出的 zip 內含 restore/ 安裝器:目標機器若尚未安裝本插件,可在 Windows 雙擊 install.cmd,或在 macOS/Linux 運行 install.sh,將插件裝入 profile 後重啓 DSH,再通過界面導入。

可遷移的區塊

區塊 內容
profile profile 的 package.json、cordis.patch.yml、pnpm 配置
plugins 已裝插件的安裝 spec
marketplace 自定義插件市場索引地址
localPlugins link: 依賴指向的本地插件目錄
models patch 裏 llm-* 的 provider / model / baseURL(apiKey 脫敏)
skills 全局 / profile / 已裝包裏的 SKILL.md
mcp MCP 服務定義
agentPresets Agent 預設
settings 其餘 patch 條目(默認模型、權限、UI 偏好等)
instructions $DSH_HOME/AGENTS.md 與工作區 AGENTS.md
workspaces workspace.json 與已知工作區目錄
sessions 會話日誌(逐條可選)
storages $DSH_HOME/storages/*.json(排除緩存類)
pluginData 插件私有數據(白名單)
attachments 附件
credentials 憑據(需密碼,默認不導出)

安全邊界

  • 導出時 API key、token、密碼脫敏,不寫入 zip。
  • dsh-pocket/token 等明文密鑰在掃描階段跳過,不會被打包。
  • 導入爲白名單寫入:僅允許寫入對應根目錄,並拒絕憑據、.pem、.key 的寫入。
  • 導入前先預覽衝突,確認後寫入;寫盤前自動快照。

插件數據目錄:$DSH_HOME/config-migrator/(exports / uploads / snapshots)。不再需要時可刪除該目錄。

設計契約(分區、格式、安全邊界)見倉庫內 docs/SPEC.md。

安裝與啓用

任選一種方式(命令與 URL 以 README 爲準):

方式一:DSH 插件頁

插件 → 添加插件 → 粘貼:

https://github.com/shutongX/dsh-config-migrator

方式二:自定義插件市場索引

DSH → 插件 → 實驗性插件 → 更多 → 開啓「自定義插件市場」→ 發現 → 添加索引源:

https://shutongX.github.io/dsh-plugins-index/index.json

方式三:命令行

dsh plugin --profile desktop add https://github.com/shutongX/dsh-config-migrator

若曾用開發目錄安裝舊版 @dsh-external/<name>,應先移除舊插件再安裝當前無 scope 包,否則同一功能可能加載兩份。

典型用法

先做導出,再做遷移與導入:

  1. 在本機打開 設置 → 配置遷移 → 導出,勾選需要的區塊(憑據默認不選;若需要則設置加密密碼)。
  2. 將生成的 zip 拷到新機器;若新環境尚未裝插件,先運行 zip 內 restore/install.sh 或 install.cmd,重啓 DSH。
  3. 在 導入 頁上傳 zip,閱讀衝突分析,按區塊選擇「用備份 / 保留本機 / 跳過」,確認寫入。
  4. 若結果不理想,在 快照 頁回滾。

經過上面的步驟,profile、插件列表、模型 patch、MCP、skills 等可按需部分遷移,而不必整目錄盲拷。

適用場景與注意

適合:換機或新 profile 復刻 DSH 環境;只想帶走插件 spec 與市場索引、而不是手工記 URL;需要在寫盤前看清與本機配置的差異。

注意:

  • 憑據默認不導出;導入側仍拒絕寫入憑據類敏感文件,遷移後 API key 等需在新機重新配置。
  • localPlugins 指向的本地目錄需自行保證新機器上路徑或內容可用。
  • 插件零第三方依賴、無網絡請求,但讀寫範圍仍覆蓋 DSH 配置樹,安裝前請審閱源碼。

結尾

dsh-config-migrator 把 DSH 配置拆成可選分區,用 zip 帶走、用衝突預覽控制還原粒度,並配合快照降低誤操作成本。進一步瞭解可訪問 SkillHub 目錄頁 與 GitHub 倉庫。

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

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

小夜