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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye