前言¶
DeepSeek Harness(DSH)的配置由 profile 與所選插件 bundle 共同決定。某個插件在啓動階段異常時,常見結果是進程反覆崩潰,或窗口一直停在 loading。Harness 自帶恢復對話框只在崩潰時出現,且選項是「禁用全部第三方插件並備份 patch 後重啓」——往往會卸掉所有第三方 bundle,並拆掉整層 patch。多數時候你只想關掉剛動過的那一個插件。
dsh-safe(GitHub:osman3n/dsh-safe,維護者 osman3n,社區分類 admin-security)在應用關閉時從終端直接改 profile 文件,不依賴崩潰中的 Harness 能正常起來;Healthy 會話裏還可通過插件暴露的工具查看狀態、在改動前打快照。
這是什麼¶
一句話:dsh-safe 是 DSH 插件的帶外安全網,同一包內既有可安裝的 Harness bundle,也自帶獨立 CLI 與本地恢復頁面。
它解決的是:profile 因插件問題無法啓動時,如何有選擇地禁用 bundle、從快照回滾,以及在不動真 profile 的前提下做試啓動(test-boot)。
核心功能¶
帶外 CLI 與恢復 UI¶
在 DeepSeek Harness 未運行、崩潰或卡死時,在倉庫 tools/dsh-safe 目錄執行 dsh-safe.cmd(或 node dsh-safe.mjs)。依賴 Node.js 22+。README 說明恢復 CLI 面向 Windows(使用 tasklist、cmd.exe 與 desktop 可執行文件);Harness 內工具爲普通 Node,可在 Harness 所在環境使用。
常用入口:
dsh-safe.cmd status :: 當前 profile 路徑、近期安裝與崩潰線索
dsh-safe.cmd plugins :: 編號列表 + 已裝未選 bundle
dsh-safe.cmd try :: 沙箱內複製 profile 試啓動,不改原配置
dsh-safe-ui.cmd :: 瀏覽器打開本地恢復頁(應用宕機時仍可用)
恢復頁監聽 127.0.0.1,展示最近啓動失敗證據、可選插件列表、快照、試啓動與「啓動 Harness」等操作;watch 可在出現新的崩潰或啓動失敗日誌時自動打開該頁。
快照與回滾¶
snapshot 將 package.json、cordis.yml、cordis.patch.yml 複製到 $DSH_HOME/safety/snapshots/<id>/,可帶 -l label。restore 會先爲當前狀態再打一份快照再寫入所選快照;無 id 時恢復最新一份。
風險操作前建議:
dsh-safe.cmd snapshot -l before-thing-x
有選擇地禁用 / 啓用插件¶
disable / enable 支持 bundle 名稱或條目 id(如 include:workflow-kit),可用 --dry-run 預覽。核心 bundle(@deepseek-ai/dsh-base、@deepseek-ai/dsh-web-app)默認拒絕禁用,除非 --force。
recover 讀取最新啓動日誌,解釋哪個插件失敗;recover --pick --apply 可交互勾選並應用;recover --safe-mode --apply 僅保留 dsh-base 與 dsh-web-app(profile 本體仍在)。
試啓動與 open¶
try:克隆當前 profile 到臨時名,在隔離的 DSH_HOME 中啓動,探測 Web 服務後刪除克隆;真 profile 只讀。
open:先執行與 try 類似的流程;若啓動失敗則自動映射並禁用嫌疑插件後重試,再啓動正式應用。
Harness 內工具(Healthy 時)¶
安裝爲插件後,模型可調用與 CLI 共用實現的工具:
| 工具 | 作用 |
|---|---|
dsh_safe_status |
當前 profile、已選 bundle(含本地鏈接)、近期快照、最近試啓動/恢復記錄、最新啓動失敗日誌及涉事插件等 |
dsh_safe_snapshot |
寫快照,可選 label、note |
README 明確:禁用與恢復須在應用關閉時通過 CLI 完成;Harness 起不來時,包內任何 in-harness 邏輯都無法作爲恢復路徑。
若環境中存在本地插件 git-autobackup,在用戶批准備份前,本插件可通過 Cordis 事件 git-autobackup/before-run 自動寫入標籤爲 auto-backup 的快照(兩插件無 import 依賴)。
安裝與啓用¶
作爲 DSH 插件安裝(爲 Healthy 會話增加上述兩個工具;CLI 文件隨包分發,恢復命令仍可在關應用後使用):
dsh plugin --profile desktop add github:osman3n/dsh-safe
安裝後重啓 DeepSeek Harness;插件管理器中應出現 dsh-safe。package.json 當前版本爲 0.2.3,許可證 MIT。
獨立使用 CLI 時,README 寫明無需單獨安裝步驟:在倉庫內進入 tools/dsh-safe 後運行 dsh-safe.cmd 即可(用戶自行獲取源碼的方式不在本文展開;任務約束下不使用 git clone 描述爲標準路徑)。
典型用法¶
啓動即崩潰(Host process exited)¶
除非確實要清掉全部第三方 bundle,否則不要點內置「Disable third-party plugins」:
dsh-safe.cmd recover --pick --apply
dsh-safe.cmd open
一直 loading、無崩潰對話框¶
先查看日誌中的 apply 異常插件,再交互禁用:
dsh-safe.cmd recover
dsh-safe.cmd recover --pick --apply
剛裝的插件導致無法使用¶
dsh-safe.cmd status
dsh-safe.cmd plugins
dsh-safe.cmd disable @scope/package-name
改配置前先驗證¶
dsh-safe.cmd try
禁錯插件¶
dsh-safe.cmd snapshots
dsh-safe.cmd restore <id>
適用場景與注意¶
適合:經常試裝社區插件、需要按 bundle 粒度回滾或排障的 DSH 桌面 profile 用戶;尤其在 Windows 上需要與 Harness 脫鉤的恢復手段時。
注意:
- 插件與 CLI 以你當前用戶權限讀寫
$DSH_HOME與 profile;安裝或使用前請自行查看 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的安全要求。 - 社區插件目錄 SkillHub 條目 與 DeepSeek / 幻方無官方從屬關係;DSH 生態強調「一切皆插件」,恢復工具本身也是可選 bundle。
- 內置全量禁用第三方方案仍是一把梭;
dsh-safe的價值在於快照、單項disable、try/open與恢復 UI,把改動範圍壓到你能解釋清楚的一步。
結尾¶
當 profile 被單個插件拖垮時,從關掉的終端改配置、打快照、試啓動,比依賴崩潰對話框更可控。目錄頁:https://www.skillhub.cn/plugins/osman3n/dsh-safe;源碼與命令說明:https://github.com/osman3n/dsh-safe。