dsh-safety-net:給 DeepSeek Harness 增加自保護護欄

前言

DSH 的插件生態強調「一切皆插件」。當智能體在宿主內自主執行文件操作時,一次錯誤的 write 或 edit 可能影響 DSH 自身運行狀態。dsh-safety-net 由 Asuna486-desuwa 維護,定位是 “Self-protection guardrails for the DeepSeek Harness: protected-path interception, backup-before-destroy, CLI self-recovery commands, and strict sandbox defaulting”。下面介紹它在 DSH 中的位置、核心能力、安裝方式與典型用法。

這是什麼

dsh-safety-net 是一個 DSH 插件,用於對 DSH 關鍵路徑的變更增加一層保護:在拒絕受保護路徑變更前先快照原始文件,並保留一組 DSH CLI 恢復命令。

它默認開啓 strict 模式,聲明只讀默認沙箱策略,並在宿主沙箱默認更寬時告警;實際沙箱執行仍由宿主 sandbox backend 負責。許可爲 MIT。

核心功能

受保護路徑硬攔截

插件會硬攔截指向 DSH 關鍵路徑的 write / edit 變更。內置 protected 路徑不能通過配置移除,strict 也不會解除路徑攔截。

變更前備份

在拒絕 protected path 變更前,插件會先快照原始文件到備份存儲。備份存儲位於:

<DSH_HOME>/safety-net/backups/

CLI 自恢復通道

插件提供 DSH CLI 恢復命令,覆蓋狀態、備份、恢復、修復、一次性審批。

strict 默認與額外受保護路徑

默認開啓 strict 模式,聲明只讀默認沙箱策略,並在宿主沙箱默認更寬時告警。若需要保護更多路徑,可通過 safetyNet.extraProtectedPaths 添加額外受保護路徑。

safetyNet.extraProtectedPaths 在運行時僅可添加,取消需要修改配置並重啓 DSH。

安裝與啓用

要求 Node.js ≥ 20,以及一個正在運行的 DeepSeek Harness (DSH) host。

@deepseek-ai/cordis 與 @deepseek-ai/dsh-fs 作爲 peer dependencies 由 DSH host runtime 提供,不應 standalone npm install。

從 npm 安裝:

dsh plugin add dsh-safety-net

從 git 安裝:

dsh plugin add git+https://github.com/Asuna486-desuwa/dsh-safety-net.git

安裝後,相關配置位於 safetyNet 鍵下。可參考的鍵包括:

safetyNet.strict
safetyNet.extraProtectedPaths
safetyNet.backupRetention
safetyNet.dshHome
safetyNet.pluginDataRoot

其中 safetyNet.backupRetention 默認爲 30,但 retention-based pruning 計劃在後續版本落地。

如果確實需要修改內置 protected 文件,先卸載插件:

dsh plugin remove dsh-safety-net

修改完成後再重新添加。

典型用法

先查看 guardrail 健康狀態:

/safety-net-status

手動快照受保護資產:

/safety-net-backup

列出或恢復備份:

/safety-net-restore
/safety-net-restore <id>

檢測缺失關鍵文件並打印恢復說明:

/safety-net-repair

爲 protected path 授予一次性寫入審批:

/safety-net-approve <path>

經過上面的步驟,可以在不長期解除保護的情況下,查看狀態、創建備份、恢復指定備份,或處理一次性誤攔。

適用場景與注意

適合需要給 DSH 增加受保護路徑護欄、變更前備份和 CLI 恢復命令的使用者。需要注意:

  • strict 是聲明式/advisory,實際沙箱執行仍由宿主 sandbox backend 負責。
  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
  • @deepseek-ai/cordis 與 @deepseek-ai/dsh-fs 由 DSH host runtime 提供,不應 standalone npm install。
  • 內置 protected 路徑不能通過配置移除;strict 不解除路徑攔截。
  • safetyNet.extraProtectedPaths 在運行時僅可添加,取消需要修改配置並重啓 DSH。
  • safetyNet.backupRetention 默認爲 30,但 retention-based pruning 計劃在後續版本落地。

目錄與源碼

社區目錄頁:

https://www.skillhub.cn/plugins/Asuna486-desuwa/dsh-safety-net

GitHub:

https://github.com/Asuna486-desuwa/dsh-safety-net

dsh-safety-net 的價值在於把 DSH 自保護拆成可執行的幾件事:攔關鍵路徑、留備份、給恢復命令,並在 strict 模式下給出沙箱策略告警。

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

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

小夜