Skip to content

TreeEast1/DeskMaid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeskMaid

AI 智能桌面文件整理工具。扫描桌面文件,利用大语言模型按真实生活场景(而非文件格式)自动分类归档。

平台支持

  • ✅ macOS:已支持
  • ✅ Windows:已支持,自动识别常见桌面路径(包括系统桌面重定位 / OneDrive Desktop)

运行演示(CLI)

下面是本项目 CLI 的真实输出截图(SVG,可在 GitHub 上直接清晰缩放)。

查看帮助

deskmaid help

运行(参数说明)

deskmaid run help

配置 API

deskmaid config help

功能特性

  • 三种分类模式 — 根据需求选择不同深度的整理方式:
    • 快速分类 (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 中手动指定。

快速开始

1. 配置 API

deskmaid config

按提示选择 API 提供商(azure-openai / openai / custom),填入 API Key、Base URL 和模型名称。

  • macOS / Linux 默认配置目录:~/.deskmaid/
  • Windows 默认配置目录:%APPDATA%\\DeskMaid\\

如果历史版本已经在 ~/.deskmaid/ 下有配置,程序会继续优先复用旧配置,不影响已有使用。

2. 整理桌面

deskmaid run

流程:

  1. 扫描桌面所有文件和文件夹(自动跳过隐藏文件和 Office 临时文件)
  2. 选择分类模式(快速 / 个性化 / 深度)
  3. AI 分析文件并提出分类方案 → 用户确认或提出修改意见
  4. AI 将每个文件/文件夹分配到对应分类 → 展示整理预案
  5. 用户确认后执行顶层整理;若识别出明显凌乱的子目录或仍有较多散文件的大类目录,会再做一次轻量二级整理(不会无限递归)

可通过 --path / -p 指定目标路径,通过 --mode / -m 指定分类模式:

deskmaid run --path ~/Downloads
deskmaid run --mode quick          # 快速分类
deskmaid run --mode personal       # 个性化快速分类
deskmaid run --mode deep           # 个性化深度分类

3. 撤销操作

deskmaid undo

4. 查看历史

deskmaid history

项目结构

deskmaid/
├── 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             # 撤销机制

依赖

贡献 / 合作

欢迎任何形式的贡献:Bug 修复、Windows 适配、文档补充、功能建议。

  • 你可以直接提 Issue 描述需求/问题
  • 或者 Fork 后提 PR

Star History

Star History Chart

许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages