dsh-disk-doctor: Disk Space Health Check and Safe Cleanup for DeepSeek Harness

DeepSeek Harness (DSH) 在运行过程中会不断积累数据,但由于 DSH 的设计原则是不主动删除文件,磁盘占用只会增长。面对日益膨胀的存储空间,开发者需要一种能够看清占用构成、且不会误删重要数据的解决方案。

dsh-disk-doctor 是为此设计的 DSH 插件。它提供只读的磁盘占用统计,将数据、程序和系统缓存分开计算,并提供一种“只移不改”的清理机制。

插件介绍

dsh-disk-doctor 是由 Yeqij 维护的 DSH 空间体检插件。它通过读取文件系统状态,分析 DeepSeek Harness 的磁盘占用情况,并提供可视化的右侧栏面板与安全清理功能。

核心功能

三区并排统计
插件将磁盘占用划分为三个区域:DSH 数据文件夹、DSH 程序安装、系统缓存(包括桌面用户数据和 pnpm 内容仓库)。这三者在物理字节上存在重叠(例如 pnpm 仓库通过硬链接指向插件文件),直接相加会造成重复计数。该插件会分开计数,并说明重叠原因。

路径自动探测
插件支持多种路径探测方式:
* 数据目录跟随 $DSH_HOME(回落至 ~/.dsh);
* 程序安装目录从运行中的可执行文件探测,且必须真的存在 resources/app.asar 才会被识别;
* 系统缓存从 %APPDATA% / %LOCALAPPDATA% 探测,并有 .config 与 Library/Application Support 回落;
* 同时支持 npm 全局安装的 DSH 实例。

右侧栏常驻面板
安装后,插件会在 DSH 右侧栏显示常驻面板,支持按分类、Top N 排序,以及按插件或聊天记录切换视图。每行提供“在文件管理器中打开”的功能。

安全清理机制
插件从不执行删除操作。所有清理功能默认关闭,需二次确认。清理时仅执行 renameSync,将文件移动到插件隔离目录 <dshHome>/disk-doctor/quarantine/<时间戳>/。每次移动都会重写清单,确保即使中途断电也能与磁盘状态一致,且支持一键撤销。

安全与隐私
* 无网络访问:插件在清单中声明 network: [],并经过测试确保无出站调用。
* 报告脱敏:离开机器的输出(如 Markdown 或 JSON 报告)会将主目录替换为 ~,仅本地面板显示真实路径。

安装与使用

前置要求
* DeepSeek Harness 版本:>=0.1.0-rc.2(实测 0.2.0-rc.2)。
* Node.js 版本:^22.19.0 或 >=24.0.0。

安装方式
由于该插件未发布到 npm,需通过以下方式安装:

  1. 直接使用仓库地址:
    dsh plugin --profile <profile> add https://github.com/Yeqij/dsh-disk-doctor
  1. 使用打包好的 tgz 文件:
    dsh plugin --profile <profile> add https://github.com/Yeqij/dsh-disk-doctor/releases/download/v0.1.0/dsh-disk-doctor-0.1.0.tgz
  1. 或下载源码,在 DSH 插件管理中添加本地文件夹路径,然后重启 DSH。

测试
安装后可运行测试验证功能:

npm test

测试覆盖 177 项,包含 locate、scan、plugin 和 client 四个模块。

注意事项

  • 统计只会增长:DSH 本身不删除文件,因此插件的统计数字是累积的。
  • 程序目录探测:程序安装目录的探测依赖 resources/app.asar 真实存在,无头环境部署会如实报错。
  • 无构建依赖:插件零运行时依赖、零构建步骤。
  • 清理默认关闭:为防止误操作,清理功能默认关闭,需手动开启并二次确认。清理仅针对“可安全清理”的四类文件。

结语

dsh-disk-doctor 解决了 DSH 磁盘占用不透明与清理风险并存的问题。通过隔离区重命名实现的安全清理机制,适合需要在本地长期运行 DSH 的开发者使用。

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

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

Xiaoye