Coverage-aware course notes from lecture slides
Turn PPT/PDF into readable, traceable notes with images, OCR/vision, Lecture-Weave writing, and coverage checks.
Not just a slide summarizer, but a faithful study-document pipeline.
English | 中文 | Docs | Config | Roadmap
- Quick Start
- Modes and Pipeline
- Outputs and Review
- Optional GUI
- Textbook Chunks
- Origin
- Setup and Docs
- License
- Acknowledgements
On Windows / PowerShell:
git clone https://github.com/Cat-blizzard/SlideNote.git
cd SlideNote
.\install.ps1
.\run_gui.ps1The installer creates .venv, installs GUI and model dependencies, and checks the environment. You can enter API keys in the GUI for a single run. Start with a local preview to check extraction and note generation:
python -m slidenote build path\to\lecture.pdf --out outputs\local --preset local --export markdown-zipFor model-assisted writing and visual understanding, configure the relevant API keys. For example, with DeepSeek for text and the default vision provider:
$env:DEEPSEEK_API_KEY="..."
$env:DASHSCOPE_API_KEY="..."
python -m slidenote build path\to\lecture.pdf --out outputs\lecture --provider deepseek --export markdown-zipThe main output is outputs\lecture\notes.md. Check generated explanations against the slides.
For manual setup, use python -m pip install -e "." for local mode or python -m pip install -e ".[llm]" for model mode. .\run_gui.ps1 installs the GUI extra when needed. The dev extra is mainly for project tests.
| Mode | Use | Behavior |
|---|---|---|
Default lecture |
Model-assisted detailed study notes | Uses a text model and, as configured, OCR, visual understanding, and Lecture-Weave writing. Quality depends on the source and model output. |
local |
Offline preview and extraction checks | Makes no text, vision, or OCR API calls; local rules produce basic notes. |
--vision off disables visual model calls; it does not prevent images from appearing in notes or exports. Use --ocr off|auto|all to adjust OCR. See configuration for options and presets.
Ingest -> Understand -> Write -> Guard -> Export
| Stage | Main work | Main artifacts |
|---|---|---|
| Ingest | Parse PPT/PDF and extract pages, screenshots, and image assets. | Pages and assets for later stages |
| Understand | Run OCR, visual and structural understanding, and assemble structured content. | content.json, deck_understanding.json, page_understanding.json; content_guard.json when configured |
| Write | Generate readable study notes. | notes.md |
| Guard | Build source mappings, coverage reports, and quality diagnostics. | Final element_ir.json, source_map.json, coverage.json, coverage.md, quality_report.json |
| Export | Produce requested sharing or reading formats. | notes.zip, notes.docx, notes.pdf, and others |
See the pipeline guide for implementation details.
notes.md is the main output. With --export markdown-zip, SlideNote writes notes.zip containing the notes; it includes files from notes.assets/ when images are referenced. Word and PDF export require external tools; see configuration. Generate review and exam materials separately after a build:
python -m slidenote study-pack outputs\lecture --question-count 20Coverage uses element IDs and text markers to flag potentially missing source items. Quality scores are mostly heuristic diagnostics. Neither proves factual accuracy, completeness, or question validity. Before sharing notes, compare important claims, figure placement, equations, tables, and exported layout with the source slides.
SlideNote Studio lets you upload PPT/PDF, enter temporary API keys, select a mode, view progress and reports, inspect page screenshots and notes, and download outputs:
.\run_gui.ps1See the GUI guide.
textbook-index turns a PDF textbook into a chunked corpus with table-of-contents and section mapping for future retrieval features. It currently creates no vector index, provides no search, and does not feed note generation.
python -m slidenote textbook-index path\to\textbook.pdf --out outputs\textbook --ocr autoFor a digital PDF with selectable text, try --ocr off. The auto setting uses OCR on scanned or low-text pages.
I learn more comfortably by reading and revisiting material at my own pace. Lecture slides, however, are often prompts for a live explanation: the logic is scattered, and important details may be in figures, tables, formulas, or what the teacher says. Rewriting them into notes after class takes time and can miss details.
SlideNote grew from the idea of turning slides into structured study notes that preserve images and links to their source pages, with coverage reports that point to material worth checking. The aim is to make courseware easier to read and review while keeping the original material available for verification.
SlideNote needs Python 3.10 or newer. Local mode needs no GPU. LibreOffice or PowerPoint may be needed for slide conversion and full-page screenshots; Pandoc and LibreOffice may be needed for Word, PDF, or LaTeX exports. The setup scripts above target Windows; Linux/macOS users can call the same python -m slidenote ... commands.
See the documentation index, configuration, and roadmap. The detailed docs are currently Chinese-first. The longer-term aim is a traceable workflow across slides, textbooks, review questions, and personal notes; the roadmap tracks actual priorities.
SlideNote uses a dual-license structure:
- Source code is licensed under the GNU Affero General Public License v3.0 or later (
AGPL-3.0-or-later). See LICENSE. - Documentation and example educational materials are licensed under Creative Commons Attribution 4.0 International (
CC BY 4.0). See LICENSES/CC-BY-4.0.txt.
We chose AGPL because SlideNote's core value is not a thin wrapper around one model. It is the courseware parsing, visual understanding, figure handling, note generation, and study-pack workflow around it. We want that capability to stay open: anyone can use, study, modify, and improve SlideNote, but if someone distributes a modified version or offers a modified version as a network service, the corresponding source code should also be available to users and the community.
AGPL does not prohibit commercial use, nor does it restrict students, teachers, or teams from running SlideNote locally. Its main requirement is source availability when modified versions are distributed or provided as network services. Notes, study materials, and other outputs generated by users are not automatically licensed under AGPL just because they were produced with SlideNote.
The SlideNote name, logo, and other brand assets are not licensed for standalone reuse. See NOTICE for the exact scope.
- SlideNote's optional review/exam study-pack workflow was conceptually inspired by WUBING2023/ExamPass-Assistant and the extended MIKUZ12/ExamPass-Assistant fork. SlideNote does not reuse their code, templates, prompts, or assets.
- GUI development contributions from hongzuoj-pixel.
- Testing contributions from MOm0-000.
- SlideNote's parser-adapter and document-IR roadmap is informed by prior art such as Microsoft MarkItDown, Docling, Marker, MinerU, and Unstructured.
- SlideNote's future retrieval, source tracing, and post-generation QA direction is informed by systems such as RAGFlow. These projects are references and inspirations, not bundled dependencies unless explicitly listed elsewhere.
- Thanks to LEO690201 for contributing bug fixes that improved SlideNote's reliability.
- SlideNote's development has also benefited from code analysis, implementation, and debugging assistance provided by Codex, Claude Code, and DeepSeek Harness. All AI-assisted changes remain subject to maintainer review and project testing.
