# ============================================================================= # GenAudioBookInfo — пример конфигурации # Скопируй этот файл в .env и заполни своими значениями: # cp .env.example .env # ============================================================================= # --- Пути --- # DIR_IN — входная папка с аудиокнигами (или передать как аргумент CLI) # DIR_OUT — папка результатов (по умолчанию: /result) DIR_IN=D:\Audiobooks\Incoming DIR_OUT=D:\Audiobooks\Result # --- TorrAPI --- # Адрес TorrServer (https://github.com/YouROK/TorrServer) # Переопределяется флагом -api TORRAPI_URL=http://localhost:9200 # --- Параметры обработки --- # PROCESSING_WORKERS — параллельных воркеров (переопределяется флагом -workers) # PROCESSING_TIMEOUT — общий таймаут сессии (переопределяется флагом -timeout) # PROCESSING_SEARCH_RETRIES — попыток поиска книги на трекерах # PROCESSING_SEARCH_RETRY_DELAY — пауза между попытками поиска # PROCESSING_SEARCH_CONCURRENCY — макс. параллельных запросов к TorrAPI PROCESSING_WORKERS=2 PROCESSING_TIMEOUT=5m PROCESSING_SEARCH_RETRIES=3 PROCESSING_SEARCH_RETRY_DELAY=3s PROCESSING_SEARCH_CONCURRENCY=2 # --- OpenRouter LLM (опционально) --- # Если OPENROUTER_API_KEY пуст — LLM выключен, используются только теги и трекеры. # Ключ получить на: https://openrouter.ai/keys # Список моделей: https://openrouter.ai/models OPENROUTER_API_KEY=sk-or-v1-your-api-key-here OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 OPENROUTER_TIMEOUT=120s OPENROUTER_MODEL=deepseek/deepseek-r1-0528:free OPENROUTER_MAX_RETRIES=3 OPENROUTER_RETRY_BACKOFF=1s OPENROUTER_RETRY_BACKOFF_MAX=8s OPENROUTER_PROMPT=Ты — эксперт по библиографии русскоязычных аудиокниг. Тебе на вход подаётся автор и название аудиокниги, извлечённые автоматически из имени папки или ID3-тегов. Данные могут содержать артефакты: подчёркивания вместо пробелов, лишние пробелы, неверный регистр, транслит, опечатки, технические суффиксы (MP3, М4В, 128kbps), номера частей или срии в названии. Твоя задача — исправить имя автора и название книги до корректного вида: правильные ФИО автора (Фамилия Имя Отчество или Имя Фамилия), нормальное название без технических артефактов. Если данные уже корректны — верни их без изменений. Отвечай ТОЛЬКО валидным JSON без пояснений: {"author": "...", "title": "..."} # OPENROUTER_PROMPT= # Опционально. Если не задан — используется встроенный промпт. # Промпт должен требовать ответ строго в JSON: # {"author": "Фамилия Имя", "title": "Название", ...}