
YouTube-Transkripte herunterladen
Prosey ist ein CLI-Tool zum Herunterladen und Anzeigen von Video-Transkripten von YouTube, damit du die gesuchten Informationen bekommst, ohne Stunden zu verschwenden.
Die Hauptanwendungsfälle sind:
Beide Anwendungen benötigen einen KI-Assistenten auf deinem System (Standard: opencode, verwende prosey config, um deinen eigenen zu konfigurieren).
Wenn wir einen Syntax-Highlighter auf deinem System erkennen, erhältst du eine schöne farbige Ausgabe.
Prosey kann das native JSON-Format auch unverändert ausgeben oder speichern.
| Funktion | Beschreibung |
|---|---|
| 💡 Zusammenfassen | Transkript eines Videos abrufen und zusammenfassen |
| 📖 Lesen | Transkript abrufen und in Markdown formatiert anzeigen |
| 📋 Transkript Download | YouTube-Transkripte als Klartext oder JSON unverändert abrufen |
| 🤖 KI-Zusammenfassung | Transkripte an jeden KI-Agenten weiterleiten (opencode, Claude, Copilot, Codex) |
| 🎨 Intelligenter Pager | Automatische Syntax-Hervorhebung, wenn bat, glow oder mdcat installiert sind (oder eigenen Pager konfigurieren) |
| 🛠️ Anpassung | Verwende prosey config, um auf deine Konfiguration zuzugreifen und sie zu bearbeiten / die Prompts anzupassen |
| 💾 Festplatten-Caching | Transkripte und Zusammenfassungen werden auf der Festplatte zwischengespeichert für sofortiges erneutes Lesen |
| 📄 Unterstützte Formate | Klartext und JSON |
Probiere es sofort mit npx aus:
npx @tacone/prosey 771PQEDeRmw
npx @tacone/prosey https://youtu.be/771PQEDeRmw --lang es -o transcript.txt
Installiere global mit deinem bevorzugten Paketmanager:
npm install -g @tacone/prosey
# oder
yarn global add @tacone/prosey
# oder
pnpm add -g @tacone/prosey
# oder
bun install -g @tacone/prosey
Dann überall verwenden:
prosey 771PQEDeRmw
Verwendet Bun für die Entwicklung — Skripte, Paketverwaltung und das direkte Ausführen des TypeScript-Quellcodes.
git clone https://github.com/tacone/prosey.git
cd prosey
bun install
bun run start -- 771PQEDeRmw
prosey [optionen] <video controls-url-oder-id>
prosey read [optionen] <video controls-url-oder-id>
prosey info [optionen] <video controls-url-oder-id>
prosey summarize [optionen] <video controls-url-oder-id>
prosey index
prosey render
prosey config
prosey help
summarize ist der Standardbefehl, daher führt prosey <id> den KI-Zusammenfasser aus.
Verwende prosey read <id>, um ein reich formatiertes Transkript herunterzuladen und auszugeben.
Der Befehl summarize ruft ein Transkript ab, stellt den Prompt aus dem
Abschnitt [summarize] der Konfiguration voran und leitet das Ergebnis an den konfigurierten KI-Befehl weiter.
Der Befehl read lädt das Transkript herunter und gibt es auf stdout aus (Klartext,
Markdown oder JSON). Dies ist nützlich, wenn du keine KI-Verarbeitung benötigst.
Der Befehl info zeigt Video-Metadaten an (Titel, Kanal, Dauer, Aufrufe).
Der Befehl index erstellt den Dokumentindex neu und öffnet ihn im Browser.
Der Index listet jede Zusammenfassung und jedes Transkript auf, das im Datenverzeichnis
gespeichert ist, und wird nach jedem Zusammenfassen/Transkribieren automatisch neu erstellt. Ein Klick auf das
Prosey-Logo auf einer beliebigen Inhaltsseite führt zurück zum Index.
Der Befehl render generiert jede HTML-Seite aus dem zwischengespeicherten Markdown neu
(ohne Netzwerk- oder KI-Verarbeitung) und schreibt den Index neu.
Der Befehl config öffnet deine Konfigurationsdatei in $EDITOR zum Bearbeiten. Wenn
$EDITOR nicht gesetzt ist, wird der Pfad zur Konfigurationsdatei ausgegeben.
Der Befehl help zeigt die Hilfemeldung an, identisch zu --help.
# Zusammenfassen (KI-Zusammenfassung + Formatierung + Syntax-Hervorhebung)
prosey 771PQEDeRmw
# Zusammenfassen (identisch zu oben)
prosey summarize 771PQEDeRmw
# Transkribieren (KI-Zusammenfassung + Formatierung + Syntax-Hervorhebung)
prosey read 771PQEDeRmw
# Video-Metadaten anzeigen
prosey info 771PQEDeRmw
# Konfiguration in $EDITOR bearbeiten
prosey config
# Verfügbare Sprachen auflisten
prosey read https://youtu.be/771PQEDeRmw --list
# Sprache angeben
prosey read https://youtu.be/771PQEDeRmw --lang es
# JSON anzeigen (keine KI-Transkription)
prosey read 771PQEDeRmw
# Klartext anzeigen (keine KI-Transkription)
prosey read 771PQEDeRmw
# Transkript in Datei speichern
prosey read 771PQEDeRmw -o transcript.txt
Wenn --json verwendet wird, ist die Ausgabe ein Array von Objekten:
[
{
"text": "♪ We're no strangers to love ♪",
"offset": 18.64,
"duration": 3.24,
"timestamp": "00:18"
}
]
timestamp ist im JSON-Modus immer vorhanden. Video-Details werden unterdrückt
(still), da JSON strukturierte Daten sind.
Dieses Projekt verwendet Bun für die Entwicklung.
bun run typecheck # TypeScript-Prüfung
bun run start # CLI aus dem Quellcode ausführen
bun run test # Unit-Tests ausführen
bun run build # Node-Bundle nach bin/prosey kompilieren
Vor der Veröffentlichung auf npm wird bun run build automatisch über den prepack-
Hook ausgeführt und erzeugt ein Node-kompatibles JS-Bundle unter bin/prosey.
Prosey liest die Konfiguration aus einer TOML-Datei. Der Speicherort folgt der
XDG Base Directory Specification
(~/.config/prosey/config.toml), oder du kannst die Umgebungsvariable PROSEY_CONFIG_PATH
setzen, um einen benutzerdefinierten Pfad zu verwenden.
Die Konfigurationsdatei wird beim ersten Start automatisch mit Standardwerten erstellt.
Verwende --reset-config, um die Standardwerte jederzeit wiederherzustellen.
pagerPager-Befehl für Transkript- und Zusammenfassungsausgabe. Standard ist "auto", was
den ersten verfügbaren der folgenden erkennt: bat -lmd --style plain → glow -p → mdcat -l -p → less.
Setze einen benutzerdefinierten Befehl (z. B. "less -R"), um dies zu überschreiben. Die Umgebungsvariable PROSEY_PAGER
hat Vorrang vor dieser Einstellung.
[summarize]Der Abschnitt [summarize] konfiguriert den Befehl summarize:
| Schlüssel | Beschreibung |
|---|---|
prompt | Anweisung, die dem Transkript vorangestellt wird |
command | Shell-Befehl, der den Prompt über stdin empfängt |
PROSEY_PAGERUmgebungsvariable zum Festlegen des Pager-Befehls. Hat Vorrang vor dem
Konfigurationswert pager. Setze auf "auto" oder leer, um die automatische Erkennung zu verwenden.
Transkripte und Zusammenfassungen werden unter /tmp/prosey/ zwischengespeichert. Wiederholte Aufrufe
für dasselbe Video und dieselben Optionen sind sofort und funktionieren offline. Verwende --no-cache,
um Cache-Lesevorgänge zu überspringen und einen frischen Abruf zu erzwingen.
Wenn prosey summarize ausgeführt wird, läuft der Befehl im Cache-Verzeichnis
für dieses Video. Dies verhindert, dass der KI-Agent projektspezifische Dateien
wie AGENTS.md oder CLAUDE.md aus dem aktuellen Ordner aufnimmt, und begrenzt seine
Fähigkeit, Dateien außerhalb dieses Verzeichnisses zu ändern.
| Code | Bedeutung |
|---|---|
0 | Erfolg |
65 | Ungültige Video-URL oder -ID |
prosey verwendet YouTubes Innertube-API über die youtube-transcript-plus-Bibliothek. Es sind keine API-Schlüssel oder Browser-Automatisierung erforderlich.
Das Tool funktioniert sowohl mit manuell erstellten Untertiteln als auch mit automatisch generierten Transkripten (YouTubes Spracherkennung). Die automatische Erkennung fällt durch Sprachen in der Reihenfolge, die von YouTubes Player-Antwort bereitgestellt wird.
| Flag | Beschreibung |
|---|
--lang <code> | Sprachcode (z. B. en, fr). Wird automatisch erkannt, wenn nicht angegeben. |
-t, --timestamps | Stellt [MM:SS] jeder Zeile in der Textausgabe voran. |
--list | Verfügbare Transkriptsprachen für das Video auflisten und dann beenden. |
-o, --output <path> | Ausgabe in Datei statt auf stdout schreiben. |
--json | Transkript als JSON-Array ausgeben. Jedes Element enthält text, offset (Sekunden), duration und timestamp. |
--text | Als Klartext ausgeben (Standard für prosey read). |
--details | Video-Details (Titel, Kanal, Dauer, Aufrufe, Beschreibung) dem Transkript voranstellen (Standard). |
--no-details | Video-Details unterdrücken, nur Transkript. |
--no-decode-entities | Rohe HTML-Entities beibehalten (z. B. '). Standardmäßig im Textmodus dekodiert. |
--no-cache | Cache-Lesevorgänge überspringen und einen frischen Abruf erzwingen. |
--no-format | Schönere Markdown-Formatierung bei der summarize-Ausgabe überspringen. |
-q, --quiet | Alle stderr-Protokollierung unterdrücken. |
-v, --verbose | Debug-Informationen auf stderr ausgeben. |
--no-pager | Pager für stdout-Ausgabe deaktivieren (standardmäßig automatisch erkannt). |
--pager | Pager für stdout-Ausgabe verwenden (Standard). |
--reset-config | Konfigurationsdatei auf Standardwerte zurücksetzen und beenden. |
--help | Hilfemeldung anzeigen und beenden. |
--version | Versionsnummer anzeigen und beenden. |