跳到主要内容

安全与恢复

Cleanr 的目标是让清理可审阅、可恢复,但“移动到回收站”并不等于永久备份。 这一页说明它的安全边界。

清理时会发生什么

对于每一个已选条目,Cleanr 会:

  1. 先为已选条目创建 pending 执行清单;
  2. 确认路径位于扫描根目录内;
  3. 拒绝文件系统根目录、符号链接和受保护的 Cleanr 路径;
  4. 在适用时检查条目类型、修改时间、文件大小和目录指纹是否仍与扫描时一致;
  5. 将条目移动到操作系统回收站;
  6. 把结果和恢复定位信息写回执行清单。

每个条目都会在移动前立即校验。目标在扫描后发生变化时,该条目会安全失败并 保留在原处。

受保护路径

Cleanr 会排除:

  • 作为整体清理目标的主目录;
  • 当前 Cleanr 可执行文件和配置文件;
  • Cleanr 状态目录,包括清理与恢复历史;
  • 已配置的插件和语言目录。

主目录下的内容仍然可以扫描。这里的保护是为了避免把主目录本身或其他受保护 子树当成一个清理条目。

自动选择规则

只有同时满足以下条件时,条目才可能被预选:

  • 规则置信度为 High
  • 规则声明 default_selected = true
  • 规则来自 Cleanr 内置包或显式信任的插件。
  • 观测到的修改时间年龄满足共享的 [recommendations].preselect_after_days 策略 (默认 90 天,设为 0 时关闭年龄门槛);
  • 扫描证据完整,且时间不在未来。

执行前仍然可以取消任何选择。下载文件、日志、临时文件、中等置信度条目和 未信任插件的匹配都需要手动选择。TUI、cleanr analyzecleanr plancleanr dry-run 应用相同的推荐策略。

清单与历史

Cleanr 会保存:

  • 每次清理的执行清单;
  • 每次恢复尝试的恢复清单;
  • 每个条目的成功、失败和回滚信息。

这些文件位于平台状态目录下的 cleanr 文件夹中。Cleanr 的恢复历史依赖它们, 如果之后可能需要撤销清理,请不要删除该目录。

恢复支持

目前支持程序化恢复:

  • macOS 废纸篓;
  • Windows 回收站;
  • 兼容 Freedesktop 回收站规范的 Linux 桌面。

恢复是尽力而为。系统回收站清空后无法找回条目;原路径重新出现时也不会覆盖。 外部工具修改回收站元数据后,Cleanr 也可能无法定位原条目。

如果恢复失败,请先检查系统回收站和对应清单,再决定下一步。

确认与外部本地自动化

清理仍是 Cleanr 内部的本地审阅和确认流程。唯一面向外部 Agent 的集成契约是 cleanr analyze;Cleanr 不会通过这个契约暴露外部 Agent 清理端点或 CLI。

cleanr analyze 是只读操作:它扫描并输出证据,但不会创建清理计划或移动文件。 外部 Agent 的建议不会改变 Cleanr 的清理流程。

设置 cleanup.require_confirm = false 只会取消本地 /clean 的交互确认框, 不会把 analyze 变成执行接口。

实用安全清单

  • 从范围较小的项目目录开始。
  • 对不熟悉的候选项阅读风险说明。
  • 用版本控制或备份保护源码和不可替代的数据。
  • 确认清理正确前,不要清空系统回收站。
  • 仍需恢复历史时,保留 Cleanr 状态目录。