# Использование CLI ## Синтаксис ``` genaudiobookinfo [опции] [путь к каталогу с аудиокнигами] ``` Если путь не передан, используется `dir.in` из `config.yaml`. --- ## Флаги | Флаг | Тип | По умолчанию | Описание | |---|---|---|---| | `-workers N` | int | `0` (из config) | Количество параллельных воркеров. Переопределяет `processing.workers`. | | `-timeout T` | duration | `0` (из config) | Таймаут всей сессии. Формат: `5m`, `1h30m`. Переопределяет `processing.timeout`. | | `-api URL` | string | из config | URL TorrAPI сервера. Переопределяет `torrapi.url`. | | `-result DIR` | string | `<вход>/result` | Папка для результатов. Переопределяет `dir.out`. | | `-version` | flag | — | Вывести версию и выйти. | ### Приоритет параметров ``` CLI-флаг > config.yaml > встроенные defaults ``` Флаги `-workers` и `-timeout` со значением `0` (умолчание) не перетирают конфиг. --- ## Примеры ### Минимальный запуск (всё из config.yaml) ```bash ./genaudiobookinfo ``` ### Указать входной каталог явно ```bash ./genaudiobookinfo D:\Audiobooks ``` ### Переопределить количество воркеров ```bash ./genaudiobookinfo -workers 6 D:\Audiobooks ``` ### Другой сервер TorrAPI ```bash ./genaudiobookinfo -api http://192.168.1.10:9200 D:\Audiobooks ``` ### Указать нестандартную папку результатов ```bash ./genaudiobookinfo -result E:\ProcessedBooks D:\Audiobooks ``` ### Полный набор параметров ```bash ./genaudiobookinfo \ -workers 4 \ -timeout 30m \ -api http://localhost:9200 \ -result D:\Books\result \ D:\Books\Incoming ``` ### Проверить версию ```bash ./genaudiobookinfo -version # GenAudioBookInfo v2.0.0 ``` --- ## Переменные окружения | Переменная | Описание | |---|---| | `OPENROUTER_API_KEY` | API ключ OpenRouter. Используется если `openrouter.api_key` в config.yaml пуст. | ```bash export OPENROUTER_API_KEY=sk-or-v1-xxxx ./genaudiobookinfo D:\Audiobooks ``` --- ## Управление в TUI Во время обработки работает полноэкранный TUI: | Клавиша | Действие | |---|---| | `q` | Мягкое завершение (graceful stop, ждёт текущий воркер) | | `Ctrl+C` | Прерывание (cancel context) | --- ## Сигналы ОС | Сигнал | Действие | |---|---| | `SIGINT` (Ctrl+C) | Отмена контекста → воркеры завершают текущую книгу | | `SIGTERM` | То же | --- ## Код выхода | Код | Значение | |---|---| | `0` | Успешное завершение | | `1` | Ошибка запуска (нет входного каталога, ошибка сканирования) |