main
Whisper Transcript Pipeline
Diese Pipeline überwacht einen Ordner auf neue MacWhisper-Transkripte, erstellt mit OpenAI eine strukturierte Zusammenfassung, schreibt die Ergebnisdateien nach Obsidian, archiviert Audio-Dateien per rclone und kann die fertigen Notizen zusätzlich als private Quartz-Website veröffentlichen.
Voraussetzungen
- Python 3.10+
ffproberclone- optional
fswatch- ohne
fswatchnutzt die Pipeline automatisch Polling
- ohne
OPENAI_API_KEY- für die Memos-Website zusätzlich Node.js 22+ und npm 10.9.2+ (Quartz 4)
Einrichtung
cp .env.example .env
Danach in .env mindestens diese Werte setzen:
OPENAI_API_KEYWATCH_DIROBSIDIAN_DIR- optional für die Webveröffentlichung:
MEMOS_ENABLED=trueMEMOS_QUARTZ_DIRMEMOS_CONTENT_DIRMEMOS_OUTPUT_DIRMEMOS_RCLONE_REMOTE- optional
MEMOS_RCLONE_EXCLUDES
Befehle
Einmaliger Lauf:
python3 transcript_pipeline.py scan
Nur ein bestimmtes Paar verarbeiten:
python3 transcript_pipeline.py scan --basename "Neue Aufnahme 23"
Dauerhafte Überwachung:
python3 transcript_pipeline.py watch
Archiv bereinigen:
python3 transcript_pipeline.py cleanup
Steuerbefehl
Der zentrale Wrapper ist:
./bin/transcript
oder nach Verlinkung in ~/bin einfach:
transcript
transkript
Verfügbare Befehle:
transcript install
transcript start
transcript stop
transcript restart
transcript status
transcript logs pipeline
transcript logs service
transcript scan
transcript cleanup
transcript retry-uploads
transcript memos-sync
transcript memos-auth
transcript migrate-archive
transcript reprocess "Neue Aufnahme 23"
transcript bundle
Hintergrunddienst
- auf macOS:
launchd - auf Linux:
systemd --user
Installieren und starten:
./bin/transcript install
Status:
./bin/transcript status
Verhalten
- erwartet ein Audio-/Transkript-Paar mit gleichem Basenamen, z. B.
Aufnahme.m4aundAufnahme.md - nutzt transkript-zusammenfassung-prompt.md als Zusammenfassungsstandard
- extrahiert Aufnahmedatum und Dauer aus der Audiodatei
- erzeugt eine Obsidian-Notiz mit YAML-Frontmatter, Zusammenfassung und eingebettetem Transkript
- puffert die Audio-Datei lokal in
archive/processed/<source_id>/audio/ - lädt die Audio-Datei verschlüsselt nach
transkripte:/<source_id>/audio/...perrclonehoch - löscht lokale Audio-Caches nach 7 Tagen
- aktualisiert vorhandene Obsidian-Notizen, wenn dieselbe Quelle später erneut verarbeitet wird
- kann dieselben Notizen bereinigt nach
memos-content/exportieren und mit Quartz nachmemos-site/bauen - kann die fertige statische Website per
rclone syncauf einen separaten Host veröffentlichen
Migration nach Linux
Für einen portablen Export:
transcript bundle
Die Linux-Schritte stehen in LINUX_MIGRATION.md.
Description
Languages
TypeScript
71%
Python
14.7%
SCSS
7%
JavaScript
3.9%
Shell
1.9%
Other
1.5%