Тут пералічаны ўсе налады, якія аператар можа змяніць на серверы 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
—
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
—
text
—
—
AIHUMMER_MCP_PUBLISH
Публікаваць інструменты праз MCP
bool
0
Апублікаваць інструменты як MCP-сервер на POST /v1/mcp. Ужываецца пры запуску/пасля перазапуску.
Працягласць (напр. 6h, 30m) для фонавай аўтаматычнай рэсінхранізацыі кожнага наладжанага канектара ведаў ва ўсіх працоўных прасторах. Пуста/0 = выключана. Рэсінхранізацыя ідэмпатэнтная (замена па 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). Ужываецца пры запуску/пасля перазапуску.
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), калі параметры агента яе не задаюць. Пуста = не адпраўляць. УВАГА: reasoning-мадэлі 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, платны з бясплатным узроўнем). 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 паміж шлюзам і сайдкарам edge-tts (install.sh генеруе яго аўтаматычна). Ужываецца пры запуску/пасля перазапуску.
AIHUMMER_TTS_ENABLED
Сінтэз маўлення ўключаны
bool
1
Уключае сінтэз маўлення (інструмент 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 прапісвае сам. Ужываецца пры запуску/пасля перазапуску.
Голас 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
—
AIHUMMER_VOICE_BARGEIN_FRAMES
Кадраў для перапынення (barge-in)
int
5
Колькі запар агучаных кадраў (≈20мс) перарываюць прайграванне бота.
AIHUMMER_VOICE_DUPLEX
Жывы поўнадуплексны голас
bool
0
Уключае жывы поўнадуплексны рэжым (стрымінг + VAD + barge-in). Ужываецца пры запуску/пасля перазапуску.
AIHUMMER_VOICE_NOISE_SUPPRESSION
Шумаздушэнне
bool
1
—
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
—
Сэрвісны токен для аўтарызацыі ў Einstein Retrieval API (адпраўляецца як Authorization: Bearer …). Патрэбны толькі пры зададзеным AIHUMMER_MEMORY_URL. Пуста = без аўтарызацыі (толькі для dev-усталёвак з адключанай аўтарызацыяй retrieval).
AIHUMMER_MEMORY_URL
URL аддаленай памяці (плагін Einstein)
text
—
URL асобнага плагіна памяці Einstein (кантракт aihummer.memory.v1, напр. http://127.0.0.1:8820). ПУСТА (па змаўчанні) = убудаваны Go-модуль памяці. Калі зададзены — падгрузка кантэксту ходу ідзе па HTTP да /context + /retrieval плагіна; пры памылцы ці недаступнасці — мяккі адкат да ўбудаванага модуля (без падзенняў). Ужываецца пры запуску/пасля перазапуску.
AIHUMMER_QDRANT_API_KEY
API-ключ Qdrant
text
—
—
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/вэб-кліентамі.
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
—
Search root, e.g. 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
—
e.g. ldaps://ad.corp.example:636 (TLS) or 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
—
Агульны сакрэт, які аўтэнтыфікуе пераход канектар→шлюз (мусіць супадаць са значэннем на баку канектара). Пуста = уваходны эндпойнт БЕЗ аўтэнтыфікацыі. Ужываецца пры запуску/пасля перазапуску.
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
—
AIHUMMER_CODE_EXEC_INTERPRETERS
Інтэрпрэтатары code-exec (JSON)
text
—
JSON-аб’ект {language: path_to_binary}, напр. {\“python\”:\“/usr/bin/python3\”}. Пуста = аўтавызначэнне. Ужываецца пры запуску/пасля перазапуску.
AIHUMMER_CODE_EXEC_SANDBOX_IMAGE
Вобраз пясочніцы code-exec
text
—
Кантэйнерны вобраз для ізаляцыі code_exec (без сеткі, rootfs толькі для чытання, ліміты). Пуста = выкананне на хасце (даверанае асяроддзе). Ужываецца пры запуску/пасля перазапуску.
AIHUMMER_DB_QUERY_DSN
DSN для db_query (выкарыстоўвайце ролю з мінімальнымі правамі, не ўладальніка — запыты выконваюцца з абмежаваннем RLS па актыўнай працоўнай прасторы)
text
—
—
AIHUMMER_FS_ROOT
Корань для інструмента файлавай сістэмы
text
—
—
AIHUMMER_HTTP_ALLOWLIST
Спіс дазволеных адрасоў http_request
text
—
—
AIHUMMER_HTTP_AUTH_JSON
Аўтарызацыя http_request (JSON)
text
—
—
AIHUMMER_MCP_SERVERS
Серверы MCP (JSON)
text
—
—
AIHUMMER_WEBFETCH_ALLOWLIST
Спіс дазволеных адрасоў web_fetch
text
—
—
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-спіс дазволаў API з уліковымі данымі. Пуста = выводзіцца з AIHUMMER_WEBUI_ADDR (http://host:port). Задайце гэта, калі браўзер трапляе ў Web UI праз проксі ці імя хаста, адрознае ад адраса прывязкі.
Налад, даступных аператару: 138.
Тут пералічаны ўсе налады, якія аператар можа змяніць на серверы AiHummer. Старонка збіраецца з каталога самога прадукту, таму супадае з вашым серверам.
Значэнне задаецца ў вэб-інтэрфейсе або камандай `aihummer settings set KEY VALUE` ([Камандны радок](/be/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` | — |
| `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` | — | text | — | — |
| `AIHUMMER_MCP_PUBLISH` | Публікаваць інструменты праз MCP | bool | `0` | Апублікаваць інструменты як MCP-сервер на POST /v1/mcp. Ужываецца пры запуску/пасля перазапуску. |
## Knowledge connectors
| Ключ | Назва | Тып | Па змаўчанні | Што робіць |
| --- | --- | --- | --- | --- |
| `AIHUMMER_KB_SYNC_INTERVAL` | Інтэрвал планавай перасінхранізацыі канектараў (0/пуста = выкл.) | text | — | Працягласць (напр. 6h, 30m) для фонавай аўтаматычнай рэсінхранізацыі кожнага наладжанага канектара ведаў ва ўсіх працоўных прасторах. Пуста/0 = выключана. Рэсінхранізацыя ідэмпатэнтная (замена па 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). Ужываецца пры запуску/пасля перазапуску. |
| `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), калі параметры агента яе не задаюць. Пуста = не адпраўляць. УВАГА: reasoning-мадэлі 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, платны з бясплатным узроўнем). 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 паміж шлюзам і сайдкарам edge-tts (install.sh генеруе яго аўтаматычна). Ужываецца пры запуску/пасля перазапуску. |
| `AIHUMMER_TTS_ENABLED` | Сінтэз маўлення ўключаны | bool | `1` | Уключае сінтэз маўлення (інструмент 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` | — |
| `AIHUMMER_VOICE_BARGEIN_FRAMES` | Кадраў для перапынення (barge-in) | int | `5` | Колькі запар агучаных кадраў (≈20мс) перарываюць прайграванне бота. |
| `AIHUMMER_VOICE_DUPLEX` | Жывы поўнадуплексны голас | bool | `0` | Уключае жывы поўнадуплексны рэжым (стрымінг + VAD + barge-in). Ужываецца пры запуску/пасля перазапуску. |
| `AIHUMMER_VOICE_NOISE_SUPPRESSION` | Шумаздушэнне | bool | `1` | — |
| `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 | — | Сэрвісны токен для аўтарызацыі ў Einstein Retrieval API (адпраўляецца як Authorization: Bearer …). Патрэбны толькі пры зададзеным AIHUMMER_MEMORY_URL. Пуста = без аўтарызацыі (толькі для dev-усталёвак з адключанай аўтарызацыяй retrieval). |
| `AIHUMMER_MEMORY_URL` | URL аддаленай памяці (плагін Einstein) | text | — | URL асобнага плагіна памяці Einstein (кантракт aihummer.memory.v1, напр. http://127.0.0.1:8820). ПУСТА (па змаўчанні) = убудаваны Go-модуль памяці. Калі зададзены — падгрузка кантэксту ходу ідзе па HTTP да /context + /retrieval плагіна; пры памылцы ці недаступнасці — мяккі адкат да ўбудаванага модуля (без падзенняў). Ужываецца пры запуску/пасля перазапуску. |
| `AIHUMMER_QDRANT_API_KEY` | API-ключ Qdrant | text | — | — |
| `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/вэб-кліентамі. |
| `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 | — | Search root, e.g. 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 | — | e.g. ldaps://ad.corp.example:636 (TLS) or 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 | — | Агульны сакрэт, які аўтэнтыфікуе пераход канектар→шлюз (мусіць супадаць са значэннем на баку канектара). Пуста = уваходны эндпойнт БЕЗ аўтэнтыфікацыі. Ужываецца пры запуску/пасля перазапуску. |
| `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` | — |
| `AIHUMMER_CODE_EXEC_INTERPRETERS` | Інтэрпрэтатары code-exec (JSON) | text | — | JSON-аб'ект {language: path_to_binary}, напр. {\\"python\\":\\"/usr/bin/python3\\"}. Пуста = аўтавызначэнне. Ужываецца пры запуску/пасля перазапуску. |
| `AIHUMMER_CODE_EXEC_SANDBOX_IMAGE` | Вобраз пясочніцы code-exec | text | — | Кантэйнерны вобраз для ізаляцыі code_exec (без сеткі, rootfs толькі для чытання, ліміты). Пуста = выкананне на хасце (даверанае асяроддзе). Ужываецца пры запуску/пасля перазапуску. |
| `AIHUMMER_DB_QUERY_DSN` | DSN для db_query (выкарыстоўвайце ролю з мінімальнымі правамі, не ўладальніка — запыты выконваюцца з абмежаваннем RLS па актыўнай працоўнай прасторы) | text | — | — |
| `AIHUMMER_FS_ROOT` | Корань для інструмента файлавай сістэмы | text | — | — |
| `AIHUMMER_HTTP_ALLOWLIST` | Спіс дазволеных адрасоў http_request | text | — | — |
| `AIHUMMER_HTTP_AUTH_JSON` | Аўтарызацыя http_request (JSON) | text | — | — |
| `AIHUMMER_MCP_SERVERS` | Серверы MCP (JSON) | text | — | — |
| `AIHUMMER_WEBFETCH_ALLOWLIST` | Спіс дазволеных адрасоў web_fetch | text | — | — |
## 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-спіс дазволаў API з уліковымі данымі. Пуста = выводзіцца з AIHUMMER_WEBUI_ADDR (http://host:port). Задайце гэта, калі браўзер трапляе ў Web UI праз проксі ці імя хаста, адрознае ад адраса прывязкі. |
Налад, даступных аператару: 138.