前言¶
換電腦、重裝系統或在新 profile 裏復刻現有 DeepSeek Harness(DSH)環境時,常見做法是手工拷貝 $DSH_HOME、逐個重裝插件、再對照 patch 改模型與 MCP。步驟多、容易漏項,且憑據與 API key 若一併複製會帶來額外風險。
下面介紹社區插件 dsh-config-migrator(維護者 shutongX,分類 admin-security):把本機 DSH 狀態按區塊打成 zip,在新機器上按需、分塊還原,並在寫盤前給出衝突預覽。插件僅使用 Node 內置模塊,導出與導入過程不做網絡請求。
這是什麼¶
dsh-config-migrator 的定位是:導出所選 DSH 配置分區爲 zip,在新機器上分區塊恢復,且在寫入前展示衝突分析。
- 倉庫:https://github.com/shutongX/dsh-config-migrator
- 社區目錄頁:https://www.skillhub.cn/plugins/shutongX/dsh-config-migrator
- 當前 package 版本:0.1.1,許可證 MIT
- 運行要求:DSH >=0.2.1-rc.1(engines 上限
<3)
SkillHub 等社區目錄與 DeepSeek / 幻方無官方從屬關係;安裝前請自行查看源碼與許可證。插件以當前 DSH 進程權限讀寫本機文件,屬於 admin-security 類能力,使用前確認信任來源。
核心功能¶
導出與導入流程¶
入口在 DSH 設置 →「配置遷移」,三個頁籤:導出 / 導入 / 快照。
- 導出:勾選要帶走的區塊,生成 zip。API key 在導出時自動脫敏;憑據區塊默認不導出,若勾選導出需設置加密密碼。
- 導入:上傳 zip → 查看清單與衝突分析 → 每個區塊單獨選擇「用備份 / 保留本機 / 跳過」→ 確認後才寫盤。導入前可自動創建快照。
- 快照:導入、還原會留下快照,支持回滾。
導出的 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 包,否則同一功能可能加載兩份。
典型用法¶
先做導出,再做遷移與導入:
- 在本機打開 設置 → 配置遷移 → 導出,勾選需要的區塊(憑據默認不選;若需要則設置加密密碼)。
- 將生成的 zip 拷到新機器;若新環境尚未裝插件,先運行 zip 內
restore/install.sh或install.cmd,重啓 DSH。 - 在 導入 頁上傳 zip,閱讀衝突分析,按區塊選擇「用備份 / 保留本機 / 跳過」,確認寫入。
- 若結果不理想,在 快照 頁回滾。
經過上面的步驟,profile、插件列表、模型 patch、MCP、skills 等可按需部分遷移,而不必整目錄盲拷。
適用場景與注意¶
適合:換機或新 profile 復刻 DSH 環境;只想帶走插件 spec 與市場索引、而不是手工記 URL;需要在寫盤前看清與本機配置的差異。
注意:
- 憑據默認不導出;導入側仍拒絕寫入憑據類敏感文件,遷移後 API key 等需在新機重新配置。
localPlugins指向的本地目錄需自行保證新機器上路徑或內容可用。- 插件零第三方依賴、無網絡請求,但讀寫範圍仍覆蓋 DSH 配置樹,安裝前請審閱源碼。
結尾¶
dsh-config-migrator 把 DSH 配置拆成可選分區,用 zip 帶走、用衝突預覽控制還原粒度,並配合快照降低誤操作成本。進一步瞭解可訪問 SkillHub 目錄頁 與 GitHub 倉庫。