3.8 KiB
YouTube Summarizer
This is a local-first desktop app for summarizing YouTube videos with Ollama.
It uses:
- Tauri for the desktop shell
- a bundled Python backend for transcript/audio processing in release builds
- Ollama on
localhostfor summarization and translation - SQLite for local history
What It Does
Given a YouTube URL, the app can:
- fetch a transcript via the YouTube transcript API or via Whisper
- generate an English summary with a local Ollama model
- optionally translate that summary into German and Japanese
- store the results locally so they can be reopened later
Local-Only Behavior
This repository is intentionally reset to a clean publishable state:
- no Discord webhook integration
- no remote PHP/MySQL sync
- no bundled production data or pre-filled database
- runtime data is stored in the OS app data directory, not in the repo
End User Requirements
If you ship a built installer, the user should only need:
- Ollama installed locally
- the Ollama model they want to use pulled locally
Notes:
- The installer is designed to bundle the backend helper plus
ffmpeg/ffprobe. - Whisper model weights are not bundled; the selected Whisper model is downloaded on first use and then cached locally.
Developer Requirements
For development in this repo you still need:
- Python 3.8+
- Rust/Cargo
- FFmpeg in
PATH - Ollama running locally on
http://localhost:11434
Python dependencies are listed in requirements.txt.
Run In Development
macOS/Linux:
./run.sh
Windows:
run.bat
Or directly:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cargo run --manifest-path src-tauri/Cargo.toml
The app prefers a bundled backend executable when one is present under src-tauri/resources/backend, and otherwise falls back to the local Python environment for development.
Build A Shippable Bundle
- Make sure the build machine has Python, Rust/Cargo, and
ffmpeg/ffprobeavailable onPATH. - Run:
python3 tools/prepare_bundle.py
- Then build the installer:
cargo tauri build
What tools/prepare_bundle.py does:
- installs PyInstaller into the current Python environment
- builds a single-file backend executable from backend_cli.py
- copies that executable into src-tauri/resources/backend
- copies
ffmpegandffprobefrom the build machine into src-tauri/resources/ffmpeg
Build once on each target OS you want to ship. For Windows 10, build on Windows.
Build On GitHub Actions
A Windows build workflow is included at .github/workflows/windows-installer.yml.
It runs on windows-latest, installs ffmpeg and NSIS, prepares the bundled Python backend with tools/prepare_bundle.py, builds an NSIS installer, and uploads the result as a workflow artifact named windows-installer.
Notes
- If Python is not on your
PATHfor development, setYTS_PYTHONto the interpreter you want the Tauri backend to use. - If you want to test a prebuilt backend executable during development, set
YTS_BACKEND_BINto its full path. - If
ffmpegorffprobeare not onPATHduring bundle prep, setYTS_FFMPEGandYTS_FFPROBEto their full paths before running tools/prepare_bundle.py. - Generated thumbnails and the SQLite database are created on first run in the app's local data directory.