/install dedicated-file-manager
\r \r
文件管理技能 (file-manager)\r
\r 模块化的文件管理规则集,用于指导 Agent 执行各类文件和文件夹的整理、分类、命名、归档操作。\r \r ---\r \r
设计原则\r
\r 止观:规则够用即可,不过度设计。优先执行,不制造负担。\r \r 安全优先:\r
- 废弃文件只移入废弃目录,绝不自动删除\r
- 遇到不确定情况时,保留文件并报告给用户\r
- 执行破坏性操作前必须列出计划并获取确认\r \r 场景驱动:根据文件所在环境自动选择合适的处理方式,不强制统一规则。\r \r 主动维护:不等待用户提醒,定期整理并保持清单更新。\r \r ---\r \r
专属文件夹机制\r
\r
核心理念\r
\r 为 Agent 创建专属工作区,让它拥有自己的"领地"来主动管理文件,而不是被动等待用户要求整理。\r \r
文件夹结构\r
\r
专属文件夹/\r
├── 📥 inbox/ # 收件箱:新文件统一入口\r
├── 📁 projects/ # 项目工作区(按项目分子目录)\r
├── 📚 references/ # 参考资料、文档\r
├── 📦 archives/ # 归档区\r
├── 🔧 scratch/ # 草稿、临时工作\r
├── 📋 manifest.md # 文件清单(自动维护)\r
└── ⚙️ config.json # 配置文件\r
```\r
\r
### 核心机制\r
\r
| 机制 | 说明 |\r
|------|------|\r
| **inbox 入口** | 所有新文件先入 inbox,避免散落各处 |\r
| **manifest 自维护** | 自动记录每个文件的状态和位置 |\r
| **定期整理** | inbox 里的文件每周自动归位一次 |\r
| **新项目交接** | 扫描项目文件,自动建立清单 |\r
| **主动巡查** | 发现乱放文件时主动提醒用户 |\r
\r
### 设置流程\r
\r
当用户说"设置专属文件夹"或"这是我的工作区"时:\r
\r
1. 询问用户文件夹路径(或使用默认路径)\r
2. 创建标准目录结构\r
3. 生成初始 manifest.md\r
4. 配置每周自动整理任务\r
5. 记录到配置文件中\r
\r
### 自动化流程\r
\r
```\r
用户设置专属文件夹\r
↓\r
创建标准目录结构 + manifest.md\r
↓\r
配置每周自动整理(Automation)\r
↓\r
┌─────────────────────────────────┐\r
│ 每周自动执行: │\r
│ 1. 扫描 inbox │\r
│ 2. 按规则分类到对应目录 │\r
│ 3. 清理过期临时文件 │\r
│ 4. 更新 manifest.md │\r
│ 5. 生成整理报告 │\r
└─────────────────────────────────┘\r
```\r
\r
---\r
\r
## 模块清单\r
\r
### 核心模块(自动加载)\r
\r
| 模块 | 触发关键词 |\r
|------|-----------|\r
| M1: 扫描与感知 | "扫描"、"现状"、"有哪些文件" |\r
| M2: 分类判断引擎 | "分类"、"整理"、"类型" |\r
| M3: 命名处理器 | "重命名"、"命名规范"、"改名字" |\r
| M4: 目录结构生成器 | "创建目录"、"文件夹结构"、"建文件夹" |\r
| M5: 废弃文件处理 | "归档"、"废弃"、"删除" |\r
| M6: 临时文件处理 | "临时文件"、"清理临时"、"_temp" |\r
| M7: 冲突与重复处理 | "重复"、"冲突"、"同名" |\r
| M8: 归档处理 | "项目归档"、"结束整理"、"收尾" |\r
\r
### 专属文件夹模块(M9-M11)\r
\r
| 模块 | 触发关键词 |\r
|------|-----------|\r
| M9: 专属文件夹初始化 | "设置专属文件夹"、"初始化工作区"、"这是我的工作区" |\r
| M10: 定期整理执行 | "整理"、"整理 inbox"、"自动整理" |\r
| M11: 新项目交接 | "新项目"、"交接项目"、"扫描项目" |\r
\r
### 扩展模块(按需加载)\r
\r
| 模块 | 触发关键词 |\r
|------|-----------|\r
| E1: 版本管理辅助 | "版本"、"v1"、"v2"、"draft" |\r
| E2: 素材库专项 | "素材"、"图片整理"、"音频整理"、"视频整理" |\r
| E3: 批量重命名 | "批量重命名"、"批量改名" |\r
| E4: 关系映射 | "关联文件"、"项目关系"、"关联" |\r
| E5: 报告生成 | "生成报告"、"操作日志"、"整理报告" |\r
\r
---\r
\r
## 核心模块详解\r
\r
### M1: 扫描与感知\r
\r
**目的**:进场第一步,摸清当前文件状态。\r
\r
**执行步骤**:\r
1. 列出目标目录下的所有文件和文件夹\r
2. 识别文件类型分布(文档/代码/素材/数据等)\r
3. 识别命名问题(乱码、空格、过长、无后缀等)\r
4. 识别目录结构问题(层级过深、根目录堆文件等)\r
5. 输出扫描报告,包含发现的问题列表\r
\r
**输出格式**:\r
```\r
📁 扫描结果:[目录路径]\r
\r
文件统计:\r
- 总文件数:X\r
- 总文件夹数:X\r
- 文件类型分布:...\r
\r
发现的问题:\r
1. [问题1描述]\r
2. [问题2描述]\r
...\r
\r
建议操作:\r
- [操作建议1]\r
- [操作建议2]\r
```\r
\r
---\r
\r
### M2: 分类判断引擎\r
\r
**目的**:为每个文件打标签,确定其分类归属。\r
\r
**分类维度**:\r
\r
1. **按文件类型**\r
- 文档类:`.md`, `.docx`, `.pdf`, `.txt`, `.xlsx`\r
- 代码类:`.cs`, `.py`, `.js`, `.cpp`, `.shader`\r
- 素材类:`.png`, `.jpg`, `.mp3`, `.wav`, `.mp4`, `.fbx`\r
- 配置类:`.json`, `.yaml`, `.xml`, `.ini`\r
- 数据类:`.db`, `.csv`, `.log`\r
- 临时类:`_temp`, `~`, `.tmp`\r
\r
2. **按文件状态**\r
- 进行中:正在编辑、近期修改\r
- 待处理:等待用户决策、需要外部输入\r
- 已完成:不再修改、已达成目标\r
- 归档:项目结束、历史版本\r
\r
3. **按归属**\r
- 项目文件:属于特定项目\r
- 个人文件:通用工具、个人资料\r
- 共享文件:需要保留给其他人或跨项目使用\r
\r
**执行流程**:\r
1. 对每个文件分析三个维度\r
2. 综合判断确定最佳归属位置\r
3. 如有冲突,优先考虑文件类型,其次是状态,最后是归属\r
\r
---\r
\r
### M3: 命名处理器\r
\r
**目的**:标准化文件命名,解决命名混乱问题。\r
\r
**命名规则**:\r
\r
1. **代码/技术类项目(自动识别)**\r
- 使用英文\r
- 格式:`kebab-case` 或 `snake_case`\r
- 示例:`player-controller.cs`, `game_config.json`\r
- 禁止:空格、中文、特殊符号(除 `-` 和 `_`)\r
\r
2. **文档/素材/个人类项目(自动识别)**\r
- 可用中文\r
- 格式:`语义描述_版本或日期.后缀`\r
- 示例:`游戏设计文档_v2_20260414.md`\r
- 禁止:空格(用 `_` 或 `-` 代替)、纯数字、过长文件名\r
\r
3. **通用规则**\r
- 日期格式:`YYYYMMDD`(如 `20260414`)\r
- 版本格式:`v1`, `v2` 或 `_draft`, `_final`(后者更明确状态)\r
- 序号格式:`01`, `02`(保持两位数)\r
- 关键词分隔:`+` 或 `-`\r
\r
**重命名流程**:\r
1. 分析原文件名,提取核心语义\r
2. 根据文件类型和所在项目选择命名规则\r
3. 生成新文件名\r
4. 检查是否与同目录其他文件冲突\r
5. 执行重命名\r
\r
---\r
\r
### M4: 目录结构生成器\r
\r
**目的**:按需创建合理的文件夹骨架。\r
\r
**标准模板(可选)**:\r
\r
```\r
项目根目录/\r
├── 00_文档/ # 所有文档类文件\r
├── 01_代码/ # 代码文件\r
├── 02_素材/ # 原始素材\r
├── 03_产出/ # 生成物、最终版本\r
├── 04_配置/ # 配置文件\r
├── _archive/ # 归档(旧版本、废弃文件)\r
├── _temp/ # 临时文件\r
└── README.md # 项目说明\r
```\r
\r
**层级原则**:\r
- 不超过 3 层(根目录 → 一级 → 二级)\r
- 超过 3 层时建议拆分项目或增加分类标签\r
- 同级文件夹数量建议不超过 10 个\r
\r
**生成流程**:\r
1. 询问或推断项目类型(代码项目/内容项目/混合项目)\r
2. 选择合适的目录结构模板,或根据需求自定义\r
3. 创建目录(不覆盖已有目录)\r
4. 可选:生成 README.md 说明各目录用途\r
\r
---\r
\r
### M5: 废弃文件处理\r
\r
**目的**:安全地管理废弃文件,不丢失数据。\r
\r
**废弃目录**:\r
- 默认位置:`archives/` 或 `废弃/`\r
- 可配置:用户可指定其他废弃目录路径\r
- 结构:`archives/[原始目录名]/[原文件名_移入日期]`\r
\r
**判定废弃的标准**:\r
- 文件超过 30 天未被访问\r
- 文件已明确被新版本替代(如 `v1` 被 `v2` 替代)\r
- 用户明确要求归档\r
- 文件属于已结束的项目\r
\r
**执行规则**:\r
1. **只移入废弃目录,绝不删除**\r
2. 移动时保留原始目录结构信息\r
3. 在废弃目录中按日期组织,便于追溯\r
4. 定期向用户报告废弃目录中的文件,由用户决定是否彻底删除\r
\r
---\r
\r
### M6: 临时文件处理\r
\r
**目的**:识别和管理临时文件,防止堆积。\r
\r
**识别标准**:\r
- 文件名包含 `_temp`, `temp`, `~`, `tmp`, `backup`\r
- 文件扩展名为 `.tmp`, `.bak`, `.cache`\r
- 在 `_temp` 目录中的文件\r
- 最近 7 天内创建但未被修改的文件\r
\r
**处理流程**:\r
1. 识别临时文件,列出清单\r
2. 根据文件年龄分类:\r
- 7 天内:标记为"近期临时",提醒用户确认\r
- 7-30 天:建议移入废弃目录\r
- 30 天以上:自动移入废弃目录(不删除)\r
3. 生成清理报告\r
\r
**注意事项**:\r
- 区分"临时文件"和"草稿文件":草稿是故意保留的,临时是无意遗留的\r
- 代码项目中的 `*.tmp` 文件可能是 IDE 生成的,谨慎处理\r
\r
---\r
\r
### M7: 冲突与重复处理\r
\r
**目的**:安全处理文件命名冲突和疑似重复。\r
\r
**命名冲突处理**:\r
1. 发现同名文件时,不覆盖\r
2. 分析两个文件的内容和时间戳\r
3. 保留较新或内容更完整的版本\r
4. 另一个文件移入废弃目录并标注原因\r
\r
**内容重复处理**:\r
1. 检测同名或高度相似的文件名(如 `xxx_副本`, `xxx_copy`)\r
2. 对比文件大小和修改时间\r
3. 如确认是重复,保留一个,另一个归档\r
4. 不确定时保留两个并报告给用户\r
\r
**执行原则**:\r
- 永远不自动删除,只归档\r
- 无法判断时,报告给用户等待指令\r
\r
---\r
\r
### M8: 归档处理\r
\r
**目的**:项目结束后的整体归档整理。\r
\r
**归档流程**:\r
1. 扫描项目目录,生成完整文件清单\r
2. 按分类判断引擎标记每个文件的状态\r
3. 将"已完成"和"历史版本"文件移入归档目录\r
4. 清理临时文件\r
5. 生成归档报告,包含:\r
- 项目名称和归档日期\r
- 文件统计\r
- 文件清单(按类型和状态分类)\r
- 废弃文件清单(未彻底删除)\r
\r
**归档目录结构**:\r
```\r
archives/\r
└── [项目名]_[归档日期]/\r
├── 文件清单.md\r
├── 产出物/\r
├── 源代码/\r
├── 素材/\r
└── 文档/\r
```\r
\r
---\r
\r
## 专属文件夹模块详解\r
\r
### M9: 专属文件夹初始化\r
\r
**目的**:为 Agent 创建专属工作区,设置标准目录结构。\r
\r
**触发条件**:\r
- 用户说"设置专属文件夹"、"初始化工作区"、"这是我的工作区"\r
- 用户提供文件夹路径\r
\r
**执行流程**:\r
1. 确认或创建专属文件夹路径\r
2. 创建标准目录结构:\r
```\r
[根目录]/\r
├── inbox/ # 收件箱\r
├── projects/ # 项目工作区\r
├── references/ # 参考资料\r
├── archives/ # 归档\r
├── scratch/ # 临时工作\r
├── manifest.md # 文件清单\r
└── config.json # 配置文件\r
```\r
3. 生成初始 manifest.md\r
4. 更新配置文件记录路径\r
5. 询问是否需要配置每周自动整理\r
6. 如果需要,创建 Automation 任务\r
\r
**配置项**:\r
```json\r
{\r
"root_path": "[专属文件夹路径]",\r
"inbox_name": "inbox",\r
"auto_organize": true,\r
"clean_days": 30,\r
"last_organize": null\r
}\r
```\r
\r
---\r
\r
### M10: 定期整理执行\r
\r
**目的**:自动整理 inbox,保持文件有序。\r
\r
**自动执行时机**:\r
- 每周 Automation 触发\r
- 用户手动说"整理"、"整理 inbox"\r
\r
**执行流程**:\r
1. 扫描 inbox 目录\r
2. 对每个文件识别类型\r
3. 根据规则分类:\r
- 文档类 → `references/`\r
- 代码类 → `projects/`\r
- 素材类 → `scratch/`(待用户进一步分类)\r
- 临时文件 → 检查年龄,决定归档或保留\r
4. 处理命名冲突\r
5. 更新 manifest.md\r
6. 生成整理报告\r
7. 如有过期临时文件,移入 archives/\r
\r
**文件分类规则**:\r
\r
| 类型 | 扩展名 | 目标目录 |\r
|------|--------|----------|\r
| 文档 | `.md`, `.docx`, `.pdf`, `.txt`, `.xlsx` 等 | `references/` |\r
| 代码 | `.py`, `.js`, `.cs`, `.json`, `.yaml` 等 | `projects/` |\r
| 素材 | `.png`, `.jpg`, `.mp3`, `.mp4` 等 | `scratch/` |\r
| Unity | `.unity`, `.prefab`, `.shader` 等 | `projects/unity/` |\r
\r
---\r
\r
### M11: 新项目交接\r
\r
**目的**:接收新项目,快速建立文件清单。\r
\r
**触发条件**:\r
- 用户说"新项目"、"交接项目"、"扫描项目"\r
- 用户提供一个项目文件夹路径\r
\r
**执行流程**:\r
1. 扫描项目目录(深度 3 层)\r
2. 识别文件类型分布\r
3. 识别命名问题\r
4. 生成项目报告:\r
- 文件统计\r
- 类型分布\r
- 建议的目录结构\r
- 需要关注的问题\r
5. 询问用户确认分类方式\r
6. 根据用户确认,执行分类和整理\r
7. 在 `projects/` 下创建项目子目录\r
8. 更新 manifest.md\r
\r
---\r
\r
## 扩展模块详解\r
\r
### E1: 版本管理辅助\r
\r
**目的**:帮助识别和整理文件的版本关系。\r
\r
**版本识别规则**:\r
- 文件名中包含 `v1`, `v2`, `_draft`, `_final`, `_old`, `_new`\r
- 文件名以序号结尾,如 `xxx_01`, `xxx_02`\r
- 同一目录下存在多个类似文件名\r
\r
**版本关系映射**:\r
1. 识别同一文件的不同版本\r
2. 按时间顺序排列\r
3. 标记最新版本和最终版本\r
4. 其他版本归档处理\r
\r
**版本命名建议**:\r
- 使用 `v1`, `v2` 表示版本号(简洁)\r
- 使用 `_draft`, `_final` 表示状态(更直观)\r
- 避免混用两种格式\r
\r
---\r
\r
### E2: 素材库专项\r
\r
**目的**:针对图片、音频、视频等素材的专业分类。\r
\r
**素材分类结构**:\r
```\r
素材库/\r
├── 图片/\r
│ ├── 原始素材/ # 未加工的原始文件\r
│ ├── 处理后/ # 经过处理但非最终版\r
│ └── 最终使用/ # 已在项目中使用的\r
├── 音频/\r
│ ├── 音效/\r
│ ├── 音乐/\r
│ └── 语音/\r
├── 视频/\r
│ ├── 原始素材/\r
│ └── 剪辑版/\r
└── 3D资源/\r
├── 模型/\r
├── 贴图/\r
└── 动画/\r
```\r
\r
**素材命名规则**:\r
- 格式:`[类型]_[项目]_[描述]_[日期]`\r
- 示例:`角色_主角待机动画_20260414.fbx`\r
- 禁止:中文+特殊符号混用\r
\r
---\r
\r
### E3: 批量重命名\r
\r
**目的**:对多个文件按统一规则重命名。\r
\r
**使用场景**:\r
- 统一文件名前缀或后缀\r
- 批量添加日期或序号\r
- 去除文件名中的乱码或多余字符\r
\r
**执行流程**:\r
1. 列出需要重命名的文件清单\r
2. 说明重命名规则\r
3. 预览前 10 个文件的新旧名称对比\r
4. 确认后执行\r
5. 报告执行结果\r
\r
**常见规则**:\r
- 添加前缀:`[前缀]_[原名]`\r
- 添加后缀:`[原名]_[后缀]`\r
- 序号重排:`[原名]_01`, `[原名]_02`\r
- 日期前缀:`[日期]_[原名]`\r
- 全局替换:替换文件名中的特定字符串\r
\r
---\r
\r
### E4: 关系映射\r
\r
**目的**:识别和记录文件之间的关联关系。\r
\r
**关联类型**:\r
- 项目关联:同一项目下的所有文件\r
- 依赖关联:一个文件被其他文件引用(如代码中的 import)\r
- 版本关联:同一文件的不同版本\r
- 素材关联:源素材与处理后的副本\r
\r
**映射输出**:\r
```\r
📊 文件关系图\r
\r
项目:游戏设计\r
├── 核心文件\r
│ ├── 设计文档.md\r
│ └── 角色设定.md\r
├── 素材文件\r
│ ├── 角色图.png\r
│ └── 场景图.jpg\r
└── 版本记录\r
└── 设计文档.md\r
├── v1_20260401\r
└── v2_20260410\r
```\r
\r
---\r
\r
### E5: 报告生成\r
\r
**目的**:在文件整理任务完成后输出清晰的报告。\r
\r
**报告内容**:\r
1. 任务概述(时间、目录、文件数量)\r
2. 执行的操作清单\r
3. 新创建的文件/目录列表\r
4. 移动/重命名的文件清单\r
5. 废弃文件清单\r
6. 发现但未处理的问题\r
7. 建议的后续操作\r
\r
**报告格式**:\r
```markdown\r
# 文件整理报告\r
\r
**时间**:2026-04-14 18:00\r
**目录**:/path/to/directory\r
**操作人**:Agent\r
\r
## 统计\r
- 处理文件数:X\r
- 新建目录:X\r
- 重命名:X\r
- 移动:X\r
\r
## 操作详情\r
[详细列表...]\r
\r
## 发现的问题\r
[如有]\r
\r
## 建议\r
[后续建议...]\r
```\r
\r
---\r
\r
## 执行决策规则\r
\r
### 何时可以直接执行\r
\r
以下情况 Agent 可以直接执行,无需询问:\r
- 在已有目录中创建新子目录\r
- 将文件移入专属文件夹的对应目录(按规则)\r
- 重命名不涉及内容变更(如去除空格、修正乱码)\r
- 创建目录结构(不影响已有文件)\r
- 整理 inbox 中的文件(按预设规则)\r
\r
### 何时必须暂停并询问\r
\r
以下情况必须列计划并等待用户确认:\r
- 删除任何文件(即使在废弃目录中)\r
- 移动可能影响项目结构的文件\r
- 重命名可能影响引用的文件(如代码中的引用)\r
- 处理不确定是否为重复的文件\r
- 批量重命名超过 20 个文件\r
- 用户明确要求保留在当前位置的文件\r
\r
### 错误恢复\r
\r
如果操作失败:\r
1. 记录错误信息\r
2. 尝试恢复到操作前状态\r
3. 报告错误和已恢复的状态\r
4. 等待用户下一步指示\r
\r
---\r
\r
## 脚本工具\r
\r
### scan_directory.py\r
\r
扫描目录并生成结构化 JSON 报告。\r
\r
```bash\r
python scripts/scan_directory.py \x3Cpath> [--max-depth 3] [--output report.json] [--analyze]\r
```\r
\r
### update_manifest.py\r
\r
扫描目录并更新 manifest.md 文件清单。\r
\r
```bash\r
python scripts/update_manifest.py \x3Cpath> [--output manifest.md]\r
```\r
\r
### organize_inbox.py\r
\r
整理 inbox 目录,自动分流文件。\r
\r
```bash\r
python scripts/organize_inbox.py \x3Croot> [--inbox inbox] [--clean-days 30] [--dry-run] [--report report.md]\r
```\r
\r
---\r
\r
## 配置项\r
\r
用户可配置的选项:\r
\r
| 配置项 | 默认值 | 说明 |\r
|--------|--------|------|\r
| 专属文件夹路径 | 未设置 | Agent 工作区的根目录 |\r
| inbox 目录名 | `inbox` | 收件箱目录名 |\r
| 归档目录名 | `archives` | 废弃文件存放的目录名 |\r
| 临时目录名 | `scratch` | 临时文件目录名 |\r
| 临时文件保留期 | 30天 | 超过此天数的临时文件建议归档 |\r
| 自动整理周期 | 每周 | 定期整理的频率 |\r
| 默认命名语言 | 跟随项目类型 | 代码类用英文,文档类用中文 |\r
| 层级深度限制 | 3 | 建议的最大目录深度 |\r
\r
---\r
\r
## 扩展能力\r
\r
如需更多功能,可以扩展以下内容:\r
- 与版本控制系统(Git)集成\r
- 与云存储服务集成\r
- 自动备份逻辑\r
- 定时清理任务\r
- 自定义分类规则\r
\r
如需这些扩展,请在技能说明中注明。\r
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install dedicated-file-manager - After installation, invoke the skill by name or use
/dedicated-file-manager - Provide required inputs per the skill's parameter spec and get structured output
What is dedicated-file-manager?
Manage, organize, classify, rename, archive, and clean files and folders with dedicated workspace setup, automated sorting, and conflict handling. It is an AI Agent Skill for Claude Code / OpenClaw, with 84 downloads so far.
How do I install dedicated-file-manager?
Run "/install dedicated-file-manager" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is dedicated-file-manager free?
Yes, dedicated-file-manager is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does dedicated-file-manager support?
dedicated-file-manager is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created dedicated-file-manager?
It is built and maintained by 理想菇 (@qshan1); the current version is v1.0.0.