Создана структура документации, описывающая функциональность, установку, использование CLI, архитектуру и интеграции с TorrAPI и OpenRouter. Добавлены примеры конфигурации и метаданных, а также описание структуры выходных данных.
124 lines
3.2 KiB
Markdown
124 lines
3.2 KiB
Markdown
# Использование 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` | Ошибка запуска (нет входного каталога, ошибка сканирования) |
|