← Back to home@zizhuang

dsh-file-dedupe

AI生成。DSH 文件查重插件:按 SHA-256 内容哈希找出重复文件,可视化面板 + 对话工具,隔离区可恢复 | DSH file dedupe plugin

Stars
0
Language
JavaScript
Created
Oct 8, 2026
Updated
Oct 8, 2026

Introduction

dsh-file-dedupe

中文 | English

DeepSeek Harness(DSH)文件查重插件:扫描任意本地目录,按 SHA-256 内容哈希找出内容完全相同的重复文件,并安全地清理。

一句话价值:装完就能在界面左下角点「🔍 文件查重」,几十秒内知道哪些文件是重复的、能腾出多少空间。

  • 可视化面板:应用左下角常驻的「🔍 文件查重」浮动按钮(点开即面板),以及 设置 → 文件查重 区块。
  • 对话工具:file_dedupe_scan / file_dedupe_cleanup / file_dedupe_restore,直接让 Agent 帮你查。
  • 安全设计:只处理确实属于某个重复组的路径;每个重复组永远至少保留一个文件;Agent 工具只能把冗余副本移入可恢复的隔离区,永久删除必须由你在面板里二次确认。

安装

从 GitHub 直接安装(推荐):

dsh plugin --profile web add github:zizhuang/dsh-file-dedupe

把 web 换成你的 profile 名(desktop、headless、tui 等)。安装后重启/刷新即可看到浮动按钮。

尚未发布到 npm(因此 add dsh-file-dedupe 暂时不可用);被社区插件市场收录后,也可以在应用内「设置 → 插件市场」一键安装。

工作原理

  1. 遍历目标目录,先按文件大小分组;
  2. 只对「同大小且存在多个成员」的候选文件做 SHA-256 哈希(1 MiB 流式分块,大文件不占内存);
  3. 内容哈希相同的文件即为真重复——与文件名无关。

结果包含:重复组数、冗余文件数、可释放空间、每组文件清单。

清理方式

操作入口可恢复
移入隔离区面板 + file_dedupe_cleanup✅ 用 file_dedupe_restore 恢复
永久删除仅面板,需二次确认❌

隔离文件存放于 $DSH_HOME/dsh-file-dedupe/quarantine/,并记录清单;恢复时精确回到原路径(目标位置已被占用则拒绝覆盖)。

配置

在 profile 的 cordis.patch.yml 中覆盖:

字段默认值含义
minFileSize1忽略小于该字节数的文件
maxFiles100000单次扫描最多收录的文件数
maxGroups500展示的重复组上限(按可释放空间排序)

对话工具示例

file_dedupe_scan(root="D:\\file store")            → 重复组清单 + 可释放空间
file_dedupe_cleanup(scanId="scan-…", paths=[…])    → 把冗余副本移入隔离区
file_dedupe_restore(paths=[…])                     → 从隔离区恢复

注意事项

  • 查重是字节级内容相同判定:同名不同内容不算重复,不同名同内容算重复。
  • 超大目录扫描需要时间,可用 minFileSize / maxFiles 缩小范围。
  • 清理只影响你勾选的冗余副本,每组永远至少保留一个文件。

兼容性

在 DSH 0.2.0-rc.2(Windows 桌面版)上实测通过:安装、宿主路由、浮动按钮/设置面板、扫描 → 隔离 → 恢复全流程。

许可证

MIT