
Security News
PHP Patches Critical RCE Vulnerabilities, Organizations Urged to Take Unpatched Sites Offline
PHP releases emergency patches for two critical RCE vulnerabilities as agencies urge organizations to take unpatched sites offline.
dsh-fs-inspector
Advanced tools
Filesystem inspector plugin for DeepSeek Harness: directory size aggregation with Top-N subdirectories/files, recently modified files with relative-time filters. Read-only, no symlink traversal. Zero runtime dependencies.
DeepSeek Harness 文件系统巡检插件:目录体积统计(Top N 子目录 / 大文件,支持 depth 下钻层数)、最近修改文件查询(可按文件类型 / git 作者分组)与目录体积对比(定位“谁把目录撑大了”)。子目录并发遍历,只读、零运行时依赖。
npm install dsh-fs-inspector
递归统计目录的总大小、文件数、子目录数,并按大小列出 Top N 子目录或大文件。
用户:看看 E:\projects 里哪些目录最占空间
目录:E:\projects
总大小:2.31 GB(2478567424 字节)
文件数:18234,子目录数:1204
下钻层数:不限
忽略目录:.git
Top 10 子目录(按聚合大小):
1. 1.42 GB 目录 frontend\node_modules
2. 512.10 MB 目录 backend\target
...
参数:
| 参数 | 说明 |
|---|---|
path | 目录路径,默认当前目录 |
top | Top N,默认 10,上限 100 |
mode | dirs(子目录,默认)/ files(大文件)/ both |
depth | 下钻层数(v0.2):0(默认,不限)或 1–20,N 表示最多进入 N 层子目录,更深的子目录跳过不计并提示 |
ignore | 忽略的目录名,逗号分隔,默认 .git;传空字符串表示不忽略任何目录 |
按修改时间倒序列出文件,支持时间范围与扩展名过滤。
用户:这个目录里最近 3 天改过哪些 markdown 文件
目录:E:\projects\docs
匹配文件:7 个(since 3d)(扩展名 .md)
最近修改的 7 个文件:
1. 2026-09-21T02:14:33.000Z 12.30 KB guide/setup.md
2. 2026-09-20T11:02:10.000Z 4.10 KB README.md
...
参数:path、limit(默认 20,上限 200)、since(7d / 12h / 30m / 2w 或 ISO 时间 2026-09-01)、extensions(如 .md,.js)、group(none 默认 / type / author)、ignore。
分组统计(v0.2):group=type 按扩展名聚合(文件数 / 总体积 / 最近修改);group=author 按 git 作者聚合(需 git 仓库,用一次 git log 取每个文件的最近提交作者;未提交文件归入 (未提交);非 git 目录自动回退为类型分组并提示)。
用户:这周的改动按作者统计一下
recent_files(path="E:\\projects", since="7d", group="author")
按相对路径对比两个目录(如备份 vs 现状、旧导出 vs 新导出)的体积差异,输出总量变化与体积增减 Top N,回答“谁把目录撑大了”。
用户:新版本比旧备份多了 500MB,到底多了什么
du_compare(before="D:\\backup\\proj-old", after="E:\\projects\\proj", top=5)
基准总量:1.20 GB(文件 18234 个)
目标总量:1.68 GB(文件 19020 个)
总量变化:+488.2 MB(+39.7%)
条目变化:新增 812、删除 26、体积变化 134、无变化 17262
Top 5 体积增加:
+312.4 MB frontend\dist\bundle.js(新增)
+96.1 MB backend\target\app.jar
...
Top 5 体积减少:
-12.3 MB old\cache.dat(删除)
参数:
| 参数 | 说明 |
|---|---|
before | 对比基准目录路径(必填) |
after | 对比目标目录路径(必填) |
top | 增减 Top N,默认 10,上限 100 |
level | files(文件级,默认)/ dirs(子目录聚合级) |
depth | 两侧统一的下钻层数,0(默认)或 1–20 |
ignore | 忽略的目录名,逗号分隔,默认 .git |
1. 磁盘占用排查
用户:C 盘这个项目怎么这么大,帮我看看
用 dir_size 的默认 dirs 模式定位到 node_modules / target / 构建产物目录,再对可疑目录单独跑一次 dir_size 逐层下钻。
2. 清理前的影响面评估
用户:我想删掉 dist 目录,先看看它多大、里面有多少文件
dir_size 输出子目录聚合大小与总文件数,删除前先确认规模(本插件只统计不删除)。
3. 最近改动巡检 / 日报素材
用户:这周我改了哪些文件
recent_files 传 since=7d,按 mtime 倒序得到改动清单,可作为周报依据。
4. 构建产物新鲜度检查
用户:dist 是不是过期了,比源码旧?
对源码目录与 dist 目录分别跑 recent_files,对比最新 mtime 判断产物是否落后于源码。
5. 谁把目录撑大了
用户:升级完依赖后仓库多了 300MB,帮我找出增量
du_compare(before=旧目录, after=现目录, top=10) 直接给出总量变化与体积增减 Top N,新增/删除条目单独标注,不用肉眼对比两份扫描结果。
6. 本周改动按作者盘点
用户:统计一下这周各成员改了哪些文件
recent_files(since="7d", group="author") 按 git 作者聚合文件数与体积,适合周报与协作盘点。
7. 仓库体积体检
用户:仓库里有没有意外提交的大文件
dir_size 传 mode=files、ignore=(空,含 .git 目录)可看到最大文件排行,快速发现误提交的大文件。
readdir / stat / lstat 与只读 git log,不创建、不修改、不删除任何文件;测试中含"调用后目录内容与大小不变"的只读性断言。EACCES/EPERM 的子目录跳过并在条目中标注,不中断整体统计。| 协作插件 | 集成方式 |
|---|---|
| dsh-table-render | 把 dir_size 的 Top N 输出整理为数据后渲染成对齐表格(含中文目录名) |
| dsh-hash-checksum | 对 dir_size / recent_files 定位到的大文件进一步计算 sha256,用于校验或去重判断 |
| dsh-file-search(二期 D10) | dir_size 先定位大目录,再用 file-search 在目标范围内做内容检索,缩小搜索面 |
| dsh-folder-tree(二期 D9) | 体积统计与目录树结构展示互补:一个看"多大",一个看"长什么样" |
| dsh-file-manager-cli | 本插件负责"看"(只读统计),实际移动/删除/重命名交给 file-manager-cli |
| dsh-workspace-journal | 把巡检结果(体积变化、最近改动)写入工作区日志,形成长期趋势记录 |
dir_size 新增 depth:限制下钻层数(1–20),更深子目录跳过不计并在输出中标注du_compare:两个目录按相对路径对比,输出总量变化、新增/删除/变化计数与体积增减 Top N,支持 level=files|dirsrecent_files 新增 group:按文件类型或 git 作者分组统计(作者分组需 git,非 git 目录自动回退类型分组)dir_size:递归体积统计 + Top N 子目录/大文件、ignore 名单、20 万条目截断保护recent_files:mtime 倒序 + since 相对时长(d/h/m/w)/ ISO 时间 + 扩展名过滤v0.2(已落地于 0.2.0)
dir_size 增加 depth 参数,限制下钻层数du_compare:两次扫描结果对比,输出体积增减 Top N(定位"谁把仓库撑大了")recent_files 支持按作者(需 git)或按文件类型分组统计v0.3(展望)
Q:为什么默认忽略 .git?
.git 内部对象文件多且体积大,通常不是排查目标。需要统计时传 ignore=(空字符串)即可包含。
Q:node_modules 为什么没被默认忽略?
因为排查"目录为什么这么大"时,node_modules 往往正是答案。它体积大但可重建,本插件如实统计,是否清理由你决定。
Q:软链接目录里的文件为什么没统计到? 为避免环路与越界遍历,扫描跳过所有符号链接。这是刻意的安全取舍。
Q:since 的 m 是月还是分钟?
分钟(30m = 30 分钟);周用 w(2w = 2 周)。月份请用 ISO 时间表达。
Q:扫描很慢/结果不完整?
单次上限 20 万条目,超出会标注 ⚠ 并给出部分结果。建议缩小 path 范围、用 depth 限层,或对子目录分别扫描。子目录自 v0.2 起并发遍历,超大目录耗时明显缩短。
Q:du_compare 能对比同一目录的两个时间点吗?
当前版本对比的是两个目录(如备份 vs 现状)。同一目录的时点快照与趋势报告在 v0.3 的“体积快照落盘”里规划。
Q:group=author 为什么变成了文件类型分组?
作者分组依赖 git 仓库与 git 命令:目标目录不在 git 仓库内(或未安装 git)时会自动回退为类型分组并在输出中提示。未提交的新文件归入 (未提交)。
Q:能帮我删除大文件吗? 不能,本插件严格只读。删除请使用 dsh-file-manager-cli 并自行确认影响。
MIT
FAQs
Filesystem inspector plugin for DeepSeek Harness: directory size aggregation with Top-N subdirectories/files, recently modified files with relative-time filters. Read-only, no symlink traversal. Zero runtime dependencies.
The npm package dsh-fs-inspector receives a total of 16 weekly downloads. As such, dsh-fs-inspector popularity was classified as not popular.
We found that dsh-fs-inspector demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
PHP releases emergency patches for two critical RCE vulnerabilities as agencies urge organizations to take unpatched sites offline.

Threat Research
/Security News
A supply chain attack compromised LiteLLM 1.107.0 on PyPI and Docker, spreading malware that steals cloud credentials, developer secrets, and AI provider keys.

Security News
vlt 1.5.0 links skills from JavaScript dependencies to coding agents, with lockfile versioning and Socket data to filter out known malicious packages.