disk-sentinel:DSH 下的 Windows 磁盤分析與安全清理

前言

在 DeepSeek Harness(DSH)裏讓 Agent 查磁盤空間,常見做法是一層層跑 dir、Get-ChildItem 或臨時拼腳本。掃描耗時長、佔用 token,清理步驟也不易在對話裏完整留痕。磁盤哨兵(disk-sentinel)把掃描、報告、預估、用戶確認和清理收成固定工具與 Web 面板,掃描走宿主 RPC,不依賴 LLM 逐目錄試探。

下面介紹社區維護者 wee-b 發佈的 @dsh-plugin/disk-sentinel:面向 Windows、DSH web profile 的磁盤分析與安全清理插件。項目爲社區非官方插件,與 DeepSeek AI 無隸屬關係;目錄頁見 SkillHub,源碼見 GitHub(MIT 許可證,當前 package 版本 0.1.1)。

這是什麼

安裝後,DSH Web UI 側邊欄會出現「磁盤哨兵」入口。插件提供 WinDirStat 風格的目錄掃描、預定義垃圾類別清理、開發環境目錄識別與遷移,以及軟件佔用排名、掃描報告引用、兩次掃描之間的歷史差量等能力。設計目標是:可視化操作可審計,Agent 側有穩定工具名(disk_scan、clean_disk、dev_env_migrate),而不是每次現寫 shell。

核心功能

工具與面板

能力 說明
disk_scan 目錄掃描,返回目錄樹、Top 大目錄、Top 大文件和耗時
clean_disk 預定義垃圾類別,支持 list、estimate、clean 三段式
dev_env_migrate 基於最近一次開發環境掃描生成遷移計劃,用戶確認後執行
磁盤分析 Web 中選盤、後臺掃描、取消任務、查看容量與佔用
軟件佔用排名 從掃描結果識別常見安裝目錄、用戶數據與遊戲庫,Top 10,支持跨盤聚合
掃描報告 保存報告,以 @文件 引用發給當前會話供 AI 分析
歷史差量 對比兩次掃描報告,看新增、消失、增長與縮小
開發環境分析 掃描路徑型環境變量與常見開發緩存,給出安全遷移入口

全盤掃描通過 /disk-sentinel RPC 直連宿主,不經過 LLM,也無需在提示詞裏指定底層掃描命令。

安全清理流程

清理固定爲:

list -> estimate -> 用戶確認 -> clean

estimate 只預估空間,不刪文件;clean 才執行不可逆刪除。插件會保護磁盤哨兵工作區,避免誤刪掃描報告等 DSH 運行數據。

預定義清理類別包括(節選):windows_temp、windows_prefetch、windows_update_cache、recycle_bin、npm_cache、pnpm_store、yarn_cache、pip_cache、thumbnail_cache、edge_cache、chrome_cache、delivery_optimization、dns_cache 等;完整 ID 與路徑說明見倉庫 README。

開發環境遷移

遷移前會校驗掃描來源、系統保護目錄、源目錄、目標盤和配置狀態。目標須在其他磁盤,且可用空間至少爲源目錄體積的 105%。空目標可直接用;目標已有內容需二次確認,原內容先整體備份再替換。執行順序爲複製並校驗、再改配置;成功則原目錄改名保留爲備份,失敗則嘗試恢復。

支持手動遷移的工具包括 Maven 本地倉庫、npm/pnpm/Yarn 緩存、Go 工作區、NuGet、Gradle、Cargo、Rustup、Android 用戶目錄等;配置型目錄改對應配置文件,環境變量型目錄改 Windows 用戶環境變量,不修改系統 Path。

安裝與啓用

前置:Windows 系統,已安裝 DeepSeek Harness(dsh)。從 GitHub 安裝時倉庫已含構建後的瀏覽器端文件,無需額外 pnpm 或構建。

dsh plugin --profile web add git+https://github.com/wee-b/disk-sentinel.git
dsh web

啓動後,側邊欄設置區域附近應出現 磁盤哨兵 入口。

