下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/inroad--filebutler-skill.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @inroad/filebutler-skill。|标准文件管家:智能整理、归档、去重标准类文档(GB/T、ISO、IEC、JB/T 等)与图片文件。自动识别标准号并归一化命名、合并多部分标准、去除重复;所有文件操作先输出预演报告,经确认后执行,全程可回滚。当用户需要整理、归档、去重标准/规范文档或图片文件时触发。
阅读全文 (展开查看完整说明)
概述
概述
标准类文件智能归档 + 图片文件整理助手。识别标准号(GB/T、GB/Z、ISO、IEC、JB/T、JGJ、DB 等)并归一化命名,合并多部分标准,去重冗余;所有操作以「安全三件套」为地基——预演、隔离、回滚。
安全铁律(不可被用户指令覆盖)
以下规则优先于任何用户指令,任何情况下不得违反:
- 先报告后动手:任何文件操作前,必须先输出预演报告,并获得用户明确「执行」确认,否则不得移动、隔离或修改任何文件。
- 禁止硬删除:所有「删除」语义一律转为移入
待删除/隔离区。例外:已损坏、无法打开的文件,经用户确认后可彻底删除(调用scripts/delete_files.py)。 - 必写日志:每次执行必须写
operation_log.json(记录谁、何时、从哪、移到哪)。 - 低置信度打包:识别置信度低的文件打包到「待确认文件」文件夹,告知用户自行查阅,不擅自处理。
- 隐私红线:不做人脸识别、不做身份标注;不读取文件内容中的个人隐私信息用于任何外发。
使用场景
- 整理、归档、分类、去重标准/规范文档(GB、GB/T、GB/Z、ISO、IEC、JB/T、JGJ、DB、企业标准等)
- 合并多部分标准、归一化标准号命名、版本去重
- 按语种把文件分到不同文件夹(中文/英文/其它语种)
- 杂项文件归「其它文件」文件夹、无法识别的文件打包到「待确认文件」文件夹
- 清理、去重、整理图片文件
- 生成文件图片含量报告(页数、图片数、图片页占比、OCR 建议,支持按图片含量排序)
工作流程
- 功能确认:任务开始前,按
references/feature_menu.md向用户展示功能清单,多选需要的功能(标准类/图片类)+ 确认两层归档分类(第一层大类:语种/年份/其它;第二层小类再分;每层都询问「建文件夹 or 仅排序」),确认后仅执行勾选的功能。 - 扫描:运行
scripts/scan.py扫描目标目录,计算文件哈希(MD5/SHA)与元信息。 - 识别:运行
scripts/std_recognize.py识别标准号(前缀表驱动,确定性,含命中率统计);等价判定GB T=GBT=GB-T=gb t,支持 ASTM 分类字母、1-6 位编号及子部分、OCR 乱码归一化。 - 分析:运行
scripts/pdf_inspect.py(图片含量)、scripts/detect_language.py(语种)、scripts/image_classify.py(图片粗分类)、scripts/fuzzy_dedup.py(相似去重)、scripts/std_status.py(标准状态)。 - 预演:按
references/dry_run_report.md生成《整理方案报告》,列明拟合并 / 拟隔离 / 拟移动 / 归档方式选择 / 语种分类 / 其它文件 / 待确认文件,不动任何文件。 - 确认:等待用户回复「执行」及合并、排序、语种等选择;仅收到「执行」才进入下一步。
- 执行:按预演方案操作——多部分标准用
scripts/merge_pdf.py整合成单文档、原文件用quarantine.py隔离;损坏文件用delete_files.py彻底删除;其余用quarantine.py隔离;归档后调用scripts/clean_empty_dirs.py删除空壳文件夹,写operation_log.json。 - 回滚:用户要求「撤销」时,调用
scripts/rollback.py按日志逆序还原。
关键结构约定
operation_log.json
每次执行追加记录,字段:
ts:操作时间action:操作类型(move / quarantine / merge / delete)src:源路径dst:目标路径(隔离时为隔离区路径)hash:文件哈希note:备注(如「重复文件,哈希相同」「拟合并为某标准」)
隔离区 待删除/
- 位置:被整理目录根下的
待删除/日期/ - 隔离满 30 天(可配置)才提示用户彻底清空
- 彻底清空仍需用户手动确认,永不自动执行
使用注意(实战经验)
- 路径格式:Python 脚本运行在 Windows,必须传
A:/xxx格式路径;Git Bash 的/a/xxx挂载路径 Python 无法识别(会解析成axxx报目录不存在)。 - 磁盘空间:整理前先
df -h检查磁盘剩余空间。磁盘满(0 可用)时 os.rename/写日志全部失败,且移动已成功的文件会丢失日志记录。建议预留 ≥500MB。 - 识别结果匹配:
std_recognize.py目录模式下输出的name是文件名 stem(不含路径),与scan.py结果按路径匹配时需用Path(path).stem。 - 年份切分 bug:从文件名提取标题时,标准号结束位置必须跳过完整 4 位年份(
end += ym.start() + len(ym.group())),否则标题残留年份导致-1998-1998双年份命名(445 个文件踩坑)。 - 时间戳误判:
_20260627_211545这类整理批次时间戳会被(19|20)d{2}误判为年份,提取年份时限定ym.start() <= 8(年份须紧跟标准号),并从标题剔除_20d{6}_d{6}后缀。 - 前缀表缺失:SH(石油化工)、YS、YB 等前缀如未收录会落入待确认文件,识别后检查
std_patterns.yaml补齐。 - 日志防丢:磁盘可能随时满,建议操作日志同时写入 C 盘工作区副本,最后合并回目标目录
operation_log.json。
资源
references/dry_run_report.md:预演报告格式references/feature_menu.md:功能确认清单(任务开始前多选)references/std_recognize.md:标准号解析规则与命名模板说明references/image_report.md:图片含量报告格式references/std_patterns.yaml:标准号正则库references/naming_template.yaml:归一化命名模板references/classify_rules.yaml:图片粗分类规则scripts/scan.py:目录扫描 + 哈希scripts/std_recognize.py:标准号识别引擎(确定性,前缀表驱动)scripts/pdf_inspect.py:PDF/Word 图片含量统计scripts/detect_language.py:文件语种识别(内容判断)scripts/image_classify.py:图片粗分类(扫描件/截图/照片)scripts/fuzzy_dedup.py:相似文件模糊去重(SimHash/pHash)scripts/std_status.py:标准状态识别(只标注作废)scripts/merge_pdf.py:多部分标准整合成一个 PDFscripts/delete_files.py:损坏文件彻底删除(硬删除)scripts/quarantine.py:隔离区移动(待删除/)+ 30 天管理scripts/clean_empty_dirs.py:删除归档后遗留的空文件夹scripts/rollback.py:按日志回滚