前言¶
DeepSeek Harness(DSH)的运行时、会话、缓存、插件和日志都会落在本地目录,默认是 ~/.dsh(也可通过 DSH_HOME 指定)。日常用 Finder 或 du 看占用,往往对不上「到底占了多少」;目录列表也回答不了「空间花在哪」以及「哪些目录不能随手删」。下面介绍社区客户端插件 dsh-storage-inspector,把扫描、口径和可解释建议集中到一套逻辑里,通过设置页和 Agent 工具两个入口呈现;当前 V1 为只读版,不会删除、移动或上传任何文件。
这是什么¶
dsh-storage-inspector 由维护者 OnebugIS 发布,在 SkillHub 目录中归类为客户端插件。一句话定位:对 DSH 本地存储做一次安全的磁盘占用检查,并按模块给出分级清理建议(建议本身可解释,V1 不执行清理)。
仓库:https://github.com/OnebugIS/dsh-storage-inspector
目录页:https://www.skillhub.cn/plugins/OnebugIS/dsh-storage-inspector
DSH 生态强调「一切皆插件」;SkillHub 是社区插件目录站点,与 DeepSeek / 幻方无官方从属关系,本文仅介绍该插件本身的能力与用法。
它解决什么问题¶
README 归纳了三个常见疑问:
- 到底占了多少磁盘? Finder、
du与「文件逻辑大小」可能给出不同答案; - 空间花在哪里? 需要按模块、缓存和最大文件定位;
- 什么能动、什么不能动? 运行时目录和活动配置不能因为「看起来很大」就删除。
本插件用统一扫描器(lib/scan.js)生成报告,避免设置页与对话里两套口径互相矛盾。
核心功能¶
| 能力 | 说明 |
|---|---|
| 设置 → 存储 | 总量、物理/逻辑双口径、模块占用、Top 文件和分级建议 |
Agent 工具 storage_report |
在对话中询问 DSH 占用;默认摘要,detail=full 返回完整报告 |
| 可解释分类 | 区分 active、cache、runtime、sessions、unknown,并说明建议原因 |
| 安全边界 | 只读、不联网、不跟随符号链接、硬链接去重、设置页 loopback 接口 |
| 统一口径 | 设置页与 storage_report 共用同一扫描实现 |
当前版本(package.json 0.1.0)明确为 V1 / 只读版:自动清理功能尚未开启;dsh-runtimes/ 标记为禁止触碰;sessions/ 只展示体积,不提供第二套删除入口。
数据口径与限制¶
设置页主数字使用物理块大小:
physical bytes = st_blocks × 512
logical bytes = 所有文件 st_size 之和
物理口径更接近 macOS Finder / du 的实际占用;逻辑口径更接近文件内容总和。报告会同时展示两种口径。
兼容性与扫描行为(摘自 README):
| 项目 | 当前支持/默认值 |
|---|---|
| DSH | >=0.2.1-rc.3 |
| Node.js | >=20 |
| 扫描范围 | 仅 DSH 根目录,不扫工作区或系统其他路径 |
| 缓存 | 默认 5 分钟(cacheTtlMs=300000) |
| 超时 | 默认 10 秒(timeoutMs=10000);超时返回已扫描部分并标记不完整 |
当报告 complete 为 false 时,数字是部分结果,不能当作完整盘点。
安装与启用¶
1、确认 DSH 与 Node.js 版本符合上表。
2、从 npm 安装(README 给出的快速开始命令):
dsh plugin --profile desktop add dsh-storage-inspector
3、重启 DSH。
4、新建会话,询问「DSH 占多少空间?」验证 storage_report。
5、打开 设置 → 存储 查看图形化报告。
卸载:
dsh plugin --profile desktop remove dsh-storage-inspector
开发或自用可从源码用 link: 指向本地绝对路径安装;README 要求「测试先行、明确授权后安装」,不要在未经使用者授权的情况下改写 desktop profile。若 npm 版本尚未同步,可暂时使用 GitHub 仓库配合 link: 方式(路径需替换为本机绝对路径)。
典型用法¶
设置页¶
打开 DSH 的 设置 → 存储,可查看总物理占用与总逻辑大小、各模块占用及分类、最大文件榜,以及缓存、活动配置、会话和运行时的分级建议。需要最新结果时,使用「重新扫描」(会带 force=1 绕过缓存)。
Agent 工具¶
在对话中可以直接问:
DSH 占多少空间?
模型可调用摘要:
{
"name": "storage_report",
"arguments": { "detail": "summary" }
}
需要最大文件榜和完整明细时:
{
"name": "storage_report",
"arguments": { "detail": "full" }
}
summary 默认不携带最大文件榜,适合日常对话;full 才返回完整明细,避免把大量路径塞进上下文。
安全与隐私(V1)¶
- 只读:不删除、不移动、不改名、不写入扫描目录;
- 本地:只读取 DSH 目录,不联网上传路径或报告;
- 不跟随符号链接,权限拒绝的条目跳过,不通过提权绕过;
- 设置页接口只接受本机 loopback 请求;若显示「仅本机可用」,属预期行为,勿通过反向代理或远程端口转发访问。
许可证:MIT(README 与 package.json 一致)。
适用场景与注意¶
适合长期使用 DSH、需要定期看清 ~/.dsh 占用结构、又希望先「看懂再动手」的桌面用户。插件以当前 DSH 进程权限读取本地目录;安装前应自行查看仓库源码与许可证,确认符合你的安全策略。V1 不提供删除 dsh-runtimes/ 或 sessions/ 的入口;版本计划中 V2 才涉及 dry-run 清理预览等能力,V3 原则是不提供直接永久删除。
结尾¶
dsh-storage-inspector 把 DSH 本地存储的扫描、双口径展示和可解释建议收到一处,设置页与 storage_report 共用同一扫描器,适合在动手清理前先做一次只读体检。