1
Configuration
wiki-sync-bot edited this page 2026-02-23 14:28:35 +03:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Конфигурация (.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