Install
openclaw skills install super-file-manager电脑文件管理技能。当用户要求清理垃圾文件、整理文档、检测重复文件、备份文件夹,或提到文件管理、磁盘清理、文件整理、重复文件、文件备份等相关操作时使用此技能。原生支持 macOS、Linux 和 Windows。
openclaw skills install super-file-manager统一的电脑文件管理工具,支持垃圾清理、文档分类、重复检测、自动备份和操作回撤。文件查找使用系统 find 命令即可,无需额外脚本。
跨平台原生支持: macOS / Linux / Windows(Python 3.6+,仅需标准库 + send2trash)
send2trash(用于回收站操作):pip install send2trash| 脚本 | 功能 | 状态 |
|---|---|---|
scripts/scan_cleanup.py | 扫描垃圾文件生成清理建议清单 | 只读 |
scripts/classify_files.py | 文件分类方案预览(不执行移动) | 只读 |
scripts/find_duplicates.py | 基于内容的重复文件检测 | 只读 |
scripts/incremental_backup.py | 增量/全量文件夹备份 | 写入 |
scripts/move_with_log.py | 带操作日志的文件移动/删除 | 写入 |
scripts/rollback.py | 操作回撤工具 | 写入 |
/、C:\、/System、AppData、Library、~/.config)rm -rf、del /S /Q、shutil.rmtree() 或宽泛通配符(*.tmp、*.log)作用于上述目录scripts/move_with_log.py 执行,自动记录操作日志/System、/Library、/usr、/bin、/sbin、~/.configC:\Windows、C:\Program Files、C:\Program Files (x86)、%USERPROFILE%\AppDatasend2trash 库(跨平台统一回收站)所有文件移动/删除操作必须通过 scripts/move_with_log.py 执行,该脚本会自动记录 JSONL 格式操作日志:
# 移动文件(自动记录日志)
python3 scripts/move_with_log.py move <源文件> <目标路径> [--log-dir <日志目录>]
# 移到回收站(自动记录日志)
python3 scripts/move_with_log.py trash <文件> [--log-dir <日志目录>]
# 批量移动(文件列表格式:每行 source -> dest)
python3 scripts/move_with_log.py batch-move --files <文件列表路径> [--log-dir <日志目录>]
日志目录按平台自动选择:
~/Library/Caches/file_manager/logs/~/.cache/file_manager/logs/(或 $XDG_CACHE_HOME)%LOCALAPPDATA%/file_manager/logs/日志格式(JSON Lines,路径含特殊字符时自动转义):
{"action":"move","source":"/Users/xxx/Downloads/file.pdf","dest":"/Users/xxx/Downloads/文档/file.pdf","timestamp":"2026-04-03T00:30:00Z","status":"ok"}
{"action":"trash","source":"/Users/xxx/Downloads/old.dmg","dest":"trash","timestamp":"2026-04-03T00:30:01Z","status":"ok"}
操作完成后,必须在结果报告末尾附上回撤指引:
↩️ 如操作有误,可回复以下指令回撤:
- 「撤销本次所有操作」— 一键恢复所有文件到原位置
- 「撤销 <文件名>」— 单独恢复某个文件到原位置
| 用户意图 | 模块 | 说明 |
|---|---|---|
| 清理垃圾/临时文件 | 模块1:垃圾清理 | 先扫描生成建议清单 |
| 整理/分类文档 | 模块2:文档分类 | 先输出分类方案预览 |
| 查找/删除重复文件 | 模块3:重复检测 | 内容级去重 |
| 备份文件夹 | 模块4:自动备份 | 支持增量备份 |
| 撤销之前操作 | 模块5:操作回撤 | 支持一键撤销或按文件撤销 |
清理下载目录、临时文件、重复文件或长期未使用文件。
python3 scripts/scan_cleanup.py <目标目录> [--days 90] [--min-size 100] [--installers] [--cache] [--max-depth N] [--max-files N]
| 参数 | 说明 | 默认值 |
|---|---|---|
--days N | 超过 N 天未修改才列入 | 90 |
--min-size N | 大文件最小 MB | 100 |
--installers | 同时扫描安装包 | 关 |
--cache | 同时扫描缓存目录 | 关 |
--max-depth N | 最大扫描深度 | 无限 |
--max-files N | 最大扫描文件数 | 50000 |
~/Downloads).dmg、.exe、.msi、.pkg、.deb、.rpm)scripts/scan_cleanup.py 执行扫描move_with_log.py trash 执行清理🗑️ 清理建议清单(共 N 项,预计释放 X MB)
| # | 文件路径 | 大小 | 最后修改 | 建议 |
|---|---------|------|---------|------|
| 1 | ~/Downloads/installer.dmg | 256MB | 2025-01-15 | 删除 |
| 2 | ~/Downloads/old-report.pdf | 45MB | 2025-10-01 | 保留 |
请确认要清理的文件编号(如:1,3,5 或 全部):
按项目、时间、文件类型或主题重新整理文档。
python3 scripts/classify_files.py <目标目录> [--by type|project|date] [--depth N] [--max-files N]
| 参数 | 说明 | 默认值 |
|---|---|---|
--by type|project|date | 分类方式 | type |
--depth N | 扫描深度 | 1 |
--max-files N | 最大扫描文件数 | 50000 |
scripts/classify_files.py 扫描并生成分类方案预览move_with_log.py move 逐个移动文件📂 分类方案预览
目标目录:~/Documents
分类方式:type
├── 📄 分类方案:
│ 📁 图片/ (23个文件, 156.3MB)
│ 📁 文档/ (45个文件, 12.8MB)
│ 📁 代码/ (12个文件, 2.1MB)
│
├── 📊 合计: 80 个文件, 171.2 MB
│
请确认是否按此方案整理?(确认/取消/修改)
快速定位目标文件。
os.walk()🔍 搜索结果(共 N 个文件)
| # | 文件名 | 路径 | 大小 | 修改时间 | 类型 |
|---|-------|------|------|---------|------|
| 1 | report.pdf | ~/Documents/work/ | 2.3MB | 2026-03-15 | PDF |
需要打开或操作哪个文件?
清理磁盘内内容相同的冗余文件。
python3 scripts/find_duplicates.py <目标目录> [--min-size 1] [--exclude .git] [--max-depth 20] [--max-files 50000]
| 参数 | 说明 | 默认值 |
|---|---|---|
--min-size N | 最小文件大小 KB | 1 |
--exclude <dir> | 排除目录(可多次) | 无 |
--max-depth N | 最大搜索深度 | 20 |
--max-files N | 最大扫描文件数 | 50000 |
move_with_log.py trash 删除重复文件🔁 重复文件检测报告
重复组 1 (共 3 个文件, 5.2MB):
✅ 保留: ~/Documents/photo.jpg (最新, 2026-03-20)
❌ 重复: ~/Downloads/photo_copy.jpg (2026-02-15)
❌ 重复: ~/Desktop/photo_backup.jpg (2026-01-10)
📊 共发现 N 组重复文件,预计可释放 X MB
保护工作文档、项目资料等重要文件。
python3 scripts/incremental_backup.py <源目录> <备份目标路径> [--full] [--exclude <glob>] [--no-verify] [--quiet] [--max-files N] [--max-depth N]
| 参数 | 说明 | 默认值 |
|---|---|---|
--full | 执行全量备份 | 增量 |
--exclude <glob> | 排除匹配的文件/目录(可多次) | 无 |
--no-verify | 跳过备份后校验 | 校验 |
--quiet | 静默模式 | 有进度 |
--max-files N | 最大备份文件数 | 50000 |
--max-depth N | 最大扫描深度 | 20 |
--full 时,复制全部文件<备份目标路径>/<日期>/原路径--max-files 上限时立即报错退出--max-depth 限制扫描深度✅ 备份完成报告
源目录:~/Documents/project
备份至:~/Backup/project/2026-04-03/
模式:增量备份
新增文件:12 个 (15.3 MB)
跳过文件:45 个(无修改)
校验:✅ 通过
备份耗时:3.2 秒
撤销之前执行的文件整理/清理/移动操作,恢复文件到原位置。
# 查看可用日志
python3 scripts/rollback.py list-logs [--log-dir <日志目录>]
# 查看日志详情
python3 scripts/rollback.py show --log <日志文件路径>
# 一键撤销所有操作
python3 scripts/rollback.py rollback-all --log <日志文件路径>
# 撤销单个文件
python3 scripts/rollback.py rollback-single --log <日志文件路径> --file <原文件路径>
# 按范围撤销
python3 scripts/rollback.py rollback-range --log <日志文件路径> --from <起始行号> --to <结束行号>
move 操作 → 将文件从目标路径移回原路径trash 操作 → 将文件从回收站移回原路径(支持模糊匹配回收站重命名)↩️ 开始撤销日志中的所有操作...
日志: ~/.cache/file_manager/logs/operations_20260403.jsonl
✅ 恢复: ~/Downloads/文档/report.pdf -> ~/Downloads/report.pdf
✅ 恢复: ~/Downloads/图片/photo.png -> ~/Downloads/photo.png
⏭️ 跳过: ~/Downloads/图片/screenshot.png (原位置已有文件)
✅ 恢复: 回收站/old.dmg -> ~/Downloads/old.dmg
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 撤销完成: 成功 3 | 跳过 1 | 失败 0 | 总计 4
🧹 检查并清理因撤销而变空的自动创建文件夹...
🗑️ 已清理空目录: ~/Downloads/文档
| 组件 | 实现 |
|---|---|
| 语言 | Python 3.6+ |
| 文件操作 | os / shutil(标准库) |
| 哈希计算 | hashlib(标准库) |
| 回收站 | send2trash(跨平台) |
| 日志格式 | JSON Lines(json 标准库) |
| 路径处理 | os.path(自动适配平台分隔符) |
| 用途 | macOS | Linux | Windows |
|---|---|---|---|
| 日志目录 | ~/Library/Caches/file_manager/logs/ | ~/.cache/file_manager/logs/ | %LOCALAPPDATA%/file_manager/logs/ |
| 下载目录 | ~/Downloads | ~/Downloads | %USERPROFILE%/Downloads |
| 缓存目录 | ~/Library/Caches, ~/.cache | ~/.cache, ~/.gradle/caches | %LOCALAPPDATA%/Temp |
| 回收站 | ~/.Trash | ~/.local/share/Trash/files | $Recycle.Bin |
send2trash,无其他第三方依赖