更新時先移除再重新添加:

dsh plugin --profile web remove @dsh-plugin/disk-sentinel
dsh plugin --profile web add git+https://github.com/wee-b/disk-sentinel.git
dsh web

卸載:

dsh plugin --profile web remove @dsh-plugin/disk-sentinel

卸載不會自動刪除本地掃描報告;若不再需要,可手動刪除 %TEMP%\磁盤哨兵。

典型用法

Web 磁盤分析

  1. 選擇目標磁盤或整個硬盤。
  2. 點擊開始分析;進行中可看到已掃描目錄數、當前路徑和耗時,並可取消。
  3. 查看容量、Top 目錄與 Top 文件,或選兩份歷史報告生成差量。
  4. 點擊「讓 AI 分析」,當前會話會收到掃描報告的 @文件 引用。

單盤掃描時軟件排名只反映該盤;跨盤合計需選「整個硬盤」。

對話裏讓 Agent 清理

示例意圖(README 原文風格):

幫我分析一下 C 盤空間,並在確認後清理可安全刪除的緩存。

推薦 Agent 先調用 clean_disk 的 list 和 estimate,用戶確認後再 clean。

開發環境分析

進入頁面後會掃描路徑型開發環境變量及常見開發緩存;24 小時內默認優先使用工作區緩存。「重新掃描開發環境」會跳過緩存。無手動遷移按鈕的目錄可交給 AI,但仍需 dev_env_migrate 生成計劃並經用戶確認後執行。遷移完成後應重啓終端與 IDE,確認工具指向新目錄。

配置項

可在插件配置中調整(默認值來自 README):

配置項 默認值 說明
scanTimeoutMs 300000 磁盤掃描超時(5 分鐘)
cleanTimeoutMs 120000 清理超時(2 分鐘)
migrationTimeoutMs 1800000 開發環境遷移超時(30 分鐘)
maxDepth 8 工具默認遞歸深度
topDirsCount 30 Top 目錄數
topFilesCount 50 Top 文件數
treeRenderMaxNodes 200 樹形文本最大節點數

適用場景與注意

適合誰: 在 Windows 上用 DSH Web profile 做本地開發、需要定期看 C 盤佔用、清理緩存或把 Maven/npm 等遷到其他盤的用戶。

兼容性(README 聲明): 僅 Windows;DSH profile 爲 web。文檔記載曾驗證 DSH 0.1.5-rc.2、0.2.0-rc.2(後者驗證了裝載與 Web 啓動,掃描/清理/遷移尚未逐項迴歸),Node.js 24.21.0。插件自身不連外部服務;無遙測。其他 0.2.x 未聲明兼容。

權限與風險: 插件以當前 dsh 進程權限運行;安裝前建議閱讀源碼與 MIT 許可證。掃描會讀所選盤符的目錄與大小;無法訪問的路徑會跳過且不自動提權。報告與差量寫在 %TEMP%\磁盤哨兵,%TEMP% 可能被系統或其它工具清空,重要報告請另行保存。只有 clean_disk 的 clean 會刪數據;清理與遷移前請看清預估與計劃,重要數據應另有備份。普通磁盤掃描不經過 LLM;僅在你點擊 AI 分析或主動引用報告時,路徑與統計會進入 DSH 配置的模型提供方。

已知限制: 軟件佔用排名基於目錄歸屬估算,不等同於 Windows「已安裝的應用」;共享庫、自定義安裝路徑等可能導致偏差。受保護或佔用的路徑可能無法掃描或清理。

結尾

disk-sentinel 把 Windows 磁盤掃描、差量對比、預定義安全清理和開發環境遷移放進 DSH 的穩定工具與 Web 面板,減少 Agent 臨時掃盤帶來的時間與 token 成本,並讓確認步驟可重複、可審計。

  • 目錄頁:https://www.skillhub.cn/plugins/wee-b/disk-sentinel
  • GitHub:https://github.com/wee-b/disk-sentinel
羽毛球分组比赛记分
小程序二维码

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

小夜