dsh-clean-agent:带清单与分级确认的 DSH 清理模式预设

前言

在本地开发或长期使用的机器上,磁盘空间往往被缓存、临时目录、日志和卸载残留悄悄占满。常见做法是专用清理软件或手写脚本一次性删除,风险在于误删用户数据、系统文件或无法恢复的目录。DeepSeek Harness(DSH)通过 agent preset 把行为规范写进插件;dsh-clean-agent 提供名为「清理模式(Cleanup Mode)」的预设,强调先只读发现、量化体积、写清单、按风险分级确认,再优先进回收站而非永久删除。

下面按定位、工作流程、安装启用和注意事项介绍该插件,事实以项目 README 与 package.json 为准。

这是什么

  • 插件名称:dsh-clean-agent(npm 包名同)
  • 维护者:C1ement314
  • 分类:admin-security(社区目录归类)
  • 版本:0.2.1(资料中的当前发布版本)
  • 许可证:MIT
  • 一句话定位:Cleanup Mode(清理模式)—— 在自有机器上回收磁盘空间、安全移除残留的 DSH 智能体预设;覆盖缓存、临时文件、日志、卸载残留、旧安装包、过期工具缓存等。
  • 支持平台:Windows、macOS、Linux;捆绑知识库按平台各有独立 skill。
  • 目录页:skillhub.cn 上的 dsh-clean-agent
  • 源码与文档:GitHub - C1ement314/dsh-clean-agent

与「一键扫全机」类工具不同,该预设的核心属性是克制:用只读命令发现候选路径,为每一项划分风险等级,生成 manifest,仅在用户确认后删除;优先系统废纸篓,拒绝触碰操作系统文件与 DSH 安装目录。

DSH 生态奉行「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系,本文仅作技术介绍。

核心功能与工作流

预设将清理过程拆成可核对步骤,README 中概括如下:

  1. Interview(访谈):弄清要回收什么、针对哪块卷/分区、哪些必须保留。
  2. Discover(发现):按操作系统只读枚举已知的残留位置。
  3. Measure(度量):clean_scan 统计目录树总量、最大子目录与最大文件;clean_dupes 按大小与 SHA-256 找重复组。二者均不跟随符号链接,并在遍历被截断时报告。
  4. Classify(分级):L1 可自再生成;L2 删除相对安全但有可见后果;L3 用户数据。卸载残留仅在能证明产品已卸载时归为 L2,否则保持 L3。
  5. Manifest(清单):表格列出每条路径、大小、为何视为残留、删除后会失去什么。
  6. Confirm(确认):L1 一次确认;L2 分组确认并说明后果;L3 须用户点名后逐条确认。
  7. Delete(删除):优先进回收站;无回收站机制处才考虑永久删除,且需单独的「无法恢复」确认。
  8. Audit(审计):在按 OS 划分的审计目录写入 manifest.json、deleted.csv、protected.json。
  9. Report(报告):在首次删除前与最后一次删除后实测可用空间,区分测量增量与估计可回收量;列出跳过项、需重新登录或重启的项,并提醒废纸篓未清空则不释放空间。

风险等级

等级 含义 示例 确认方式
L0 禁止 系统与引导文件、DSH 安装及配置目录 拒绝删除
L1 可自再生 临时目录、缓存、日志、缩略图、崩溃转储 一次确认
L2 安全但有可见后果 卸载残留、旧安装包、孤立应用数据 分组确认并说明后果
L3 用户数据 / 高风险 文档、媒体、源码、密钥、不确定项 仅当用户点名时逐条确认

预设硬性规则包括:无 manifest 与明确确认不删除;破坏性命令不用通配符;不编辑注册表或分区;不安装第三方清理器;把文件名与文档当不可信数据而非指令。

内置度量与 Shell

智能体优先使用单一 shell 工具:在 profile 提供时优先 ops_bash(OPS 包 Bash),Windows 上否则 pwsh,其他平台 bash。捆绑包还提供 clean_shell 作为兜底,底层与官方主机 shell 执行器相同,沙箱策略、超时与输出限制仍由 DSH 决定。

