DeepSeek Harness (DSH) 的設計理念是“一切皆插件”,通過擴展可以接管各種運行時行爲。在使用過程中,大模型運行產生的緩存、下載的安裝包或導出文件往往默認落盤在 C 盤,容易導致系統盤空間不足。dsh-disk-guard 是一個針對這一痛點的插件,它負責把 DSH 的下載產物與緩存/臨時文件從 C 盤重定向到用戶指定目錄,並向每個會話注入“路徑紀律”提示詞,防止 C 盤爆炸。
核心功能¶
該插件提供以下能力:
- 指定目錄:統一管理下載目錄(產物/安裝包)和緩存目錄(臨時文件、npm 緩存)。
- 環境重定向:將
TMP/TEMP/TMPDIR等臨時環境變量和npm_config_cache重定向到指定目錄,對子進程生效。 - 持久化繼承:配置寫入
$DSH_HOME/.env,實現持久化繼承。 - 提示詞注入:在會話首條消息前自動插入“路徑紀律”提示詞。
- 管理工具:提供
disk_guard命令行工具,支持查看狀態、清理過期緩存和修改目錄。 - 智能默認:不配置目錄時,自動選擇剩餘空間最大的非 C 盤(需 ≥5GB)。
安裝與啓用¶
在插件包目錄(含 package.json 的那層)執行安裝腳本:
powershell -ExecutionPolicy Bypass -File scripts\install.ps1
安裝完成後,需要重啓 DeepSeek Harness(無論是 Web 界面還是 Headless 模式)才能生效。
使用示例¶
安裝成功後,即可在會話中或命令行使用 disk_guard 工具。
查看磁盤狀態
disk_guard status
清理過期緩存
disk_guard clean
修改目錄
disk_guard set downloadDir:"E:\dsh\dl" cacheDir:"E:\dsh\cache"
配置文件位於 $DSH_HOME/disk-guard.yaml。路徑支持 ~(用戶主目錄)與 %VAR% 展開,相對路徑以 DSH home 爲基準。
注意事項¶
- 零依賴:插件運行期無第三方依賴。
- 清理邊界:清理操作僅針對插件自己管理的目錄。
- 重啓生效:安裝後必須重啓 DSH。