AI 智能桌面文件整理工具。
它不按“文件格式”生硬归类,而是尽量按真实使用场景整理你的桌面。
很多桌面整理工具只会按 PDF / 图片 / 压缩包 / 文档 这种格式分类。
DeskMaid 更接近人的使用习惯:
- 把同一个项目相关的 PDF、文档、截图放在一起
- 区分工作资料、学习资料、生活归档、临时下载
- 给出整理预案,确认后再执行
- 每次操作都记录日志,支持一键撤销
下面这组截图展示了一个完整流程:整理前 → 运行整理 → 整理后 → 查看历史 → 撤销恢复。
- 三种分类模式
quick:直接扫描 + AI 分类,适合快速整理personal:先采集使用偏好,再按个人习惯分类deep:读取文件内容摘要,做更细的语义分类
- 桌面女仆模式
- 提供一个可拖动的常驻小助手
- 双击即可整理桌面,右键可打开设置、历史、撤销等菜单
- 保留原有 CLI,不影响命令行工作流
- 不是按后缀整理,而是按场景整理
- 例如把项目里的 PDF、PPT、说明文档、图片放进同一类
- 轻量二级整理
- 不只处理目标目录第一层;发现明显凌乱的子目录时,会做一次受控的二级整理
- 交互式确认
- 分类方案先展示,用户可以接受或提出修改意见
- 一键撤销
- 每次整理都记录事务日志,随时恢复原状
- 多 API 支持
- 支持
Azure OpenAI、OpenAI、自定义兼容接口
- 支持
- 离线演示模式
--demo在未配置 API 时会自动切换到内置演示分类逻辑,方便截图、录屏和文档展示
pip install -e .要求:
- Python
>= 3.10
deskmaid config按提示填写:
- API Provider:
azure-openai/openai/custom API Base URLAPI Key模型名称- 目标桌面路径
配置目录:
- macOS / Linux:
~/.deskmaid/ - Windows:
%APPDATA%\DeskMaid\
deskmaid run常用参数:
deskmaid run --path ~/Downloads
deskmaid run --mode quick
deskmaid run --mode personal
deskmaid run --mode deep
deskmaid run --path ~/Desktop --mode personaldeskmaid desktop或者:
deskmaid-gui桌面模式说明:
- 双击女仆形象:立即整理桌面
- 拖动女仆形象:调整悬浮位置
- 右键女仆形象:打开整理、撤销、历史、CLI 指南、设置、退出菜单
- 在设置中可切换默认模式、API、目标路径和个性化画像
deskmaid undodeskmaid historydeskmaid run 的执行顺序大致如下:
- 扫描目标目录,统计文件、文件夹和疑似凌乱子目录
- 选择分类模式
- 个性化模式下采集用户偏好
- 深度模式下读取文件内容摘要
- AI 先提出分类方案
- 用户确认后,AI 再生成逐项整理预案
- 用户确认执行
- 写入历史日志,必要时补做一次轻量二级整理
deskmaid --help
deskmaid run --help
deskmaid config
deskmaid run
deskmaid undo
deskmaid history
deskmaid desktop
deskmaid-gui仓库里附带了演示数据和截图脚本,后续可以直接重新生成:
bash docs/capture_demo_assets.sh这个脚本会:
- 重建一个演示用目录
- 跑一次
deskmaid run --mode personal --demo - 生成整理前、整理后、历史、撤销等 SVG 截图
deskmaid/
├── cli.py
├── modes.py
├── interview.py
├── content_reader.py
├── ai_engine.py
├── scanner.py
├── organizer.py
├── config.py
└── undo.py
主要模块说明:
cli.py:CLI 入口,基于 Typer + Richgui.py:桌面女仆悬浮窗口,支持拖动、右键菜单、设置和历史查看service.py:CLI 和 GUI 共用的整理服务层ai_engine.py:分类方案生成与文件归类scanner.py:目录扫描与结构判断organizer.py:实际移动文件并记录事务日志undo.py:撤销最近一次整理interview.py:个性化模式下的用户画像采集content_reader.py:深度模式的文件内容提取
项目已附带一个打包脚本:
bash scripts/build_macos_app.sh它会:
- 安装
PyInstaller - 生成
dist/DeskMaid.app - 再打成
dist/DeskMaid.dmg
生成后用户可直接双击 .app 使用,或者分发 .dmg 给其他 macOS 用户下载安装。
MIT