License Python Version GitHub release PRs Welcome
English | 简体中文
智能文件分类器是一个强大的自动文件整理工具,它能智能识别文件关联关系,自动分类文件,并提供实时监控功能。
- 🎯 多层级智能分类 - 突破传统粗糙分类,实现精细化文件组织
- 🤖 智能推荐系统 - AI驱动的分类建议、清理建议和整理提醒
- 🧠 第三方AI智能分类(可选) - 支持 DeepSeek / OpenAI 兼容接口:文件名 + 少量内容片段(可控/可脱敏)
- 📊 可视化配置 - 直观的设置界面,支持实时预览分类效果
- 🔍 模式识别 - 自动识别截图、报告、手机照片等文件类型
- 🧘 侘寂(Wabi-Sabi)界面风格 - 静谧留白、功能主义;全窗口滚动条 + 鼠标滚轮
- 🤖 智能关联检测 - 自动识别并保持文件依赖关系
- 🔄 实时监控 - 自动处理新增文件
- 🎯 多维度分类 - 支持类型、日期、大小等多种分类方式
- 🛡️ 项目保护 - 自动识别并保护完整项目结构
- 📝 自定义规则 - 灵活配置分类规则
- 🔍 预览功能 - 操作前查看分类效果
- ↩️ 撤销支持 - 随时回退误操作
- 📊 完整记录 - 详细的操作历史
- 从 Releases 下载最新版本
- 解压并运行程序
- 选择需要整理的文件夹,开始自动分类
# 克隆项目 git clone https://github.com/YALI58/Intelligent-Document-Classifier.git cd intelligent-file-classifier # 安装依赖 pip install -r requirements.txt # 运行程序 python main.py
- 打开:
高级设置 → AI服务 - 勾选:
启用AI智能分类(仅用于文件归类) - 选择服务商:
deepseek(OpenAI兼容)openai
- 填写并验证 API Key(本地安全存储,不会写入配置文件明文)
- (方案B)开启:
允许使用文件内容辅助分类(将发送少量文本片段到第三方AI)- 设置最大上传字符数(默认 2000)
- 设置白名单扩展名(如
.txt,.md,.py,.json,.csv) - 开启/关闭脱敏(邮箱/手机号/身份证掩码)
- 回到主界面勾选:
AI智能分类(仅用于文件归类),即可参与分类决策
# 演示智能推荐功能 python demo_intelligent_recommendations.py # 运行实际使用演示 python practical_usage_demo.py # 测试多层级分类功能 python test_hierarchical_classification.py
- 💻 开发文档 - 项目开发说明
- 🤝 贡献指南 - 如何参与项目开发
- 📝 更新日志 - 版本更新记录
- 🔧 GitHub Actions 问题修复 - CI/CD 相关问题解决
-
选择文件夹
- 源文件夹:需要整理的文件夹
- 目标文件夹:整理后的存放位置
-
配置分类规则
- 📂 按文件类型(推荐)
- 📅 按修改日期
- 📏 按文件大小
- 🎨 自定义规则
-
执行分类
- 🔍 点击"预览"查看分类效果
- ✅ 确认无误后点击"开始分类"
传统分类方式的问题:
Documents/ (500个文件混在一起) 😰
Images/ (200个图片堆积)
Videos/ (所有视频混乱)
多层级分类的解决方案:
Documents/ 😊
├── work/
│ ├── reports/ (3个相关文件)
│ ├── contracts/ (2个合同)
│ └── presentations/ (1个演示)
├── personal/
│ ├── notes/ (5个笔记)
│ └── diaries/ (2个日记)
Images/
├── photos/
│ ├── mobile_photos/ (手机照片)
│ └── screenshots/ (屏幕截图)
├── graphics/
│ ├── logos/ (公司标志)
│ └── icons/ (图标文件)
关键优势:
- 🔍 查找效率提升10倍 - 从几分钟缩短到几秒钟
- 🤖 智能识别率90%+ - 自动识别文件用途
- ⚡ 自适应分类深度 - 根据文件数量智能调整
- 🔧 完全兼容 - 可随时启用/禁用
AI驱动的三大核心功能:
-
分类建议 📊
- 基于文件内容和用户历史
- 推荐最佳分类方案
- 提供多种分类选择
-
清理建议 🧹
- 识别重复文件
- 检测临时文件
- 发现过期文件
-
整理提醒 ⏰
- 根据文件夹混乱程度
- 主动提醒用户整理
- 提供优化建议
说明:本项目同时支持"第三方AI智能分类(可选)"。
- 智能推荐系统:项目内置分析/规则引擎(不依赖你的第三方 API Key)。
- 第三方AI智能分类:仅在你手动启用并配置 API Key 后,才会向第三方服务发送最小化元数据/片段用于分类。
该功能用于增强"分类目标文件夹"的判断能力,适合在文件名不足以表达内容时使用。
- 仅用于文件归类:固定任务边界
task=file_categorization,不提供对话/改写/生成等能力 - 隐私优先(方案B):
- 默认不发送内容,仅文件名/扩展名/关键词
- 可选发送"少量内容片段"(仅对白名单文本扩展名生效,默认读取前 N 字符)
- 可选脱敏:邮箱/手机号/身份证掩码后再发送
- 本地安全存储:API Key 优先存入系统凭据库(
keyring),并提供本地清除入口 - 多服务商:支持
deepseek与openai(OpenAI兼容接口)
系统自动识别以下关联:
- 📦 程序文件 - .exe 及其 .dll/.ini 等依赖
- 🌐 网页文件 - .html 及其 .css/.js/图片资源
- 🎬 媒体文件 - 视频及其字幕/海报
- 📂 项目文件夹 - 自动识别完整项目结构
- 📄 同名异类文件 - 保持相关文件聚合
- 在设置中开启文件监控
- 选择要监控的文件夹
- 系统将自动处理新增文件
- 核心语言: Python 3.7+
- GUI框架: tkinter
- 文件监控: watchdog
- 安全删除: send2trash
- 智能分析: 内置规则/分析引擎 +(可选)第三方AI分类服务
- 多线程: concurrent.futures
- 安全存储: keyring(系统凭据库)
- 网络请求: requests
intelligent-file-classifier/
├── 📁 核心模块
│ ├── main.py # 主程序入口
│ ├── file_classifier.py # 基础分类逻辑
│ ├── enhanced_hierarchical_classifier.py # 多层级分类器
│ └── intelligent_recommendations.py # 智能推荐引擎
├── 📁 界面模块
│ ├── settings_dialog.py # 设置界面
│ ├── hierarchical_settings_dialog.py # 多层级设置
│ └── recommendations_dialog.py # 推荐系统界面
├── 📁 功能模块
│ ├── file_monitor.py # 文件监控
│ ├── config_manager.py # 配置管理
│ └── file_classifier_enhanced.py # 增强分类器
│ ├── ai_service.py # 第三方AI文件分类调用封装(仅文件归类)
│ ├── secure_storage.py # API Key 本地安全存储(keyring/DPAPI)
│ └── ui_theme.py # 侘寂主题样式 + 全窗口滚动容器
├── 📁 测试演示
│ ├── test_hierarchical_classification.py # 功能测试
│ ├── demo_intelligent_recommendations.py # 演示程序
│ ├── practical_usage_demo.py # 实际使用演示
│ └── test_recommendations.py # 推荐系统测试
├── 📁 构建配置
│ ├── build_executable.py # 可执行文件构建
│ ├── intelligent_file_classifier.spec # PyInstaller配置
│ ├── requirements.txt # 基础依赖
│ └── requirements-dev.txt # 开发依赖
└── 📁 文档指南
├── hierarchical_classification_guide.md # 多层级分类指南
├── intelligent_recommendations_guide.md # 智能推荐指南
├── DEVELOPMENT.md # 开发文档
└── CONTRIBUTING.md # 贡献指南
- 自动分类工作报告、合同、演示文稿
- 按项目、时间、类型多维度组织
- 智能识别重要文档和临时文件
- 手机照片按时间和类型自动分类
- 下载文件智能归类
- 重复文件自动检测和清理
- 自动识别Web、Python、Java等项目
- 保护项目完整性
- 按技术栈和时间组织代码
- 电影、电视剧智能分类
- 音乐按艺术家、专辑组织
- 图片按拍摄时间和内容分类
| 功能 | 传统方法 | 智能分类器 | 提升倍数 |
|---|---|---|---|
| 查找文件 | 2-5分钟 | 5-15秒 | 10-20倍 |
| 分类准确率 | 60-70% | 90%+ | 1.5倍 |
| 处理速度 | 手动 | 自动化 | ∞ |
| 错误率 | 20-30% | <5% | 6倍降低 |
我们欢迎任何形式的贡献!
- Fork 项目
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 创建 Pull Request
详细说明请查看 贡献指南。
- 云端同步支持
- 更多文件类型支持
- 性能优化
- 机器学习优化
- 跨平台移动端
- 团队协作功能
本项目基于 MIT 协议开源。
- @YALI58 - 项目创始人和主要开发者
- 所有提交问题和建议的用户
- 参与测试的beta用户
- 开源社区的支持
如果这个项目对您有帮助,请考虑给它一个 ⭐ Star!