Files
GenAudioBookInfo/wiki/Configuration.md
Dmitriy Fofanov 41fb62f62e Добавлены страницы вики для GenAudioBookInfo: Home, Installation, Makefile, OpenRouter, Output Structure, TorrAPI и Sidebar.
Создана структура документации, описывающая функциональность, установку, использование CLI, архитектуру и интеграции с TorrAPI и OpenRouter.
Добавлены примеры конфигурации и метаданных, а также описание структуры выходных данных.
2026-02-23 13:19:39 +03:00

5.1 KiB
Raw Blame History

Конфигурация (.env)

Все параметры хранятся в файле .env в корне проекта.
Копируется из .env.example при первой настройке. Файл .env не коммитится в Git.
Параметры командной строки (где применимо) переопределяют значения из .env.


Пути

DIR_IN=D:\Audiobooks
DIR_OUT=D:\Audiobooks\result
Переменная Тип По умолчанию Описание
DIR_IN string Корневой каталог для сканирования. Можно переопределить аргументом CLI.
DIR_OUT string <DIR_IN>/result Куда складывать обработанные книги. Можно переопределить флагом -result.

TorrAPI сервер

TORRAPI_URL=http://localhost:9200
Переменная Тип По умолчанию Описание
TORRAPI_URL string http://localhost:9200 URL TorrAPI-совместимого сервера. Переопределяется флагом -api.

Параметры конвейера

PROCESSING_WORKERS=2
PROCESSING_TIMEOUT=5m
PROCESSING_SEARCH_RETRIES=3
PROCESSING_SEARCH_RETRY_DELAY=3s
PROCESSING_SEARCH_CONCURRENCY=2
Переменная Тип По умолчанию Описание
PROCESSING_WORKERS int 2 Число параллельных горутин-воркеров (Fan-Out). Переопределяется -workers.
PROCESSING_TIMEOUT duration 5m Дедлайн для всей сессии обработки. Переопределяется -timeout.
PROCESSING_SEARCH_RETRIES int 3 Сколько попыток найти книгу на трекерах перед перемещением в ERROR/.
PROCESSING_SEARCH_RETRY_DELAY duration 3s Задержка между повторными попытками поиска.
PROCESSING_SEARCH_CONCURRENCY int 2 Ограничение числа одновременных HTTP-запросов к TorrAPI (семафор).

Приоритет параметров

CLI-флаг (-workers/-timeout)  >  .env  >  встроенные defaults

Флаги -workers и -timeout со значением 0 (умолчание) не перетирают значение из .env.


OpenRouter LLM (опционально)

OPENROUTER_API_KEY=sk-or-v1-your-key
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
OPENROUTER_TIMEOUT=120s
OPENROUTER_MODEL=openai/gpt-4o-mini
OPENROUTER_MAX_RETRIES=3
OPENROUTER_RETRY_BACKOFF=1s
OPENROUTER_RETRY_BACKOFF_MAX=8s
# OPENROUTER_PROMPT=   # опционально, переопределяет встроенный промпт
Переменная Тип По умолчанию Описание
OPENROUTER_API_KEY string "" API ключ. Если пуст — LLM выключен. Можно передать через переменную окружения ОС.
OPENROUTER_BASE_URL string https://openrouter.ai/api/v1 Базовый URL API.
OPENROUTER_TIMEOUT duration 120s Таймаут одного запроса к API.
OPENROUTER_MODEL string openai/gpt-3.5-turbo Идентификатор модели в формате provider/model.
OPENROUTER_MAX_RETRIES int 3 Количество ретраев при ошибках API.
OPENROUTER_RETRY_BACKOFF duration 1s Начальная задержка между ретраями (экспоненциальный backoff).
OPENROUTER_RETRY_BACKOFF_MAX duration 8s Максимальная задержка backoff.
OPENROUTER_PROMPT string (встроенный) Системный промпт. Если не задан — используется дефолтный из кода.

Ключ через переменную окружения ОС

OPENROUTER_API_KEY можно не писать в .env — достаточно задать в окружении ОС. Переменные ОС имеют приоритет над .env:

export OPENROUTER_API_KEY=sk-or-...
./genaudiobookinfo

Форматы продолжительностей

Go-синтаксис: 300ms, 1.5s, 2m30s, 1h.
Примеры для *_TIMEOUT: 5m, 10m, 1h30m.


Полный пример .env

# Пути
DIR_IN=D:\Audiobooks
DIR_OUT=D:\Audiobooks\result

# TorrAPI
TORRAPI_URL=http://localhost:9200

# Конвейер
PROCESSING_WORKERS=4
PROCESSING_TIMEOUT=15m
PROCESSING_SEARCH_RETRIES=3
PROCESSING_SEARCH_RETRY_DELAY=3s
PROCESSING_SEARCH_CONCURRENCY=2

# OpenRouter
OPENROUTER_API_KEY=sk-or-v1-xxxxxxxxxxxxxxxxxxxx
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
OPENROUTER_TIMEOUT=120s
OPENROUTER_MODEL=openai/gpt-4o-mini
OPENROUTER_MAX_RETRIES=3
OPENROUTER_RETRY_BACKOFF=1s
OPENROUTER_RETRY_BACKOFF_MAX=8s