Справочник настроек
Референс всех настроек TaigaReport. Базовая настройка описана в настройке LLM — здесь полный список с дефолтами.
Схема приоритетов
дефолты → ~/.config/taigareport/config.json → env → CLI-флаги
Каждый следующий уровень перекрывает предыдущий: разовый прогон флагом всегда сильнее
постоянной настройки. Для ключа внутри источника: api_key > api_key_cmd
(env LLM_API_KEY перекрывает оба). Конфиг-файл отсутствует или пуст — не ошибка.
Переменные окружения
| Переменная | По умолчанию | Описание |
|---|---|---|
LLM_BASE_URL | http://127.0.0.1:4000 | OpenAI-совместимый endpoint; /chat/completions добавляется сам, для /v1-прокси указывайте .../v1 |
LLM_API_KEY | — | API-ключ (задаётся вместе с LLM_MODEL) |
LLM_MODEL | — | Имя модели |
LLM_TIMEOUT | 900 | Бюджет одного вызова: секунды или duration (1 с … 1 ч); в конфиге — timeout_seconds |
LLM_MAX_INPUT_BYTES | 102400 | Бюджет сырого текста фазы extract (1 КиБ … 10 МиБ); в конфиге — max_input_bytes |
LLM_CONTEXT_TOKENS | карта известных моделей | Явный лимит контекста endpoint для предпроверки payload (1000 … 10 000 000); в конфиге — context_tokens |
LLM_MAX_OUTPUT_TOKENS | не отправляется | Явный лимит ответа: уходит в запрос как max_tokens (256 … 1 000 000); в конфиге — max_output_tokens |
LLM_TOTAL_BUDGET | выключен | Общий бюджет всех LLM-фаз прогона (1 с … 24 ч); в конфиге — total_budget_seconds, флаг --total-budget |
config.json
Путь: ~/.config/taigareport/config.json (уважает XDG_CONFIG_HOME). Пример целиком:
{
"base_url": "http://127.0.0.1:4000",
"api_key": "",
"api_key_cmd": "op read 'op://Vault/taigareport/key'",
"model": "gpt-4o-mini",
"timeout_seconds": 900,
"max_input_bytes": 102400,
"context_tokens": null,
"max_output_tokens": null,
"total_budget_seconds": null,
"language": "",
"system_prompt_extra": "",
"open": true,
"out_dir": "",
"encoding": "auto"
}
| Поле | По умолчанию | Описание |
|---|---|---|
base_url | http://127.0.0.1:4000 | Endpoint (эквивалент LLM_BASE_URL) |
api_key | — | Ключ в явном виде |
api_key_cmd | — | Команда-источник ключа (30 с таймаут, вывод до 64 КиБ); слабее api_key |
model | — | Модель (эквивалент LLM_MODEL) |
timeout_seconds | 900 | Бюджет одного вызова |
max_input_bytes | 102400 | Бюджет текстового входа фазы extract |
context_tokens | карта моделей | Явный лимит контекста |
max_output_tokens | — | Лимит ответа (max_tokens в запросе) |
total_budget_seconds | выключен | Общий бюджет LLM-фаз прогона |
language | язык данных по детекту | Язык текста отчёта; перекрывается --lang |
system_prompt_extra | — | Доп. инструкции во все системные промпты (≤ 4 КиБ) |
open | true | Открывать отчёт в браузере; приоритет: --no-open > --open > конфиг |
out_dir | taigareport-reports/ рядом с бинарником | Директория автоименованных отчётов (поддерживает ~); перекрывается --out-dir |
encoding | auto | Кодировка не-UTF-8 входа: auto или cp1251 / koi8-r / cp866 / iso-8859-5 / mac-cyrillic |
CLI-флаги
taigareport [flags] <data-file | ->
| Флаг | Описание |
|---|---|
--out FILE | Точное имя выходного файла, без метки времени; без флага — уникальное автоимя |
--out-dir DIR | Директория автоименованных отчётов (приоритет: флаг > out_dir конфига > дефолт) |
--open / --no-open | Открыть / не открывать отчёт в браузере (--no-open сильнее — для скриптов и CI) |
--no-llm | Эвристический выбор диаграммы, без вызова LLM (только табличный вход) |
--deep | Трек автономного анализа: паспорт → план → findings → страница (несовместим с --no-llm) |
--format csv|json|md|yaml|text | Переопределить детект формата |
--encoding ENC | Кодировка входа (перекрывает конфиг) |
--title STRING | Заголовок отчёта |
--lang LANG | Язык текста отчёта: код (ru) или название (Russian); перекрывает конфиг |
--prompt TEXT | Доп. инструкции ко всем LLM-запросам прогона (≤ 4 КиБ) |
--meta FILE | Контракт данных: JSON с ролями/единицами/весами колонок; строгая валидация |
--total-budget DUR | Общий бюджет LLM-фаз (например 30m, 1h) |
--no-run-artifact | Не писать sidecar .run.json (replay без него невозможен) |
--no-progress | Не показывать стадии прогресса в stderr |
--debug | Диагностика: размеры payload, retry, валидация, бюджетные предупреждения |
Подкоманды:
| Команда | Описание |
|---|---|
taigareport replay <file.run.json> | Перерисовать отчёт из артефакта прогона без LLM — байт-идентичный HTML |
taigareport llm test | Разрезолвить конфигурацию, напечатать источник каждого поля, один пробный вызов |
Диагностика и exit-коды
stdout несёт ровно одну строку — путь к отчёту; диагностика в stderr.
| Код | Значение |
|---|---|
0 | Успех (включая деградации с предупреждением: fallback на эвристики, страница без viz-brief) |
1 | Usage / внутренняя ошибка |
2 | Входные данные (в т.ч. --no-llm с текстом или с --deep) |
3 | Конфигурация LLM (env неполон или 401/403) |
4 | Сбой LLM-фазы без fallback (извлечение из текста; любая фаза --deep) |
5 | Ошибка записи |
Дефолты сверены с README TaigaReport и ADR-0004/0009/0012 (v0.50.4), октябрь 2026.