DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。在構建智能體時,刪除操作往往是不可逆的。直接使用系統命令 rm 或 rmdir 會永久移除文件,不僅風險高,還會打斷 agent 的執行流。dsh-shield 是爲 DSH 脫手模式設計的插件,它在刪除目錄時將文件先移入回收站,並對鏈接操作做了特殊處理,在保證安全的同時保持零審批、零彈窗,讓 agent 體驗不變。
插件介紹¶
這是一個用於 DSH 脫手模式的安全網插件。它通過攔截並改寫刪除命令,實現目錄刪除進回收站、鏈接刪除不跟隨。插件由 x2802490130-prog 維護,開源協議爲 MIT,分類屬於 admin-security。
核心功能¶
- 目錄刪除進回收站:支持 bash 的
rm -r/-rf、cmd 的rmdir/rd/del /s、fs 工具的目錄刪除,執行前將目標文件/目錄重命名至回收站(同卷瞬時操作),命令照常執行。 - Glob 搶救:支持
rm -rf dir/*、dir/*.log等場景,逐個搶救匹配的子項。 - 鏈接絕不跟隨:對於符號鏈接,
rm -rf link/會刪除鏈接本身,而不是跟隨鏈接刪除真實內容;父目錄是鏈接時,會順鏈解析並搶救真實目標內容。 - 回收站管理:提供設置頁「回收站」分區,支持查看、恢復、刪除、清空操作。
- 系統回收站兼容:可配置
trashMode: system走系統回收站,失敗時自動回落。 - 零侵入:只搶救不攔截,命令實際執行,agent 無感知。
- 本地安全:管理 API 僅本機迴環可用。
配置¶
插件通過 profile 補丁層進行配置,以下爲可選配置項:
- id: dsh-shield
config:
trashRoot: D:\\path\\to\\trash # 默認 $DSH_HOME/trash
retentionDays: 14 # 保留天數
maxTrashBytes: 5368709120 # 最大佔用 5GB
trashMode: dir # dir | system
典型用法¶
- 常規刪除:直接使用
rm -rf dir,文件會被移入插件管理的回收站。 - Glob 搶救:執行
rm -rf dir/*.log,匹配到的所有 log 文件會被逐一搶救。 - 鏈接處理:執行
rm -rf link/,直接刪除 link 目錄本身。 - 系統回收站:在配置中設置
trashMode: system,刪除操作將嘗試進入系統回收站。
適用場景與注意¶
- 適用場景:適合需要在自動化腳本或 agent 中執行刪除操作,但又希望具備容錯機制的場景。插件已覆蓋單目標及常見 glob 場景,對於極端的 shell 花樣會以回收站兜底。
- 自動清理:回收站內容若超過 14 天或佔用超過 5GB,會自動清理。
- 運行權限:插件以當前 DSH 進程權限運行,建議安裝前檢查源碼與許可證。
- 生態說明:DSH 理念是「一切皆插件」。社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-shield 在保持 agent 體驗不變的前提下,通過回收站機制降低了誤刪風險。更多信息可查看其 GitHub 倉庫 或 社區目錄。