
Скачать стенограммы YouTube
Prosey — это инструмент командной строки для загрузки и отображения расшифровок видео с YouTube, чтобы вы могли получить нужную информацию, не тратя часы.
Основные варианты использования:
Для обоих вариантов требуется AI-ассистент в вашей системе (по умолчанию: opencode; используйте prosey config, чтобы настроить своего).
Если в вашей системе обнаружен подсветчик синтаксиса, вы получите красиво окрашенный вывод.
Prosey также может выводить или сохранять нативный формат JSON без изменений.
| Возможность | Описание |
|---|---|
| 💡 Summarize | Получить и обобщить расшифровку видео |
| 📖 Read | Получить и отобразить расшифровку, отформатированную в Markdown |
| 📋 Transcript download | Получить расшифровки YouTube как обычный текст или JSON без изменений |
| 🤖 AI summarization | Передать расшифровки любому AI-агенту (opencode, Claude, Copilot, Codex) |
| 🎨 Smart pager | Автоматическая подсветка синтаксиса, если установлены bat, glow или mdcat (или настройте свой пейджер) |
| 🛠️ Customization | Используйте prosey config для доступа и редактирования конфигурации / настройки промптов |
| 💾 Disk caching | Расшифровки и обобщения кэшируются на диске для мгновенного повторного чтения |
| 📄 Supported formats | Обычный текст и JSON |
Попробуйте сразу с помощью npx:
npx @tacone/prosey 771PQEDeRmw
npx @tacone/prosey https://youtu.be/771PQEDeRmw --lang es -o transcript.txt
Установите глобально с помощью вашего любимого менеджера пакетов:
npm install -g @tacone/prosey
# or
yarn global add @tacone/prosey
# or
pnpm add -g @tacone/prosey
# or
bun install -g @tacone/prosey
Затем используйте его где угодно:
prosey 771PQEDeRmw
Использует Bun для разработки — скрипты, управление пакетами и запуск исходного кода 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 config
prosey help
summarize — команда по умолчанию, поэтому prosey <id> запускает AI-обобщение.
Используйте prosey read <id>, чтобы загрузить и вывести подробно отформатированную расшифровку.
Команда summarize получает расшифровку, добавляет в начало промпт из секции конфигурации [summarize] и передает результат настроенной AI-команде.
Команда read загружает расшифровку и выводит её в stdout (обычный текст, Markdown или JSON). Это полезно, когда не требуется обработка AI.
Команда info показывает метаданные видео (название, канал, длительность, просмотры).
Команда config открывает ваш конфигурационный файл в $EDITOR для редактирования. Если $EDITOR не установлен, выводится путь к файлу.
Команда help показывает справочное сообщение, аналогично --help.
# Summarize (AI summary + formatting + syntax highlighting)
prosey 771PQEDeRmw
# Summarize (same as above)
prosey summarize 771PQEDeRmw
# Transcribe (AI summary + formatting + syntax highlighting)
prosey read 771PQEDeRmw
# Show video metadata
prosey info 771PQEDeRmw
# Edit config in $EDITOR
prosey config
# List available languages
prosey read https://youtu.be/771PQEDeRmw --list
# Specify language
prosey read https://youtu.be/771PQEDeRmw --lang es
# Display JSON (no AI transcription)
prosey read 771PQEDeRmw
# Display plain text (no AI transcription)
prosey read 771PQEDeRmw
# Save transcript to file
prosey read 771PQEDeRmw -o transcript.txt
При использовании --json вывод представляет собой массив объектов:
[
{
"text": "♪ We're no strangers to love ♪",
"offset": 18.64,
"duration": 3.24,
"timestamp": "00:18"
}
]
timestamp всегда присутствует в JSON-режиме. Детали видео подавляются (беззвучно), так как JSON — структурированные данные.
Этот проект использует Bun для разработки.
bun run typecheck # TypeScript check
bun run start # Run the CLI from source
bun run test # Run unit tests
bun run build # Compile Node bundle to bin/prosey
Перед публикацией в npm команда bun run build запускается автоматически через хук prepack, создавая совместимый с Node.js JS-бандл в bin/prosey.
Prosey читает конфигурацию из TOML-файла. Расположение соответствует спецификации XDG Base Directory (~/.config/prosey/config.toml), или вы можете установить переменную окружения PROSEY_CONFIG_PATH, чтобы указать собственный путь.
Конфигурационный файл создается автоматически при первом запуске со значениями по умолчанию. Используйте --reset-config, чтобы в любой момент восстановить настройки по умолчанию.
pagerКоманда пейджера для вывода расшифровок и обобщений. По умолчанию "auto", что определяет первое доступное из: bat -lmd --style plain → glow -p → mdcat -l -p → less. Установите собственную команду (например, "less -R") для переопределения. Переменная окружения PROSEY_PAGER имеет приоритет над этой настройкой.
[summarize]Секция [summarize] настраивает команду summarize:
| Ключ | Описание |
|---|---|
prompt | Инструкция, добавляемая в начало расшифровки |
command | Команда оболочки, принимающая промпт через stdin |
PROSEY_PAGERПеременная окружения для установки команды пейджера. Имеет приоритет над значением конфигурации pager. Установите "auto" или оставьте пустым, чтобы использовать автоопределение.
Расшифровки и обобщения кэшируются в /tmp/prosey/. Повторные вызовы для того же видео и тех же параметров выполняются мгновенно и работают офлайн. Используйте --no-cache, чтобы пропустить чтение кэша и принудительно выполнить новый запрос.
При выполнении prosey summarize команда запускается внутри каталога кэша для этого видео. Это предотвращает чтение AI-агентом файлов, специфичных для проекта, таких как AGENTS.md или CLAUDE.md, из текущей папки, и ограничивает его возможность изменения файлов за пределами этого каталога.
| Код | Значение |
|---|---|
0 | Успешно |
65 | Неверный URL или ID видео |
Prosey использует API Innertube YouTube через библиотеку youtube-transcript-plus. Не требуется ни API-ключей, ни автоматизации браузера.
Инструмент работает как с созданными вручную субтитрами, так и с автоматически сгенерированными расшифровками (преобразование речи в текст YouTube). Автоопределение перебирает языки в порядке, предоставленном ответом плеера YouTube.
| Флаг | Описание |
|---|
--lang <code> | Код языка (например, en, fr). Автоопределение, если не указан. |
-t, --timestamps | Добавлять [MM:SS] в начало каждой строки текстового вывода. |
--list | Показать доступные языки субтитров для видео и выйти. |
-o, --output <path> | Записать вывод в файл вместо stdout. |
--json | Вывести расшифровку в виде JSON-массива. Каждый элемент включает text, offset (сек), duration и timestamp. |
--text | Вывести как обычный текст (по умолчанию для prosey read). |
--details | Добавить в начало расшифровки детали видео (название, канал, длительность, просмотры, описание) (по умолчанию). |
--no-details | Не выводить детали видео, только расшифровка. |
--no-decode-entities | Сохранять сырые HTML-сущности (например, '). По умолчанию декодируются в текстовом режиме. |
--no-cache | Пропустить чтение кэша и принудительно выполнить новый запрос. |
--no-format | Пропустить форматирование Markdown при выводе обобщения. |
-q, --quiet | Подавить все логирование в stderr. |
-v, --verbose | Выводить отладочную информацию в stderr. |
--no-pager | Отключить пейджер для вывода в stdout (автоопределение по умолчанию). |
--pager | Использовать пейджер для вывода в stdout (по умолчанию). |
--reset-config | Сбросить конфигурационный файл на значения по умолчанию и выйти. |
--help | Показать справку и выйти. |
--version | Показать версию и выйти. |