📚 课件整理助手

面向教师备课场景的 Windows 桌面课件管理软件。基于 Python 3.12 + PySide6 + SQLite FTS5 构建,支持全格式课件导入、全文检索、学科自动识别、标签分类、一键归档等完整工作流。

✨ 功能一览

模块功能
📥 导入解析导入文件/文件夹(可拖拽),自动解析 PPT(X)/PDF/Word/TXT/MD/图片/音视频
🔍 全文检索中文内容毫秒级搜索(FTS5 trigram),支持课件正文、文件名、摘要
🧠 学科识别三层识别:文件名关键词 → 内容扫描 → 上下文推断(绿/黄/橙/红/灰置信度)
🏷️ 标签体系自定义标签、批量打标、按标签筛选
🖼️ 多视图大/中/小卡片视图 + 详细列表(表格排序、批量标签查询、视图记忆)
📁 分类管理树形分类、新建/重命名/删除,未分类视图
✏️ 批量重命名模板/前缀/后缀/查找替换/清理,带实时预览与冲突检测
📦 一键归档按学科移动到课件库目录,防覆盖
♻️ 重复清理文件名相似组检测,一键保留最新版
↩️ 一键还原归档历史批次,随时反悔还原
👀 桌面监视桌面新课件弹窗提示,一键入库/归档
🖥️ 系统托盘最小化到托盘,后台持续监视
🖱️ 右键菜单任意文件右键 → “发送到课件整理助手” 直接归档
🎨 主题美化明/暗主题自适应,圆角卡片、星级角标、置信度色条

🚀 快速开始

直接使用(免安装)

Releases 下载便携版(单文件 exe)或安装版,解压/安装后即可运行。

从源码运行

# 1. 安装依赖(Python 3.10+)
pip install PySide6 python-pptx python-docx PyMuPDF Pillow pystray watchdog imageio-ffmpeg

# 2. 运行
python app.py

🧪 测试

python tests/smoke.py      # 核心链路冒烟测试
python tests/ui_smoke.py   # UI 构建冒烟测试

📦 打包发布

# 1. 打包单文件 exe(产物: dist\课件整理助手.exe)
pip install pyinstaller
pyinstaller build.spec --noconfirm --clean

# 2. 生成安装版(需安装 Inno Setup 6)
ISCC.exe installer.iss    # 产物: 发布\课件整理助手安装版.exe

📂 项目结构

courseware-manager/
├── app.py               # 程序入口
├── quick_move.py        # 右键菜单辅助脚本(独立运行)
├── build.spec           # PyInstaller 打包配置
├── installer.iss        # Inno Setup 安装脚本
├── core/                # 核心逻辑(无 GUI 依赖)
│   ├── config.py        #   配置与路径
│   ├── database.py      #   SQLite + FTS5 全文检索
│   ├── parsers.py       #   解析引擎(文本/页数/时长/缩略图)
│   ├── classifier.py    #   学科三层识别 + 重复检测
│   ├── scanner.py       #   目录扫描与索引
│   ├── renamer.py       #   批量重命名
│   └── organizer.py     #   归档/还原 + 批次日志
├── services/            # 系统集成
│   ├── watcher.py       #   桌面监视(watchdog)
│   ├── tray.py          #   系统托盘(pystray)
│   └── menu.py          #   右键菜单注册(注册表)
├── ui/                  # PySide6 界面
│   ├── main_window.py   #   主窗口
│   ├── card_view.py     #   课件卡片网格
│   ├── detail_panel.py  #   详情面板
│   ├── theme.py         #   明暗主题
│   ├── dialogs/         #   批量重命名/归档/重复清理/还原/设置等对话框
│   └── signals.py       #   全局信号总线
├── tests/               # 冒烟测试
├── assets/              # 静态资源(logo 等)
├── preview/             # 界面预览截图
└── release/             # 预编译发布物(便携版 + 安装版)

📝 说明

  • 索引模式不会移动你的原文件;只有执行「归档」时才把文件移动到课件库目录。
  • 学科关键词可编辑 data\学科关键词配置.json 自定义(首次运行自动生成)。
  • 老式 .ppt/.doc 需要安装 Office + pywin32 才能解析文本;无 Office 时跳过内容识别。
  • 用户数据保存在 %APPDATA%\课件整理助手2\,卸载安装版时会询问是否保留。

📄 许可证

MIT