file-organizer
基于 AI 语义分析的智能文件整理技能,根据文件内容动态创建 Johnny Decimal 分类。 当用户提到以下内容时触发: - "整理文件"、"分类文件"、"组织下载"、"文件归档" - "文件太多了"、"下载文件夹很乱"、"文件乱七八糟" - "把文件按类别整理"、"自动分类文件" - "清理下载文件夹"、"整理文档" - "文件管理"、"文件分类整理" - 提到需要将文件从一个目录移动到另一个目录进行分类 核心功能: - AI 分析文件名语义,动态生成分类 - 使用 Johnny Decimal 编号系统(XX.YY 格式) - 自动检测重复文件(MD5 算法) - 用户确认分类计划后再执行
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/akira82-ai/smart-file-organizerFile Organizer Skill
基于 AI 语义分析的智能文件整理技能,根据文件内容动态创建分类。
核心特性
| 特性 | 说明 |
|---|---|
| 分类方式 | AI 分析文件名语义,动态生成分类 |
| 交互模式 | AskUserQuestion 询问源/目标目录 |
| 用户确认 | 显示分类计划后等待确认 |
| 目标优先 | 优先使用目标目录现有分类 |
| 重复检测 | 使用 MD5 算法自动检测重复文件 |
使用方式
本技能通过自然语言触发,你可以用多种方式描述需求:
示例:
- "把我的 Downloads 文件夹整理到 Documents/Archives"
- "我的下载文件夹太乱了,帮我按类别整理一下"
- "整理这些文件:~/Downloads → ~/Documents/Organized"
- "清理下载文件夹,把文件按类型分类"
如果需要指定特定目录:
- 可以在对话中直接提供路径
- 技能会通过
AskUserQuestion询问源目录和目标目录 - 支持绝对路径和相对路径(如
~/Downloads,./files)
Johnny Decimal 分类标准
本技能使用 Johnny Decimal 编号系统进行文件分类。详细规范请参考:references/johnny_decimal.md
核心要点:
- 使用
XX.YY格式的分类编号(如01-01,10-05) - 主编号按主题领域递增(如
01-XX技术类,02-XX商业类) - 子编号在同一领域内按顺序递增
- 分类命名格式:
编号_类别名称
快速示例:
01-01_人工智能技术 # 技术领域
01-02_网络安全 # 技术领域
01-03_编程开发 # 技术领域
02-01_金融经济 # 商业领域(新主题,主编号递增)
02-02_消费零售 # 商业领域
执行流程
1. 解析参数
检查用户是否提供了源目录和目标目录参数。
2. 确定源目录(如未指定)
使用 AskUserQuestion 询问用户,提供常用目录选项。
3. 确定目标目录(如未指定)
使用 AskUserQuestion 询问用户,提供常用目录选项。
4. 扫描目标目录
ls -la "$target"
- 检查是否已有分类目录
- 如有,记录现有分类列表供后续匹配
5. 扫描源文件
ls -1 "$source"
- 获取所有文件列表
- 跳过隐藏文件(以
.开头)
6. AI 分析并生成分类
如果目标目录有分类:将文件匹配到现有分类
如果目标目录无分类:AI 分析所有文件名,动态创建分类
重要:生成的分类名称必须带编号前缀,格式为 编号_类别名称
- 编号使用 Johnny Decimal 格式:
01-01,01-02,02-01,10-05等 - 编号与类别名称之间用下划线
_分隔 - 类别名称可以使用中文或英文,允许包含下划线
编号递增规则(关键):
- 主分类编号(第一部分):根据主题领域递增
- 同一大类主题下的所有子分类共享相同的主分类编号
- 例如:所有技术相关用
01-XX,所有商业相关用02-XX,所有行业相关用03-XX - 每个主分类编号最多包含 99 个子分类(
01-01到01-99) - 当发现不同的主题领域时,必须递增主分类编号
- 子分类编号(第二部分):在同一主题领域内按顺序递增(
01,02,03...)
示例:
01-01_人工智能技术 # 技术领域
01-02_网络安全 # 技术领域
01-03_编程开发 # 技术领域
02-01_金融经济 # 商业领域(新主题,主编号递增)
02-02_消费零售 # 商业领域
02-03_商业管理 # 商业领域
03-01_教育培训 # 行业领域(新主题,主编号再递增)
03-02_医疗健康 # 行业领域
分类原则:
- 根据文件名的语义相似性分组
- 先识别主题领域(技术/商业/行业/娱乐等),再细分具体类别
- 分类名称简洁明了(中文或英文)
- 每个分类包含相关联的文件
- 优先识别常见模式(代码、文档、图片、压缩包等)
7. 显示分类计划
根据步骤 6 生成的分类,向用户展示整理计划。
显示策略:
- 文件总数 ≤ 30:显示完整文件列表(当前模式)
- 文件总数 > 30:智能摘要模式
- 显示:分类名称 + 文件数量 + 前 3 个代表性文件
- 提供:
[展开查看全部]选项
统计文件总数(Bash):
total_files=$(ls -1 "$source" | wc -l | tr -d ' ')
示例格式(使用实际变量):
模式 A:完整列表(≤30 个文件)
📁 源目录: $source (13 个文件)
📂 目标目录: $target (新建分类)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📚 01-01_学习资料 (3 files)
├── 学习笔记Python.pdf
├── 课程视频.mp4
└── 教程.md
💻 01-02_代码项目 (2 files)
├── React组件.tsx
└── script.py
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-akira82-ai-smart-file-organizer": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
idea-to-post
Expand scattered ideas into in-depth posts. Use this skill when users need to "expand ideas," "generate posts," "brainstorm content," "writing assistance," "enrich thoughts," "deepen thinking," or provide scattered ideas that need systematic expression.
skill-usage
统计已安装技能在指定时间段内的使用次数,以美观的 TUI 格式展示结果