前言¶
在本地开发或长期使用的机器上,磁盘空间往往被缓存、临时目录、日志和卸载残留悄悄占满。常见做法是专用清理软件或手写脚本一次性删除,风险在于误删用户数据、系统文件或无法恢复的目录。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 中概括如下:
- Interview(访谈):弄清要回收什么、针对哪块卷/分区、哪些必须保留。
- Discover(发现):按操作系统只读枚举已知的残留位置。
- Measure(度量):
clean_scan统计目录树总量、最大子目录与最大文件;clean_dupes按大小与 SHA-256 找重复组。二者均不跟随符号链接,并在遍历被截断时报告。 - Classify(分级):L1 可自再生成;L2 删除相对安全但有可见后果;L3 用户数据。卸载残留仅在能证明产品已卸载时归为 L2,否则保持 L3。
- Manifest(清单):表格列出每条路径、大小、为何视为残留、删除后会失去什么。
- Confirm(确认):L1 一次确认;L2 分组确认并说明后果;L3 须用户点名后逐条确认。
- Delete(删除):优先进回收站;无回收站机制处才考虑永久删除,且需单独的「无法恢复」确认。
- Audit(审计):在按 OS 划分的审计目录写入
manifest.json、deleted.csv、protected.json。 - 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 仓库。