
Scarica le trascrizioni di YouTube
Prosey è uno strumento CLI per scaricare e visualizzare le trascrizioni video da YouTube, così puoi ottenere le informazioni che cerchi senza sprecare ore.
I casi d'uso principali sono:
Entrambi gli utilizzi richiedono un assistente AI sul tuo sistema (predefinito: opencode, usa prosey config per configurare il tuo).
Se rileviamo un evidenziatore di sintassi sul tuo sistema, otterrai un output colorato e gradevole.
Prosey può anche generare o salvare il formato JSON nativo senza modifiche.
| Funzionalità | Descrizione |
|---|---|
| 💡 Riassumi | Recupera e riassume una trascrizione video |
| 📖 Leggi | Recupera e visualizza la trascrizione formattata in Markdown |
| 📋 Scarica trascrizione | Recupera trascrizioni YouTube come testo semplice o JSON senza modifiche |
| 🤖 Riassunto AI | Inoltra le trascrizioni a qualsiasi agente AI (opencode, Claude, Copilot, Codex) |
| 🎨 Pager intelligente | Evidenziazione automatica della sintassi se bat, glow o mdcat sono installati (o configura il tuo pager) |
| 🛠️ Personalizzazione | Usa prosey config per accedere e modificare la tua configurazione / personalizzare i prompt |
| 💾 Cache su disco | Trascrizioni e riassunti sono memorizzati nella cache su disco per una rilettura immediata |
| 📄 Formati supportati | Testo semplice e JSON |
Provalo subito con npx:
npx @tacone/prosey 771PQEDeRmw
npx @tacone/prosey https://youtu.be/771PQEDeRmw --lang es -o transcript.txt
Installa globalmente con il tuo gestore di pacchetti preferito:
npm install -g @tacone/prosey
# oppure
yarn global add @tacone/prosey
# oppure
pnpm add -g @tacone/prosey
# oppure
bun install -g @tacone/prosey
Poi usalo ovunque:
prosey 771PQEDeRmw
Usa Bun per lo sviluppo — script, gestione dei pacchetti ed esecuzione diretta del codice sorgente TypeScript.
git clone https://github.com/tacone/prosey.git
cd prosey
bun install
bun run start -- 771PQEDeRmw
prosey [options] <video controls-url-or-id>
prosey read [options] <video controls-url-or-id>
prosey info [options] <video controls-url-or-id>
prosey summarize [options] <video controls-url-or-id>
prosey index
prosey render
prosey config
prosey help
summarize è il comando predefinito, quindi prosey <id> esegue il riassunto AI.
Usa prosey read <id> per scaricare e stampare una trascrizione riccamente formattata.
Il comando summarize recupera una trascrizione, antepone il prompt dalla
sezione di configurazione [summarize] e inoltra il risultato al comando AI configurato.
Il comando read scarica la trascrizione e la stampa su stdout (testo semplice,
markdown o JSON). È utile quando non hai bisogno dell'elaborazione AI.
Il comando info mostra i metadati del video (titolo, canale, durata, visualizzazioni).
Il comando index ricostruisce l'indice dei documenti e lo apre nel browser.
L'indice elenca ogni riassunto e trascrizione memorizzati nella directory dati
e viene ricostruito automaticamente dopo ogni esecuzione di summarize/transcribe.
Facendo clic sul logo Prosey in qualsiasi pagina di contenuto si torna all'indice.
Il comando render rigenera ogni pagina HTML dal markdown memorizzato nella cache
(senza rete o elaborazione AI) e riscrive l'indice.
Il comando config apre il tuo file di configurazione in $EDITOR per la modifica.
Se $EDITOR non è impostato, viene stampato il percorso del file di configurazione.
Il comando help mostra il messaggio di aiuto, come --help.
# Riassumi (riassunto AI + formattazione + evidenziazione della sintassi)
prosey 771PQEDeRmw
# Riassumi (come sopra)
prosey summarize 771PQEDeRmw
# Trascrivi (riassunto AI + formattazione + evidenziazione della sintassi)
prosey read 771PQEDeRmw
# Mostra i metadati del video
prosey info 771PQEDeRmw
# Modifica la configurazione in $EDITOR
prosey config
# Elenca le lingue disponibili
prosey read https://youtu.be/771PQEDeRmw --list
# Specifica la lingua
prosey read https://youtu.be/771PQEDeRmw --lang es
# Visualizza JSON (nessuna trascrizione AI)
prosey read 771PQEDeRmw
# Visualizza testo semplice (nessuna trascrizione AI)
prosey read 771PQEDeRmw
# Salva la trascrizione in un file
prosey read 771PQEDeRmw -o transcript.txt
Quando si usa --json, l'output è un array di oggetti:
[
{
"text": "♪ We're no strangers to love ♪",
"offset": 18.64,
"duration": 3.24,
"timestamp": "00:18"
}
]
timestamp è sempre presente in modalità JSON. I dettagli del video vengono soppressi
(silenziosamente) poiché JSON è dati strutturati.
Questo progetto usa Bun per lo sviluppo.
bun run typecheck # Controllo TypeScript
bun run start # Esegue la CLI dal codice sorgente
bun run test # Esegue i test unitari
bun run build # Compila il bundle Node in bin/prosey
Prima della pubblicazione su npm, bun run build viene eseguito automaticamente tramite l'hook
prepack, producendo un bundle JS compatibile con Node in bin/prosey.
Prosey legge la configurazione da un file TOML. La posizione segue la
XDG Base Directory Specification
(~/.config/prosey/config.toml), oppure puoi impostare la variabile d'ambiente
PROSEY_CONFIG_PATH per usare un percorso personalizzato.
Il file di configurazione viene creato automaticamente al primo avvio con i valori predefiniti.
Usa --reset-config per ripristinare i valori predefiniti in qualsiasi momento.
pagerComando pager per l'output di trascrizioni e riassunti. Il valore predefinito è "auto", che
rileva il primo disponibile tra: bat -lmd --style plain → glow -p → mdcat -l -p → less.
Imposta un comando personalizzato (es. "less -R") per sovrascriverlo. La variabile d'ambiente
PROSEY_PAGER ha precedenza su questa impostazione.
[summarize]La sezione [summarize] configura il comando summarize:
| Chiave | Descrizione |
|---|---|
prompt | Istruzione anteposta alla trascrizione |
command | Comando shell che riceve il prompt tramite stdin |
PROSEY_PAGERVariabile d'ambiente per impostare il comando pager. Ha precedenza sul
valore di configurazione pager. Imposta "auto" o lascia vuoto per usare il rilevamento automatico.
Trascrizioni e riassunti vengono memorizzati nella cache in /tmp/prosey/. Le invocazioni ripetute
per lo stesso video e le stesse opzioni sono immediate e funzionano offline. Usa --no-cache
per saltare le letture dalla cache e forzare un nuovo recupero.
Quando esegui prosey summarize, il comando viene eseguito all'interno della directory della cache
per quel video. Questo impedisce all'agente AI di raccogliere file specifici del progetto
come AGENTS.md o CLAUDE.md dalla cartella corrente e limita la sua capacità
di modificare file al di fuori di quella directory.
| Codice | Significato |
|---|---|
0 | Successo |
65 | URL o ID video non valido |
prosey usa l'API Innertube di YouTube tramite la libreria youtube-transcript-plus. Non sono richieste chiavi API o automazione del browser.
Lo strumento funziona sia con sottotitoli creati manualmente sia con trascrizioni generate automaticamente (speech-to-text di YouTube). Il rilevamento automatico scorre le lingue nell'ordine fornito dalla risposta del player di YouTube.
| Flag | Descrizione |
|---|
--lang <code> | Codice lingua (es. en, fr). Rilevato automaticamente se omesso. |
-t, --timestamps | Antepone [MM:SS] a ogni riga nell'output di testo. |
--list | Elenca le lingue di trascrizione disponibili per il video, poi esce. |
-o, --output <path> | Scrive l'output in un file invece che su stdout. |
--json | Output della trascrizione come array JSON. Ogni elemento include text, offset (secondi), duration e timestamp. |
--text | Output come testo semplice (predefinito per prosey read). |
--details | Antepone i dettagli del video (titolo, canale, durata, visualizzazioni, descrizione) alla trascrizione (predefinito). |
--no-details | Sopprime i dettagli del video, solo trascrizione. |
--no-decode-entities | Conserva le entità HTML grezze (es. '). Decodificate per impostazione predefinita in modalità testo. |
--no-cache | Salta le letture dalla cache e forza un nuovo recupero. |
--no-format | Salta la formattazione markdown più curata sull'output di summarize. |
-q, --quiet | Sopprime tutta la registrazione su stderr. |
-v, --verbose | Stampa informazioni di debug su stderr. |
--no-pager | Disabilita il pager per l'output su stdout (rilevato automaticamente per impostazione predefinita). |
--pager | Usa il pager per l'output su stdout (predefinito). |
--reset-config | Ripristina il file di configurazione ai valori predefiniti ed esce. |
--help | Mostra il messaggio di aiuto ed esce. |
--version | Mostra il numero di versione ed esce. |