Журнал позволяет видеть историю всех загрузок: статус (успех/ошибка), путь до файла, дату завершения и номер плейлиста. Данные хранятся в SQLite (history_db), а исходные метаданные остаются в JSONL (save_metadata).
ytd history— список последних событий с фильтрами--status,--limit,--since,--playlistytd history show <ID>— подробная карточка по конкретному видео (можно передать URL с параметромv=)ytd history export --format jsonl|csv— экспорт в stdout (можно перенаправить в файл)
Если вы использовали JSONL метаданные раньше, при первом создании базы история подтянется автоматически: достаточно оставить файл save_metadata на месте и запустить любую команду, которая инициализирует БД (например, ytd history).
| Хранилище | Файл | Назначение |
|---|---|---|
SQLite (history_db) |
data/history.db |
Основной журнал для CLI (ytd history), промптов «пропустить / перезаписать», фильтров и экспорта |
JSONL (save_metadata) |
data/meta.jsonl |
Построчный архив метаданных yt-dlp после каждой загрузки; удобен для grep, jq и внешних скриптов |
Как они связаны:
- При каждой успешной загрузке
Downloaderпишет событие в SQLite и (если включено) строку метаданных в JSONL. - При первом создании пустой таблицы
downloadsytd один раз импортирует записи из JSONL (import_from_jsonl). Повторный импорт не выполняется, если в SQLite уже есть строки. - Для переноса на другой компьютер скопируйте оба файла (
history.dbиmeta.jsonl) или экспортируйте историю черезytd history export.
SQLite использует режим WAL и busy_timeout=5000 мс для устойчивости при параллельных процессах.
Все параметры задаются в ytd.config.yaml (или через YTD_CONFIG) либо через переменные окружения:
| Опция | По умолчанию | Переменная окружения | Назначение |
|---|---|---|---|
history_enabled |
true |
YTD_HISTORY_ENABLED |
Включает или отключает журнал полностью |
history_db |
data/history.db |
YTD_HISTORY_DB |
Путь к SQLite-файлу истории |
save_metadata |
data/meta.jsonl |
YTD_SAVE_METADATA |
JSONL-файл с метаданными; используется и для импорта |
Пример блока в конфиге:
history_enabled: true
history_db: ./data/history.db
save_metadata: ./data/meta.jsonl- При отключенном журнале (
history_enabled: false) командаytd historyвернёт предупреждение, а загрузчик перестанет писать события. - Директории для
history_dbиsave_metadataсоздаются автоматически, можно указывать относительные пути. - Для переноса истории на другой компьютер скопируйте
history.dbи соответствующийmeta.jsonl— при первой инициализации пустой таблицы записи будут импортированы.
По умолчанию интерактивный выбор качества выключен, если в конфиге не задано иное:
interactive_by_default: false # значение по умолчаниюЧтобы включить диалоги без флага --interactive:
interactive_by_default: trueCLI-флаги имеют приоритет: --interactive / --no-interactive переопределяют конфиг.