Здесь перечислены все настройки, которые оператор может изменить на сервере AiHummer. Страница собирается из каталога самого продукта, поэтому совпадает с вашим сервером.
Значение задаётся в веб-интерфейсе или командой aihummer settings set KEY VALUE (Командная строка). В колонке значения по умолчанию — то, что использует сервер, пока своё значение не задано.
[!NOTE]
Значения секретов здесь не печатаются, а служебные ключи вендора не перечислены вовсе — продукт скрывает их из всех списков. Прочерк означает пустое значение или пояснение, которое показывается только в веб-интерфейсе.
API
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_PERSONAL_API_KEYS
Персональные API-ключи для OpenAI-совместимого API
bool
1
«off» отключает аутентификацию по персональным ключам на OpenAI-совместимом эндпоинте. Любое другое значение = включено. Применяется при старте/после рестарта.
Agent
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_APPROVAL_TOOLS
Инструменты, требующие подтверждения
text
—
Список инструментов (через запятую), вызов которых требует ручного подтверждения оператором перед выполнением. Пусто = подтверждение не требуется. Применяется при старте/после рестарта.
AIHUMMER_SUBAGENT_MAX_DEPTH
Максимальная глубина суб-агентов
int
2
Максимальная глубина вложенности суб-агентов (агент, запускающий агента). По умолчанию 2 — защита от бесконечной рекурсии. Применяется при старте/после рестарта.
AIHUMMER_SUBAGENT_TIMEOUT_SEC
Таймаут суб-агента (секунды)
int
180
Максимальное время одного запуска суб-агента, секунды. Применяется при старте/после рестарта.
AIHUMMER_TOOL_SEARCH
Ленивая загрузка инструментов (tool_search)
bool
false
Показывать только базовые инструменты и мета-инструмент поиска, остальные раскрывать по запросу. Ускоряет ходы и снижает затраты при большом числе инструментов, с небольшим риском, что модель не заметит редкий инструмент.
AIHUMMER_TOOL_SEARCH_CORE
Ленивая загрузка: всегда включённые инструменты
text
—
Список имён инструментов через запятую, которые остаются опубликованными сразу даже в ленивом режиме.
AIHUMMER_TOOL_SEARCH_THRESHOLD
Ленивая загрузка: минимум инструментов для отсрочки
int
12
Откладывать загрузку, только если после фильтра профиля агента остаётся больше этого числа инструментов.
Agent · Reasoning
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_AGENT_BEST_OF_N
Сэмплов best-of-N (0/1=выкл., ≥2=вкл.)
int
0
≥2 сэмплирует N кандидатов и выбирает лучшего судьёй. Стоит N× генераций.
AIHUMMER_AGENT_DEBATE_JUDGE_PROMPT
Дебаты: промпт судьи (переопределение)
text
—
Переопределяет промпт судьи дебатов (пусто = встроенный). Применяется при старте/после рестарта.
AIHUMMER_AGENT_DEBATE_N
Размер панели дебатов (0/1=выкл., ≥2=вкл.)
int
0
≥2 запускает панель дебатов из N кандидатов + судью. Стоит N× генераций.
AIHUMMER_AGENT_DEBATE_PROMPT
Дебаты: промпт кандидата (переопределение)
text
—
Переопределяет промпт кандидата в дебатах (пусто = встроенный). Применяется при старте/после рестарта.
AIHUMMER_AGENT_DEBATE_ROUNDS
Дебаты: раунды
int
1
Число раундов дебатов панели кандидатов. Применяется при старте/после рестарта.
AIHUMMER_AGENT_JUDGE_PROMPT
Промпт судьи best-of-N (переопределение)
text
—
Переопределяет промпт судьи best-of-N (пусто = встроенный). Применяется при старте/после рестарта.
AIHUMMER_AGENT_PLAN_PROMPT
Промпт планировщика (переопределение)
text
—
Переопределяет промпт планировщика (пусто = встроенный). Применяется при старте/после рестарта.
AIHUMMER_AGENT_PLAN_STEPS
Планировщик-исполнитель: макс. шагов плана (0=выкл.)
int
0
⟩0 запускает отдельный проход планировщик→исполнитель→синтез (полезно для сложных многошаговых задач). 0 = выключено. Обычно 4–8.
AIHUMMER_AGENT_PLAN_STEP_ITERS
Планировщик: итераций инструментов на шаг (0=по умолчанию)
int
0
Ограничивает число итераций вызова инструментов на шаг плана. 0 = встроенное значение по умолчанию (4).
AIHUMMER_AGENT_REFLECT
Проход само-критики
bool
0
Добавляет проход рефлексии/само-критики перед финальным ответом.
AIHUMMER_AGENT_REFLECT_PROMPT
Промпт рефлексии (переопределение)
text
—
Переопределяет промпт само-критики (пусто = встроенный). Применяется при старте/после рестарта.
AIHUMMER_AGENT_SELF_HEAL
Само-восстановление: повторы при ошибках инструментов (0=выкл.)
int
0
⟩0 повторяет неудавшиеся вызовы инструментов с корректирующей подсказкой, вплоть до этого предела.
Agent · System prompt
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_LOCALE
Локаль по умолчанию
text
ru-RU
Язык/локаль ответа по умолчанию, напр. ru-RU. Инструкции персоны/оператора имеют приоритет.
AIHUMMER_TIMEZONE
Часовой пояс
text
UTC
Часовой пояс IANA для вставки даты, напр. Europe/Moscow. По умолчанию UTC.
Channels
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_CONFIDENTIAL_PERSONA
Конфиденциальная веб-персона
bool
0
Когда включено, веб-чат-агент не раскрывает и не сохраняет данные своей персоны/личности и отвечает строго по задаче — для анонимных или приватных веб-развёртываний. Применяется при старте/после рестарта.
AIHUMMER_INBOUND_REQUIRE_BINDING
Отвечать только зарегистрированным пользователям
text
true
true = бот игнорирует любого отправителя в канале, который НЕ является заведённым пользователем AiHummer (пользователь с привязкой роли) — случайные участники чата и гостевые вызовы не получают ответа. false (по умолчанию) = отвечать всем.
Integrations
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_A2A_PUBLISH
Публиковать агента через Agent2Agent (A2A)
bool
0
Опубликовать агента как A2A-сервер (Agent Card + POST /a2a/message). Применяется при старте/после рестарта.
AIHUMMER_MCP_EXPORT_TOOLS
MCP exported tools (comma-separated allowlist)
text
—
Явный список имён инструментов, разрешённых внешним MCP-клиентам, через запятую. Пусто = не публиковать ни одного инструмента. Опасные host-level классы дополнительно запрещены встроенной политикой, даже если перечислены. Применяется при старте/после рестарта.
AIHUMMER_MCP_PUBLISH
Публиковать инструменты через MCP
bool
0
Опубликовать инструменты как MCP-сервер на POST /v1/mcp. Применяется при старте/после рестарта.
Duration (напр. 6h, 30m) для фонового авто-пересинка всех настроенных knowledge-коннекторов каждого рабочего пространства. Пусто/0 = выключено. Re-sync идемпотентен (замена по source, без дублей). slack_export не входит (zip загружается вручную). Применяется при старте/после рестарта.
LLM
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_CASCADE_MIN_CHARS
Каскад: минимум символов для эскалации
int
0
Порог длины запроса (символы), с которого включается сильная модель каскада. 0 = по умолчанию. Применяется при старте/после рестарта.
AIHUMMER_CASCADE_STRONG_MODEL
Каскад: более сильная запасная модель
text
—
Модель, на которую каскадно переключаемся для длинных/сложных запросов (пусто = выключено). Применяется при старте/после рестарта.
AIHUMMER_CODEX_BASE_URL
Базовый URL Codex
text
—
База Codex (ChatGPT-subscription) транспорта. Применяется при старте/после рестарта.
AIHUMMER_CODEX_MAX_OUTPUT_TOKENS
Макс. выходных токенов (0 = без ограничения)
int
0
Ограничение max_output_tokens для чат-хода. 0 = без ограничения. У reasoning-моделей токены рассуждений тоже считаются в этот бюджет, поэтому слишком малое значение даёт пустой ответ «incomplete: max_output_tokens». Применяется на лету (без рестарта).
AIHUMMER_CODEX_MODEL
Идентификатор модели (транспорт Codex / gpt-5.5)
text
gpt-5.5
Идентификатор модели основного транспорта Codex/ChatGPT (напр. gpt-5.5, gpt-5.5-codex). Применяется при старте/после рестарта.
AIHUMMER_CODEX_REASONING_EFFORT
Глубина рассуждений
enum: none \| low \| medium \| high \| xhigh
low
Глубина рассуждений модели для чат-ходов, когда параметры агента её не задают. Допустимые значения gpt-5.5: none, low, medium, high, xhigh (НЕ minimal — gpt-5.5 отклоняет его с HTTP 400). Выше = качественнее, но дольше/дороже. Неверное значение безопасно приводится к low. Применяется на лету (без рестарта).
AIHUMMER_LLM_CALL_TIMEOUT_S
Таймаут одного вызова (секунды)
int
120
Бюджет времени на ОДИН вызов модели (анти-сталл: gpt-5.5 может «думать» бесконечно и держать ход открытым). По истечении вызов завершается ошибкой ErrCallTimeout без повторов. 0 = без ограничения. Применяется на лету (без рестарта).
AIHUMMER_LLM_GATEWAY_URL
URL LLM-шлюза
text
—
Базовый URL OpenAI-совместимого эндпоинта модели, к которому обращается агент (ваш локальный сервер llama.cpp/vLLM/Ollama или размещённый шлюз). Пусто — использовать эндпоинт провайдера по умолчанию.
AIHUMMER_LLM_MODEL
Модель LLM
text
—
Имя/идентификатор модели, отправляемый провайдеру на каждом ходе (модель, которую отдаёт ваш эндпоинт). Должно совпадать с моделью, которую реально предоставляет эндпоинт.
AIHUMMER_LLM_PROVIDER
Провайдер LLM
text
—
Какой бэкенд модели использовать (OpenAI-совместимый эндпоинт или транспорт Codex/подписка ChatGPT). Определяет, как отправляются и авторизуются запросы.
AIHUMMER_LLM_RETRIES
Повторы LLM при временной ошибке
int
3
Число повторов запроса к LLM при временной ошибке. Применяется при старте/после рестарта.
AIHUMMER_LLM_TEMPERATURE
Температура
text
—
Температура сэмплирования (0..2), когда параметры агента её не задают. Пусто = не отправлять. ВНИМАНИЕ: модели-рассуждатели gpt-5.5 (Codex) отклоняют temperature — оставьте поле пустым для них; задавайте только если используете не-reasoning бэкенд. Применяется на лету (без рестарта).
AIHUMMER_LLM_TOP_P
Top-p (nucleus-сэмплирование)
text
—
Порог nucleus-сэмплирования (0..1), когда параметры агента его не задают. Пусто = не отправлять. Как и temperature, gpt-5.5 reasoning его отклоняет — задавайте только для не-reasoning бэкендов. Применяется на лету (без рестарта).
AIHUMMER_OPENAI_API
Стиль API OpenAI (chat | responses)
enum: \| chat \| responses
—
chat = /chat/completions, responses = /responses. Пусто = авто/по умолчанию. Применяется при старте/после рестарта.
AIHUMMER_OPENAI_API_KEY
API-ключ нативного OpenAI (по умолчанию для установки)
text
—
Ключ вашего OpenAI-аккаунта для нативного OpenAI-цикла (если используете OpenAI как провайдера по умолчанию). Не путать с BYOK рабочего пространства на странице «Модели». Применяется при старте/после рестарта.
AIHUMMER_OPENAI_BASE_URL
Базовый URL нативного OpenAI
text
—
База OpenAI-совместимого API (напр. https://api.openai.com/v1). Применяется при старте/после рестарта.
AIHUMMER_OPENAI_MODEL
Модель нативного OpenAI
text
—
Модель для нативного OpenAI-цикла (если задан AIHUMMER_OPENAI_API_KEY). Применяется при старте/после рестарта.
AIHUMMER_ROUTER_COMPLEX_MODEL
Роутер: модель для сложных запросов
text
—
Модель для сложных запросов (пусто = band выключен). Применяется при старте/после рестарта.
AIHUMMER_ROUTER_SIMPLE_MODEL
Роутер: модель для простых запросов
text
—
Модель для простых запросов (пусто = band выключен). Применяется при старте/после рестарта.
AIHUMMER_ROUTER_STANDARD_MODEL
Роутер: модель для обычных запросов
text
—
Модель для обычных запросов (пусто = band выключен). Применяется при старте/после рестарта.
Media
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_DEEPGRAM_API_KEY
API-ключ Deepgram
text
—
API-ключ Deepgram (движок STT = deepgram). Берётся отсюда или из AIHUMMER_STT_API_KEY. Применяется при старте/после рестарта.
AIHUMMER_DEEPGRAM_MODEL
Модель Deepgram
text
nova-2
Модель Deepgram (напр. nova-2, nova-3, base). Зависит от доступа проекта по ключу. Применяется при старте/после рестарта.
База /images API при работе через OpenAI-ключ (пусто = https://api.openai.com/v1). Применяется при старте/после рестарта.
AIHUMMER_IMAGE_MODEL
Модель генерации изображений
text
—
Модель для image_generate (по умолчанию gpt-image-2). Применяется при старте/после рестарта.
AIHUMMER_MEDIA_MAX_UPLOAD_MB
Макс. размер загрузки медиа (МБ)
int
256
Максимальный размер одной загрузки медиа (PUT /v1/media/{id}/content), в мегабайтах. Ограничивает запись на диск через публичный порт (защита от переполнения). По умолчанию 256. Применяется при старте/после рестарта.
AIHUMMER_STT_API_KEY
API-ключ STT (необязательно)
text
—
Опциональный bearer, если сайдкар STT его требует (install.sh может сгенерировать). Применяется при старте/после рестарта.
AIHUMMER_STT_CODEX_URL
URL движка STT для Codex
text
—
База OpenAI-совместимого /v1/audio/transcriptions для движка codex (транскрипция по подписке ChatGPT). Пусто = база Codex. Bearer берётся из AIHUMMER_STT_API_KEY или AIHUMMER_CODEX_ACCESS_TOKEN. Применяется при старте/после рестарта.
AIHUMMER_STT_ENGINE
Движок распознавания речи (STT)
enum: faster-whisper \| deepgram \| off
faster-whisper
Движок распознавания речи. faster-whisper = бесплатный локальный сайдкар (по умолчанию, ставится из коробки, URL = AIHUMMER_STT_URL, без нагрузки на сторонние API). deepgram = облачный Deepgram (быстрый, ключ AIHUMMER_DEEPGRAM_API_KEY, платный с free-tier). off = распознавание выключено. (Codex/ChatGPT-подписка НЕ поддерживает транскрипцию аудио.) Применяется при старте/после рестарта.
AIHUMMER_STT_LANGUAGE
Язык распознавания речи (STT)
text
—
Язык распознавания (BCP-47, напр. ru/en). Используется движком deepgram (модель nova-2). Пусто = автоопределение/дефолт движка. Применяется при старте/после рестарта.
AIHUMMER_STT_MODEL
Модель STT
text
Systran/faster-whisper-small
Модель faster-whisper (напр. small/medium/large-v3 или Systran/faster-whisper-⟨size⟩). Применяется при старте/после рестарта.
AIHUMMER_STT_URL
URL распознавания речи (faster-whisper)
text
—
URL локального faster-whisper сайдкара (OpenAI-совместимый /v1/audio/transcriptions). Пусто = автодефолт http://127.0.0.1:8001, который install.sh прописывает сам. Применяется при старте/после рестарта.
AIHUMMER_TTS_API_KEY
API-ключ TTS (edge-tts)
text
—
Bearer между gateway и сайдкаром edge-tts (install.sh генерирует автоматически). Применяется при старте/после рестарта.
AIHUMMER_TTS_ENABLED
Синтез речи включён
bool
1
Включает синтез речи (tool tts + голосовой режим). Сайдкар edge-tts ставится из коробки. Применяется при старте/после рестарта.
AIHUMMER_TTS_MODEL
Модель TTS
text
—
Имя модели для edge-tts сервиса. Применяется при старте/после рестарта.
AIHUMMER_TTS_URL
URL синтеза речи (edge-tts)
text
—
URL локального edge-tts сайдкара (OpenAI-совместимый /v1/audio/speech). Пусто = автодефолт http://127.0.0.1:8002, который install.sh прописывает сам. Применяется при старте/после рестарта.
AIHUMMER_TTS_VOICE
Голос TTS (по умолчанию de-DE-FlorianMultilingualNeural)
text
de-DE-FlorianMultilingualNeural
Голос edge-tts по умолчанию (мультиязычный, в т.ч. русский). Применяется при старте/после рестарта.
AIHUMMER_VIDEO_API_KEY
API-ключ анализа видео
text
—
Ключ доступа к сайдкару анализа видео (если требуется). Применяется при старте/после рестарта.
AIHUMMER_VIDEO_URL
URL анализа видео (ffmpeg)
text
—
URL сайдкара анализа видео. Пусто = выключено. Применяется при старте/после рестарта.
Media · Voice
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_VOICE_AEC
Подавление эха (AEC)
bool
1
Требовать echoCancellation на захвате (WebRTC). Устраняет эхо TTS в микрофон (Moltis #1129).
AIHUMMER_VOICE_AGC
Автоматическая регулировка усиления
bool
1
Требовать автоматическую регулировку усиления микрофона (WebRTC autoGainControl) в голосовом режиме.
AIHUMMER_VOICE_BARGEIN_FRAMES
Кадров для прерывания (barge-in)
int
5
Сколько подряд озвученных кадров (≈20мс) прерывают воспроизведение бота.
AIHUMMER_VOICE_DUPLEX
Живой полнодуплексный голос
bool
0
Включает живой полнодуплексный режим (стриминг + VAD + barge-in). Применяется при старте/после рестарта.
AIHUMMER_VOICE_NOISE_SUPPRESSION
Шумоподавление
bool
1
Требовать подавление шума на захвате микрофона (WebRTC noiseSuppression) в голосовом режиме.
AIHUMMER_VOICE_VAD_THRESHOLD
Порог энергии VAD (0..1)
text
0.02
Порог энергии речи для VAD-гейтинга захвата; ниже = чувствительнее.
Memory
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_EMBEDDER_DIM
Размерность вектора эмбеддера
int
768
Размерность вектора — должна совпадать с моделью (multilingual-e5-base=768, bge-m3=1024).
AIHUMMER_EMBEDDER_KEEPALIVE
Keep-alive эмбеддера
text
5m
keep_alive для Ollama-эмбеддера (только при AIHUMMER_MEMORY_RETRIEVAL=embedding). По умолчанию 5m — простаивающая модель выгружается, и зависший idle-runner ollama сам очищается. НЕ рекомендуется -1 (держать вечно): из-за бага ollama застрявший runner может молотить ядро CPU сутками. Холодный старт после простоя компенсируется прогревом на старте гейтвея. Применяется при старте/после рестарта.
AIHUMMER_EMBEDDER_MODEL
Модель эмбеддера
text
yxchia/multilingual-e5-base
Модель эмбеддинга Ollama. По умолчанию multilingual-e5-base — многоязычная (в т.ч. русский), 768-мерная, лёгкая и быстрая на CPU (~1-2с/эмбеддинг). Префиксы query/passage для e5 применяются автоматически. Для максимального качества на GPU используйте bge-m3 (задайте DIM=1024). Должна совпадать с AIHUMMER_EMBEDDER_DIM.
AIHUMMER_EMBEDDER_PASSAGE_PREFIX
Префикс документа эмбеддера
text
—
Переопределить префикс сохраняемого документа (модели e5 автоматически используют «passage: »). Оставьте пустым для автоопределения по имени модели.
AIHUMMER_EMBEDDER_QUERY_PREFIX
Префикс запроса эмбеддера
text
—
Переопределить префикс поискового запроса (модели e5 автоматически используют «query: »). Оставьте пустым для автоопределения по имени модели.
AIHUMMER_EMBEDDER_URL
URL эмбеддера (совместимый с Ollama)
text
—
Настоящие семантические эмбеддинги. Установщик разворачивает сайдкар Ollama и задаёт это автоматически; НЕ ЗАДАНО = hash-эмбеддер (только лексический, слабое воспроизведение).
AIHUMMER_MEMORY_CAPTURE
Режим захвата памяти
enum: auto \| review \| off
auto
auto = запоминать и вспоминать автоматически; review = запоминать как кандидатов, требующих ручного одобрения; off = без захвата.
AIHUMMER_MEMORY_CONTEXT_TIMEOUT
Таймаут подгрузки памяти
text
3s
Максимум ожидания подгрузки памяти в начале ответа (эмбеддинг запроса + поиск). Если эмбеддер перегружен и не уложился — ответ идёт БЕЗ блока памяти, а не висит. Формат Go-duration (напр. 2s, 1500ms). 0 = без ограничения. Применяется при старте/после рестарта.
AIHUMMER_MEMORY_DREAM_INTERVAL
Интервал прохода «сна»
string
1h
Как часто само-обслуживающий проход dream сканирует проверенные утверждения на противоречия во всех областях (Go-duration, напр. 30m/1h/6h). 0 = выключить.
AIHUMMER_MEMORY_EXTRACT
Извлечение фактов через LLM
bool
1
Извлекать нормализованные факты субъект/предикат/объект через LLM (по умолчанию ВКЛ) вместо хранения сырых фрагментов предложений — необходимо для работы механизмов графа/противоречий/dream. Добавляет один вызов LLM на каждое захваченное сообщение; выключите, чтобы сэкономить вызов.
AIHUMMER_MEMORY_RETRIEVAL
Режим извлечения памяти
enum: fulltext \| embedding
fulltext
Как ищется память. fulltext (по умолчанию) = полнотекстовый поиск Postgres по тексту фактов — БЕЗ модели-эмбеддера, без сайдкара, без нагрузки на CPU (как старый einstein в AiHummer). embedding = семантический векторный поиск через эмбеддер (AIHUMMER_EMBEDDER_URL/ollama) — точнее по смыслу, но грузит CPU/требует сайдкар. Применяется при старте/после рестарта.
AIHUMMER_MEMORY_TOKEN
Сервисный токен удалённой памяти
text
—
Service-token для авторизации в Einstein Retrieval API (отправляется как Authorization: Bearer …). Нужен только при заданном AIHUMMER_MEMORY_URL. Пусто = без авторизации (только для dev-инсталляций с отключённой retrieval-авторизацией).
AIHUMMER_MEMORY_URL
URL удалённой памяти (плагин Einstein)
text
—
URL standalone-плагина памяти Einstein (контракт aihummer.memory.v1, напр. http://127.0.0.1:8820). ПУСТО (по умолчанию) = встроенный Go-модуль памяти. Если задан — подгрузка контекста хода идёт по HTTP в /context + /retrieval плагина; при ошибке/недоступности — мягкий откат на встроенный модуль (без падений). Применяется при старте/после рестарта.
AIHUMMER_QDRANT_API_KEY
API-ключ Qdrant
text
—
API-ключ Qdrant (если векторное хранилище требует авторизации). Нужен только при заданном Qdrant URL. Применяется при старте/после рестарта.
AIHUMMER_QDRANT_URL
URL Qdrant (постоянное векторное хранилище)
text
—
НЕ ЗАДАНО = хранилище в памяти (векторы ТЕРЯЮТСЯ при рестарте). Задайте для надёжного хранения в продакшене.
AIHUMMER_RERANKER_URL
URL сайдкара переранжирования RAG
text
—
HTTP-URL сайдкара кросс-энкодера для переранжирования гибридного поиска. Пусто = переранжирование выключено. Применяется при старте/после рестарта.
Moderation
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_MODERATION
Модерация входящих
bool
1
«off» отключает встроенный guard против jailbreak/prompt-injection. Любое другое значение = включено. Применяется при старте/после рестарта.
AIHUMMER_MODERATION_REFUSAL
Сообщение отказа модерации
text
—
Текст отказа, который возвращается при блокировке модератором (пусто = встроенный). Применяется при старте/после рестарта.
Public access
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_PUBLIC_URL
Публичный URL шлюза (Web UI + клиенты)
text
—
Проксируйте этот хост → на порт шлюза (AIHUMMER_GATEWAY_ADDR, по умолчанию :8780). Используется Web UI и iOS/web-клиентами.
POCKET_AGENT_GATEWAY_BASE_URL
Публичный URL шлюза pocket-agent
text
—
Проксируйте → на порт шлюза pocket-agent (POCKET_AGENT_PORT, по умолчанию 8080). Удалённый агент подключается сюда по одноразовому тикету.
TELEGRAM_PUBLIC_URL
Публичный URL вебхука Telegram
text
—
Только для режима webhook — проксируйте → на порт telegram-connector (AIHUMMER_TELEGRAM_CONNECTOR_PORT, по умолчанию 8091). Оставьте пустым для режима polling (публичный URL не нужен).
SSO (LDAP/AD)
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_LDAP_BASE_DN
Базовый DN поиска пользователей
text
—
Корень поиска, напр. OU=Users,DC=corp,DC=example.
AIHUMMER_LDAP_BIND_DN
Служебный DN для привязки
text
—
Учётная запись для начального поискового bind, напр. CN=svc-aihummer,OU=Service,DC=corp,DC=example. Пусто = анонимный поиск.
AIHUMMER_LDAP_DEFAULT_ROLE
LDAP: Роль по умолчанию (нет совпадения групп)
text
—
Роль, выдаваемая, когда ни одна группа не совпадает с маппингом. Пусто = без роли.
AIHUMMER_LDAP_ENABLED
Включить вход через LDAP/AD
bool
0
Когда включено, входы администраторов откатываются на каталог. Пароль привязки хранится в Secrets (scope ldap, name bind_password).
AIHUMMER_LDAP_GROUP_ATTR
Атрибут группы (по умолчанию memberOf)
text
—
Атрибут записи пользователя, перечисляющий DN групп. Пусто отключает маппинг группа→роль.
AIHUMMER_LDAP_ROLE_MAPPINGS
LDAP: Сопоставление групп → ролей (JSON)
text
—
JSON-объект DN группы (или простого CN) → роль, напр. {“CN=Admins,OU=Groups,DC=corp,DC=example”:“admin”,“Operators”:“operator”}.
AIHUMMER_LDAP_SKIP_TLS_VERIFY
Пропускать проверку TLS (только для лаборатории, 1/0)
bool
0
Отключает проверку сертификата каталога. Никогда не включайте в продакшене.
AIHUMMER_LDAP_URL
URL каталога
text
—
напр. ldaps://ad.corp.example:636 (TLS) или ldap://dc1.corp.example:389.
AIHUMMER_LDAP_USER_ATTR
Атрибут логина (по умолчанию sAMAccountName)
text
—
Атрибут LDAP/Active Directory, сопоставляемый с вводимым логином (по умолчанию sAMAccountName; uid для OpenLDAP, userPrincipalName для входа по UPN).
AIHUMMER_LDAP_USER_FILTER
Фильтр поиска пользователей
text
—
Должен содержать %s для логина. AD: (sAMAccountName=%s); OpenLDAP: (uid=%s).
SSO (OIDC)
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_OIDC_AUDIENCE
Audience у OIDC
text
—
Ожидаемый claim aud — задайте audience ЭТОГО ресурса, чтобы отклонять токены, выпущенные для другой стороны. Claim aud теперь ОБЯЗАТЕЛЕН в каждом токене по умолчанию (токен без aud отклоняется); когда это задано, aud также должен его содержать. Настоятельно рекомендуется в продакшене.
Публичный сертификат подписи SP (PEM). Соответствующий приватный ключ помещается в Secrets (scope saml, name sp_key).
Security
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_AIRGAPPED
Изолированный режим (air-gapped, 1/0)
bool
0
Блокирует управляемый моделью egress в публичный интернет (только внутренние/allowlist хосты). Применяется при старте/после рестарта.
AIHUMMER_AUDIT_RETENTION_DAYS
Хранение аудит-лога (дни, 0=вечно)
int
0
Сколько дней хранить аудит-лог; старше — ежедневно удаляется. 0/пусто = хранить вечно. Применяется при старте/после рестарта.
AIHUMMER_CODE_EXEC_ALLOW_HOST
Разрешить code_exec на хосте (БЕЗ песочницы)
bool
0
⚠️ Разрешить выполнение кода прямо на хосте без песочницы. Только для доверенного homelab. Безопаснее задать AIHUMMER_CODE_EXEC_SANDBOX_IMAGE. Применяется при старте/после рестарта.
AIHUMMER_CORS_ORIGINS
Разрешённые Origin для CORS (через запятую)
text
—
Список разрешённых Origin через запятую. Пусто = CORS не разрешён (только same-origin). Применяется при старте/после рестарта.
Переопределяет CSP-заголовок. Пусто = безопасный дефолт. Применяется при старте/после рестарта.
AIHUMMER_INBOUND_SECRET
Общий секрет коннектор → шлюз
text
—
Общий секрет, аутентифицирующий хоп коннектор→шлюз (должен совпадать со значением на стороне коннектора). Пусто = inbound-эндпоинт БЕЗ аутентификации. Применяется при старте/после рестарта.
AIHUMMER_OPENAI_COMPAT_KEY
OpenAI-совместимый вход: статический API-ключ
text
—
Статический ключ, которым OpenAI-совместимые клиенты аутентифицируются на встроенном /v1 эндпоинте шлюза (P8 home gateway). Пусто = статическая аутентификация выключена (остаются персональные ключи). Применяется при старте/после рестарта.
AIHUMMER_OPENAI_COMPAT_WORKSPACE
OpenAI-совместимый вход: ID рабочего пространства
text
—
ID рабочего пространства, в которое маппится статическая OpenAI-совместимая аутентификация. Пусто = AIHUMMER_DEFAULT_WORKSPACE_ID. Применяется при старте/после рестарта.
AIHUMMER_REQUIRE_2FA
Требовать 2FA для операторов
bool
0
Требовать второй фактор (TOTP/passkey) для операторов. Включено: операторам без 2FA при входе предлагается немедленно настроить его (без блокировки, чтобы не запереть владельца). Применяется сразу.
AIHUMMER_REQUIRE_SECURE
Принимать только защищённые соединения (HTTPS/WSS)
bool
0
Когда включено, обычные HTTP-запросы перенаправляются на HTTPS (для GET/HEAD) или отклоняются (403); доступ с localhost всегда разрешён, чтобы не заблокировать оператора. Учитывает X-Forwarded-Proto от завершающего TLS обратного прокси. Применяется при старте/после рестарта.
AIHUMMER_TRUSTED_PROXIES
Доверенные CIDR обратного прокси (через запятую)
text
—
Список доверенных сетей обратного прокси (CIDR, напр. 10.0.0.0/8,192.168.0.0/16, или одиночные IP) через запятую. Только для запросов, ПРИШЕДШИХ с этих адресов, заголовок X-Forwarded-For используется для определения IP клиента (аудит, IP-allowlist, анти-brute-force). Пусто = доверять ТОЛЬКО реальному peer-адресу (XFF игнорируется, спуфинг IP невозможен). Применяется на лету.
Tools
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_CODE_EXEC
Включить code_exec
bool
0
Включает инструмент выполнения кода (code_exec). По умолчанию выключен. Для изоляции задайте образ песочницы (Code-exec sandbox image) или явно разрешите выполнение на хосте. Применяется при старте/после рестарта.
AIHUMMER_CODE_EXEC_INTERPRETERS
Интерпретаторы code-exec (JSON)
text
—
JSON-объект {язык: путь_к_бинарю}, напр. {“python”:“/usr/bin/python3”}. Пусто = автоопределение. Применяется при старте/после рестарта.
AIHUMMER_CODE_EXEC_SANDBOX_IMAGE
Образ песочницы code-exec
text
—
Container-образ для изоляции code_exec (без сети, ro-rootfs, лимиты). Пусто = host-exec (доверенная среда). Применяется при старте/после рестарта.
AIHUMMER_DB_QUERY_DSN
DSN для db_query (используйте роль с минимальными правами, не владельца — запросы выполняются с ограничением RLS по активному рабочему пространству)
text
—
DSN базы данных для инструмента db_query (только чтение). Указывайте роль с минимальными правами (не owner/superuser) — запросы выполняются в RLS-скоупе арендатора. Пусто = инструмент выключен. Применяется при старте/после рестарта.
AIHUMMER_FS_ROOT
Корень для инструмента файловой системы
text
—
Корневой каталог, к которому ограничены инструменты чтения/записи файлов (песочница). Пусто = файловые инструменты выключены. Применяется при старте/после рестарта.
AIHUMMER_HTTP_ALLOWLIST
Список разрешённых адресов http_request
text
—
Список хостов (через запятую), к которым инструмент http_request может обращаться. Пусто = разрешены все (кроме внутренних/приватных). Применяется при старте/после рестарта.
AIHUMMER_HTTP_AUTH_JSON
Авторизация http_request (JSON)
text
—
JSON-карта {хост: заголовки авторизации} для инструмента http_request, чтобы не хранить токены в промпте. Пусто = без авторизации. Применяется при старте/после рестарта.
AIHUMMER_MCP_SERVERS
Серверы MCP (JSON)
text
—
JSON-описание внешних MCP-серверов, чьи инструменты подключаются к агенту. Пусто = нет внешних MCP. Применяется при старте/после рестарта.
AIHUMMER_WEBFETCH_ALLOWLIST
Список разрешённых адресов web_fetch
text
—
Список доменов (через запятую), к которым инструмент web_fetch может обращаться. Пусто = разрешены все (кроме внутренних/приватных адресов). Применяется при старте/после рестарта.
Web UI (separate port)
Ключ
Название
Тип
По умолчанию
Что делает
AIHUMMER_WEBUI_API_BASE
Базовый URL API, к которому обращается Web UI
text
—
Абсолютный origin (напр. https://api.example.com), к которому отдельно размещённый SPA обращается за вызовами /v1/admin/*. Пусто = откат на публичный URL шлюза, затем на локальный адрес шлюза. Должен быть доступен из браузера администратора; API должен разрешать origin этого Web UI через CORS (добавляется автоматически ниже).
AIHUMMER_WEBUI_ENABLED
Отдавать админ Web UI на отдельном порту
bool
1
Включено по умолчанию: админ-SPA отдаётся в КОРНЕ отдельного слушателя (AIHUMMER_WEBUI_ADDR), который можно привязать к внутреннему интерфейсу. Основной порт шлюза сохраняет API + pairing + WS + SSE и НЕ отдаёт /admin/. Установите 0, чтобы полностью отключить слушатель Web UI.
AIHUMMER_WEBUI_ORIGIN
Браузерный Origin Web UI (CORS)
text
—
Браузерный Origin Web UI (напр. https://admin.example.com), автоматически добавляется в CORS-allowlist API с учётными данными. Пусто = выводится из AIHUMMER_WEBUI_ADDR (http://host:port). Задайте, когда браузер обращается к Web UI через прокси/имя хоста, отличное от адреса привязки.
Настроек, доступных оператору: 138.
Здесь перечислены все настройки, которые оператор может изменить на сервере AiHummer. Страница собирается из каталога самого продукта, поэтому совпадает с вашим сервером.
Значение задаётся в веб-интерфейсе или командой `aihummer settings set KEY VALUE` ([Командная строка](/v1.0/reference/cli)). В колонке значения по умолчанию — то, что использует сервер, пока своё значение не задано.
> [!NOTE]
> Значения секретов здесь не печатаются, а служебные ключи вендора не перечислены вовсе — продукт скрывает их из всех списков. Прочерк означает пустое значение или пояснение, которое показывается только в веб-интерфейсе.
## API
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_PERSONAL_API_KEYS` | Персональные API-ключи для OpenAI-совместимого API | bool | `1` | «off» отключает аутентификацию по персональным ключам на OpenAI-совместимом эндпоинте. Любое другое значение = включено. Применяется при старте/после рестарта. |
## Agent
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_APPROVAL_TOOLS` | Инструменты, требующие подтверждения | text | — | Список инструментов (через запятую), вызов которых требует ручного подтверждения оператором перед выполнением. Пусто = подтверждение не требуется. Применяется при старте/после рестарта. |
| `AIHUMMER_SUBAGENT_MAX_DEPTH` | Максимальная глубина суб-агентов | int | `2` | Максимальная глубина вложенности суб-агентов (агент, запускающий агента). По умолчанию 2 — защита от бесконечной рекурсии. Применяется при старте/после рестарта. |
| `AIHUMMER_SUBAGENT_TIMEOUT_SEC` | Таймаут суб-агента (секунды) | int | `180` | Максимальное время одного запуска суб-агента, секунды. Применяется при старте/после рестарта. |
| `AIHUMMER_TOOL_SEARCH` | Ленивая загрузка инструментов (tool_search) | bool | `false` | Показывать только базовые инструменты и мета-инструмент поиска, остальные раскрывать по запросу. Ускоряет ходы и снижает затраты при большом числе инструментов, с небольшим риском, что модель не заметит редкий инструмент. |
| `AIHUMMER_TOOL_SEARCH_CORE` | Ленивая загрузка: всегда включённые инструменты | text | — | Список имён инструментов через запятую, которые остаются опубликованными сразу даже в ленивом режиме. |
| `AIHUMMER_TOOL_SEARCH_THRESHOLD` | Ленивая загрузка: минимум инструментов для отсрочки | int | `12` | Откладывать загрузку, только если после фильтра профиля агента остаётся больше этого числа инструментов. |
## Agent · Reasoning
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_AGENT_BEST_OF_N` | Сэмплов best-of-N (0/1=выкл., ≥2=вкл.) | int | `0` | ≥2 сэмплирует N кандидатов и выбирает лучшего судьёй. Стоит N× генераций. |
| `AIHUMMER_AGENT_DEBATE_JUDGE_PROMPT` | Дебаты: промпт судьи (переопределение) | text | — | Переопределяет промпт судьи дебатов (пусто = встроенный). Применяется при старте/после рестарта. |
| `AIHUMMER_AGENT_DEBATE_N` | Размер панели дебатов (0/1=выкл., ≥2=вкл.) | int | `0` | ≥2 запускает панель дебатов из N кандидатов + судью. Стоит N× генераций. |
| `AIHUMMER_AGENT_DEBATE_PROMPT` | Дебаты: промпт кандидата (переопределение) | text | — | Переопределяет промпт кандидата в дебатах (пусто = встроенный). Применяется при старте/после рестарта. |
| `AIHUMMER_AGENT_DEBATE_ROUNDS` | Дебаты: раунды | int | `1` | Число раундов дебатов панели кандидатов. Применяется при старте/после рестарта. |
| `AIHUMMER_AGENT_JUDGE_PROMPT` | Промпт судьи best-of-N (переопределение) | text | — | Переопределяет промпт судьи best-of-N (пусто = встроенный). Применяется при старте/после рестарта. |
| `AIHUMMER_AGENT_PLAN_PROMPT` | Промпт планировщика (переопределение) | text | — | Переопределяет промпт планировщика (пусто = встроенный). Применяется при старте/после рестарта. |
| `AIHUMMER_AGENT_PLAN_STEPS` | Планировщик-исполнитель: макс. шагов плана (0=выкл.) | int | `0` | ⟩0 запускает отдельный проход планировщик→исполнитель→синтез (полезно для сложных многошаговых задач). 0 = выключено. Обычно 4–8. |
| `AIHUMMER_AGENT_PLAN_STEP_ITERS` | Планировщик: итераций инструментов на шаг (0=по умолчанию) | int | `0` | Ограничивает число итераций вызова инструментов на шаг плана. 0 = встроенное значение по умолчанию (4). |
| `AIHUMMER_AGENT_REFLECT` | Проход само-критики | bool | `0` | Добавляет проход рефлексии/само-критики перед финальным ответом. |
| `AIHUMMER_AGENT_REFLECT_PROMPT` | Промпт рефлексии (переопределение) | text | — | Переопределяет промпт само-критики (пусто = встроенный). Применяется при старте/после рестарта. |
| `AIHUMMER_AGENT_SELF_HEAL` | Само-восстановление: повторы при ошибках инструментов (0=выкл.) | int | `0` | ⟩0 повторяет неудавшиеся вызовы инструментов с корректирующей подсказкой, вплоть до этого предела. |
## Agent · System prompt
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_LOCALE` | Локаль по умолчанию | text | `ru-RU` | Язык/локаль ответа по умолчанию, напр. ru-RU. Инструкции персоны/оператора имеют приоритет. |
| `AIHUMMER_TIMEZONE` | Часовой пояс | text | `UTC` | Часовой пояс IANA для вставки даты, напр. Europe/Moscow. По умолчанию UTC. |
## Channels
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_CONFIDENTIAL_PERSONA` | Конфиденциальная веб-персона | bool | `0` | Когда включено, веб-чат-агент не раскрывает и не сохраняет данные своей персоны/личности и отвечает строго по задаче — для анонимных или приватных веб-развёртываний. Применяется при старте/после рестарта. |
| `AIHUMMER_INBOUND_REQUIRE_BINDING` | Отвечать только зарегистрированным пользователям | text | `true` | true = бот игнорирует любого отправителя в канале, который НЕ является заведённым пользователем AiHummer (пользователь с привязкой роли) — случайные участники чата и гостевые вызовы не получают ответа. false (по умолчанию) = отвечать всем. |
## Integrations
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_A2A_PUBLISH` | Публиковать агента через Agent2Agent (A2A) | bool | `0` | Опубликовать агента как A2A-сервер (Agent Card + POST /a2a/message). Применяется при старте/после рестарта. |
| `AIHUMMER_MCP_EXPORT_TOOLS` | MCP exported tools (comma-separated allowlist) | text | — | Явный список имён инструментов, разрешённых внешним MCP-клиентам, через запятую. Пусто = не публиковать ни одного инструмента. Опасные host-level классы дополнительно запрещены встроенной политикой, даже если перечислены. Применяется при старте/после рестарта. |
| `AIHUMMER_MCP_PUBLISH` | Публиковать инструменты через MCP | bool | `0` | Опубликовать инструменты как MCP-сервер на POST /v1/mcp. Применяется при старте/после рестарта. |
## Knowledge connectors
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_KB_SYNC_INTERVAL` | Интервал планового пересинка коннекторов (0/пусто = выкл.) | text | — | Duration (напр. 6h, 30m) для фонового авто-пересинка всех настроенных knowledge-коннекторов каждого рабочего пространства. Пусто/0 = выключено. Re-sync идемпотентен (замена по source, без дублей). slack_export не входит (zip загружается вручную). Применяется при старте/после рестарта. |
## LLM
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_CASCADE_MIN_CHARS` | Каскад: минимум символов для эскалации | int | `0` | Порог длины запроса (символы), с которого включается сильная модель каскада. 0 = по умолчанию. Применяется при старте/после рестарта. |
| `AIHUMMER_CASCADE_STRONG_MODEL` | Каскад: более сильная запасная модель | text | — | Модель, на которую каскадно переключаемся для длинных/сложных запросов (пусто = выключено). Применяется при старте/после рестарта. |
| `AIHUMMER_CODEX_BASE_URL` | Базовый URL Codex | text | — | База Codex (ChatGPT-subscription) транспорта. Применяется при старте/после рестарта. |
| `AIHUMMER_CODEX_MAX_OUTPUT_TOKENS` | Макс. выходных токенов (0 = без ограничения) | int | `0` | Ограничение max_output_tokens для чат-хода. 0 = без ограничения. У reasoning-моделей токены рассуждений тоже считаются в этот бюджет, поэтому слишком малое значение даёт пустой ответ «incomplete: max_output_tokens». Применяется на лету (без рестарта). |
| `AIHUMMER_CODEX_MODEL` | Идентификатор модели (транспорт Codex / gpt-5.5) | text | `gpt-5.5` | Идентификатор модели основного транспорта Codex/ChatGPT (напр. gpt-5.5, gpt-5.5-codex). Применяется при старте/после рестарта. |
| `AIHUMMER_CODEX_REASONING_EFFORT` | Глубина рассуждений | enum: none \\\| low \\\| medium \\\| high \\\| xhigh | `low` | Глубина рассуждений модели для чат-ходов, когда параметры агента её не задают. Допустимые значения gpt-5.5: none, low, medium, high, xhigh (НЕ minimal — gpt-5.5 отклоняет его с HTTP 400). Выше = качественнее, но дольше/дороже. Неверное значение безопасно приводится к low. Применяется на лету (без рестарта). |
| `AIHUMMER_LLM_CALL_TIMEOUT_S` | Таймаут одного вызова (секунды) | int | `120` | Бюджет времени на ОДИН вызов модели (анти-сталл: gpt-5.5 может «думать» бесконечно и держать ход открытым). По истечении вызов завершается ошибкой ErrCallTimeout без повторов. 0 = без ограничения. Применяется на лету (без рестарта). |
| `AIHUMMER_LLM_GATEWAY_URL` | URL LLM-шлюза | text | — | Базовый URL OpenAI-совместимого эндпоинта модели, к которому обращается агент (ваш локальный сервер llama.cpp/vLLM/Ollama или размещённый шлюз). Пусто — использовать эндпоинт провайдера по умолчанию. |
| `AIHUMMER_LLM_MODEL` | Модель LLM | text | — | Имя/идентификатор модели, отправляемый провайдеру на каждом ходе (модель, которую отдаёт ваш эндпоинт). Должно совпадать с моделью, которую реально предоставляет эндпоинт. |
| `AIHUMMER_LLM_PROVIDER` | Провайдер LLM | text | — | Какой бэкенд модели использовать (OpenAI-совместимый эндпоинт или транспорт Codex/подписка ChatGPT). Определяет, как отправляются и авторизуются запросы. |
| `AIHUMMER_LLM_RETRIES` | Повторы LLM при временной ошибке | int | `3` | Число повторов запроса к LLM при временной ошибке. Применяется при старте/после рестарта. |
| `AIHUMMER_LLM_TEMPERATURE` | Температура | text | — | Температура сэмплирования (0..2), когда параметры агента её не задают. Пусто = не отправлять. ВНИМАНИЕ: модели-рассуждатели gpt-5.5 (Codex) отклоняют temperature — оставьте поле пустым для них; задавайте только если используете не-reasoning бэкенд. Применяется на лету (без рестарта). |
| `AIHUMMER_LLM_TOP_P` | Top-p (nucleus-сэмплирование) | text | — | Порог nucleus-сэмплирования (0..1), когда параметры агента его не задают. Пусто = не отправлять. Как и temperature, gpt-5.5 reasoning его отклоняет — задавайте только для не-reasoning бэкендов. Применяется на лету (без рестарта). |
| `AIHUMMER_OPENAI_API` | Стиль API OpenAI (chat \| responses) | enum: \\\| chat \\\| responses | — | chat = /chat/completions, responses = /responses. Пусто = авто/по умолчанию. Применяется при старте/после рестарта. |
| `AIHUMMER_OPENAI_API_KEY` | API-ключ нативного OpenAI (по умолчанию для установки) | text | — | Ключ вашего OpenAI-аккаунта для нативного OpenAI-цикла (если используете OpenAI как провайдера по умолчанию). Не путать с BYOK рабочего пространства на странице «Модели». Применяется при старте/после рестарта. |
| `AIHUMMER_OPENAI_BASE_URL` | Базовый URL нативного OpenAI | text | — | База OpenAI-совместимого API (напр. https://api.openai.com/v1). Применяется при старте/после рестарта. |
| `AIHUMMER_OPENAI_MODEL` | Модель нативного OpenAI | text | — | Модель для нативного OpenAI-цикла (если задан AIHUMMER_OPENAI_API_KEY). Применяется при старте/после рестарта. |
| `AIHUMMER_ROUTER_COMPLEX_MODEL` | Роутер: модель для сложных запросов | text | — | Модель для сложных запросов (пусто = band выключен). Применяется при старте/после рестарта. |
| `AIHUMMER_ROUTER_SIMPLE_MODEL` | Роутер: модель для простых запросов | text | — | Модель для простых запросов (пусто = band выключен). Применяется при старте/после рестарта. |
| `AIHUMMER_ROUTER_STANDARD_MODEL` | Роутер: модель для обычных запросов | text | — | Модель для обычных запросов (пусто = band выключен). Применяется при старте/после рестарта. |
## Media
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_DEEPGRAM_API_KEY` | API-ключ Deepgram | text | — | API-ключ Deepgram (движок STT = deepgram). Берётся отсюда или из AIHUMMER_STT_API_KEY. Применяется при старте/после рестарта. |
| `AIHUMMER_DEEPGRAM_MODEL` | Модель Deepgram | text | `nova-2` | Модель Deepgram (напр. nova-2, nova-3, base). Зависит от доступа проекта по ключу. Применяется при старте/после рестарта. |
| `AIHUMMER_DEEPGRAM_URL` | Базовый URL Deepgram | text | — | База Deepgram API. Пусто = https://api.deepgram.com. Применяется при старте/после рестарта. |
| `AIHUMMER_IMAGE_BASE_URL` | Базовый URL API изображений (запасной OpenAI) | text | — | База /images API при работе через OpenAI-ключ (пусто = https://api.openai.com/v1). Применяется при старте/после рестарта. |
| `AIHUMMER_IMAGE_MODEL` | Модель генерации изображений | text | — | Модель для image_generate (по умолчанию gpt-image-2). Применяется при старте/после рестарта. |
| `AIHUMMER_MEDIA_MAX_UPLOAD_MB` | Макс. размер загрузки медиа (МБ) | int | `256` | Максимальный размер одной загрузки медиа (PUT /v1/media/{id}/content), в мегабайтах. Ограничивает запись на диск через публичный порт (защита от переполнения). По умолчанию 256. Применяется при старте/после рестарта. |
| `AIHUMMER_STT_API_KEY` | API-ключ STT (необязательно) | text | — | Опциональный bearer, если сайдкар STT его требует (install.sh может сгенерировать). Применяется при старте/после рестарта. |
| `AIHUMMER_STT_CODEX_URL` | URL движка STT для Codex | text | — | База OpenAI-совместимого /v1/audio/transcriptions для движка codex (транскрипция по подписке ChatGPT). Пусто = база Codex. Bearer берётся из AIHUMMER_STT_API_KEY или AIHUMMER_CODEX_ACCESS_TOKEN. Применяется при старте/после рестарта. |
| `AIHUMMER_STT_ENGINE` | Движок распознавания речи (STT) | enum: faster-whisper \\\| deepgram \\\| off | `faster-whisper` | Движок распознавания речи. faster-whisper = бесплатный локальный сайдкар (по умолчанию, ставится из коробки, URL = AIHUMMER_STT_URL, без нагрузки на сторонние API). deepgram = облачный Deepgram (быстрый, ключ AIHUMMER_DEEPGRAM_API_KEY, платный с free-tier). off = распознавание выключено. (Codex/ChatGPT-подписка НЕ поддерживает транскрипцию аудио.) Применяется при старте/после рестарта. |
| `AIHUMMER_STT_LANGUAGE` | Язык распознавания речи (STT) | text | — | Язык распознавания (BCP-47, напр. ru/en). Используется движком deepgram (модель nova-2). Пусто = автоопределение/дефолт движка. Применяется при старте/после рестарта. |
| `AIHUMMER_STT_MODEL` | Модель STT | text | `Systran/faster-whisper-small` | Модель faster-whisper (напр. small/medium/large-v3 или Systran/faster-whisper-⟨size⟩). Применяется при старте/после рестарта. |
| `AIHUMMER_STT_URL` | URL распознавания речи (faster-whisper) | text | — | URL локального faster-whisper сайдкара (OpenAI-совместимый /v1/audio/transcriptions). Пусто = автодефолт http://127.0.0.1:8001, который install.sh прописывает сам. Применяется при старте/после рестарта. |
| `AIHUMMER_TTS_API_KEY` | API-ключ TTS (edge-tts) | text | — | Bearer между gateway и сайдкаром edge-tts (install.sh генерирует автоматически). Применяется при старте/после рестарта. |
| `AIHUMMER_TTS_ENABLED` | Синтез речи включён | bool | `1` | Включает синтез речи (tool tts + голосовой режим). Сайдкар edge-tts ставится из коробки. Применяется при старте/после рестарта. |
| `AIHUMMER_TTS_MODEL` | Модель TTS | text | — | Имя модели для edge-tts сервиса. Применяется при старте/после рестарта. |
| `AIHUMMER_TTS_URL` | URL синтеза речи (edge-tts) | text | — | URL локального edge-tts сайдкара (OpenAI-совместимый /v1/audio/speech). Пусто = автодефолт http://127.0.0.1:8002, который install.sh прописывает сам. Применяется при старте/после рестарта. |
| `AIHUMMER_TTS_VOICE` | Голос TTS (по умолчанию de-DE-FlorianMultilingualNeural) | text | `de-DE-FlorianMultilingualNeural` | Голос edge-tts по умолчанию (мультиязычный, в т.ч. русский). Применяется при старте/после рестарта. |
| `AIHUMMER_VIDEO_API_KEY` | API-ключ анализа видео | text | — | Ключ доступа к сайдкару анализа видео (если требуется). Применяется при старте/после рестарта. |
| `AIHUMMER_VIDEO_URL` | URL анализа видео (ffmpeg) | text | — | URL сайдкара анализа видео. Пусто = выключено. Применяется при старте/после рестарта. |
## Media · Voice
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_VOICE_AEC` | Подавление эха (AEC) | bool | `1` | Требовать echoCancellation на захвате (WebRTC). Устраняет эхо TTS в микрофон (Moltis #1129). |
| `AIHUMMER_VOICE_AGC` | Автоматическая регулировка усиления | bool | `1` | Требовать автоматическую регулировку усиления микрофона (WebRTC autoGainControl) в голосовом режиме. |
| `AIHUMMER_VOICE_BARGEIN_FRAMES` | Кадров для прерывания (barge-in) | int | `5` | Сколько подряд озвученных кадров (≈20мс) прерывают воспроизведение бота. |
| `AIHUMMER_VOICE_DUPLEX` | Живой полнодуплексный голос | bool | `0` | Включает живой полнодуплексный режим (стриминг + VAD + barge-in). Применяется при старте/после рестарта. |
| `AIHUMMER_VOICE_NOISE_SUPPRESSION` | Шумоподавление | bool | `1` | Требовать подавление шума на захвате микрофона (WebRTC noiseSuppression) в голосовом режиме. |
| `AIHUMMER_VOICE_VAD_THRESHOLD` | Порог энергии VAD (0..1) | text | `0.02` | Порог энергии речи для VAD-гейтинга захвата; ниже = чувствительнее. |
## Memory
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_EMBEDDER_DIM` | Размерность вектора эмбеддера | int | `768` | Размерность вектора — должна совпадать с моделью (multilingual-e5-base=768, bge-m3=1024). |
| `AIHUMMER_EMBEDDER_KEEPALIVE` | Keep-alive эмбеддера | text | `5m` | keep_alive для Ollama-эмбеддера (только при AIHUMMER_MEMORY_RETRIEVAL=embedding). По умолчанию 5m — простаивающая модель выгружается, и зависший idle-runner ollama сам очищается. НЕ рекомендуется -1 (держать вечно): из-за бага ollama застрявший runner может молотить ядро CPU сутками. Холодный старт после простоя компенсируется прогревом на старте гейтвея. Применяется при старте/после рестарта. |
| `AIHUMMER_EMBEDDER_MODEL` | Модель эмбеддера | text | `yxchia/multilingual-e5-base` | Модель эмбеддинга Ollama. По умолчанию multilingual-e5-base — многоязычная (в т.ч. русский), 768-мерная, лёгкая и быстрая на CPU (~1-2с/эмбеддинг). Префиксы query/passage для e5 применяются автоматически. Для максимального качества на GPU используйте bge-m3 (задайте DIM=1024). Должна совпадать с AIHUMMER_EMBEDDER_DIM. |
| `AIHUMMER_EMBEDDER_PASSAGE_PREFIX` | Префикс документа эмбеддера | text | — | Переопределить префикс сохраняемого документа (модели e5 автоматически используют «passage: »). Оставьте пустым для автоопределения по имени модели. |
| `AIHUMMER_EMBEDDER_QUERY_PREFIX` | Префикс запроса эмбеддера | text | — | Переопределить префикс поискового запроса (модели e5 автоматически используют «query: »). Оставьте пустым для автоопределения по имени модели. |
| `AIHUMMER_EMBEDDER_URL` | URL эмбеддера (совместимый с Ollama) | text | — | Настоящие семантические эмбеддинги. Установщик разворачивает сайдкар Ollama и задаёт это автоматически; НЕ ЗАДАНО = hash-эмбеддер (только лексический, слабое воспроизведение). |
| `AIHUMMER_MEMORY_CAPTURE` | Режим захвата памяти | enum: auto \\\| review \\\| off | `auto` | auto = запоминать и вспоминать автоматически; review = запоминать как кандидатов, требующих ручного одобрения; off = без захвата. |
| `AIHUMMER_MEMORY_CONTEXT_TIMEOUT` | Таймаут подгрузки памяти | text | `3s` | Максимум ожидания подгрузки памяти в начале ответа (эмбеддинг запроса + поиск). Если эмбеддер перегружен и не уложился — ответ идёт БЕЗ блока памяти, а не висит. Формат Go-duration (напр. 2s, 1500ms). 0 = без ограничения. Применяется при старте/после рестарта. |
| `AIHUMMER_MEMORY_DREAM_INTERVAL` | Интервал прохода «сна» | string | `1h` | Как часто само-обслуживающий проход dream сканирует проверенные утверждения на противоречия во всех областях (Go-duration, напр. 30m/1h/6h). 0 = выключить. |
| `AIHUMMER_MEMORY_EXTRACT` | Извлечение фактов через LLM | bool | `1` | Извлекать нормализованные факты субъект/предикат/объект через LLM (по умолчанию ВКЛ) вместо хранения сырых фрагментов предложений — необходимо для работы механизмов графа/противоречий/dream. Добавляет один вызов LLM на каждое захваченное сообщение; выключите, чтобы сэкономить вызов. |
| `AIHUMMER_MEMORY_RETRIEVAL` | Режим извлечения памяти | enum: fulltext \\\| embedding | `fulltext` | Как ищется память. fulltext (по умолчанию) = полнотекстовый поиск Postgres по тексту фактов — БЕЗ модели-эмбеддера, без сайдкара, без нагрузки на CPU (как старый einstein в AiHummer). embedding = семантический векторный поиск через эмбеддер (AIHUMMER_EMBEDDER_URL/ollama) — точнее по смыслу, но грузит CPU/требует сайдкар. Применяется при старте/после рестарта. |
| `AIHUMMER_MEMORY_TOKEN` | Сервисный токен удалённой памяти | text | — | Service-token для авторизации в Einstein Retrieval API (отправляется как Authorization: Bearer …). Нужен только при заданном AIHUMMER_MEMORY_URL. Пусто = без авторизации (только для dev-инсталляций с отключённой retrieval-авторизацией). |
| `AIHUMMER_MEMORY_URL` | URL удалённой памяти (плагин Einstein) | text | — | URL standalone-плагина памяти Einstein (контракт aihummer.memory.v1, напр. http://127.0.0.1:8820). ПУСТО (по умолчанию) = встроенный Go-модуль памяти. Если задан — подгрузка контекста хода идёт по HTTP в /context + /retrieval плагина; при ошибке/недоступности — мягкий откат на встроенный модуль (без падений). Применяется при старте/после рестарта. |
| `AIHUMMER_QDRANT_API_KEY` | API-ключ Qdrant | text | — | API-ключ Qdrant (если векторное хранилище требует авторизации). Нужен только при заданном Qdrant URL. Применяется при старте/после рестарта. |
| `AIHUMMER_QDRANT_URL` | URL Qdrant (постоянное векторное хранилище) | text | — | НЕ ЗАДАНО = хранилище в памяти (векторы ТЕРЯЮТСЯ при рестарте). Задайте для надёжного хранения в продакшене. |
| `AIHUMMER_RERANKER_URL` | URL сайдкара переранжирования RAG | text | — | HTTP-URL сайдкара кросс-энкодера для переранжирования гибридного поиска. Пусто = переранжирование выключено. Применяется при старте/после рестарта. |
## Moderation
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_MODERATION` | Модерация входящих | bool | `1` | «off» отключает встроенный guard против jailbreak/prompt-injection. Любое другое значение = включено. Применяется при старте/после рестарта. |
| `AIHUMMER_MODERATION_REFUSAL` | Сообщение отказа модерации | text | — | Текст отказа, который возвращается при блокировке модератором (пусто = встроенный). Применяется при старте/после рестарта. |
## Public access
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_PUBLIC_URL` | Публичный URL шлюза (Web UI + клиенты) | text | — | Проксируйте этот хост → на порт шлюза (AIHUMMER_GATEWAY_ADDR, по умолчанию :8780). Используется Web UI и iOS/web-клиентами. |
| `POCKET_AGENT_GATEWAY_BASE_URL` | Публичный URL шлюза pocket-agent | text | — | Проксируйте → на порт шлюза pocket-agent (POCKET_AGENT_PORT, по умолчанию 8080). Удалённый агент подключается сюда по одноразовому тикету. |
| `TELEGRAM_PUBLIC_URL` | Публичный URL вебхука Telegram | text | — | Только для режима webhook — проксируйте → на порт telegram-connector (AIHUMMER_TELEGRAM_CONNECTOR_PORT, по умолчанию 8091). Оставьте пустым для режима polling (публичный URL не нужен). |
## SSO (LDAP/AD)
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_LDAP_BASE_DN` | Базовый DN поиска пользователей | text | — | Корень поиска, напр. OU=Users,DC=corp,DC=example. |
| `AIHUMMER_LDAP_BIND_DN` | Служебный DN для привязки | text | — | Учётная запись для начального поискового bind, напр. CN=svc-aihummer,OU=Service,DC=corp,DC=example. Пусто = анонимный поиск. |
| `AIHUMMER_LDAP_DEFAULT_ROLE` | LDAP: Роль по умолчанию (нет совпадения групп) | text | — | Роль, выдаваемая, когда ни одна группа не совпадает с маппингом. Пусто = без роли. |
| `AIHUMMER_LDAP_ENABLED` | Включить вход через LDAP/AD | bool | `0` | Когда включено, входы администраторов откатываются на каталог. Пароль привязки хранится в Secrets (scope ldap, name bind_password). |
| `AIHUMMER_LDAP_GROUP_ATTR` | Атрибут группы (по умолчанию memberOf) | text | — | Атрибут записи пользователя, перечисляющий DN групп. Пусто отключает маппинг группа→роль. |
| `AIHUMMER_LDAP_ROLE_MAPPINGS` | LDAP: Сопоставление групп → ролей (JSON) | text | — | JSON-объект DN группы (или простого CN) → роль, напр. {"CN=Admins,OU=Groups,DC=corp,DC=example":"admin","Operators":"operator"}. |
| `AIHUMMER_LDAP_SKIP_TLS_VERIFY` | Пропускать проверку TLS (только для лаборатории, 1/0) | bool | `0` | Отключает проверку сертификата каталога. Никогда не включайте в продакшене. |
| `AIHUMMER_LDAP_URL` | URL каталога | text | — | напр. ldaps://ad.corp.example:636 (TLS) или ldap://dc1.corp.example:389. |
| `AIHUMMER_LDAP_USER_ATTR` | Атрибут логина (по умолчанию sAMAccountName) | text | — | Атрибут LDAP/Active Directory, сопоставляемый с вводимым логином (по умолчанию sAMAccountName; uid для OpenLDAP, userPrincipalName для входа по UPN). |
| `AIHUMMER_LDAP_USER_FILTER` | Фильтр поиска пользователей | text | — | Должен содержать %s для логина. AD: (sAMAccountName=%s); OpenLDAP: (uid=%s). |
## SSO (OIDC)
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_OIDC_AUDIENCE` | Audience у OIDC | text | — | Ожидаемый claim `aud` — задайте audience ЭТОГО ресурса, чтобы отклонять токены, выпущенные для другой стороны. Claim `aud` теперь ОБЯЗАТЕЛЕН в каждом токене по умолчанию (токен без aud отклоняется); когда это задано, aud также должен его содержать. Настоятельно рекомендуется в продакшене. |
| `AIHUMMER_OIDC_ISSUER` | URL издателя OIDC | text | — | Издатель IdP (напр. https://login.example.com). Включает аутентификацию по OIDC JWT, когда задан. |
| `AIHUMMER_OIDC_JWKS_URL` | URL JWKS у OIDC | text | — | Эндпоинт JSON Web Key Set для проверки подписей токенов. |
| `AIHUMMER_OIDC_TENANT_CLAIM` | Claim рабочего пространства в OIDC | text | — | Claim JWT, несущий идентификатор рабочего пространства (напр. tenant_id / org). |
## SSO (SAML)
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_SAML_DEFAULT_ROLE` | SAML: Роль по умолчанию (нет совпадения групп) | text | — | Роль, выдаваемая, когда ни одно утверждённое значение не маппится. Пусто = без роли. |
| `AIHUMMER_SAML_ENABLED` | Включить SSO SAML 2.0 | bool | `0` | Открывает /saml/metadata, /saml/acs, /saml/login. Приватный ключ SP хранится в Secrets (scope saml, name sp_key). |
| `AIHUMMER_SAML_ENTITY_ID` | Entity ID у SP | text | — | Entity ID сервис-провайдера (по умолчанию ⟨root⟩/saml/metadata, если пусто). |
| `AIHUMMER_SAML_IDP_METADATA` | XML-метаданные IdP | text | — | Вставьте документ SAML-метаданных вашего IdP (Okta/Azure AD/ADFS). |
| `AIHUMMER_SAML_ROLE_ATTRIBUTE` | Атрибут роли/группы (по умолчанию groups) | text | — | Атрибут assertion, несущий значения групп/ролей. |
| `AIHUMMER_SAML_ROLE_MAPPINGS` | SAML: Сопоставление групп → ролей (JSON) | text | — | JSON-объект утверждённого значения → роль, напр. {"AdminGroup":"admin","Ops":"operator"}. |
| `AIHUMMER_SAML_ROOT_URL` | Корневой URL SP | text | — | Внешне доступный базовый URL этого шлюза, напр. https://app.example.com. ACS = ⟨root⟩/saml/acs. |
| `AIHUMMER_SAML_SP_CERT` | Сертификат SP (PEM) | text | — | Публичный сертификат подписи SP (PEM). Соответствующий приватный ключ помещается в Secrets (scope saml, name sp_key). |
## Security
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_AIRGAPPED` | Изолированный режим (air-gapped, 1/0) | bool | `0` | Блокирует управляемый моделью egress в публичный интернет (только внутренние/allowlist хосты). Применяется при старте/после рестарта. |
| `AIHUMMER_AUDIT_RETENTION_DAYS` | Хранение аудит-лога (дни, 0=вечно) | int | `0` | Сколько дней хранить аудит-лог; старше — ежедневно удаляется. 0/пусто = хранить вечно. Применяется при старте/после рестарта. |
| `AIHUMMER_CODE_EXEC_ALLOW_HOST` | Разрешить code_exec на хосте (БЕЗ песочницы) | bool | `0` | ⚠️ Разрешить выполнение кода прямо на хосте без песочницы. Только для доверенного homelab. Безопаснее задать AIHUMMER_CODE_EXEC_SANDBOX_IMAGE. Применяется при старте/после рестарта. |
| `AIHUMMER_CORS_ORIGINS` | Разрешённые Origin для CORS (через запятую) | text | — | Список разрешённых Origin через запятую. Пусто = CORS не разрешён (только same-origin). Применяется при старте/после рестарта. |
| `AIHUMMER_CSP` | Заголовок Content-Security-Policy (переопределение) | text | — | Переопределяет CSP-заголовок. Пусто = безопасный дефолт. Применяется при старте/после рестарта. |
| `AIHUMMER_INBOUND_SECRET` | Общий секрет коннектор → шлюз | text | — | Общий секрет, аутентифицирующий хоп коннектор→шлюз (должен совпадать со значением на стороне коннектора). Пусто = inbound-эндпоинт БЕЗ аутентификации. Применяется при старте/после рестарта. |
| `AIHUMMER_OPENAI_COMPAT_KEY` | OpenAI-совместимый вход: статический API-ключ | text | — | Статический ключ, которым OpenAI-совместимые клиенты аутентифицируются на встроенном /v1 эндпоинте шлюза (P8 home gateway). Пусто = статическая аутентификация выключена (остаются персональные ключи). Применяется при старте/после рестарта. |
| `AIHUMMER_OPENAI_COMPAT_WORKSPACE` | OpenAI-совместимый вход: ID рабочего пространства | text | — | ID рабочего пространства, в которое маппится статическая OpenAI-совместимая аутентификация. Пусто = AIHUMMER_DEFAULT_WORKSPACE_ID. Применяется при старте/после рестарта. |
| `AIHUMMER_REQUIRE_2FA` | Требовать 2FA для операторов | bool | `0` | Требовать второй фактор (TOTP/passkey) для операторов. Включено: операторам без 2FA при входе предлагается немедленно настроить его (без блокировки, чтобы не запереть владельца). Применяется сразу. |
| `AIHUMMER_REQUIRE_SECURE` | Принимать только защищённые соединения (HTTPS/WSS) | bool | `0` | Когда включено, обычные HTTP-запросы перенаправляются на HTTPS (для GET/HEAD) или отклоняются (403); доступ с localhost всегда разрешён, чтобы не заблокировать оператора. Учитывает X-Forwarded-Proto от завершающего TLS обратного прокси. Применяется при старте/после рестарта. |
| `AIHUMMER_TRUSTED_PROXIES` | Доверенные CIDR обратного прокси (через запятую) | text | — | Список доверенных сетей обратного прокси (CIDR, напр. 10.0.0.0/8,192.168.0.0/16, или одиночные IP) через запятую. Только для запросов, ПРИШЕДШИХ с этих адресов, заголовок X-Forwarded-For используется для определения IP клиента (аудит, IP-allowlist, анти-brute-force). Пусто = доверять ТОЛЬКО реальному peer-адресу (XFF игнорируется, спуфинг IP невозможен). Применяется на лету. |
## Tools
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_CODE_EXEC` | Включить code_exec | bool | `0` | Включает инструмент выполнения кода (code_exec). По умолчанию выключен. Для изоляции задайте образ песочницы (Code-exec sandbox image) или явно разрешите выполнение на хосте. Применяется при старте/после рестарта. |
| `AIHUMMER_CODE_EXEC_INTERPRETERS` | Интерпретаторы code-exec (JSON) | text | — | JSON-объект {язык: путь_к_бинарю}, напр. {"python":"/usr/bin/python3"}. Пусто = автоопределение. Применяется при старте/после рестарта. |
| `AIHUMMER_CODE_EXEC_SANDBOX_IMAGE` | Образ песочницы code-exec | text | — | Container-образ для изоляции code_exec (без сети, ro-rootfs, лимиты). Пусто = host-exec (доверенная среда). Применяется при старте/после рестарта. |
| `AIHUMMER_DB_QUERY_DSN` | DSN для db_query (используйте роль с минимальными правами, не владельца — запросы выполняются с ограничением RLS по активному рабочему пространству) | text | — | DSN базы данных для инструмента db_query (только чтение). Указывайте роль с минимальными правами (не owner/superuser) — запросы выполняются в RLS-скоупе арендатора. Пусто = инструмент выключен. Применяется при старте/после рестарта. |
| `AIHUMMER_FS_ROOT` | Корень для инструмента файловой системы | text | — | Корневой каталог, к которому ограничены инструменты чтения/записи файлов (песочница). Пусто = файловые инструменты выключены. Применяется при старте/после рестарта. |
| `AIHUMMER_HTTP_ALLOWLIST` | Список разрешённых адресов http_request | text | — | Список хостов (через запятую), к которым инструмент http_request может обращаться. Пусто = разрешены все (кроме внутренних/приватных). Применяется при старте/после рестарта. |
| `AIHUMMER_HTTP_AUTH_JSON` | Авторизация http_request (JSON) | text | — | JSON-карта {хост: заголовки авторизации} для инструмента http_request, чтобы не хранить токены в промпте. Пусто = без авторизации. Применяется при старте/после рестарта. |
| `AIHUMMER_MCP_SERVERS` | Серверы MCP (JSON) | text | — | JSON-описание внешних MCP-серверов, чьи инструменты подключаются к агенту. Пусто = нет внешних MCP. Применяется при старте/после рестарта. |
| `AIHUMMER_WEBFETCH_ALLOWLIST` | Список разрешённых адресов web_fetch | text | — | Список доменов (через запятую), к которым инструмент web_fetch может обращаться. Пусто = разрешены все (кроме внутренних/приватных адресов). Применяется при старте/после рестарта. |
## Web UI (separate port)
| Ключ | Название | Тип | По умолчанию | Что делает |
| --- | --- | --- | --- | --- |
| `AIHUMMER_WEBUI_API_BASE` | Базовый URL API, к которому обращается Web UI | text | — | Абсолютный origin (напр. https://api.example.com), к которому отдельно размещённый SPA обращается за вызовами /v1/admin/*. Пусто = откат на публичный URL шлюза, затем на локальный адрес шлюза. Должен быть доступен из браузера администратора; API должен разрешать origin этого Web UI через CORS (добавляется автоматически ниже). |
| `AIHUMMER_WEBUI_ENABLED` | Отдавать админ Web UI на отдельном порту | bool | `1` | Включено по умолчанию: админ-SPA отдаётся в КОРНЕ отдельного слушателя (AIHUMMER_WEBUI_ADDR), который можно привязать к внутреннему интерфейсу. Основной порт шлюза сохраняет API + pairing + WS + SSE и НЕ отдаёт /admin/. Установите 0, чтобы полностью отключить слушатель Web UI. |
| `AIHUMMER_WEBUI_ORIGIN` | Браузерный Origin Web UI (CORS) | text | — | Браузерный Origin Web UI (напр. https://admin.example.com), автоматически добавляется в CORS-allowlist API с учётными данными. Пусто = выводится из AIHUMMER_WEBUI_ADDR (http://host:port). Задайте, когда браузер обращается к Web UI через прокси/имя хоста, отличное от адреса привязки. |
Настроек, доступных оператору: 138.