AI 智能桌面文件整理工具。扫描桌面文件,利用大语言模型按真实生活场景(而非文件格式)自动分类归档。
- ✅ macOS:已支持
- ✅ Windows:已支持,自动识别常见桌面路径(包括系统桌面重定位 / OneDrive Desktop)
下面是本项目 CLI 的真实输出截图(SVG,可在 GitHub 上直接清晰缩放)。
- 三种分类模式 — 根据需求选择不同深度的整理方式:
- 快速分类 (
quick) — 直接扫描 + AI 分类,快速整理 - 个性化快速分类 (
personal) — 采集用户偏好后再分类,结果更贴合个人使用习惯 - 个性化深度分类 (
deep) — 在个性化基础上读取文件内容,实现语义级精准分类
- 快速分类 (
- AI 智能分类 — 根据文件名语义和上下文,按用途场景(工作、学习、生活等)提出分类方案,而非简单按后缀归类
- 有限层级整理 — 不只整理目标目录第一层;会轻量分析明显凌乱的子目录,并在必要时做一次受控的二级整理
- 用户画像记忆 — 个性化模式下的偏好自动保存,后续运行可直接复用或更新
- 文件内容感知 — 深度模式支持读取文本、Office 文档(docx/xlsx/pptx)和 PDF 内容辅助分类
- 交互式确认 — 分类方案和整理预案均需用户确认后才执行,支持对分类方案提出修改意见并让 AI 重新生成
- 一键撤销 — 每次操作记录完整事务日志,可随时撤销恢复原状
- 多 API 支持 — 支持 Azure OpenAI、OpenAI 及自定义兼容 API
pip install -e .需要 Python >= 3.10。
Windows 推荐在 PowerShell 中运行;首次使用时执行:
deskmaid config如果你的桌面目录被 OneDrive 或系统设置重定位,DeskMaid 会优先读取系统实际桌面路径;也可以在 deskmaid config 中手动指定。
deskmaid config按提示选择 API 提供商(azure-openai / openai / custom),填入 API Key、Base URL 和模型名称。
- macOS / Linux 默认配置目录:
~/.deskmaid/ - Windows 默认配置目录:
%APPDATA%\\DeskMaid\\
如果历史版本已经在 ~/.deskmaid/ 下有配置,程序会继续优先复用旧配置,不影响已有使用。
deskmaid run流程:
- 扫描桌面所有文件和文件夹(自动跳过隐藏文件和 Office 临时文件)
- 选择分类模式(快速 / 个性化 / 深度)
- AI 分析文件并提出分类方案 → 用户确认或提出修改意见
- AI 将每个文件/文件夹分配到对应分类 → 展示整理预案
- 用户确认后执行顶层整理;若识别出明显凌乱的子目录或仍有较多散文件的大类目录,会再做一次轻量二级整理(不会无限递归)
可通过 --path / -p 指定目标路径,通过 --mode / -m 指定分类模式:
deskmaid run --path ~/Downloads
deskmaid run --mode quick # 快速分类
deskmaid run --mode personal # 个性化快速分类
deskmaid run --mode deep # 个性化深度分类deskmaid undodeskmaid historydeskmaid/
├── cli.py # CLI 入口,基于 Typer + Rich
├── modes.py # 分类模式定义与选择 UI
├── interview.py # 用户访谈引擎,偏好采集与持久化
├── content_reader.py # 文件内容提取(文本/Office/PDF)
├── ai_engine.py # AI 分类引擎(两步:提出方案 → 分配文件)
├── scanner.py # 桌面文件扫描器
├── organizer.py # 文件移动执行器,含冲突处理和事务日志
├── config.py # 配置管理(~/.deskmaid/)
└── undo.py # 撤销机制
- Typer — CLI 框架
- Rich — 终端美化输出
- OpenAI Python SDK — AI API 调用
- python-docx — Word 文档读取
- openpyxl — Excel 文件读取
- python-pptx — PowerPoint 文件读取
- pdfplumber — PDF 文件读取
欢迎任何形式的贡献:Bug 修复、Windows 适配、文档补充、功能建议。
- 你可以直接提 Issue 描述需求/问题
- 或者 Fork 后提 PR
MIT