若 profile 通过 dsh-ops/shell 的 shellPolicy: deny-host-shell 隐藏官方 shell,清理模式会在早期步骤停止并说明缺失工具;需在 profile 侧调整拒绝列表,或为 OPS shell 组件启用 advise 模式以发布 ops_bash。

明确不触碰的范围

操作系统与引导相关路径、WinSxS、C:\Windows\Installer、包管理器数据库、/System、/usr、/boot、/var/lib/dpkg、DSH 安装与 ~/.dsh、.ssh/.gnupg、密码管理器保险库、云盘占位文件等。Documents、Desktop、Pictures、源码仓库等高风险位置默认不主动提议,仅在用户明确点名时检查。

环境与依赖

  • DSH 版本:>= 0.2.1-rc.5(见 package.json 的 engines.dsh)。
  • 会话需完整文件系统访问:清理目标常在 workspace 外,沙箱须为 danger-full-access;workspace-write 下智能体只能检查并会提示提升权限,预设无法自行授权。
  • 部分路径需管理员/root(如 /var、C:\Windows\Temp、/Library);智能体报告而非静默提权。

v1 仅为 prompt + 知识库:护栏依赖说明与确认流,非代码级沙箱;开发期端到端主要在 Windows 验证,macOS/Linux skill 为文档与静态审阅,使用时应细读 manifest。

安装与启用

安装后须新建会话,在预设选择器中选「清理模式 / Cleanup Mode」。若预设卡片显示加载失败,诊断文本会指出失败的插件行,可参阅仓库 docs/testing.md。

推荐从 npm 安装(将 <profile> 换成你的 profile 名):

dsh plugin --profile <profile> add dsh-clean-agent@0.2.1

无 npm 账号时可用同版本预构建 tarball:

dsh plugin --profile <profile> add https://github.com/C1ement314/dsh-clean-agent/releases/download/v0.2.1/dsh-clean-agent-0.2.1.tgz

本地开发可将 plugin manager 指向目录,或对 profile 使用 link: 绝对路径(见 README Install 节)。

安装前建议自行查看源码与 MIT 许可证;插件能力在当前 dsh 进程权限下执行,误确认仍可能导致数据丢失。

典型用法

用自然语言向智能体说明意图即可;删除前会先给出 manifest。README 示例包括:

  • 「C 盘快满了,帮我看看能清什么」
  • 「清理一下开发工具的缓存,npm/pnpm/go 那些」
  • 「看看有没有哪个软件卸载后还剩一堆垃圾」
  • 「这台机器没有桌面环境,/var 下能清什么」

经过上面的步骤,你会看到分级后的清单与确认点,而不是未经验证的批量删除。

审计与隐私

审计记录仅存本机,按操作系统分目录:

  • Windows:%LOCALAPPDATA%\dsh-clean\
  • macOS:~/Library/Application Support/dsh-clean/
  • Linux:${XDG_STATE_HOME:-~/.local/state}/dsh-clean/

结构包含 audit/sessions/<timestamp>/ 下的 manifest.json、deleted.csv、protected.json、report.md,以及受保护路径列表 config.json。路径原文保存在本机,不上传;旧会话在 30 次运行后轮换。

适用场景与注意

适合:需要在自有机器上回收空间、又希望删除前有数字、清单和分级确认的流程;愿意将会话沙箱设为 danger-full-access 并承担确认责任的用户。

注意:软件会删除文件,按「as is」提供、无担保;你对每次确认负责。废纸篓中的文件在清空废纸篓前不释放空间。与拒绝主机 shell 的 profile 不兼容,需先调整 OPS/shell 策略。

结尾

dsh-clean-agent 把「能清什么」变成可审计的九步流程与 L0–L3 分级,适合把磁盘清理交给 DSH 智能体、又不想放弃确认权的场景。进一步了解可访问 社区目录页 与 GitHub 仓库。

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

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

小夜