Poniżej wymieniono wszystkie ustawienia, które operator może zmienić na serwerze AiHummer. Strona powstaje z katalogu samego produktu, więc odpowiada dokładnie Twojemu serwerowi.
Wartość ustawia się w interfejsie webowym albo poleceniem aihummer settings set KEY VALUE (Wiersz poleceń). Kolumna wartości domyślnej pokazuje, czego używa serwer, dopóki nie podasz własnej wartości.
[!NOTE]
Wartości sekretów nigdy nie są tu drukowane, a klucze serwisowe dostawcy nie są wymieniane wcale — produkt ukrywa je na wszystkich listach. Myślnik oznacza pustą wartość albo objaśnienie widoczne wyłącznie w interfejsie webowym.
API
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_PERSONAL_API_KEYS
Osobiste klucze API dla zgodności z OpenAI
bool
1
po ponownym uruchomieniu
“off” wyłącza uwierzytelnianie za pomocą klucza osobistego na punkcie końcowym zgodnym z OpenAI. Dowolna inna wartość = stosowana przy uruchomieniu/po ponownym uruchomieniu.
Agent
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_AGENT_ANNOUNCE_SLOW_TOOLS
Agent: uprzedzać przed długimi działaniami
bool
1
natychmiast
Przed długim działaniem (obraz, dogłębne wyszukiwanie, wideo, zadanie dla subagenta) agent krótko pisze, co robi, aby czekanie nie było ciche. Wyłącz, jeśli takie wiadomości przeszkadzają.
AIHUMMER_AGENT_COMPACT_AT_PCT
Agent: kompresuj historię od, % jej budżetu
int 50…99
85
natychmiast
Gdy historia rozmowy wypełni tę część swojego miejsca w oknie modelu, starsze wiadomości są streszczane — w tle, po odpowiedzi; tura nie czeka. Niżej — kompresja częściej, ale model pamięta mniej dosłownie; wyżej — rzadziej, ale tury są cięższe. 50–99; agent może ustawić własną wartość.
AIHUMMER_AGENT_COMPACT_TO_PCT
Agent: zostaw po kompresji, % budżetu historii
int 10…90
50
natychmiast
Ile miejsca historii zostaje dosłownie po kompresji; wszystko starsze trafia do streszczenia. Musi być niższe niż próg kompresji: odstęp między nimi decyduje, ile tur minie do następnej kompresji. 10–90; agent może ustawić własną wartość.
AIHUMMER_AGENT_HISTORY_TURNS
Agent: tury rozmowy zachowane dosłownie
int 1…1000
30
natychmiast
Ile ostatnich tur rozmowy model widzi dosłownie (do 10 więcej, zanim nadejdzie kompresja). Starsze wiadomości są streszczane w tle; sama rozmowa nigdy nie jest usuwana. Okno kontekstu modelu jest uwzględniane automatycznie. 1–1000; agent może mieć własną wartość.
AIHUMMER_AGENT_MAX_ITERATIONS
Agent: maks. kroków narzędzi na turę
int 1…256
25
natychmiast
Ile razy w jednej turze agent może wywołać narzędzia, zanim odpowie. Na limicie tura nie kończy się błędem: agent opisuje, co zrobił i co zostało, a Ty możesz poprosić o kontynuację. Trzy identyczne wywołania z rzędu z tym samym wynikiem kończą turę wcześniej. 1–256; agent może mieć własną wartość.
AIHUMMER_AGENT_MEMORY_FLUSH
Agent: zapisz notatkę w pamięci przed kompresją
bool
1
natychmiast
Zanim starsze wiadomości zostaną złożone w streszczenie, agent zapisuje w pamięci krótką notatkę o celach, decyzjach i otwartych sprawach. Wyłącz, aby oszczędzić wywołanie modelu.
AIHUMMER_AGENT_MEMORY_FLUSH_PROMPT
Agent: co zapisywać w notatce przed kompresją
text
—
natychmiast
Własne zadanie dla notatki przed kompresją: co zachować z wiadomości trafiających do podsumowania (na przykład „zapisuj tylko zakupy, terminy i ustalenia”). Puste — wbudowane: cele, decyzje, otwarte sprawy. Ochrony nie da się wyłączyć: tekst rozmowy pozostaje danymi, a nie poleceniami, a hasła i klucze nie są zapisywane. Do 4000 znaków; agent może mieć własne.
AIHUMMER_AGENT_NEW_REMINDERS_MEMORY
Nowi agenci: przypomnienia i zapis do pamięci
bool
1
natychmiast
Nowy agent utworzony ręcznie (kreator pierwszego uruchomienia, „Utwórz agenta”, API) od pierwszej tury sam ustawia, zmienia i anuluje SWOJE przypomnienia i harmonogramy oraz zapisuje fakty we własnej pamięci – jak szablon osobistego asystenta. Pojedynczemu agentowi wyłącza się to w jego karcie („Możliwości”). Szablony biblioteki decydują same, kopia zachowuje uprawnienia oryginału, agenci utworzeni przez innego agenta zaczynają bez nich; istniejący agenci się nie zmieniają. Dotyczy następnego tworzonego agenta.
AIHUMMER_AGENT_PROMPT_PART_MAX_CHARS
Agent: maks. liczba znaków na część promptu
int 1000…1000000
20000
natychmiast
Ile znaków model otrzymuje z JEDNEJ części osobowości agenta: sekcji profilu, części promptu lub głównego promptu. W dłuższej części zostają początek (3/4) i koniec (1/4) z adnotacją, ile ucięto; widać to na karcie rozmowy i w składzie promptu agenta. Imię, forma zwracania się i ograniczenia osobowości nigdy nie są przycinane. 1000–1000000; agent może mieć własną wartość.
AIHUMMER_AGENT_PROMPT_TOTAL_MAX_CHARS
Agent: maks. liczba znaków całej osobowości
int 1000…2000000
60000
natychmiast
Łączny limit osobowości agenta: wszystkie części razem. Po jego przekroczeniu najpierw miejsca ustępują najdłuższe części, a krótkie pozostają całe. 1000–2000000; agent może mieć własną wartość.
AIHUMMER_AGENT_SELF_INTRO
Agent: przedstawianie się
enum: first_contact \\| each_dialog \\| never
first_contact
natychmiast
„Raz, przy pierwszym poznaniu” — agent krótko przedstawia się w pierwszej rozmowie z daną osobą, chyba że chce ona od razu przejść do rzeczy; znajomej osobie nie przedstawia się ponownie i naturalnie odpowiada na powitanie. „Nie przedstawiać się” — agent nigdy sam nie podaje swojego imienia. „Na początku każdej nowej rozmowy“ — na początku każdej nowej rozmowy i po długiej przerwie, krótko i bez podsumowania dawnych spraw. Agent może mieć własny wybór na swojej karcie («Kontekst i zachowanie»).
AIHUMMER_AGENT_SESSION_IDLE_RESET_MINUTES
Agent: zaczynaj rozmowę od nowa po ciszy (minuty)
int 0…525600
360
natychmiast
Dla trybów „po ciszy” i „codziennie i po ciszy”: jeśli ktoś napisze po dłuższej ciszy niż ta, agent zaczyna rozmowę od nowa. Dotyczy agentów bez własnej wartości na karcie. 0 — nie według ciszy. 0–525600; 360 = 6 godzin, 1440 = doba.
AIHUMMER_AGENT_SESSION_INDEX_MAX_ENTRIES
Agent: trzymaj na liście najwyżej tyle sesji
int 0…100000
0
natychmiast
Najcichsze znikają pierwsze; nic nie jest usuwane. 0 — bez limitu. 0–100000. Dotyczy agentów bez własnej wartości na karcie.
AIHUMMER_AGENT_SESSION_INDEX_PRUNE_DAYS
Agent: usuwaj z listy sesji po tylu dniach ciszy
int 0…3650
0
natychmiast
Nic nie jest usuwane: rozmowa znika z listy i wraca z nową wiadomością. 0 — zachowaj. 0–3650. Dotyczy agentów bez własnej wartości na karcie.
AIHUMMER_AGENT_SESSION_RESET_AT_HOUR
Agent: godzina codziennego rozpoczęcia od nowa
int 0…23
4
natychmiast
Dla trybów „codziennie”: rozmowa rozpoczęta przed tą godziną zaczyna się od nowa przy następnej wiadomości tej osoby. Godzina według strefy czasowej serwera (ustawienie „Strefa czasowa” w System i ustawienia). 0–23; 4 to noc, gdy prawie nikt nie pisze.
AIHUMMER_AGENT_SESSION_RESET_GROUP_IDLE_MINUTES
Agent: zaczynaj czat grupowy od nowa po ciszy (minuty)
int 0…525600
0
natychmiast
Dla czatów grupowych w trybach „po ciszy” i „codziennie i po ciszy”: po ilu minutach ciszy czat grupowy zaczyna się od nowa. 0 oznacza jak w czatach prywatnych. 0–525600.
AIHUMMER_AGENT_SESSION_RESET_GROUP_MODE
Agent: kiedy czat grupowy zaczyna się od nowa
enum: inherit \\| daily \\| idle \\| both \\| none
inherit
natychmiast
Osobna reguła dla czatów grupowych (grupy Telegram, rozmowy VK, czaty MAX i inne): jak w czatach prywatnych, codziennie o godzinie resetu, po ciszy, co nastąpi wcześniej, albo nigdy. Godzina resetu jest wspólna. Dotyczy agentów bez własnej reguły na karcie.
AIHUMMER_AGENT_SESSION_RESET_MODE
Agent: kiedy rozmowa zaczyna się od nowa
enum: idle \\| daily \\| both \\| none
idle
natychmiast
Kiedy agent zaczyna rozmowę od nowa: codziennie o godzinie resetu (w strefie czasowej instancji), po ciszy, co nastąpi wcześniej, albo nigdy. Zaczynając od nowa, agent zapisuje w swojej pamięci notatkę o poprzedniej rozmowie, a jego pierwsza tura dostaje poprzednie podsumowanie i ostatnie wiadomości; same wiadomości zostają w archiwum i w wyszukiwaniu. Dotyczy agentów bez własnej reguły na karcie; tam czatom grupowym można ustawić osobną.
AIHUMMER_AGENT_SESSION_SCOPE
Agent: dokąd trafiają rozmowy prywatne
enum: chat \\| per-channel-peer \\| per-peer
chat
natychmiast
«Jedna na osobę» łączy Telegram, aplikację i inne prywatne czaty tej samej osoby w jedną rozmowę. Czaty grupowe zawsze mają własną. Działa od następnej wiadomości. Dotyczy agentów bez własnej wartości na karcie.
AIHUMMER_AGENT_SILENT_REPLY
Agent: może milczeć
enum: groups \\| all \\| off
groups
natychmiast
W czatach grupowych agent może milczeć, gdy wiadomość nie jest do niego skierowana lub nie ma nic do dodania; w rozmowach prywatnych zawsze odpowiada. Możesz zezwolić na milczenie także w rozmowach prywatnych lub je wyłączyć. Milcząca tura niczego nie wysyła, karta rozmowy oznacza ją jako „agent milczał”, a model nie widzi jej w historii. Działa od następnej tury.
AIHUMMER_AGENT_SKILLS_PROMPT_MAX_CHARS
Agent: maks. liczba znaków listy umiejętności w prompcie
int 1000…200000
18000
natychmiast
W każdej turze model widzi nie teksty umiejętności, lecz ich listę: identyfikator, nazwę i kiedy stosować; instrukcję umiejętności agent wczytuje sam, gdy zadanie pasuje. Jeśli lista jest dłuższa, najpierw znikają opisy, potem koniec listy — resztę agent znajdzie na żądanie. 1000–200000.
AIHUMMER_AGENT_STALE_GAP_HOURS
Agent: przerwa, po której wcześniejsza rozmowa to historia (godziny)
int 0…8760
12
natychmiast
Jeśli ktoś pisze po przerwie dłuższej niż ta, agent dostaje adnotację: wszystko, o czym rozmawiano wcześniej, to historia — nie jest powtarzane, a dawne zadania nie są kontynuowane bez prośby. Każda wiadomość i tak niesie swój czas i to, ile minęło od poprzedniej. 0 = bez adnotacji. 0–8760.
AIHUMMER_AGENT_TOOL_HISTORY_TURNS
Agent: tury, w których pamiętane są wyniki narzędzi
int 0…100
5
natychmiast
W ilu ostatnich turach model widzi w całości wywołania narzędzi i ich wyniki (wynik jest przechowywany do 16 KB). Starsze tury zachowują wywołanie i początek wyniku. Dzięki temu agent pamięta, co znalazł i zrobił, zamiast ponownie wywoływać narzędzia. 0 = nie przenosić wyników do kolejnych tur. 0–100; agent może ustawić własną wartość.
AIHUMMER_APPROVAL_TOOLS
Narzędzia wymagające zatwierdzenia
multiselect
—
natychmiast
Lista narzędzi rozdzielonych przecinkami, których wywołania wymagają ręcznego zatwierdzenia przez operatora przed wykonaniem. Puste = zatwierdzenie nie jest wymagane. Działa od razu, bez ponownego uruchomienia.
Maksymalny czas działania pojedynczego subageta w sekundach.
AIHUMMER_TOOL_SEARCH
Leniwe ładowanie narzędzi
bool
false
natychmiast
Pokazuje od razu roboczy rdzeń narzędzi, a resztę dużego katalogu ukrywa za narzędziem wyszukiwania, które wymienia każde ukryte narzędzie. Opłaca się tylko przy dużych katalogach (dziesiątki narzędzi wtyczek, MCP lub OpenAPI): poniżej progu rozmiaru wszystkie narzędzia są pokazywane od razu, bo dodatkowe wywołanie modelu w celu znalezienia narzędzia kosztuje więcej niż schematy. Działa od następnej tury.
AIHUMMER_TOOL_SEARCH_CORE
Leniwe ładowanie narzędzi: narzędzia zawsze włączone
Narzędzia zawsze widoczne od razu w trybie leniwym. Domyślnie roboczy rdzeń: wyszukiwanie w sieci, pobieranie stron, pamięć, historia rozmowy, baza wiedzy, kod, pliki, wiadomości, harmonogramy i parowanie aplikacji. Wyszukiwanie w pamięci i bazie wiedzy (memory_search, memory_get, search_knowledge) jest widoczne zawsze, niezależnie od tej listy. Pusta lista przywraca ten rdzeń.
Ukrywaj narzędzia tylko wtedy, gdy schematy poza rdzeniem ważą łącznie co najmniej tyle tokenów (około 4 znaków na token). Poniżej wszystkie narzędzia są pokazywane od razu: dodatkowe wywołanie modelu w celu znalezienia narzędzia kosztuje więcej niż pokazanie schematów.
AIHUMMER_TOOL_SEARCH_THRESHOLD
Leniwe ładowanie narzędzi: minimalne narzędzia do odroczenia
int 0…1000
12
natychmiast
Odłóż tylko wtedy, gdy więcej narzędzi przetrwa filtr profilu agenta.
Agent · Reasoning
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_AGENT_BEST_OF_N
Najlepszy z N: liczba wariantów
int 0…8
0
natychmiast
Agent przygotowuje tyle wariantów odpowiedzi i zostawia najlepszy. 0 lub 1 — wyłączone, od 2 — włączone. Każdy wariant kosztuje tyle, co osobna odpowiedź.
Agent przygotowuje tyle wariantów odpowiedzi, porównuje je i podaje najlepszy. 0 lub 1 — wyłączone, od 2 — włączone. Każdy wariant kosztuje tyle, co osobna odpowiedź.
AIHUMMER_AGENT_DEBATE_PROMPT
Debata: zachęta kandydata (pominięcie)
text
—
natychmiast
Zastępuje monit dotyczący kandydata do debaty (puste = wbudowane).
AIHUMMER_AGENT_DEBATE_ROUNDS
Debata: rundy
int 1…10
1
natychmiast
Liczba rund debaty dla panelu kandydatów.
AIHUMMER_AGENT_JUDGE_PROMPT
Polecenie sędziego Best-of-N (pominięcie)
text
—
natychmiast
Zastępuje monit oceny najlepszej z N (puste = wbudowane).
AIHUMMER_AGENT_PLAN_PROMPT
Polecenie planisty (pominięcie)
text
—
natychmiast
Zastępuje monit planisty (puste = wbudowane).
AIHUMMER_AGENT_PLAN_STEPS
Planner-executor: maksymalna liczba kroków planu (0=wyłączone)
int 0…32
0
natychmiast
⟩0 uruchamia oddzielny planer → wykonawca → przebieg syntezy (dobry w przypadku złożonych, wieloetapowych zadań). 0 wyłącza. Typowe 4–8.
AIHUMMER_AGENT_PLAN_STEP_ITERS
Planer: iteracje narzędzia na krok (0=domyślne)
int 0…64
0
natychmiast
Ogranicza liczbę iteracji wywoływania narzędzi na krok planu. 0 = wbudowana wartość domyślna (4).
AIHUMMER_AGENT_REFLECT
Zaliczenie samokrytyki
bool
0
natychmiast
Dodaje refleksję/samokrytykę przed ostateczną odpowiedzią.
AIHUMMER_AGENT_REFLECT_PROMPT
Prośba o refleksję (pominięcie)
text
—
natychmiast
Zastępuje monit o samokrytykę (puste = wbudowane).
AIHUMMER_AGENT_SELF_HEAL
Ponowne próby błędu narzędzia samonaprawy (0=off)
int 0…10
0
natychmiast
⟩0 nieudanych prób wywołań narzędzi ze wskazówką korygującą, do tego limitu.
Domyślny język odpowiedzi/wskazówka dotycząca ustawień regionalnych, np. ru-RU. Instrukcje osoby/operatora zastępują.
AIHUMMER_TIMEZONE
Strefa czasowa
text
UTC
natychmiast
Strefa czasowa IANA dla bieżącej daty agenta i harmonogramów bez własnej strefy, np. Europe/Moscow. Domyślnie UTC.
Channels
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_CHANNEL_FAILURE_NOTICE
Informuj rozmówcę o nieudanej odpowiedzi
enum: always \\| once \\| off
always
natychmiast
Co dostaje rozmówca w kanale (Telegram i inne), gdy agent nie mógł odpowiedzieć: „Za każdym razem” — krótką wiadomość w swoim języku; „Nie częściej niż raz na 4 godziny” — jedną wiadomość na rozmowę w ciągu 4 godzin; „Nie informuj” — nic. Wiadomość nie zawiera kodów błędów ani nazw dostawców; szczegóły widzisz w „Sesjach” i powiadomieniach.
AIHUMMER_CHANNEL_FAILURE_TEXT_BLOCKED
Komunikat o niepowodzeniu: instancja jest zawieszona
text
—
natychmiast
Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu.
AIHUMMER_CHANNEL_FAILURE_TEXT_BUDGET
Komunikat o niepowodzeniu: wyczerpany budżet właściciela
text
—
natychmiast
Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu.
AIHUMMER_CHANNEL_FAILURE_TEXT_BUSY
Komunikat o niepowodzeniu: brama jest przeciążona
text
—
natychmiast
Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu.
AIHUMMER_CHANNEL_FAILURE_TEXT_CONFIG
Komunikat o niepowodzeniu: połączenie z modelem wymaga właściciela
text
—
natychmiast
Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu.
AIHUMMER_CHANNEL_FAILURE_TEXT_FAILED
Komunikat o niepowodzeniu: inny błąd
text
—
natychmiast
Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu.
AIHUMMER_CHANNEL_FAILURE_TEXT_QUOTA
Komunikat o niepowodzeniu: wyczerpany limit użycia modelu
text
—
natychmiast
Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu.
AIHUMMER_CHANNEL_FAILURE_TEXT_STEP_LIMIT
Komunikat o niepowodzeniu: zadanie nie zmieściło się w jednej odpowiedzi
text
—
natychmiast
Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu.
AIHUMMER_CHANNEL_FAILURE_TEXT_TOO_LONG
Komunikat o niepowodzeniu: rozmowa jest za długa dla modelu
text
—
natychmiast
Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu.
AIHUMMER_CHANNEL_FAILURE_TEXT_UNAVAILABLE
Komunikat o niepowodzeniu: model jest chwilowo niedostępny
text
—
natychmiast
Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu.
AIHUMMER_CONFIDENTIAL_PERSONA
Poufna osoba internetowa
bool
0
natychmiast
Gdy opcja ta jest włączona, agent czatu internetowego nie ujawnia ani nie utrwala szczegółów swojej osoby/tożsamości i przechowuje odpowiedzi dotyczące bieżącego zadania — używaj go w przypadku wdrożeń internetowych anonimowych lub wrażliwych na prywatność. Działa od razu, bez ponownego uruchomienia.
AIHUMMER_INBOUND_COALESCE_MS
Okno łączenia wiadomości (ms)
int
500
natychmiast
Kilka wiadomości, które jedna osoba wysyła po kolei na ten sam czat (krótkie wiadomości, album zdjęć, szybka poprawka), otrzymuje JEDNĄ odpowiedź, jeśli przerwa między nimi jest krótsza niż to okno. Na wiadomości, które przychodzą podczas przygotowywania odpowiedzi, odpowiedź pada zaraz po niej, nigdy równolegle. Domyślnie 500 ms; 0 = bez czekania między osobnymi wiadomościami; album zdjęć i tak jest zbierany (przerwy do 3 s, najwyżej 20 s), aby dostał jedną odpowiedź. Łączenie działa w Telegramie; Slack, WhatsApp, VK, e-mail i inne konektory, które czekają na odpowiedź na każdą wiadomość (oraz integracje przez /v1/inbound/generic), dostają odpowiedź na każdą wiadomość — nadal jedna po drugiej, po kolei. Działa od razu.
AIHUMMER_INBOUND_EDIT_MODE
Gdy ktoś edytuje wiadomość, na którą już odpowiedziano
enum: correct \\| history
correct
natychmiast
correct — bot odpowiada ponownie, wiedząc, że to poprawka („było / jest”); history — edycja tylko poprawia historię rozmowy, bez nowej odpowiedzi (wygodne przy literówkach). Edycja wiadomości, na którą bot jeszcze nie odpowiedział, zawsze po prostu zastępuje jej tekst. Działa tam, gdzie kanał zgłasza edycje (Telegram). Działa od razu.
AIHUMMER_INBOUND_QUEUE_MODE
Wiadomości pisane, gdy agent pracuje
enum: steer \\| collect \\| followup
steer
natychmiast
Co dzieje się z wiadomością, którą ta sama osoba wysyła, gdy agent wciąż przygotowuje odpowiedź (szuka, uruchamia narzędzia): steer (domyślnie) — agent widzi ją przed kolejnym krokiem i uwzględnia w tej samej odpowiedzi; collect — odpowiada na nią następna odpowiedź. followup — każda taka wiadomość po kolei dostaje osobną odpowiedź. Zdjęcia, pliki, odpowiedzi na wiadomość i przekazania zawsze czekają na następną odpowiedź. Działa od razu.
AIHUMMER_INBOUND_REQUIRE_BINDING
Odpowiadaj tylko użytkownikom z obsługą
bool
true
natychmiast
true = bot ignoruje każdego nadawcę kanału, który jest NOT skonfigurowanym użytkownikiem AiHummer (użytkownik z przypisaną rolą) — losowi członkowie czatu i wywołania gości nie otrzymują odpowiedzi. false (domyślnie) = odpowiadają wszystkim.
Integrations
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_A2A_PUBLISH
Publikuj agenta przez Agent2Agent (A2A)
bool
0
po ponownym uruchomieniu
Opublikuj agenta jako A2A serwer (Karta Agenta + POST /a2a/message). Stosowane przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_MCP_EXPORT_TOOLS
Narzędzia otwarte dla zewnętrznych asystentów
multiselect
—
po ponownym uruchomieniu
Jawna lista nazw narzędzi dozwolonych dla zewnętrznych klientów MCP, oddzielonych przecinkami. Pusty = nie publikuj żadnych narzędzi. Niebezpieczne klasy na poziomie hosta są dodatkowo zabronione przez wbudowane zasady, nawet jeśli są wymienione. Obowiązuje przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_MCP_PUBLISH
Publikuj narzędzia w MCP
bool
0
po ponownym uruchomieniu
Pozwala zewnętrznym asystentom (np. Claude Desktop) korzystać z narzędzi Twoich agentów. Które narzędzia otworzyć, wybiera się w sąsiednim ustawieniu: dopóki lista jest pusta, nie otwiera się żadne.
AIHUMMER_MODULE_CPU_QUOTA
Limit procesora wtyczki (na każdą)
text
75%
natychmiast
Jaką część procesora może zająć każda wtyczka (systemd CPUQuota): 75% to trzy czwarte jednego rdzenia, 150% — półtora rdzenia. Nową wartość wtyczka otrzyma przy następnej instalacji, aktualizacji lub zapisaniu jej ustawień; do tego czasu działające wtyczki zachowują poprzedni limit.
AIHUMMER_MODULE_MEMORY_MAX
Limit pamięci wtyczki (na każdą)
text
512M
natychmiast
Ile pamięci może zająć każda wtyczka (systemd MemoryMax): rozmiar taki jak 512M, 1G lub 2048M (co najmniej 64M) albo infinity — bez limitu. Wtyczkę, która go przekroczy, system zatrzyma. Nową wartość wtyczka otrzyma przy następnej instalacji, aktualizacji lub zapisaniu jej ustawień; do tego czasu działające wtyczki zachowują poprzedni limit.
Knowledge connectors
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_KB_SYNC_INTERVAL
Jak często odświeżać bazę wiedzy ze źródeł
text
—
natychmiast
Jak często serwer sam pobiera zmiany z podłączonych źródeł bazy wiedzy. Na przykład: 30m — co 30 minut, 6h — co 6 godzin. Puste lub 0 — tylko ręcznie. Ponowne wczytanie nie tworzy duplikatów. Eksport ze Slacka wgrywa się ręcznie.
LLM
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_AUX_FALLBACK_MODELS
Zadania pomocnicze: modele zapasowe
list
—
natychmiast
Modele rozdzielone przecinkami, próbowane po kolei, gdy model pomocniczy zawiedzie (limit, awaria). Na końcu zawsze próbowany jest model główny, aby podsumowanie nie przepadło. Każde przełączenie jest zapisywane w dzienniku. Działa od razu.
AIHUMMER_AUX_MODEL
Model do zadań pomocniczych (podsumowania, notatki, tytuły)
text
—
natychmiast
Model do zadań pomocniczych w tle: zwijanie starej historii w podsumowanie, notatka do pamięci przed kompresją, tytuły rozmów, wyodrębnianie faktów, przeformułowanie zapytań wyszukiwania i tłumaczenie. Puste = automatycznie: tańszy model tego samego dostawcy (Claude → claude-haiku-4-5, Codex → gpt-…-luna/mini); jeśli go nie ma — model główny. „main” = zawsze model główny. Działa od razu.
AIHUMMER_CASCADE_MIN_CHARS
Kaskada: minimalna liczba znaków do eskalacji
int
0
natychmiast
Próg długości żądania (znaki), przy którym uruchamia się silniejszy model kaskadowy. 0 = wartość domyślna.
AIHUMMER_CASCADE_STRONG_MODEL
Kaskada: silniejszy model awaryjny
text
—
natychmiast
Model do kaskadowania w przypadku długich/złożonych żądań (puste = wyłączone).
AIHUMMER_CLAUDE_AUTH_URL
Subskrypcja Claude: adres strony logowania
text
—
natychmiast
Strona, na której zezwalasz na podłączenie subskrypcji Claude. Puste — adres standardowy; zmieniaj tylko na prośbę wsparcia.
AIHUMMER_CLAUDE_CLIENT_ID
Subskrypcja Claude: identyfikator klienta OAuth
text
—
natychmiast
Identyfikator aplikacji do logowania subskrypcją Claude. Puste — standardowy; zmieniaj tylko na prośbę wsparcia.
AIHUMMER_CLAUDE_EFFORT
Claude: głębokość rozumowania
enum: low \\| medium \\| high \\| xhigh \\| max
medium
natychmiast
Jak głęboko modele Claude zastanawiają się przed odpowiedzią, gdy agent tego nie określa. Wyżej — dokładniej przy trudnych zadaniach, ale wolniej i z większym zużyciem limitu; niżej — szybciej i taniej. Model, który nie zna wybranego poziomu, dostaje najbliższy niższy; Haiku 4.5 i starsze modele nie obsługują rozumowania. Głębokość ustawiona w agencie ma pierwszeństwo. Działa od następnej tury.
AIHUMMER_CLAUDE_MAX_TOKENS
Claude: maksymalna długość odpowiedzi (tokeny)
int
16000
natychmiast
Ile tokenów może zająć jedna odpowiedź Claude — zarówno w subskrypcji, jak i z kluczem. Rozumowanie modelu wlicza się do tego samego limitu: zbyt mała wartość ucina odpowiedź w pół zdania lub daje pustą odpowiedź. Jeśli agent ma własną długość odpowiedzi, obowiązuje ona.
AIHUMMER_CLAUDE_REDIRECT_URI
Subskrypcja Claude: identyfikator URI przekierowania
text
—
natychmiast
Adres zwrotny zarejestrowany u dostawcy. Musi pasować do tego, co jest skonfigurowane na jego stronie, w przeciwnym razie wymiana kodu zostanie odrzucona.
AIHUMMER_CLAUDE_TOKEN_URL
Subskrypcja Claude: adres uzyskania dostępu
text
—
natychmiast
Adres, pod którym serwer uzyskuje i odnawia dostęp do subskrypcji Claude. Puste — adres standardowy; zmieniaj tylko na prośbę wsparcia.
AIHUMMER_CODEX_BASE_URL
Baza Kodeksu URL
text
—
częściowo po ponownym uruchomieniu
Podstawa transportu Codex (subskrypcja ChatGPT). Stosowane przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_CODEX_MAX_OUTPUT_TOKENS
Maksymalna liczba tokenów wyjściowych (0 = brak limitu)
int
0
natychmiast
Ograniczenie max_output_tokens dla tury czatu. 0 = brak limitu. W modelach wnioskowania żetony wnioskowania również wliczają się do tego budżetu, więc zbyt mała wartość daje pustą odpowiedź „niekompletna: max_output_tokens”. Stosowane na bieżąco (bez restartu).
AIHUMMER_CODEX_MODEL
Identyfikator modelu (transport Codex / gpt-5.5)
text
gpt-5.5
częściowo po ponownym uruchomieniu
Identyfikator modelu podstawowego transportu Codex/ChatGPT (np. gpt-5.5, gpt-5.5-codex). Stosowane przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_CODEX_REASONING_EFFORT
Wysiłek rozumowania
enum: none \\| low \\| medium \\| high \\| xhigh
medium
natychmiast
Jak głęboko model ChatGPT (Codex) myśli przed odpowiedzią, jeśli agent tego nie ustawia. Domyślnie — „Średnie”. Wyżej — dokładniej, ale wolniej i drożej.
AIHUMMER_LLM_CALL_TIMEOUT_S
Limit czasu połączenia (sekundy)
int
120
natychmiast
Ile sekund czekać na odpowiedź modelu na jedno zapytanie. Jeśli model milczy dłużej, zapytanie jest przerywane, a odpowiedź przechodzi do następnego modelu z listy. W przypadku Claude liczy się przerwa w strumieniu odpowiedzi, a nie cała odpowiedź: długa, ale wciąż płynąca odpowiedź nie jest ucinana. 0 — bez limitu.
AIHUMMER_LLM_FALLBACK_MODELS
Modele zapasowe (wszyscy agenci)
text
auto
natychmiast
Kto odpowiada, gdy model główny i pozostali dostawcy zawiodą (wyczerpany limit użycia, awaria, zbyt wiele żądań). auto — tańszy model każdego dostawcy jako ostatnia deska ratunku (Claude: claude-haiku-4-5, Codex: gpt-…-luna/mini); lista rozdzielona przecinkami — własna kolejność, każdy model trafia do dostawców swojego producenta; off — bez modeli zapasowych. Własny model zapasowy agenta ma pierwszeństwo. Działa od razu.
AIHUMMER_LLM_GATEWAY_URL
LLM bramka URL
text
—
częściowo po ponownym uruchomieniu
Baza URL punktu końcowego modelu zgodnego z OpenAI, który wywołuje agent (lokalny serwer llama.cpp/vLLM/Ollama lub hostowana brama). Pozostaw puste, aby użyć domyślnego punktu końcowego dostawcy.
AIHUMMER_LLM_MODEL
Model LLM
text
—
częściowo po ponownym uruchomieniu
Nazwa/identyfikator modelu wysyłany do dostawcy w każdej turze (model obsługiwany przez Twój punkt końcowy). Musi pasować do modelu, który faktycznie udostępnia punkt końcowy.
AIHUMMER_LLM_PAUSE_AUTH_MIN
Pauza po odrzuceniu poświadczeń, min
int
10
natychmiast
Przez ile minut nie pytać dostawcy, który odrzucił poświadczenia. Każde powtórzenie podwaja pauzę, najwyżej do sześciokrotności pierwszej. Udany test połączenia lub przycisk „Wznów teraz” przywraca go od razu. Działa od następnej porażki.
AIHUMMER_LLM_PAUSE_MODEL_MIN
Pauza modelu, którego dostawca nie obsługuje, min
int
60
natychmiast
Przez ile minut nie proponować dostawcy modelu, o którym powiedział, że go nie obsługuje; o jego inne modele pytamy jak zwykle. Działa od następnej porażki.
AIHUMMER_LLM_PAUSE_QUOTA_MIN
Pauza po wyczerpaniu limitu, min
int
300
natychmiast
Przez ile minut nie pytać modelu (lub całego konta, gdy wyczerpano limit konta — Codex, klucz OpenAI, płatność), gdy jego limit użycia jest wyczerpany, a dostawca nie podał terminu odnowienia. Każde powtórzenie podwaja pauzę, najwyżej do doby. Termin podany przez dostawcę ma pierwszeństwo. Działa od następnej porażki.
AIHUMMER_LLM_PAUSE_SHORT_S
Pauza dostawcy po awarii, s
int
30
natychmiast
Przez ile sekund nie pytać dostawcy po awarii, zerwanym połączeniu lub „zbyt wielu żądaniach”. Druga porażka z rzędu podwaja pauzę, trzecia i kolejne wydłużają ją dziesięciokrotnie. Jeśli dostawca sam poda termin, czekamy do niego. Działa od następnej porażki.
AIHUMMER_LLM_PROVIDER
LLM dostawca
text
—
częściowo po ponownym uruchomieniu
Którego modelu zaplecza użyć (punkt końcowy zgodny z OpenAI czy transport z subskrypcją Codex/ChatGPT). Decyduje o sposobie wysyłania i uwierzytelniania żądań.
AIHUMMER_LLM_RETRIES
LLM ponownych prób w przypadku przejściowego błędu
int
3
natychmiast
Liczba ponownych prób żądania LLM w przypadku błędu przejściowego.
AIHUMMER_LLM_TEMPERATURE
Temperatura
text
—
natychmiast
Jak różnorodnie odpowiada model (0–2), jeśli agent tego nie ustawia: mniej — dokładniej i przewidywalniej, więcej — żywiej. Puste — decyduje model. Modele rozumujące (ChatGPT/Codex, Claude generacji 5) tego nie przyjmują — zostaw dla nich pole puste.
AIHUMMER_LLM_TOP_P
Top-p (jądro próbkowanie)
text
—
natychmiast
Kolejny sposób na bardziej zróżnicowane odpowiedzi (0–1), jeśli agent tego nie ustawia. Puste — decyduje model. Zwykle ustawia się tylko jedno: temperaturę albo to; modele rozumujące tego nie przyjmują.
AIHUMMER_MODEL_GUARD_INTERVAL_MIN
Sprawdzanie modelu agenta: interwał, min
int
60
natychmiast
Jak często sprawdzać, czy model każdego agenta jest udostępniany przez włączonego dostawcę. Model agenta nigdy nie jest zmieniany: dopóki nikt go nie udostępnia, odpowiada pierwszy model z kolejności odpowiedzi, który nie jest wstrzymany, a powiadomienie wymienia agentów — i kolejne, gdy ich model wróci. Sprawdzanie zawsze odbywa się przy starcie bramy, a 0 wyłącza tylko powtarzanie. Nowy odstęp działa w ciągu minuty.
AIHUMMER_OPENAI_API
Styl OpenAI API (czat | odpowiedzi)
enum: \\| chat \\| responses
—
częściowo po ponownym uruchomieniu
chat = /chat/completions, responds = /responses. Puste = auto/domyślne. Stosowane przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_OPENAI_API_KEY
Natywny klucz OpenAI API (wdrożenie domyślnie)
text
—
częściowo po ponownym uruchomieniu
Twój klucz konta OpenAI dla natywnej pętli OpenAI (jeśli używasz OpenAI jako domyślnego dostawcy). Nie mylić z obszarem roboczym BYOK na stronie Modele. Stosowane przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_OPENAI_BASE_URL
Natywna baza OpenAI URL
text
—
po ponownym uruchomieniu
Podstawa API kompatybilnego z OpenAI (np. https://api.openai.com/v1). Stosowana przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_OPENAI_MODEL
Natywny model OpenAI
text
—
po ponownym uruchomieniu
Model natywnej pętli OpenAI (gdy ustawiono AIHUMMER_OPENAI_API_KEY). Stosowane przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_ROUTER_COMPLEX_MODEL
Router: model dla złożonych włącza
text
—
natychmiast
Model dla złożonych żądań agenta bez własnego modelu (puste = poziom wyłączony). Działa od następnego kroku.
AIHUMMER_ROUTER_SIMPLE_MODEL
Router: model dla prostych skrętów
text
—
natychmiast
Model dla prostych żądań agenta bez własnego modelu (puste = poziom wyłączony). Działa od następnego kroku.
AIHUMMER_ROUTER_STANDARD_MODEL
Router: model dla standardowych skrętów
text
—
natychmiast
Model dla zwykłych żądań agenta bez własnego modelu (puste = poziom wyłączony). Działa od następnego kroku.
AIHUMMER_SUBSCRIPTION_QUOTA_REFRESH_MIN
Limity subskrypcji: okres odpytywania, min
int
15
natychmiast
Jak często panel pyta ChatGPT (Codex) o okna limitów subskrypcji: najwyżej raz na okres, nie częściej niż co 5 minut i tylko gdy limity są otwarte; pomiędzy pokazywana jest zapisana kopia. Claude nie jest pytany nigdy: jego limity to nasz szacunek. Działa od następnego otwarcia limitów.
Media
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_DEEPGRAM_API_KEY
Klucz Deepgram API
text
—
natychmiast
Klucz usługi Deepgram — potrzebny, jeśli wiadomości głosowe rozpoznaje Deepgram. Jeśli puste, używany jest wspólny klucz rozpoznawania mowy z sąsiedniego ustawienia. Działa od razu.
AIHUMMER_DEEPGRAM_DETECT_LANGUAGE
Rozpoznawanie języka Deepgram
bool
0
natychmiast
Rozpoznaj język zamiast przesyłać stały język. Działa od razu.
AIHUMMER_DEEPGRAM_MODEL
Model Deepgramu
text
nova-2
natychmiast
Model Deepgram (np. nova-2, nova-3, base). Zależy od dostępu projektu do klucza. Działa od razu.
AIHUMMER_DEEPGRAM_PUNCTUATE
Interpunkcja Deepgram
bool
1
natychmiast
Dodawaj interpunkcję i wielkie litery. Działa od razu.
AIHUMMER_DEEPGRAM_SMART_FORMAT
Inteligentne formatowanie Deepgram
bool
1
natychmiast
Formatuj rozpoznane liczby i daty. Działa od razu.
Największy plik (zdjęcie, wiadomość głosowa, wideo), który można przesłać naraz, w megabajtach. Chroni dysk serwera przed zapełnieniem. Domyślnie 256. Działa od razu.
AIHUMMER_SIDECAR_STT
Rozpoznawanie mowy na tym serwerze (faster-whisper)
bool
0
natychmiast
Lokalne rozpoznawanie mowy (faster-whisper). NIE zawarte w pakiecie: Włącz pobiera podpisany dodatek (~620 MiB dla wszystkich wersji Pythona) i instaluje usługę na hoście. 🔴 Dodatek jest publikowany na mocy odrębnej decyzji dostawcy (jego pakiety zawierają ffmpeg na licencji GPL); jeśli nie zostanie to opublikowane dla waszego wydania, łącznie z tym, będzie w tym szczery i niczego nie zepsuje. Plan w chmurze: rozpoznawanie jest konfigurowane przez dostawcę.
AIHUMMER_SIDECAR_TTS
Odpowiedzi głosowe (edge-tts)
bool
0
natychmiast
Synteza mowy (edge-tts, głosy Microsoft Edge). NIE jest zawarte w pakiecie: włączenie powoduje pobranie podpisanego dodatku (~26 MiB) i zainstalowanie usługi na hoście. Sama synteza jest przesyłana online w celu głosowania - „offline” odnosi się tutaj do instalowania pakietu, a nie do działania.
AIHUMMER_STT_API_KEY
STT API klucz (opcjonalny)
text
—
natychmiast
Klucz dostępu do usługi rozpoznawania mowy, jeśli go wymaga. Dla usługi na tym serwerze ustawia go instalator — nie trzeba go zmieniać. Działa od razu.
AIHUMMER_STT_ENGINE
STT silnik
enum: auto \\| faster-whisper \\| deepgram \\| codex \\| off
auto
natychmiast
Czym transkrybować wiadomości głosowe. Auto (domyślnie): Deepgram, jeśli ustawiono jego klucz, w przeciwnym razie usługa lokalna, jeśli jest zainstalowana (przełącznik powyżej), w przeciwnym razie niczym — a bot uczciwie powie nadawcy, że jeszcze nie umie słuchać. faster-whisper: usługa lokalna lub zgodne zewnętrzne /v1/audio/transcriptions. deepgram: Deepgram w chmurze z własnym kluczem. codex: podłączona subskrypcja ChatGPT (Modele → Połącz ChatGPT), zużywa jej limit. off: nie transkrybować. Działa od razu.
AIHUMMER_STT_LANGUAGE
STT język
text
—
natychmiast
Język rozpoznawania (BCP-47, np. ru/en). Używany przez silnik deepgram (model nova-2). Puste = automatyczne wykrywanie / ustawienie domyślne silnika. Działa od razu.
AIHUMMER_STT_MODEL
Model STT
text
Systran/faster-whisper-small
natychmiast
szybszy model szeptu (np. mały/średni/duży-v3 lub Systran/szybszy-szept-⟨size⟩). Działa od razu.
AIHUMMER_TTS_API_KEY
TTS API klucz (edge-tts)
text
—
częściowo po ponownym uruchomieniu
Klucz dostępu do usługi syntezy mowy. Ustawiany automatycznie podczas instalacji — nie trzeba go zmieniać.
AIHUMMER_TTS_ENABLED
Włączono zamianę tekstu na mowę
bool
1
częściowo po ponownym uruchomieniu
Pozwala agentowi odpowiadać głosem. Potrzebna jest do tego usługa syntezy mowy — instaluje się ją wyżej, w sekcji „Usługi dodatkowe”.
AIHUMMER_TTS_MODEL
Model TTS
text
—
częściowo po ponownym uruchomieniu
Nazwa modelu usługi Edge-tts. Stosowane przy uruchomieniu/po ponownym uruchomieniu.
Domyślny głos Edge-tts (wielojęzyczny, w tym rosyjski). Stosowane przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_VIDEO_API_KEY
Analiza wideo API klucz
text
—
natychmiast
Klucz dostępu do usługi analizy wideo, jeśli go wymaga. Puste — usługa działa bez klucza.
Media · Voice
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_TTS_AUTO_REPLY
Automatyczne odpowiedzi głosowe
enum: off \\| always \\| inbound \\| tagged
inbound
natychmiast
Nigdy, zawsze, po otrzymaniu nagrania lub po wyraźnym oznaczeniu. Można zmienić dla rozmowy.
AIHUMMER_TTS_MAX_CHARS
Limit znaków wypowiadanej odpowiedzi
int
0
natychmiast
0: pełny tekst; 100–10000: limit tekstu do odczytania. Pełna odpowiedź pozostaje w historii.
AIHUMMER_TTS_SUMMARIZE
Skracanie długich odpowiedzi głosowych
bool
1
natychmiast
Streszczaj długie odpowiedzi do odczytania. W razie błędu odczytaj początek w granicach limitu.
AIHUMMER_VOICE_AEC
Wyeliminowanie echa (AEC)
bool
1
natychmiast
Usuwa echo: własny głos agenta z głośnika nie wraca do mikrofonu i nie przerywa rozmowy. Wyłącz tylko wtedy, gdy głos w słuchawkach brzmi zniekształcony.
AIHUMMER_VOICE_AGC
Automatyczna kontrola wzmocnienia
bool
1
natychmiast
Wymagaj automatycznej regulacji wzmocnienia mikrofonu (WebRTC autoGainControl) w trybie głosowym.
AIHUMMER_VOICE_BARGEIN_FRAMES
Przerwanie agenta: jak długo mówić
int
5
natychmiast
Jak długo trzeba mówić (w ramkach po 20 ms), aby agent zamilkł i zaczął słuchać. Domyślnie 5 — około 0,1 sekundy.
AIHUMMER_VOICE_DUPLEX
Głos na żywo w trybie pełnego dupleksu
bool
0
natychmiast
Włącza tryb pełnego dupleksu na żywo (strumieniowanie + VAD + wtrącanie). Działa od razu.
AIHUMMER_VOICE_NOISE_SUPPRESSION
Tłumienie szumów
bool
1
natychmiast
Wymagaj redukcji szumów przy przechwytywaniu z mikrofonu (WebRTC noiseSuppression) w trybie głosowym.
AIHUMMER_VOICE_VAD_THRESHOLD
Czułość na głos (0–1)
text
0.02
natychmiast
Od jakiej głośności dźwięk liczy się jako mowa. Mniej — czulej: agent usłyszy cichą mowę, ale i szum otoczenia. Domyślnie 0.02.
Memory
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_EMBEDDER_DIM
Wymiar modelu wyszukiwania znaczeniowego
int
768
po ponownym uruchomieniu
Wymiar wektorowy — musi pasować do modelu (wielojęzyczny-e5-base=768, bge-m3=1024).
AIHUMMER_EMBEDDER_KEEPALIVE
Utrzymywanie osadzania
text
5m
po ponownym uruchomieniu
Jak długo model wyszukiwania znaczeniowego pozostaje załadowany po ostatnim zapytaniu (tylko w trybie „Po znaczeniu”). Domyślnie 5m — 5 minut: potem model jest zwalniany i oddaje pamięć oraz procesor. Trzymanie zawsze (-1) nie jest zalecane: zawieszony model może całymi dniami zajmować rdzeń procesora. Format: 30s, 5m, 1h.
AIHUMMER_EMBEDDER_MODEL
Model wyszukiwania znaczeniowego
text
yxchia/multilingual-e5-base
po ponownym uruchomieniu
Model, który pozwala szukać w pamięci po znaczeniu. Domyślny multilingual-e5-base rozumie rosyjski, jest lekki i szybko działa na zwykłym procesorze. Dla lepszej jakości na karcie graficznej nadaje się bge-m3, ale wtedy w sąsiednim ustawieniu wymiaru wpisz 1024: liczba musi pasować do modelu.
AIHUMMER_EMBEDDER_PASSAGE_PREFIX
Prefiks fragmentu osadzania
text
—
po ponownym uruchomieniu
Zastąp przedrostek przechowywanego dokumentu (modele e5 automatycznie używają „fragmentu:”). Pozostaw puste, aby automatycznie wykryć nazwę modelu.
AIHUMMER_EMBEDDER_QUERY_PREFIX
Prefiks zapytania osadzania
text
—
po ponownym uruchomieniu
Zastąp prefiks zapytania o pobieranie (modele e5 automatycznie używają „zapytania:”). Pozostaw puste, aby automatycznie wykryć według nazwy modelu.
AIHUMMER_EMBEDDER_THREADS
Wątki procesora embeddera
int 0…256
0
po ponownym uruchomieniu
Ile wątków procesora model wyszukiwania według znaczenia bierze na jedno zapytanie. 0 — automatycznie: połowa wątków serwera, ale nie mniej niż 2. Bez limitu przeliczanie wektorów bazy wiedzy na słabym serwerze godzinami zajmowało cały procesor i spowalniało odpowiedzi agentów. Więcej — szybsze przeliczanie, ale większe obciążenie.
AIHUMMER_MEMORY_AGENT_WRITES
Fakty zapisywane przez samego agenta
enum: strangers \\| immediate \\| review
strangers
natychmiast
Co dzieje się z tym, co agent zapamiętuje sam — np. na prośbę „zapamiętaj”. „Od razu do pamięci; od obcych — do sprawdzenia” (domyślnie) — od razu do pamięci, jeśli powiedział to właściciel lub zaufany krąg agenta; od wszystkich innych — do sprawdzenia. „Od razu do pamięci” — agent od razu to znajdzie. „Do sprawdzenia” — najpierw do kolejki Pamięć → do sprawdzenia; do odpowiedzi trafia dopiero po Twojej akceptacji. Na karcie agenta (Pamięć → Ustawienia) można wybrać własny tryb.
AIHUMMER_MEMORY_AUTOREPAIR
Automatyczna naprawa pamięci
bool
1
natychmiast
Po samokontroli naprawiać pamięć: scalać duplikaty, zamykać sprzeczności z wyraźnym zwycięzcą (potwierdzenie przez człowieka, późniejsza data zdarzenia, ważniejsze źródło), ponownie sprawdzać ze źródłami fakty oznaczone jako potwierdzone, których nie potwierdził człowiek (niepotwierdzone trafiają do weryfikacji, nic nie jest usuwane). Sporne trafia tylko do kolejki. Każda poprawka jest zapisywana z przyciskiem cofnięcia; jeśli po przebiegu pamięć znajduje gorzej, przebieg cofa się sam i przychodzi powiadomienie. Działa od razu, bez restartu.
AIHUMMER_MEMORY_CAPTURE
Tryb przechwytywania pamięci
enum: auto \\| review \\| off
review
natychmiast
Co robić z faktami, które agent sam zauważa w rozmowie po każdej odpowiedzi. „Do sprawdzenia” — do kolejki Pamięć → do sprawdzenia: do odpowiedzi trafiają dopiero po Twojej akceptacji. „Od razu do pamięci” — bez sprawdzania: szybciej, ale więcej zbędnego. „Nie zapisuj” — nie wyciągaj faktów z rozmów. To, co agent zapamiętuje na prośbę, ustawia się osobno.
AIHUMMER_MEMORY_CONTEXT_TIMEOUT
Przekroczono limit czasu uzupełniania pamięci
text
3s
natychmiast
Jak długo agent czeka na odpowiednie wspomnienia, zanim zacznie odpowiadać. Jeśli wyszukiwanie nie zdąży, agent odpowiada bez nich, zamiast się zawieszać. Na przykład: 2s — 2 sekundy, 1500ms — 1,5 sekundy. 0 — czekać ile trzeba.
AIHUMMER_MEMORY_DIARY_BOOT
Dziennik agenta na początku sesji
bool
1
natychmiast
Na każdym kroku sesji na dowolnym kanale mieć przed agentem jego dziennik z dziś i wczoraj: notatki z wcześniejszych sesji, nocne podsumowanie i wpisy samego agenta. Pokazywane są tylko wpisy o bieżącym rozmówcy i wspólne (twoje, przesłane) — jeden klient nigdy nie widzi wpisów o innym. Najwyżej ~6000 znaków; resztę agent czyta sam (memory_get). Działa od razu, bez ponownego uruchomienia.
AIHUMMER_MEMORY_DIARY_HOUR
Godzina nocnego podsumowania
int
3
natychmiast
Po której godzinie (0–23, strefa czasowa instancji) zapisywać podsumowanie minionego dnia. Domyślnie 3 — w nocy, gdy rozmowy dnia się skończyły. Działa od razu, bez ponownego uruchomienia.
AIHUMMER_MEMORY_DIARY_NIGHTLY
Nocne podsumowanie dnia w dzienniku agenta
bool
1
natychmiast
Raz na dobę zapisywać w dzienniku agenta podsumowanie minionego dnia — osobno dla każdego rozmówcy (wszystkie jego kanały razem): o co proszono i co zrobiono, ustalenia, zadania z datami. Jedno wywołanie modelu do zadań pomocniczych na agenta i rozmówcę, najwyżej 3 na przebieg co 10 minut; pominięte dni są nadrabiane do tygodnia wstecz. Rozmowy z prośbą „nie zapamiętuj” są pomijane. Nie jest zapisywane, gdy przechwytywanie pamięci jest wyłączone. Wynik ostatniego przebiegu widać w karcie agenta → Pamięć → Dziennik. Działa od razu, bez ponownego uruchomienia.
AIHUMMER_MEMORY_DREAM_INTERVAL
Interwał przebiegu snu
string
1h
natychmiast
Jak często samopodtrzymujące się skany Dream Pass sprawdzały twierdzenia o sprzecznościach we wszystkich zakresach (czas trwania Go, np. 30 m/1 godz./6 godz.). Ustaw 0, aby wyłączyć. Działa od razu, bez ponownego uruchomienia.
AIHUMMER_MEMORY_EXTRACT
LLM ekstrakcja faktów
bool
1
natychmiast
Wyodrębnij znormalizowane fakty dotyczące podmiotu/predykatu/obiektu za pomocą LLM (domyślnie włączone) zamiast zapisywać surowe fragmenty zdań — wymagane do uruchomienia maszyny wykresów/sprzeczności/snów. Dodaje jedno wywołanie LLM na przechwyconą wiadomość; wyrusz, aby zapisać połączenie. Działa od razu, bez ponownego uruchomienia.
AIHUMMER_MEMORY_MEANING_TIMEOUT
Limit czasu wyszukiwania według znaczenia
text
4s
natychmiast
Jak długo wyszukiwanie w pamięci i w bazie wiedzy czeka na wyszukiwanie według znaczenia. Jeśli model znaczenia jest zajęty (na przykład liczy wektory po imporcie) i nie odpowie na czas, agent od razu dostaje to, co znaleziono po słowach, z adnotacją, zamiast czekać dziesiątki sekund. Na przykład: 4s — 4 sekundy, 1500ms — 1,5 sekundy. 0 — czekać, ile trzeba. Działa od razu, bez ponownego uruchomienia.
AIHUMMER_MEMORY_QUALITY_CHECK
Codzienna samokontrola pamięci
bool
1
natychmiast
Raz na dobę pamięć zadaje sobie pytania kontrolne o swoje potwierdzone fakty (do 60 faktów, codziennie te same pytania) oraz pytania bez odpowiedzi, przepuszcza je przez wyszukiwanie w pamięci i automatyczne przywoływanie i mierzy kompletność, precyzję, MRR oraz fałszywe przywołania. Wynik i wykres dzienny: Pamięć → Jakość pamięci. Pytania do nowych faktów raz układa model usługowy (ten sam, który wydobywa fakty z rozmów; bez niego — według szablonu); wyniki zostają na instancji. Działa od razu, bez restartu.
AIHUMMER_MEMORY_RECALL
Automatyczne przywoływanie pamięci
enum: strong \\| always \\| off
strong
natychmiast
Czy dodawać znalezione w pamięci do odpowiedzi automatycznie. „Tylko mocne dopasowania” — fakt musi zgadzać się z wiadomością w co najmniej dwóch ważnych słowach; powitania i „ok” niczego nie przyciągają. „Wszystko podobne” — wszystko, co jakoś pasowało, oraz powiązane wpisy: więcej zbędnego. „Nie dodawaj” — agent sam szuka w pamięci, gdy uzna to za potrzebne.
AIHUMMER_MEMORY_RECALL_MAX
Faktów na odpowiedź
int
5
natychmiast
Maksymalna liczba faktów z pamięci dodawanych do jednej odpowiedzi (domyślnie 5). Przeformułowania tego samego faktu liczą się jako jeden. Działa od razu, bez ponownego uruchomienia.
AIHUMMER_MEMORY_RECALL_MIN_SCORE
Minimalne dopasowanie do automatycznego przywołania, %
int
10
natychmiast
Jaką część znaczących słów wiadomości (ważonych rzadkością) fakt musi pokryć, aby został dodany automatycznie, w procentach. Domyślnie 10 – dobrane na prawdziwych rozmowach. Wyżej = rzadziej i dokładniej, niżej = częściej i z większym szumem. Nie wpływa na jawne wyszukiwanie memory_search. 0 = bez progu: wystarczą dwa pasujące znaczące słowa. Działa od razu, bez ponownego uruchomienia.
AIHUMMER_MEMORY_RECALL_MIN_SIMILARITY
Minimalne podobieństwo znaczeniowe dla automatycznego przywoływania, %
int
86
natychmiast
Tylko dla wyszukiwania w pamięci według znaczenia (embedder): jak bliski znaczeniowo wiadomości musi być fakt, aby został dodany automatycznie, w procentach podobieństwa. Domyślnie 86 — dobrane dla modelu multilingual-e5-base na prawdziwej pamięci: poniżej niemal do każdej wiadomości dodawane są niezwiązane fakty. Inne modele (np. bge-m3) liczą podobieństwo inaczej — dobierz wartość przez „Zapytaj pamięć” w karcie agenta. 0 = bez progu. Nie wpływa na jawne wyszukiwanie memory_search. Działa od razu, bez ponownego uruchomienia.
AIHUMMER_MEMORY_RETRIEVAL
Tryb odzyskiwania pamięci
enum: fulltext \\| embedding
fulltext
po ponownym uruchomieniu
Jak agent szuka w pamięci. „Po słowach” — zwykłe wyszukiwanie tekstu: działa od razu i nie obciąża serwera. „Po znaczeniu” — znajduje rzeczy bliskie znaczeniowo, nawet ujęte innymi słowami, ale wymaga modelu wyszukiwania znaczeniowego (sekcja „Usługi dodatkowe”) i zauważalnego obciążenia procesora.
AIHUMMER_QDRANT_API_KEY
Klucz Qdrant API
text
—
po ponownym uruchomieniu
Klucz API Qdrant, jeśli magazyn wektorów wymaga autoryzacji. Potrzebny tylko wtedy, gdy podano adres Qdrant. Stosowane przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_QDRANT_URL
Qdrant URL (magazyn trwałych wektorów)
text
—
po ponownym uruchomieniu
Adres magazynu Qdrant do wyszukiwania znaczeniowego. Puste — dane wyszukiwania są trzymane w pamięci i giną po restarcie serwera; do stałej pracy podaj adres.
AIHUMMER_RAG_QUERY_EXPANSION
Przeformułowuj zapytania do bazy wiedzy modelem
bool
0
natychmiast
Przed wyszukiwaniem w bazie wiedzy poproś model do zadań pomocniczych o 3 przeformułowania zapytania i szukaj wszystkimi. Czasem znajduje więcej, ale to dodatkowe wywołanie modelu przy KAŻDYM wyszukiwaniu (limit i opóźnienie); jeśli model zawiedzie, szuka się tylko pierwotnym sformułowaniem, a błąd widać w dzienniku i w wyniku wyszukiwania. Domyślnie wyłączone: słowa i tak znajduje wyszukiwanie pełnotekstowe. Działa od razu, bez ponownego uruchomienia.
AIHUMMER_RERANKER_URL
RAG wózek boczny rerankingu URL
text
—
po ponownym uruchomieniu
HTTP URL wózka bocznego cross-enkodera do zmiany rankingu wyszukiwania hybrydowego. Puste = zmiana rankingu wyłączona. Stosowane przy uruchomieniu/po ponownym uruchomieniu.
Moderation
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_MODERATION
Wprowadź moderację
bool
1
natychmiast
“off” wyłącza wbudowaną ochronę przed jailbreakiem/wstrzyknięciem promptu. Każda inna wartość = włączona. Działa od razu, bez ponownego uruchomienia.
AIHUMMER_MODERATION_REFUSAL
Wiadomość o odmowie moderacji
text
—
natychmiast
Tekst odmowy zwracany, gdy moderator blokuje żądanie (puste = wbudowany). Działa od razu, bez ponownego uruchomienia.
Network
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_OUTBOUND_PROXY_CUSTOM_URL
Wychodzący serwer proxy: własny adres
text
—
natychmiast
URL proxy HTTPS; HTTP tylko na loopback, bez ścieżki, zapytania i fragmentu. Zapisz adres przed wybraniem custom. Maskowany w API; przechowywany w ustawieniach aplikacji.
AIHUMMER_OUTBOUND_PROXY_MODE
Wychodzący serwer proxy dla zagranicznych dostawców modeli
enum: auto \\| off \\| custom
auto
natychmiast
Jak serwer łączy się z zagranicznymi dostawcami modeli. „Jak u dostawcy” — tak, jak ustawiono na koncie dostawcy; „Bezpośrednio, bez proxy” — bez pośredników; „Przez własne proxy” — przez adres zapisany poniżej. Czy to działa, zależy od zasad danego dostawcy.
AIHUMMER_RUSSIAN_TRUSTED_EXTRA_HOSTS
Hosty poza .ru dla certyfikatów głównych Ministerstwa Rozwoju Cyfrowego Rosji
list
—
po ponownym uruchomieniu
Lista hostów, oddzielonych przecinkami, które mogą być sprawdzane przez katalogi główne Ministerstwa Rozwoju Cyfrowego Rosji OVER rosyjskich domen (.ru/.su/.рф - już uwzględnione). Potrzebne, jeśli Twój węzeł z certyfikatem Ministerstwa Rozwoju Cyfrowego Rosji znajduje się w innej domenie. Dopasuj według nazwy lub granicy subdomeny: example.com obejmuje api.example.com. Puste = tylko domeny rosyjskie. Obowiązuje przy uruchomieniu/po ponownym uruchomieniu.
Performance
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_CHANNEL_TURN_QUEUE_WAIT_SEC
Oczekiwanie w kolejce: wiadomość z kanału (sekundy)
int 10…1200
600
natychmiast
Jak długo wiadomość z kanału (Telegram i inne) czeka na wolne miejsce, gdy wszystkie miejsca na tury są zajęte. Jeśli nie dostanie go na czas, osoba dowiaduje się, że serwer jest zajęty i może napisać ponownie. Oczekiwanie wlicza się do 30-minutowego limitu tury. 10–1200. Działa od razu.
AIHUMMER_MAX_ACTIVE_TURNS
Jednocześnie wykonywane tury agentów (cały serwer)
int 1…512
32
natychmiast
Ile tur agentów (odpowiedzi w kanałach i czacie internetowym, harmonogramy) serwer wykonuje jednocześnie. Pozostałe czekają w kolejce tak długo, jak pozwalają poniższe ustawienia „Oczekiwanie w kolejce”, a osoba widzi „serwer zajęty, w kolejce”. Wyższa wartość to krótsze czekanie, ale więcej pamięci, połączeń z bazą i jednoczesnych zapytań do modelu. Połowa tej liczby ogranicza jednoczesne pomocnicze wywołania modelu (wydobywanie pamięci, podsumowania). 1–512. Działa od razu.
AIHUMMER_SYNC_INBOUND_QUEUE_WAIT_SEC
Oczekiwanie w kolejce: synchroniczne wywołanie integracji (sekundy)
int 1…120
10
natychmiast
Jak długo wywołanie integracji, która czeka na odpowiedź w tym samym żądaniu, czeka na wolne miejsce, gdy wszystkie miejsca na tury są zajęte. Jeśli go nie dostanie, integracja otrzymuje „serwer zajęty” z radą, by ponowić po tej samej liczbie sekund; ponowienie z tym samym numerem wiadomości nie zapisuje jej drugi raz. 1–120. Działa od razu.
AIHUMMER_WEB_TURN_QUEUE_WAIT_SEC
Oczekiwanie w kolejce: wiadomość z czatu internetowego (sekundy)
int 10…1200
180
natychmiast
Jak długo wiadomość z czatu internetowego czeka na wolne miejsce, gdy wszystkie miejsca na tury są zajęte. W tym czasie czat pokazuje „serwer zajęty, w kolejce”; jeśli nie dostanie go na czas, odpowiedź jest odrzucana z przyciskiem „Spróbuj ponownie”, który zostaje w historii także po przeładowaniu strony. 10–1200. Działa od razu.
Public access
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_PUBLIC_URL
Publiczny adres serwera
text
—
częściowo po ponownym uruchomieniu
Adres, pod którym panel i aplikacje otwierają się z internetu, np. https://ai.example.com. Skieruj go przez swoje proxy (nginx, Caddy) na port serwera — domyślnie 8780.
AIHUMMER_WIDGET_ALLOWED_ORIGINS
Widżet internetowy: dozwolone źródła origin witryn
list
—
natychmiast
Rozdzielona przecinkami lista źródeł origin przeglądarki, którym wolno osadzać widżet czatu internetowego, np. https://example.com,https://www.example.com. Schemat i port muszą być dokładnie zgodne. Puste = żadna zewnętrzna witryna nie może używać widżetu. Wpis * jest celowo ignorowany, ponieważ pozwoliłby dowolnej stronie w internecie wydawać budżet tej instancji.
POCKET_AGENT_GATEWAY_BASE_URL
Publiczna brama Pocket-agent URL
text
—
natychmiast
Proxy → port bramy kieszonkowego agenta (POCKET_AGENT_PORT, domyślnie 8080). Zdalny agent wybiera ten numer za pomocą jednorazowego biletu.
TELEGRAM_PUBLIC_URL
Publiczny webhook telegramu URL
text
—
natychmiast
Tylko tryb Webhook — proxy → port złącza telegramu (domyślnie 8091). odpytywanie (nie jest potrzebny publiczny URL).
SSO (LDAP/AD)
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_LDAP_BASE_DN
Podstawowa nazwa wyróżniająca wyszukiwania użytkowników
text
—
po ponownym uruchomieniu
Wyszukaj katalog główny, np. OU=Users,DC=corp,DC=example.
AIHUMMER_LDAP_BIND_DN
Nazwa wyróżniająca powiązania usługi
text
—
po ponownym uruchomieniu
Konto używane do początkowego wyszukiwania, np. CN=svc-aihummer,OU=usługa,DC=korporacja,DC=przykład. Puste = wyszukiwanie anonimowe.
AIHUMMER_LDAP_DEFAULT_ROLE
LDAP: Rola domyślna (brak dopasowania grupy)
text
—
po ponownym uruchomieniu
Rola przyznawana, gdy żadna grupa nie pasuje do mapowania. Puste = brak roli.
AIHUMMER_LDAP_ENABLED
Włącz logowanie LDAP/AD
bool
0
po ponownym uruchomieniu
Gdy opcja ta jest włączona, loginy administratora wracają do katalogu. Hasło powiązania znajduje się w tajemnicach (zakres ldap, nazwa bind_password).
AIHUMMER_LDAP_GROUP_ATTR
Atrybut grupy (domyślny) memberOf)
text
—
po ponownym uruchomieniu
Atrybut we wpisie użytkownika zawierającym nazwy wyróżniające grup. Puste miejsce wyłącza mapowanie grupy → ról.
AIHUMMER_LDAP_ROLE_MAPPINGS
LDAP: Grupa → mapowania ról (JSON)
text
—
po ponownym uruchomieniu
JSON obiekt nazwy wyróżniającej grupy (lub samej nazwy CN) → rola, np. {“CN=Admins,OU=Groups,DC=corp,DC=example”:“admin”,“Operators”:“operator”}.
AIHUMMER_LDAP_SKIP_TLS_VERIFY
Pomiń weryfikację TLS (tylko laboratorium, 1/0)
bool
0
po ponownym uruchomieniu
Wyłącza weryfikację certyfikatu katalogu. Nigdy nie włączaj w środowisku produkcyjnym.
AIHUMMER_LDAP_URL
Katalog URL
text
—
po ponownym uruchomieniu
np. ldaps://ad.corp.example:636 (TLS) lub ldap://dc1.corp.example:389.
AIHUMMER_LDAP_USER_ATTR
Atrybut logowania (domyślny sAMAccountName)
text
—
po ponownym uruchomieniu
Atrybut LDAP/Active Directory jest dopasowany do loginu typu użytkownika (domyślna nazwa sAMAccountName; uid dla OpenLDAP, userPrincipalName dla loginów w stylu UPN).
AIHUMMER_LDAP_USER_FILTER
Filtr wyszukiwania użytkowników
text
—
po ponownym uruchomieniu
Musi zawierać %s jako login. AD: (sAMAccountName=%s); OpenLDAP: (uid=%s).
SSO (OIDC)
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_OIDC_AUDIENCE
OIDC odbiorcy
text
—
po ponownym uruchomieniu
Oczekiwane roszczenie aud — ustaw tę opcję na odbiorców zasobu THIS, aby odrzucać tokeny wydane dla innej strony uzależnionej. Roszczenie aud jest teraz domyślnie REQUIRED dla każdego tokena (token bez aud jest odrzucany), gdy ta opcja jest ustawiona, aud musi również ją zawierać produkcja.
AIHUMMER_OIDC_ISSUER
OIDC wystawca URL
text
—
po ponownym uruchomieniu
Wystawca dostawcy tożsamości (np. https://login.example.com). Włącza uwierzytelnianie OIDC JWT, gdy jest ustawione.
AIHUMMER_OIDC_JWKS_URL
Adres URL JWKS dla OIDC
text
—
po ponownym uruchomieniu
JSON Punkt końcowy zestawu kluczy sieciowych używany do weryfikacji podpisów tokenów.
AIHUMMER_OIDC_TENANT_CLAIM
OIDC roszczenie dotyczące obszaru roboczego
text
—
po ponownym uruchomieniu
Pole JWT (claim) z identyfikatorem obszaru roboczego (np. tenant_id / org).
SSO (SAML)
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_SAML_DEFAULT_ROLE
SAML: Rola domyślna (brak grupy dopasowanie)
text
—
po ponownym uruchomieniu
Rola przyznawana, gdy nie potwierdzono żadnych map wartości. Puste = brak roli.
AIHUMMER_SAML_ENABLED
Włącz SAML 2.0 SSO
bool
0
po ponownym uruchomieniu
Udostępnia /saml/metadata, /saml/acs, /saml/login. Klucz prywatny SP znajduje się w tajemnicach (zakres saml, nazwa sp_key).
AIHUMMER_SAML_ENTITY_ID
ID jednostki SP
text
—
po ponownym uruchomieniu
Identyfikator jednostki SP (domyślnie to ⟨root⟩/saml/metadata, jeśli jest pusty).
JSON obiekt o zadeklarowanej wartości → rola, np. {“AdminGroup”:“admin”,“Ops”:“operator”}.
AIHUMMER_SAML_ROOT_URL
Główny adres URL SP
text
—
po ponownym uruchomieniu
Baza osiągalna zewnętrznie URL tej bramy, np.: https://app.example.com. ACS = ⟨root⟩/saml/acs.
AIHUMMER_SAML_SP_CERT
Certyfikat SP (PEM)
text
—
po ponownym uruchomieniu
Publiczny certyfikat podpisywania SP (PEM). Pasujący klucz prywatny znajduje się w Sekretach (zakres saml, nazwa sp_key).
Schedules
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_SCHEDULE_AGENT_MAX_ACTIVE
Agent: limit aktywnych harmonogramów
int
20
natychmiast
Ile aktywnych harmonogramów może mieć jeden agent, gdy sam tworzy lub włącza harmonogram (swoimi narzędziami harmonogramów). Harmonogramy utworzone w panelu wliczają się do limitu, ale panelowi nigdy się nie odmawia. Po osiągnięciu limitu agent dostaje prośbę, by najpierw wstrzymać lub usunąć jeden. Działa od razu.
AIHUMMER_SCHEDULE_AGENT_MAX_FIRES_PER_DAY
Agent: uruchomienia harmonogramów na dobę
int
288
natychmiast
Ile razy na dobę (UTC) mogą łącznie uruchomić się wszystkie harmonogramy jednego agenta, łącznie z harmonogramami utworzonymi w panelu i uruchomieniami ręcznymi. Uruchomienia ponad limit są pomijane i widoczne w dzienniku uruchomień. Działa od razu.
AIHUMMER_SCHEDULE_AGENT_MIN_INTERVAL_MINUTES
Agent: minimalny odstęp harmonogramu, minuty
int
5
natychmiast
Najkrótszy odstęp między dwoma uruchomieniami cyklicznego harmonogramu, który agent sam tworzy lub zmienia. Częstszy harmonogram jest odrzucany. Harmonogramy utworzone w panelu nie są tym ograniczone. Działa od razu.
AIHUMMER_SCHEDULE_COMMANDS
Polecenia na serwerze w harmonogramach
bool
0
natychmiast
Pozwala harmonogramowi uruchomić program na tym serwerze — zbieracz, raport, sprawdzenie kopii zapasowej. Domyślnie wyłączone. Uruchamiane są tylko polecenia z «Dozwolonych poleceń», dokładnie tak, jak je zapisano; nie ma powłoki. Wyjście trafia do agenta lub prosto na czat, a każde uruchomienie jest w dzienniku harmonogramu. Działa od razu.
AIHUMMER_SCHEDULE_COMMANDS_ALLOWLIST
Dozwolone polecenia
argvlist
—
natychmiast
Dokładne polecenia, które harmonogram może uruchomić: program (nazwa, np. df, lub pełna ścieżka) i jego argumenty. Harmonogram uruchamia tylko polecenie zgodne z wpisem co do joty, łącznie z argumentami. Usunięcie polecenia zatrzymuje harmonogramy, które go używają, a ich uruchomienia podają powód. Działa od razu.
AIHUMMER_SCHEDULE_COMMANDS_MAX_OUTPUT_KB
Limit wyjścia poleceń harmonogramu, KB
int 1…1024
64
natychmiast
Ile wyjścia polecenia (1–1024 KB) zostaje w dzienniku i trafia do agenta lub na czat; reszta jest ucinana, a dziennik o tym mówi. Działa od razu.
AIHUMMER_SCHEDULE_COMMANDS_SANDBOX
Uruchamiaj polecenia harmonogramów w piaskownicy systemu
bool
1
natychmiast
Włączone: polecenie działa w piaskownicy systemu, jak wykonywanie kodu — sekrety instalacji i klucze SSH są ukryte, a zapis możliwy jest tylko do własnego folderu tymczasowego. Bez piaskownicy (bubblewrap) na serwerze polecenie się nie uruchamia, a dziennik podaje powód. Wyłączone: działa z uprawnieniami bramy. Działa od razu.
AIHUMMER_SCHEDULE_FAILURE_ADMIN
Zgłaszaj administratorowi nieudane zadania
bool
1
natychmiast
Gdy zaplanowane zadanie się nie powiedzie lub nie może się rozpocząć, w dzwonku powiadomień panelu pojawia się powiadomienie z jego nazwą, przyczyną i miejscem, gdzie to naprawić, a to samo trafia do własnych czatów kanałów właścicieli (nie częściej niż raz na 6 godzin na zadanie). To dodatek do wiadomości dla odbiorcy zadania. Wyłączone: administrator dowiaduje się o błędach tylko z dziennika uruchomień. Działa od razu.
AIHUMMER_SCHEDULE_FAILURE_NOTIFY
Informuj odbiorcę o nieudanym zadaniu
bool
1
natychmiast
Gdy zaplanowane zadanie się nie powiedzie, ten sam odbiorca dostaje krótką wiadomość (po pierwszym błędzie, nie częściej niż raz na 6 godzin). Wyłączone — błędy widać tylko w dzienniku uruchomień. Zadanie może to wyłączyć dla siebie w swoim formularzu. Działa od razu.
Security
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_AIRGAPPED
Tryb izolowany (bez internetu)
bool
0
natychmiast
Zabrania agentom wychodzenia do internetu: wyszukiwanie w sieci, otwieranie stron i zapytania trafiają tylko do adresów wewnętrznych i z list dozwolonych. Włącz w zamkniętych sieciach bez wyjścia na zewnątrz.
AIHUMMER_AUDIT_RETENTION_DAYS
Ile dni przechowywać dziennik działań
int
0
po ponownym uruchomieniu
Wpisy dziennika audytu i historii zmian ustawień starsze niż ten termin są usuwane raz na dobę. 0 lub puste — przechowuj zawsze.
AIHUMMER_CORS_ORIGINS
Dozwolone źródła CORS
list
—
po ponownym uruchomieniu
Rozdzielana przecinkami lista dozwolonych źródeł. Puste = CORS niedozwolone (tylko to samo pochodzenie). Stosowane przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_CSP
Nagłówek Content-Security-Policy (nadpisanie)
text
—
po ponownym uruchomieniu
Zastępuje nagłówek CSP. Puste = bezpieczne ustawienie domyślne. Stosowane przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_INBOUND_SECRET
Klucz wtyczek kanałów do serwera
text
—
po ponownym uruchomieniu
Podłączone kanały (Telegram, VK i inne) potwierdzają nim, że wiadomości naprawdę pochodzą od nich. Ustawiany automatycznie podczas instalacji — nie trzeba go zmieniać. Jeśli jest pusty, serwer odrzuca wszystkie kanały, dopóki klucz nie zostanie ustawiony.
AIHUMMER_OPENAI_COMPAT_KEY
Przychodzące zgodne z OpenAI: statyczny klucz API
text
—
po ponownym uruchomieniu
Wspólny klucz dla programów łączących się z serwerem jak z usługą zgodną z OpenAI. Puste — wspólny klucz jest wyłączony; można łączyć się kluczami osobistymi ze strony „Klucze API”.
AIHUMMER_OPENAI_COMPAT_WORKSPACE
Przychodzące zgodne z OpenAI: identyfikator obszaru roboczego
text
—
po ponownym uruchomieniu
Identyfikator obszaru roboczego, na który odwzorowuje się statyczne uwierzytelnianie zgodne z OpenAI. Puste = AIHUMMER_DEFAULT_WORKSPACE_ID. Stosowane przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_REQUIRE_2FA
Wymagaj 2FA dla operatorzy
bool
0
natychmiast
Wymagaj drugiego czynnika (TOTP/hasło) dla operatorów. Gdy ta opcja jest włączona, operatorzy bez 2FA są proszeni o jej skonfigurowanie natychmiast po zalogowaniu (bez blokowania, dzięki czemu właściciel nigdy nie jest zablokowany). Zastosowano natychmiast.
AIHUMMER_REQUIRE_SECURE
Akceptuj tylko bezpieczne (HTTPS/WSS) połączenia
bool
0
po ponownym uruchomieniu
Gdy ta opcja jest włączona, zwykłe żądania HTTP są przekierowywane do HTTPS (dla GET/HEAD) lub odrzucane (403); Dostęp do hosta lokalnego jest zawsze dozwolony, więc operator nigdy nie jest odgrodzony. Honoruje X-Forwarded-Proto z odwrotnego proxy kończącego TLS. Stosowane przy uruchomieniu/po ponownym uruchomieniu.
AIHUMMER_TRUSTED_PROXIES
Zaufane serwery proxy
list
—
natychmiast
Jeśli przed serwerem stoi proxy (nginx, Caddy, load balancer), wpisz po przecinku jego adres lub sieć, np. 10.0.0.0/8. Wtedy dziennik działań, lista dozwolonych IP i ochrona przed zgadywaniem haseł zobaczą prawdziwy adres odwiedzającego. Puste — liczy się tylko adres bezpośredniego połączenia i nie da się go podrobić.
Tools
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_BROWSER_ALLOWED_HOSTNAMES
Przeglądarka: wyjątki prywatnych hostów
list
—
natychmiast
Dokładne nazwy oddzielone przecinkami, bez wzorców, adresów URL i portów. Dodatkowe prywatne wyjątki dla natywnego CDP na własnym serwerze, niezależne od web_fetch.
AIHUMMER_BROWSER_ALLOW_PRIVATE_NETWORK
Przeglądarka: dostęp do sieci prywatnej
bool
—
natychmiast
Puste zachowuje poprzednią regułę; true lub false włącza sprawdzany natywny CDP. Dostęp prywatny tylko na własnym serwerze. Loopback, link-local i metadane pozostają zablokowane.
AIHUMMER_BROWSER_PROFILE_SOCKET
Gniazdo sterowania profilami przeglądarki
text
—
natychmiast
Opcjonalne. Zostaw puste — brama sama znajdzie managed-profiles.sock usługi przeglądarki w standardowym miejscu instalacji. Profile z logowaniem na stronach tworzy się w Połączenia → Profile przeglądarki. To nie URL ani ścieżka do profilu źródłowego.
AIHUMMER_CODE_EXEC
Wykonywanie kodu przez agenta
enum: off \\| host \\| sandbox
off
natychmiast
Narzędzie agenta do wykonywania kodu (code_exec). Domyślnie «Wyłączone». «Na tym serwerze»: polecenia działają na serwerze bramy; piaskownica systemu operacyjnego (bubblewrap) ukrywa sekrety instalacji, ale agent w trybie «Bez ograniczeń» widzi klucze SSH i może zapisywać poza swoim folderem — tylko dla zaufanego serwera. «Tylko w piaskownicy»: zawsze w piaskownicy systemu operacyjnego — sekrety i klucze są ukryte, zapis tylko do folderu agenta; bez bubblewrap (lub obrazu kontenera) tego trybu nie da się zapisać. Co może uruchamiać każdy agent, ustawia się przy agencie: Agenci → profil → Narzędzia.
AIHUMMER_CODE_EXEC_INTERPRETERS
Interpretery Code-exec (JSON)
text
—
natychmiast
JSON obiekt {language: path_to_binary}, np. {“python”:“/usr/bin/python3”}. Puste = automatyczne wykrywanie.
AIHUMMER_CODE_EXEC_NET_PORTS
Porty sieciowe otwarte dla kodu agenta
list
53,80,443
natychmiast
Porty TCP, z którymi kod agenta w piaskownicy systemu (wykonywanie kodu i polecenia harmonogramów) może się łączyć, oddzielone przecinkami. Domyślnie 53, 80 i 443: DNS i strony WWW. Pozostałe usługi tego serwera i jego sieci lokalnej (baza danych, panel administracyjny, przeglądarka, adb, lokalne modele, Home Assistant) pozostają zamknięte dla kodu agenta. Port z listy jest otwarty pod każdym adresem, także tego serwera, więc dodawaj tylko to, czego kod potrzebuje, na przykład 22 dla SSH. Wpisz any, aby znieść ograniczenie. Agenci w trybie «Bez ograniczeń» nie są ograniczani. Wymaga Linuksa 6.7 lub nowszego; bez niego ograniczenie nie działa, a Agenci → Narzędzia o tym informuje. Działa od razu.
AIHUMMER_CODE_EXEC_READ_DIRS
Foldery otwarte do odczytu dla kodu agenta
list
—
natychmiast
Foldery na tym serwerze, które może czytać kod agenta: wykonywanie kodu i polecenia harmonogramów w piaskownicy systemu. Oddzielone przecinkami lub po jednym w wierszu, na przykład ~/reports. Można też wskazać pojedynczy plik, na przykład ~/scripts/report.py. To, co zostanie tu otwarte, widzi kod wszystkich agentów, więc otwieraj tylko to, czego ten kod potrzebuje. Domyślnie puste: w piaskownicy kod widzi tylko folder swojego agenta i foldery systemowe; folder domowy użytkownika bramy, dane instalacji, foldery innych agentów, klucze i historia poleceń pozostają ukryte. Nie można otworzyć katalogu głównego, całego folderu domowego, danych instalacji ani miejsc z kluczami. Kod nie może zapisywać w tych folderach. Działa od razu.
AIHUMMER_CODE_EXEC_SANDBOX_IMAGE
Obraz piaskownicy Code-exec
text
—
natychmiast
Opcjonalne, tylko dla «Tylko w piaskownicy»: obraz kontenera Docker zamiast piaskownicy systemu operacyjnego (bez sieci, katalog główny tylko do odczytu, limity); wymaga Dockera na serwerze. Puste = piaskownica systemu operacyjnego (bubblewrap).
AIHUMMER_CODE_EXEC_TIMEOUT_SECONDS
Limit czasu wykonywania kodu (sekundy)
int
1800
natychmiast
Jak długo może działać jedno polecenie agenta, łącznie z działającymi w tle: od 10 sekund do 24 godzin. Polecenie, które nie odpowie w 30 sekund, nie jest przerywane, lecz przechodzi w tło, gdzie agent sprawdza je narzędziem process. Agent może poprosić o krótszy limit, nigdy o dłuższy.
AIHUMMER_DB_QUERY_DSN
Połączenie z bazą dla narzędzia „Zapytanie do bazy”
text
—
natychmiast
Ciąg połączenia z bazą, którą agent może czytać (tylko odczyt), np. postgres://reader:haslo@host/db. Podaj użytkownika z minimalnymi uprawnieniami — nie właściciela bazy. Puste — narzędzie jest wyłączone.
AIHUMMER_FS_ROOT
Główny katalog narzędzia systemu plików
text
—
natychmiast
Folder, w obrębie którego agent czyta pliki serwera (filesystem_read; agenci nie mogą zapisywać plików). Puste = cały serwer z uprawnieniami użytkownika bramy, z wyjątkiem sekretów: ustawień instalacji (gateway.env), kluczy SSH/GPG i środowisk procesów. Podaj folder, aby zawęzić dostęp.
AIHUMMER_HTTP_ALLOWLIST
Adresy dla zapytań HTTP agenta
list
—
natychmiast
Lista hostów rozdzielonych przecinkami, do których narzędzie http_request może się łączyć. Puste = dozwolone są wszystkie, poza adresami wewnętrznymi i prywatnymi.
AIHUMMER_HTTP_AUTH_JSON
uwierzytelnianie http_request (JSON)
text
—
natychmiast
Mapa JSON wiążąca host z nagłówkami autoryzacji dla narzędzia http_request, aby tokeny nie były przechowywane w zapytaniu. Puste = bez autoryzacji.
AIHUMMER_MCP_SERVERS
MCP serwery (JSON)
text
—
natychmiast
Opis w formacie JSON zewnętrznych serwerów MCP, których narzędzia są podłączane do agenta. Puste = brak zewnętrznych MCP.
AIHUMMER_PROJECT_STUDIOS_PUBLIC_NETWORK
Studia projektowe: sieć publiczna
bool
false
natychmiast
Zezwól na publiczny HTTP(S) dla wybranych dostawców i jawnie zleconych pobrań modeli. Adresy prywatne, lokalne i metadanych pozostają zablokowane. Tryb offline ma pierwszeństwo. Zmiana działa od razu.
AIHUMMER_SIDECAR_CLOAKBROWSER
Przeglądarka dla agenta (CloakBrowser)
bool
0
natychmiast
Przeglądarka zapobiegająca wykrywaniu (narzędzia CloakBrowser, browser/computer). Co NIE jest zawarte w pakiecie dostawy: dodatek pobiera podpisany dodatek (~477 MiB, z czego Chromium ~207 MiB) i instaluje usługę na hoście. Najcięższy z wózków bocznych - włącz tylko wtedy, gdy agent musi otwierać strony internetowe.
AIHUMMER_SIDECAR_SEARXNG
Wyszukiwanie w sieci (SearXNG)
bool
0
natychmiast
Wyszukiwarka internetowa (narzędzie SearXNG, web_search). NIE jest zawarte w pakiecie: włączenie powoduje pobranie podpisanego dodatku (~154 MiB) i zainstalowanie usługi na hoście, wyłączenie zatrzymuje ją i zwalnia miejsce. Instalacja odbywa się w tle i zajmuje kilka minut; stan tutaj pokazuje, co faktycznie znajduje się na serwerze.
AIHUMMER_WEBFETCH_ALLOWLIST
Strony, które agent może otwierać
list
—
natychmiast
Lista domen rozdzielonych przecinkami, do których narzędzie web_fetch może się łączyć. Puste = dozwolone są wszystkie, poza adresami wewnętrznymi i prywatnymi.
AIHUMMER_WEB_SEARCH_LANGUAGE
Wyszukiwanie w sieci: domyślny język wyników
text
auto
natychmiast
Język wyników, gdy agent go nie poda: kod, np. ru, en lub de, albo auto, aby wykryć go z zapytania (pasuje prawie zawsze). Agent może wybrać inny język w konkretnym wyszukiwaniu.
AIHUMMER_WEB_SEARCH_RESULTS
Wyszukiwanie w sieci: wyników na wyszukiwanie
int
5
natychmiast
Ile wyników zwraca wyszukiwanie, gdy agent nie poprosi o inną liczbę: od 1 do 10. Więcej wyników to pełniejsza odpowiedź, ale dłuższy kontekst.
AIHUMMER_WEB_SEARCH_SOURCE
Źródło wyszukiwania w sieci
enum: auto \\| searxng \\| provider
auto
natychmiast
Gdzie agent szuka w internecie (narzędzie web_search). auto — SearXNG, jeśli jest zainstalowany, w przeciwnym razie wbudowane wyszukiwanie dostawcy modelu. searxng — tylko SearXNG: bez niego nie ma wyszukiwania. provider — wbudowane wyszukiwanie dostawcy tam, gdzie jest, a SearXNG dla pozostałych modeli. Wbudowane wyszukiwanie mają Codex (subskrypcja ChatGPT) i OpenAI (api.openai.com); GigaChat, YandexGPT i inne modele zgodne z OpenAI go nie mają — bez SearXNG agenci na tych modelach nie szukają. Claude (api.anthropic.com i subskrypcja Claude) korzysta z wbudowanego wyszukiwania Anthropic; jeśli konto je odrzuca, brama zapisuje to w dzienniku i dalej proponuje agentowi tylko SearXNG. Którzy agenci mogą szukać, ustawia się jak dotąd w karcie agenta. Działa od następnej tury.
AIHUMMER_WEB_SEARCH_TIMEOUT_SECONDS
Limit czasu wyszukiwania (sekundy)
int
30
natychmiast
1–600 sekund na wyszukiwanie. Krótszy termin zadania nadal obowiązuje.
quiet (domyślnie) — zapisane ustawienia, które działają dopiero po nowym starcie bramy, stosują się same: brama uruchamia się ponownie w najbliższej spokojnej chwili, gdy agenci nic nie robią, a ludzie milczą co najmniej przez okno ciszy. manual — tylko oznaczenie „czeka na ponowne uruchomienie” i przycisk. Ponowne uruchomienie trwa kilka sekund; rozmowy i zadania nie giną. Działa od razu.
AIHUMMER_RESTART_QUIET_MINUTES
Spokojna chwila: minuty ciszy przed automatycznym ponownym uruchomieniem
int 0…1440
10
natychmiast
Ile minut ludzie muszą milczeć (a agenci być bezczynni), zanim brama sama uruchomi się ponownie, by zastosować zapisane ustawienia. 0 — gdy tylko agenci skończą bieżącą pracę. 0–1440. Działa od razu.
Web UI (separate port)
Klucz
Nazwa
Typ
Domyślnie
Zaczyna działać
Działanie
AIHUMMER_WEBUI_API_BASE
Adres serwera dla osobno hostowanego panelu
text
—
po ponownym uruchomieniu
Potrzebny tylko wtedy, gdy panel otwiera się z innego adresu niż sam serwer. Podaj adres, pod którym przeglądarka dotrze do serwera, np. https://api.example.com. Puste — używany jest publiczny adres serwera, a jeśli go nie ma — lokalny.
AIHUMMER_WEBUI_ENABLED
Panel na osobnym porcie
bool
1
po ponownym uruchomieniu
Włączone — panel otwiera się na osobnym wewnętrznym porcie, który można odciąć od internetu, a port publiczny obsługuje tylko aplikacje i kanały. Wyłącz, aby panel był całkowicie niedostępny.
AIHUMMER_WEBUI_ORIGIN
Adres, pod którym otwiera się panel
text
—
po ponownym uruchomieniu
Wypełnij, jeśli panel jest otwierany przez proxy lub pod nazwą inną niż adres jego portu, np. https://admin.example.com. Serwer pozwoli przeglądarce z tego adresu się z nim łączyć. Puste — używany jest adres portu panelu.
Ustawienia dostępne dla operatora: 237.
Poniżej wymieniono wszystkie ustawienia, które operator może zmienić na serwerze AiHummer. Strona powstaje z katalogu samego produktu, więc odpowiada dokładnie Twojemu serwerowi.
Wartość ustawia się w interfejsie webowym albo poleceniem `aihummer settings set KEY VALUE` ([Wiersz poleceń](/pl/v1.4/reference/cli/)). Kolumna wartości domyślnej pokazuje, czego używa serwer, dopóki nie podasz własnej wartości.
> [!NOTE]
> Wartości sekretów nigdy nie są tu drukowane, a klucze serwisowe dostawcy nie są wymieniane wcale — produkt ukrywa je na wszystkich listach. Myślnik oznacza pustą wartość albo objaśnienie widoczne wyłącznie w interfejsie webowym.
## API
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_PERSONAL_API_KEYS` | Osobiste klucze API dla zgodności z OpenAI | `bool` | `1` | po ponownym uruchomieniu | "off" wyłącza uwierzytelnianie za pomocą klucza osobistego na punkcie końcowym zgodnym z OpenAI. Dowolna inna wartość = stosowana przy uruchomieniu/po ponownym uruchomieniu. |
## Agent
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AGENT_ANNOUNCE_SLOW_TOOLS` | Agent: uprzedzać przed długimi działaniami | `bool` | `1` | natychmiast | Przed długim działaniem (obraz, dogłębne wyszukiwanie, wideo, zadanie dla subagenta) agent krótko pisze, co robi, aby czekanie nie było ciche. Wyłącz, jeśli takie wiadomości przeszkadzają. |
| `AIHUMMER_AGENT_COMPACT_AT_PCT` | Agent: kompresuj historię od, % jej budżetu | `int 50…99` | `85` | natychmiast | Gdy historia rozmowy wypełni tę część swojego miejsca w oknie modelu, starsze wiadomości są streszczane — w tle, po odpowiedzi; tura nie czeka. Niżej — kompresja częściej, ale model pamięta mniej dosłownie; wyżej — rzadziej, ale tury są cięższe. 50–99; agent może ustawić własną wartość. |
| `AIHUMMER_AGENT_COMPACT_TO_PCT` | Agent: zostaw po kompresji, % budżetu historii | `int 10…90` | `50` | natychmiast | Ile miejsca historii zostaje dosłownie po kompresji; wszystko starsze trafia do streszczenia. Musi być niższe niż próg kompresji: odstęp między nimi decyduje, ile tur minie do następnej kompresji. 10–90; agent może ustawić własną wartość. |
| `AIHUMMER_AGENT_HISTORY_TURNS` | Agent: tury rozmowy zachowane dosłownie | `int 1…1000` | `30` | natychmiast | Ile ostatnich tur rozmowy model widzi dosłownie (do 10 więcej, zanim nadejdzie kompresja). Starsze wiadomości są streszczane w tle; sama rozmowa nigdy nie jest usuwana. Okno kontekstu modelu jest uwzględniane automatycznie. 1–1000; agent może mieć własną wartość. |
| `AIHUMMER_AGENT_MAX_ITERATIONS` | Agent: maks. kroków narzędzi na turę | `int 1…256` | `25` | natychmiast | Ile razy w jednej turze agent może wywołać narzędzia, zanim odpowie. Na limicie tura nie kończy się błędem: agent opisuje, co zrobił i co zostało, a Ty możesz poprosić o kontynuację. Trzy identyczne wywołania z rzędu z tym samym wynikiem kończą turę wcześniej. 1–256; agent może mieć własną wartość. |
| `AIHUMMER_AGENT_MEMORY_FLUSH` | Agent: zapisz notatkę w pamięci przed kompresją | `bool` | `1` | natychmiast | Zanim starsze wiadomości zostaną złożone w streszczenie, agent zapisuje w pamięci krótką notatkę o celach, decyzjach i otwartych sprawach. Wyłącz, aby oszczędzić wywołanie modelu. |
| `AIHUMMER_AGENT_MEMORY_FLUSH_PROMPT` | Agent: co zapisywać w notatce przed kompresją | `text` | — | natychmiast | Własne zadanie dla notatki przed kompresją: co zachować z wiadomości trafiających do podsumowania (na przykład „zapisuj tylko zakupy, terminy i ustalenia”). Puste — wbudowane: cele, decyzje, otwarte sprawy. Ochrony nie da się wyłączyć: tekst rozmowy pozostaje danymi, a nie poleceniami, a hasła i klucze nie są zapisywane. Do 4000 znaków; agent może mieć własne. |
| `AIHUMMER_AGENT_NEW_REMINDERS_MEMORY` | Nowi agenci: przypomnienia i zapis do pamięci | `bool` | `1` | natychmiast | Nowy agent utworzony ręcznie (kreator pierwszego uruchomienia, „Utwórz agenta”, API) od pierwszej tury sam ustawia, zmienia i anuluje SWOJE przypomnienia i harmonogramy oraz zapisuje fakty we własnej pamięci – jak szablon osobistego asystenta. Pojedynczemu agentowi wyłącza się to w jego karcie („Możliwości”). Szablony biblioteki decydują same, kopia zachowuje uprawnienia oryginału, agenci utworzeni przez innego agenta zaczynają bez nich; istniejący agenci się nie zmieniają. Dotyczy następnego tworzonego agenta. |
| `AIHUMMER_AGENT_PROMPT_PART_MAX_CHARS` | Agent: maks. liczba znaków na część promptu | `int 1000…1000000` | `20000` | natychmiast | Ile znaków model otrzymuje z JEDNEJ części osobowości agenta: sekcji profilu, części promptu lub głównego promptu. W dłuższej części zostają początek (3/4) i koniec (1/4) z adnotacją, ile ucięto; widać to na karcie rozmowy i w składzie promptu agenta. Imię, forma zwracania się i ograniczenia osobowości nigdy nie są przycinane. 1000–1000000; agent może mieć własną wartość. |
| `AIHUMMER_AGENT_PROMPT_TOTAL_MAX_CHARS` | Agent: maks. liczba znaków całej osobowości | `int 1000…2000000` | `60000` | natychmiast | Łączny limit osobowości agenta: wszystkie części razem. Po jego przekroczeniu najpierw miejsca ustępują najdłuższe części, a krótkie pozostają całe. 1000–2000000; agent może mieć własną wartość. |
| `AIHUMMER_AGENT_SELF_INTRO` | Agent: przedstawianie się | `enum: first_contact \\\| each_dialog \\\| never` | `first_contact` | natychmiast | „Raz, przy pierwszym poznaniu” — agent krótko przedstawia się w pierwszej rozmowie z daną osobą, chyba że chce ona od razu przejść do rzeczy; znajomej osobie nie przedstawia się ponownie i naturalnie odpowiada na powitanie. „Nie przedstawiać się” — agent nigdy sam nie podaje swojego imienia. „Na początku każdej nowej rozmowy“ — na początku każdej nowej rozmowy i po długiej przerwie, krótko i bez podsumowania dawnych spraw. Agent może mieć własny wybór na swojej karcie («Kontekst i zachowanie»). |
| `AIHUMMER_AGENT_SESSION_IDLE_RESET_MINUTES` | Agent: zaczynaj rozmowę od nowa po ciszy (minuty) | `int 0…525600` | `360` | natychmiast | Dla trybów „po ciszy” i „codziennie i po ciszy”: jeśli ktoś napisze po dłuższej ciszy niż ta, agent zaczyna rozmowę od nowa. Dotyczy agentów bez własnej wartości na karcie. 0 — nie według ciszy. 0–525600; 360 = 6 godzin, 1440 = doba. |
| `AIHUMMER_AGENT_SESSION_INDEX_MAX_ENTRIES` | Agent: trzymaj na liście najwyżej tyle sesji | `int 0…100000` | `0` | natychmiast | Najcichsze znikają pierwsze; nic nie jest usuwane. 0 — bez limitu. 0–100000. Dotyczy agentów bez własnej wartości na karcie. |
| `AIHUMMER_AGENT_SESSION_INDEX_PRUNE_DAYS` | Agent: usuwaj z listy sesji po tylu dniach ciszy | `int 0…3650` | `0` | natychmiast | Nic nie jest usuwane: rozmowa znika z listy i wraca z nową wiadomością. 0 — zachowaj. 0–3650. Dotyczy agentów bez własnej wartości na karcie. |
| `AIHUMMER_AGENT_SESSION_RESET_AT_HOUR` | Agent: godzina codziennego rozpoczęcia od nowa | `int 0…23` | `4` | natychmiast | Dla trybów „codziennie”: rozmowa rozpoczęta przed tą godziną zaczyna się od nowa przy następnej wiadomości tej osoby. Godzina według strefy czasowej serwera (ustawienie „Strefa czasowa” w System i ustawienia). 0–23; 4 to noc, gdy prawie nikt nie pisze. |
| `AIHUMMER_AGENT_SESSION_RESET_GROUP_IDLE_MINUTES` | Agent: zaczynaj czat grupowy od nowa po ciszy (minuty) | `int 0…525600` | `0` | natychmiast | Dla czatów grupowych w trybach „po ciszy” i „codziennie i po ciszy”: po ilu minutach ciszy czat grupowy zaczyna się od nowa. 0 oznacza jak w czatach prywatnych. 0–525600. |
| `AIHUMMER_AGENT_SESSION_RESET_GROUP_MODE` | Agent: kiedy czat grupowy zaczyna się od nowa | `enum: inherit \\\| daily \\\| idle \\\| both \\\| none` | `inherit` | natychmiast | Osobna reguła dla czatów grupowych (grupy Telegram, rozmowy VK, czaty MAX i inne): jak w czatach prywatnych, codziennie o godzinie resetu, po ciszy, co nastąpi wcześniej, albo nigdy. Godzina resetu jest wspólna. Dotyczy agentów bez własnej reguły na karcie. |
| `AIHUMMER_AGENT_SESSION_RESET_MODE` | Agent: kiedy rozmowa zaczyna się od nowa | `enum: idle \\\| daily \\\| both \\\| none` | `idle` | natychmiast | Kiedy agent zaczyna rozmowę od nowa: codziennie o godzinie resetu (w strefie czasowej instancji), po ciszy, co nastąpi wcześniej, albo nigdy. Zaczynając od nowa, agent zapisuje w swojej pamięci notatkę o poprzedniej rozmowie, a jego pierwsza tura dostaje poprzednie podsumowanie i ostatnie wiadomości; same wiadomości zostają w archiwum i w wyszukiwaniu. Dotyczy agentów bez własnej reguły na karcie; tam czatom grupowym można ustawić osobną. |
| `AIHUMMER_AGENT_SESSION_SCOPE` | Agent: dokąd trafiają rozmowy prywatne | `enum: chat \\\| per-channel-peer \\\| per-peer` | `chat` | natychmiast | «Jedna na osobę» łączy Telegram, aplikację i inne prywatne czaty tej samej osoby w jedną rozmowę. Czaty grupowe zawsze mają własną. Działa od następnej wiadomości. Dotyczy agentów bez własnej wartości na karcie. |
| `AIHUMMER_AGENT_SILENT_REPLY` | Agent: może milczeć | `enum: groups \\\| all \\\| off` | `groups` | natychmiast | W czatach grupowych agent może milczeć, gdy wiadomość nie jest do niego skierowana lub nie ma nic do dodania; w rozmowach prywatnych zawsze odpowiada. Możesz zezwolić na milczenie także w rozmowach prywatnych lub je wyłączyć. Milcząca tura niczego nie wysyła, karta rozmowy oznacza ją jako „agent milczał”, a model nie widzi jej w historii. Działa od następnej tury. |
| `AIHUMMER_AGENT_SKILLS_PROMPT_MAX_CHARS` | Agent: maks. liczba znaków listy umiejętności w prompcie | `int 1000…200000` | `18000` | natychmiast | W każdej turze model widzi nie teksty umiejętności, lecz ich listę: identyfikator, nazwę i kiedy stosować; instrukcję umiejętności agent wczytuje sam, gdy zadanie pasuje. Jeśli lista jest dłuższa, najpierw znikają opisy, potem koniec listy — resztę agent znajdzie na żądanie. 1000–200000. |
| `AIHUMMER_AGENT_STALE_GAP_HOURS` | Agent: przerwa, po której wcześniejsza rozmowa to historia (godziny) | `int 0…8760` | `12` | natychmiast | Jeśli ktoś pisze po przerwie dłuższej niż ta, agent dostaje adnotację: wszystko, o czym rozmawiano wcześniej, to historia — nie jest powtarzane, a dawne zadania nie są kontynuowane bez prośby. Każda wiadomość i tak niesie swój czas i to, ile minęło od poprzedniej. 0 = bez adnotacji. 0–8760. |
| `AIHUMMER_AGENT_TOOL_HISTORY_TURNS` | Agent: tury, w których pamiętane są wyniki narzędzi | `int 0…100` | `5` | natychmiast | W ilu ostatnich turach model widzi w całości wywołania narzędzi i ich wyniki (wynik jest przechowywany do 16 KB). Starsze tury zachowują wywołanie i początek wyniku. Dzięki temu agent pamięta, co znalazł i zrobił, zamiast ponownie wywoływać narzędzia. 0 = nie przenosić wyników do kolejnych tur. 0–100; agent może ustawić własną wartość. |
| `AIHUMMER_APPROVAL_TOOLS` | Narzędzia wymagające zatwierdzenia | `multiselect` | — | natychmiast | Lista narzędzi rozdzielonych przecinkami, których wywołania wymagają ręcznego zatwierdzenia przez operatora przed wykonaniem. Puste = zatwierdzenie nie jest wymagane. Działa od razu, bez ponownego uruchomienia. |
| `AIHUMMER_SUBAGENT_MAX_DEPTH` | Maksymalna głębokość subagenta | `int 0…10` | `2` | natychmiast | Maksymalna głębokość zagnieżdżenia subagentów (agent uruchamiający agenta). Domyślnie 2 — ochrona przed nieskończoną rekurencją. |
| `AIHUMMER_SUBAGENT_TIMEOUT_SEC` | Limit czasu subagenta (sekundy) | `int 0…86400` | `180` | natychmiast | Maksymalny czas działania pojedynczego subageta w sekundach. |
| `AIHUMMER_TOOL_SEARCH` | Leniwe ładowanie narzędzi | `bool` | `false` | natychmiast | Pokazuje od razu roboczy rdzeń narzędzi, a resztę dużego katalogu ukrywa za narzędziem wyszukiwania, które wymienia każde ukryte narzędzie. Opłaca się tylko przy dużych katalogach (dziesiątki narzędzi wtyczek, MCP lub OpenAPI): poniżej progu rozmiaru wszystkie narzędzia są pokazywane od razu, bo dodatkowe wywołanie modelu w celu znalezienia narzędzia kosztuje więcej niż schematy. Działa od następnej tury. |
| `AIHUMMER_TOOL_SEARCH_CORE` | Leniwe ładowanie narzędzi: narzędzia zawsze włączone | `multiselect` | `web_search,web_fetch,memory_search,memory_get,memory_store,search_history,search_knowledge,code_exec,process,filesystem_read,message,schedule_list,schedule_create,schedule_delete,generate_pairing_code` | natychmiast | Narzędzia zawsze widoczne od razu w trybie leniwym. Domyślnie roboczy rdzeń: wyszukiwanie w sieci, pobieranie stron, pamięć, historia rozmowy, baza wiedzy, kod, pliki, wiadomości, harmonogramy i parowanie aplikacji. Wyszukiwanie w pamięci i bazie wiedzy (memory_search, memory_get, search_knowledge) jest widoczne zawsze, niezależnie od tej listy. Pusta lista przywraca ten rdzeń. |
| `AIHUMMER_TOOL_SEARCH_MIN_POOL_TOKENS` | Leniwe ładowanie narzędzi: minimalny rozmiar ukrytych narzędzi (tokeny) | `int 0…1000000` | `4000` | natychmiast | Ukrywaj narzędzia tylko wtedy, gdy schematy poza rdzeniem ważą łącznie co najmniej tyle tokenów (około 4 znaków na token). Poniżej wszystkie narzędzia są pokazywane od razu: dodatkowe wywołanie modelu w celu znalezienia narzędzia kosztuje więcej niż pokazanie schematów. |
| `AIHUMMER_TOOL_SEARCH_THRESHOLD` | Leniwe ładowanie narzędzi: minimalne narzędzia do odroczenia | `int 0…1000` | `12` | natychmiast | Odłóż tylko wtedy, gdy więcej narzędzi przetrwa filtr profilu agenta. |
## Agent · Reasoning
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AGENT_BEST_OF_N` | Najlepszy z N: liczba wariantów | `int 0…8` | `0` | natychmiast | Agent przygotowuje tyle wariantów odpowiedzi i zostawia najlepszy. 0 lub 1 — wyłączone, od 2 — włączone. Każdy wariant kosztuje tyle, co osobna odpowiedź. |
| `AIHUMMER_AGENT_DEBATE_JUDGE_PROMPT` | Debata: zachęta sędziego (pominięcie) | `text` | — | natychmiast | Zastępuje monit sędziego debaty (puste = wbudowane). |
| `AIHUMMER_AGENT_DEBATE_N` | Debata: liczba wariantów odpowiedzi | `int 0…8` | `0` | natychmiast | Agent przygotowuje tyle wariantów odpowiedzi, porównuje je i podaje najlepszy. 0 lub 1 — wyłączone, od 2 — włączone. Każdy wariant kosztuje tyle, co osobna odpowiedź. |
| `AIHUMMER_AGENT_DEBATE_PROMPT` | Debata: zachęta kandydata (pominięcie) | `text` | — | natychmiast | Zastępuje monit dotyczący kandydata do debaty (puste = wbudowane). |
| `AIHUMMER_AGENT_DEBATE_ROUNDS` | Debata: rundy | `int 1…10` | `1` | natychmiast | Liczba rund debaty dla panelu kandydatów. |
| `AIHUMMER_AGENT_JUDGE_PROMPT` | Polecenie sędziego Best-of-N (pominięcie) | `text` | — | natychmiast | Zastępuje monit oceny najlepszej z N (puste = wbudowane). |
| `AIHUMMER_AGENT_PLAN_PROMPT` | Polecenie planisty (pominięcie) | `text` | — | natychmiast | Zastępuje monit planisty (puste = wbudowane). |
| `AIHUMMER_AGENT_PLAN_STEPS` | Planner-executor: maksymalna liczba kroków planu (0=wyłączone) | `int 0…32` | `0` | natychmiast | ⟩0 uruchamia oddzielny planer → wykonawca → przebieg syntezy (dobry w przypadku złożonych, wieloetapowych zadań). 0 wyłącza. Typowe 4–8. |
| `AIHUMMER_AGENT_PLAN_STEP_ITERS` | Planer: iteracje narzędzia na krok (0=domyślne) | `int 0…64` | `0` | natychmiast | Ogranicza liczbę iteracji wywoływania narzędzi na krok planu. 0 = wbudowana wartość domyślna (4). |
| `AIHUMMER_AGENT_REFLECT` | Zaliczenie samokrytyki | `bool` | `0` | natychmiast | Dodaje refleksję/samokrytykę przed ostateczną odpowiedzią. |
| `AIHUMMER_AGENT_REFLECT_PROMPT` | Prośba o refleksję (pominięcie) | `text` | — | natychmiast | Zastępuje monit o samokrytykę (puste = wbudowane). |
| `AIHUMMER_AGENT_SELF_HEAL` | Ponowne próby błędu narzędzia samonaprawy (0=off) | `int 0…10` | `0` | natychmiast | ⟩0 nieudanych prób wywołań narzędzi ze wskazówką korygującą, do tego limitu. |
## Agent · System prompt
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_LOCALE` | Domyślne ustawienia regionalne | `enum: ru-RU \\\| en-US \\\| az-AZ \\\| hy-AM \\\| be-BY \\\| kk-KZ \\\| ky-KG \\\| tg-TJ \\\| tk-TM \\\| uz-UZ \\\| ka-GE \\\| ro-RO \\\| es-ES \\\| zh-CN \\\| fr-FR \\\| de-DE \\\| hi-IN \\\| pl-PL \\\| lt-LT \\\| lv-LV \\\| et-EE \\\| fi-FI \\\| sv-SE \\\| no-NO \\\| da-DK \\\| tr-TR \\\| mn-MN` | `ru-RU` | natychmiast | Domyślny język odpowiedzi/wskazówka dotycząca ustawień regionalnych, np. ru-RU. Instrukcje osoby/operatora zastępują. |
| `AIHUMMER_TIMEZONE` | Strefa czasowa | `text` | `UTC` | natychmiast | Strefa czasowa IANA dla bieżącej daty agenta i harmonogramów bez własnej strefy, np. Europe/Moscow. Domyślnie UTC. |
## Channels
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_CHANNEL_FAILURE_NOTICE` | Informuj rozmówcę o nieudanej odpowiedzi | `enum: always \\\| once \\\| off` | `always` | natychmiast | Co dostaje rozmówca w kanale (Telegram i inne), gdy agent nie mógł odpowiedzieć: „Za każdym razem” — krótką wiadomość w swoim języku; „Nie częściej niż raz na 4 godziny” — jedną wiadomość na rozmowę w ciągu 4 godzin; „Nie informuj” — nic. Wiadomość nie zawiera kodów błędów ani nazw dostawców; szczegóły widzisz w „Sesjach” i powiadomieniach. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_BLOCKED` | Komunikat o niepowodzeniu: instancja jest zawieszona | `text` | — | natychmiast | Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_BUDGET` | Komunikat o niepowodzeniu: wyczerpany budżet właściciela | `text` | — | natychmiast | Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_BUSY` | Komunikat o niepowodzeniu: brama jest przeciążona | `text` | — | natychmiast | Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_CONFIG` | Komunikat o niepowodzeniu: połączenie z modelem wymaga właściciela | `text` | — | natychmiast | Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_FAILED` | Komunikat o niepowodzeniu: inny błąd | `text` | — | natychmiast | Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_QUOTA` | Komunikat o niepowodzeniu: wyczerpany limit użycia modelu | `text` | — | natychmiast | Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_STEP_LIMIT` | Komunikat o niepowodzeniu: zadanie nie zmieściło się w jednej odpowiedzi | `text` | — | natychmiast | Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_TOO_LONG` | Komunikat o niepowodzeniu: rozmowa jest za długa dla modelu | `text` | — | natychmiast | Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_UNAVAILABLE` | Komunikat o niepowodzeniu: model jest chwilowo niedostępny | `text` | — | natychmiast | Zostaw puste, aby wysłać wbudowany komunikat w języku rozmówcy. Twój tekst jest wysyłany tak, jak go napiszesz, w języku, w którym go napiszesz; {ref} wstawia kod odpowiedzi, po którym znajdziesz turę w Sesjach. Działa od razu. |
| `AIHUMMER_CONFIDENTIAL_PERSONA` | Poufna osoba internetowa | `bool` | `0` | natychmiast | Gdy opcja ta jest włączona, agent czatu internetowego nie ujawnia ani nie utrwala szczegółów swojej osoby/tożsamości i przechowuje odpowiedzi dotyczące bieżącego zadania — używaj go w przypadku wdrożeń internetowych anonimowych lub wrażliwych na prywatność. Działa od razu, bez ponownego uruchomienia. |
| `AIHUMMER_INBOUND_COALESCE_MS` | Okno łączenia wiadomości (ms) | `int` | `500` | natychmiast | Kilka wiadomości, które jedna osoba wysyła po kolei na ten sam czat (krótkie wiadomości, album zdjęć, szybka poprawka), otrzymuje JEDNĄ odpowiedź, jeśli przerwa między nimi jest krótsza niż to okno. Na wiadomości, które przychodzą podczas przygotowywania odpowiedzi, odpowiedź pada zaraz po niej, nigdy równolegle. Domyślnie 500 ms; 0 = bez czekania między osobnymi wiadomościami; album zdjęć i tak jest zbierany (przerwy do 3 s, najwyżej 20 s), aby dostał jedną odpowiedź. Łączenie działa w Telegramie; Slack, WhatsApp, VK, e-mail i inne konektory, które czekają na odpowiedź na każdą wiadomość (oraz integracje przez /v1/inbound/generic), dostają odpowiedź na każdą wiadomość — nadal jedna po drugiej, po kolei. Działa od razu. |
| `AIHUMMER_INBOUND_EDIT_MODE` | Gdy ktoś edytuje wiadomość, na którą już odpowiedziano | `enum: correct \\\| history` | `correct` | natychmiast | correct — bot odpowiada ponownie, wiedząc, że to poprawka („było / jest”); history — edycja tylko poprawia historię rozmowy, bez nowej odpowiedzi (wygodne przy literówkach). Edycja wiadomości, na którą bot jeszcze nie odpowiedział, zawsze po prostu zastępuje jej tekst. Działa tam, gdzie kanał zgłasza edycje (Telegram). Działa od razu. |
| `AIHUMMER_INBOUND_QUEUE_MODE` | Wiadomości pisane, gdy agent pracuje | `enum: steer \\\| collect \\\| followup` | `steer` | natychmiast | Co dzieje się z wiadomością, którą ta sama osoba wysyła, gdy agent wciąż przygotowuje odpowiedź (szuka, uruchamia narzędzia): steer (domyślnie) — agent widzi ją przed kolejnym krokiem i uwzględnia w tej samej odpowiedzi; collect — odpowiada na nią następna odpowiedź. followup — każda taka wiadomość po kolei dostaje osobną odpowiedź. Zdjęcia, pliki, odpowiedzi na wiadomość i przekazania zawsze czekają na następną odpowiedź. Działa od razu. |
| `AIHUMMER_INBOUND_REQUIRE_BINDING` | Odpowiadaj tylko użytkownikom z obsługą | `bool` | `true` | natychmiast | true = bot ignoruje każdego nadawcę kanału, który jest NOT skonfigurowanym użytkownikiem AiHummer (użytkownik z przypisaną rolą) — losowi członkowie czatu i wywołania gości nie otrzymują odpowiedzi. false (domyślnie) = odpowiadają wszystkim. |
## Integrations
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_A2A_PUBLISH` | Publikuj agenta przez Agent2Agent (A2A) | `bool` | `0` | po ponownym uruchomieniu | Opublikuj agenta jako A2A serwer (Karta Agenta + POST /a2a/message). Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_MCP_EXPORT_TOOLS` | Narzędzia otwarte dla zewnętrznych asystentów | `multiselect` | — | po ponownym uruchomieniu | Jawna lista nazw narzędzi dozwolonych dla zewnętrznych klientów MCP, oddzielonych przecinkami. Pusty = nie publikuj żadnych narzędzi. Niebezpieczne klasy na poziomie hosta są dodatkowo zabronione przez wbudowane zasady, nawet jeśli są wymienione. Obowiązuje przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_MCP_PUBLISH` | Publikuj narzędzia w MCP | `bool` | `0` | po ponownym uruchomieniu | Pozwala zewnętrznym asystentom (np. Claude Desktop) korzystać z narzędzi Twoich agentów. Które narzędzia otworzyć, wybiera się w sąsiednim ustawieniu: dopóki lista jest pusta, nie otwiera się żadne. |
| `AIHUMMER_MODULE_CPU_QUOTA` | Limit procesora wtyczki (na każdą) | `text` | `75%` | natychmiast | Jaką część procesora może zająć każda wtyczka (systemd CPUQuota): 75% to trzy czwarte jednego rdzenia, 150% — półtora rdzenia. Nową wartość wtyczka otrzyma przy następnej instalacji, aktualizacji lub zapisaniu jej ustawień; do tego czasu działające wtyczki zachowują poprzedni limit. |
| `AIHUMMER_MODULE_MEMORY_MAX` | Limit pamięci wtyczki (na każdą) | `text` | `512M` | natychmiast | Ile pamięci może zająć każda wtyczka (systemd MemoryMax): rozmiar taki jak 512M, 1G lub 2048M (co najmniej 64M) albo infinity — bez limitu. Wtyczkę, która go przekroczy, system zatrzyma. Nową wartość wtyczka otrzyma przy następnej instalacji, aktualizacji lub zapisaniu jej ustawień; do tego czasu działające wtyczki zachowują poprzedni limit. |
## Knowledge connectors
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_KB_SYNC_INTERVAL` | Jak często odświeżać bazę wiedzy ze źródeł | `text` | — | natychmiast | Jak często serwer sam pobiera zmiany z podłączonych źródeł bazy wiedzy. Na przykład: 30m — co 30 minut, 6h — co 6 godzin. Puste lub 0 — tylko ręcznie. Ponowne wczytanie nie tworzy duplikatów. Eksport ze Slacka wgrywa się ręcznie. |
## LLM
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AUX_FALLBACK_MODELS` | Zadania pomocnicze: modele zapasowe | `list` | — | natychmiast | Modele rozdzielone przecinkami, próbowane po kolei, gdy model pomocniczy zawiedzie (limit, awaria). Na końcu zawsze próbowany jest model główny, aby podsumowanie nie przepadło. Każde przełączenie jest zapisywane w dzienniku. Działa od razu. |
| `AIHUMMER_AUX_MODEL` | Model do zadań pomocniczych (podsumowania, notatki, tytuły) | `text` | — | natychmiast | Model do zadań pomocniczych w tle: zwijanie starej historii w podsumowanie, notatka do pamięci przed kompresją, tytuły rozmów, wyodrębnianie faktów, przeformułowanie zapytań wyszukiwania i tłumaczenie. Puste = automatycznie: tańszy model tego samego dostawcy (Claude → claude-haiku-4-5, Codex → gpt-…-luna/mini); jeśli go nie ma — model główny. „main” = zawsze model główny. Działa od razu. |
| `AIHUMMER_CASCADE_MIN_CHARS` | Kaskada: minimalna liczba znaków do eskalacji | `int` | `0` | natychmiast | Próg długości żądania (znaki), przy którym uruchamia się silniejszy model kaskadowy. 0 = wartość domyślna. |
| `AIHUMMER_CASCADE_STRONG_MODEL` | Kaskada: silniejszy model awaryjny | `text` | — | natychmiast | Model do kaskadowania w przypadku długich/złożonych żądań (puste = wyłączone). |
| `AIHUMMER_CLAUDE_AUTH_URL` | Subskrypcja Claude: adres strony logowania | `text` | — | natychmiast | Strona, na której zezwalasz na podłączenie subskrypcji Claude. Puste — adres standardowy; zmieniaj tylko na prośbę wsparcia. |
| `AIHUMMER_CLAUDE_CLIENT_ID` | Subskrypcja Claude: identyfikator klienta OAuth | `text` | — | natychmiast | Identyfikator aplikacji do logowania subskrypcją Claude. Puste — standardowy; zmieniaj tylko na prośbę wsparcia. |
| `AIHUMMER_CLAUDE_EFFORT` | Claude: głębokość rozumowania | `enum: low \\\| medium \\\| high \\\| xhigh \\\| max` | `medium` | natychmiast | Jak głęboko modele Claude zastanawiają się przed odpowiedzią, gdy agent tego nie określa. Wyżej — dokładniej przy trudnych zadaniach, ale wolniej i z większym zużyciem limitu; niżej — szybciej i taniej. Model, który nie zna wybranego poziomu, dostaje najbliższy niższy; Haiku 4.5 i starsze modele nie obsługują rozumowania. Głębokość ustawiona w agencie ma pierwszeństwo. Działa od następnej tury. |
| `AIHUMMER_CLAUDE_MAX_TOKENS` | Claude: maksymalna długość odpowiedzi (tokeny) | `int` | `16000` | natychmiast | Ile tokenów może zająć jedna odpowiedź Claude — zarówno w subskrypcji, jak i z kluczem. Rozumowanie modelu wlicza się do tego samego limitu: zbyt mała wartość ucina odpowiedź w pół zdania lub daje pustą odpowiedź. Jeśli agent ma własną długość odpowiedzi, obowiązuje ona. |
| `AIHUMMER_CLAUDE_REDIRECT_URI` | Subskrypcja Claude: identyfikator URI przekierowania | `text` | — | natychmiast | Adres zwrotny zarejestrowany u dostawcy. Musi pasować do tego, co jest skonfigurowane na jego stronie, w przeciwnym razie wymiana kodu zostanie odrzucona. |
| `AIHUMMER_CLAUDE_TOKEN_URL` | Subskrypcja Claude: adres uzyskania dostępu | `text` | — | natychmiast | Adres, pod którym serwer uzyskuje i odnawia dostęp do subskrypcji Claude. Puste — adres standardowy; zmieniaj tylko na prośbę wsparcia. |
| `AIHUMMER_CODEX_BASE_URL` | Baza Kodeksu URL | `text` | — | częściowo po ponownym uruchomieniu | Podstawa transportu Codex (subskrypcja ChatGPT). Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_CODEX_MAX_OUTPUT_TOKENS` | Maksymalna liczba tokenów wyjściowych (0 = brak limitu) | `int` | `0` | natychmiast | Ograniczenie max_output_tokens dla tury czatu. 0 = brak limitu. W modelach wnioskowania żetony wnioskowania również wliczają się do tego budżetu, więc zbyt mała wartość daje pustą odpowiedź „niekompletna: max_output_tokens”. Stosowane na bieżąco (bez restartu). |
| `AIHUMMER_CODEX_MODEL` | Identyfikator modelu (transport Codex / gpt-5.5) | `text` | `gpt-5.5` | częściowo po ponownym uruchomieniu | Identyfikator modelu podstawowego transportu Codex/ChatGPT (np. gpt-5.5, gpt-5.5-codex). Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_CODEX_REASONING_EFFORT` | Wysiłek rozumowania | `enum: none \\\| low \\\| medium \\\| high \\\| xhigh` | `medium` | natychmiast | Jak głęboko model ChatGPT (Codex) myśli przed odpowiedzią, jeśli agent tego nie ustawia. Domyślnie — „Średnie”. Wyżej — dokładniej, ale wolniej i drożej. |
| `AIHUMMER_LLM_CALL_TIMEOUT_S` | Limit czasu połączenia (sekundy) | `int` | `120` | natychmiast | Ile sekund czekać na odpowiedź modelu na jedno zapytanie. Jeśli model milczy dłużej, zapytanie jest przerywane, a odpowiedź przechodzi do następnego modelu z listy. W przypadku Claude liczy się przerwa w strumieniu odpowiedzi, a nie cała odpowiedź: długa, ale wciąż płynąca odpowiedź nie jest ucinana. 0 — bez limitu. |
| `AIHUMMER_LLM_FALLBACK_MODELS` | Modele zapasowe (wszyscy agenci) | `text` | `auto` | natychmiast | Kto odpowiada, gdy model główny i pozostali dostawcy zawiodą (wyczerpany limit użycia, awaria, zbyt wiele żądań). auto — tańszy model każdego dostawcy jako ostatnia deska ratunku (Claude: claude-haiku-4-5, Codex: gpt-…-luna/mini); lista rozdzielona przecinkami — własna kolejność, każdy model trafia do dostawców swojego producenta; off — bez modeli zapasowych. Własny model zapasowy agenta ma pierwszeństwo. Działa od razu. |
| `AIHUMMER_LLM_GATEWAY_URL` | LLM bramka URL | `text` | — | częściowo po ponownym uruchomieniu | Baza URL punktu końcowego modelu zgodnego z OpenAI, który wywołuje agent (lokalny serwer llama.cpp/vLLM/Ollama lub hostowana brama). Pozostaw puste, aby użyć domyślnego punktu końcowego dostawcy. |
| `AIHUMMER_LLM_MODEL` | Model LLM | `text` | — | częściowo po ponownym uruchomieniu | Nazwa/identyfikator modelu wysyłany do dostawcy w każdej turze (model obsługiwany przez Twój punkt końcowy). Musi pasować do modelu, który faktycznie udostępnia punkt końcowy. |
| `AIHUMMER_LLM_PAUSE_AUTH_MIN` | Pauza po odrzuceniu poświadczeń, min | `int` | `10` | natychmiast | Przez ile minut nie pytać dostawcy, który odrzucił poświadczenia. Każde powtórzenie podwaja pauzę, najwyżej do sześciokrotności pierwszej. Udany test połączenia lub przycisk „Wznów teraz” przywraca go od razu. Działa od następnej porażki. |
| `AIHUMMER_LLM_PAUSE_MODEL_MIN` | Pauza modelu, którego dostawca nie obsługuje, min | `int` | `60` | natychmiast | Przez ile minut nie proponować dostawcy modelu, o którym powiedział, że go nie obsługuje; o jego inne modele pytamy jak zwykle. Działa od następnej porażki. |
| `AIHUMMER_LLM_PAUSE_QUOTA_MIN` | Pauza po wyczerpaniu limitu, min | `int` | `300` | natychmiast | Przez ile minut nie pytać modelu (lub całego konta, gdy wyczerpano limit konta — Codex, klucz OpenAI, płatność), gdy jego limit użycia jest wyczerpany, a dostawca nie podał terminu odnowienia. Każde powtórzenie podwaja pauzę, najwyżej do doby. Termin podany przez dostawcę ma pierwszeństwo. Działa od następnej porażki. |
| `AIHUMMER_LLM_PAUSE_SHORT_S` | Pauza dostawcy po awarii, s | `int` | `30` | natychmiast | Przez ile sekund nie pytać dostawcy po awarii, zerwanym połączeniu lub „zbyt wielu żądaniach”. Druga porażka z rzędu podwaja pauzę, trzecia i kolejne wydłużają ją dziesięciokrotnie. Jeśli dostawca sam poda termin, czekamy do niego. Działa od następnej porażki. |
| `AIHUMMER_LLM_PROVIDER` | LLM dostawca | `text` | — | częściowo po ponownym uruchomieniu | Którego modelu zaplecza użyć (punkt końcowy zgodny z OpenAI czy transport z subskrypcją Codex/ChatGPT). Decyduje o sposobie wysyłania i uwierzytelniania żądań. |
| `AIHUMMER_LLM_RETRIES` | LLM ponownych prób w przypadku przejściowego błędu | `int` | `3` | natychmiast | Liczba ponownych prób żądania LLM w przypadku błędu przejściowego. |
| `AIHUMMER_LLM_TEMPERATURE` | Temperatura | `text` | — | natychmiast | Jak różnorodnie odpowiada model (0–2), jeśli agent tego nie ustawia: mniej — dokładniej i przewidywalniej, więcej — żywiej. Puste — decyduje model. Modele rozumujące (ChatGPT/Codex, Claude generacji 5) tego nie przyjmują — zostaw dla nich pole puste. |
| `AIHUMMER_LLM_TOP_P` | Top-p (jądro próbkowanie) | `text` | — | natychmiast | Kolejny sposób na bardziej zróżnicowane odpowiedzi (0–1), jeśli agent tego nie ustawia. Puste — decyduje model. Zwykle ustawia się tylko jedno: temperaturę albo to; modele rozumujące tego nie przyjmują. |
| `AIHUMMER_MODEL_GUARD_INTERVAL_MIN` | Sprawdzanie modelu agenta: interwał, min | `int` | `60` | natychmiast | Jak często sprawdzać, czy model każdego agenta jest udostępniany przez włączonego dostawcę. Model agenta nigdy nie jest zmieniany: dopóki nikt go nie udostępnia, odpowiada pierwszy model z kolejności odpowiedzi, który nie jest wstrzymany, a powiadomienie wymienia agentów — i kolejne, gdy ich model wróci. Sprawdzanie zawsze odbywa się przy starcie bramy, a 0 wyłącza tylko powtarzanie. Nowy odstęp działa w ciągu minuty. |
| `AIHUMMER_OPENAI_API` | Styl OpenAI API (czat \| odpowiedzi) | `enum: \\\| chat \\\| responses` | — | częściowo po ponownym uruchomieniu | chat = /chat/completions, responds = /responses. Puste = auto/domyślne. Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_OPENAI_API_KEY` | Natywny klucz OpenAI API (wdrożenie domyślnie) | `text` | — | częściowo po ponownym uruchomieniu | Twój klucz konta OpenAI dla natywnej pętli OpenAI (jeśli używasz OpenAI jako domyślnego dostawcy). Nie mylić z obszarem roboczym BYOK na stronie Modele. Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_OPENAI_BASE_URL` | Natywna baza OpenAI URL | `text` | — | po ponownym uruchomieniu | Podstawa API kompatybilnego z OpenAI (np. https://api.openai.com/v1). Stosowana przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_OPENAI_MODEL` | Natywny model OpenAI | `text` | — | po ponownym uruchomieniu | Model natywnej pętli OpenAI (gdy ustawiono AIHUMMER_OPENAI_API_KEY). Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_ROUTER_COMPLEX_MODEL` | Router: model dla złożonych włącza | `text` | — | natychmiast | Model dla złożonych żądań agenta bez własnego modelu (puste = poziom wyłączony). Działa od następnego kroku. |
| `AIHUMMER_ROUTER_SIMPLE_MODEL` | Router: model dla prostych skrętów | `text` | — | natychmiast | Model dla prostych żądań agenta bez własnego modelu (puste = poziom wyłączony). Działa od następnego kroku. |
| `AIHUMMER_ROUTER_STANDARD_MODEL` | Router: model dla standardowych skrętów | `text` | — | natychmiast | Model dla zwykłych żądań agenta bez własnego modelu (puste = poziom wyłączony). Działa od następnego kroku. |
| `AIHUMMER_SUBSCRIPTION_QUOTA_REFRESH_MIN` | Limity subskrypcji: okres odpytywania, min | `int` | `15` | natychmiast | Jak często panel pyta ChatGPT (Codex) o okna limitów subskrypcji: najwyżej raz na okres, nie częściej niż co 5 minut i tylko gdy limity są otwarte; pomiędzy pokazywana jest zapisana kopia. Claude nie jest pytany nigdy: jego limity to nasz szacunek. Działa od następnego otwarcia limitów. |
## Media
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_DEEPGRAM_API_KEY` | Klucz Deepgram API | `text` | — | natychmiast | Klucz usługi Deepgram — potrzebny, jeśli wiadomości głosowe rozpoznaje Deepgram. Jeśli puste, używany jest wspólny klucz rozpoznawania mowy z sąsiedniego ustawienia. Działa od razu. |
| `AIHUMMER_DEEPGRAM_DETECT_LANGUAGE` | Rozpoznawanie języka Deepgram | `bool` | `0` | natychmiast | Rozpoznaj język zamiast przesyłać stały język. Działa od razu. |
| `AIHUMMER_DEEPGRAM_MODEL` | Model Deepgramu | `text` | `nova-2` | natychmiast | Model Deepgram (np. nova-2, nova-3, base). Zależy od dostępu projektu do klucza. Działa od razu. |
| `AIHUMMER_DEEPGRAM_PUNCTUATE` | Interpunkcja Deepgram | `bool` | `1` | natychmiast | Dodawaj interpunkcję i wielkie litery. Działa od razu. |
| `AIHUMMER_DEEPGRAM_SMART_FORMAT` | Inteligentne formatowanie Deepgram | `bool` | `1` | natychmiast | Formatuj rozpoznane liczby i daty. Działa od razu. |
| `AIHUMMER_DEEPGRAM_URL` | Baza Deepgram URL | `text` | — | natychmiast | Deepgram API baza. Puste = https://api.deepgram.com. Działa od razu. |
| `AIHUMMER_IMAGE_BASE_URL` | Obraz API baza URL (awaria OpenAI) | `text` | — | natychmiast | Podstawa /images API podczas pracy z kluczem OpenAI (puste = https://api.openai.com/v1). |
| `AIHUMMER_IMAGE_MODEL` | Generowanie obrazu model | `text` | — | natychmiast | Model dla image_generate (domyślny gpt-image-2). |
| `AIHUMMER_MEDIA_MAX_UPLOAD_MB` | Maksymalny rozmiar przesyłanych multimediów (MB) | `int` | `256` | natychmiast | Największy plik (zdjęcie, wiadomość głosowa, wideo), który można przesłać naraz, w megabajtach. Chroni dysk serwera przed zapełnieniem. Domyślnie 256. Działa od razu. |
| `AIHUMMER_SIDECAR_STT` | Rozpoznawanie mowy na tym serwerze (faster-whisper) | `bool` | `0` | natychmiast | Lokalne rozpoznawanie mowy (faster-whisper). NIE zawarte w pakiecie: Włącz pobiera podpisany dodatek (~620 MiB dla wszystkich wersji Pythona) i instaluje usługę na hoście. 🔴 Dodatek jest publikowany na mocy odrębnej decyzji dostawcy (jego pakiety zawierają ffmpeg na licencji GPL); jeśli nie zostanie to opublikowane dla waszego wydania, łącznie z tym, będzie w tym szczery i niczego nie zepsuje. Plan w chmurze: rozpoznawanie jest konfigurowane przez dostawcę. |
| `AIHUMMER_SIDECAR_TTS` | Odpowiedzi głosowe (edge-tts) | `bool` | `0` | natychmiast | Synteza mowy (edge-tts, głosy Microsoft Edge). NIE jest zawarte w pakiecie: włączenie powoduje pobranie podpisanego dodatku (~26 MiB) i zainstalowanie usługi na hoście. Sama synteza jest przesyłana online w celu głosowania - „offline” odnosi się tutaj do instalowania pakietu, a nie do działania. |
| `AIHUMMER_STT_API_KEY` | STT API klucz (opcjonalny) | `text` | — | natychmiast | Klucz dostępu do usługi rozpoznawania mowy, jeśli go wymaga. Dla usługi na tym serwerze ustawia go instalator — nie trzeba go zmieniać. Działa od razu. |
| `AIHUMMER_STT_ENGINE` | STT silnik | `enum: auto \\\| faster-whisper \\\| deepgram \\\| codex \\\| off` | `auto` | natychmiast | Czym transkrybować wiadomości głosowe. Auto (domyślnie): Deepgram, jeśli ustawiono jego klucz, w przeciwnym razie usługa lokalna, jeśli jest zainstalowana (przełącznik powyżej), w przeciwnym razie niczym — a bot uczciwie powie nadawcy, że jeszcze nie umie słuchać. faster-whisper: usługa lokalna lub zgodne zewnętrzne /v1/audio/transcriptions. deepgram: Deepgram w chmurze z własnym kluczem. codex: podłączona subskrypcja ChatGPT (Modele → Połącz ChatGPT), zużywa jej limit. off: nie transkrybować. Działa od razu. |
| `AIHUMMER_STT_LANGUAGE` | STT język | `text` | — | natychmiast | Język rozpoznawania (BCP-47, np. ru/en). Używany przez silnik deepgram (model nova-2). Puste = automatyczne wykrywanie / ustawienie domyślne silnika. Działa od razu. |
| `AIHUMMER_STT_MODEL` | Model STT | `text` | `Systran/faster-whisper-small` | natychmiast | szybszy model szeptu (np. mały/średni/duży-v3 lub Systran/szybszy-szept-⟨size⟩). Działa od razu. |
| `AIHUMMER_TTS_API_KEY` | TTS API klucz (edge-tts) | `text` | — | częściowo po ponownym uruchomieniu | Klucz dostępu do usługi syntezy mowy. Ustawiany automatycznie podczas instalacji — nie trzeba go zmieniać. |
| `AIHUMMER_TTS_ENABLED` | Włączono zamianę tekstu na mowę | `bool` | `1` | częściowo po ponownym uruchomieniu | Pozwala agentowi odpowiadać głosem. Potrzebna jest do tego usługa syntezy mowy — instaluje się ją wyżej, w sekcji „Usługi dodatkowe”. |
| `AIHUMMER_TTS_MODEL` | Model TTS | `text` | — | częściowo po ponownym uruchomieniu | Nazwa modelu usługi Edge-tts. Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_TTS_VOICE` | TTS głos | `enum: de-DE-FlorianMultilingualNeural \\\| de-DE-SeraphinaMultilingualNeural \\\| en-US-AndrewMultilingualNeural \\\| en-US-AvaMultilingualNeural \\\| en-US-BrianMultilingualNeural \\\| en-US-EmmaMultilingualNeural \\\| fr-FR-RemyMultilingualNeural \\\| fr-FR-VivienneMultilingualNeural \\\| ru-RU-SvetlanaNeural \\\| ru-RU-DmitryNeural \\\| en-US-JennyNeural \\\| en-US-GuyNeural \\\| en-GB-SoniaNeural \\\| de-DE-KatjaNeural \\\| fr-FR-DeniseNeural \\\| es-ES-ElviraNeural \\\| tr-TR-EmelNeural \\\| pl-PL-ZofiaNeural \\\| zh-CN-XiaoxiaoNeural` | `de-DE-FlorianMultilingualNeural` | częściowo po ponownym uruchomieniu | Domyślny głos Edge-tts (wielojęzyczny, w tym rosyjski). Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_VIDEO_API_KEY` | Analiza wideo API klucz | `text` | — | natychmiast | Klucz dostępu do usługi analizy wideo, jeśli go wymaga. Puste — usługa działa bez klucza. |
## Media · Voice
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_TTS_AUTO_REPLY` | Automatyczne odpowiedzi głosowe | `enum: off \\\| always \\\| inbound \\\| tagged` | `inbound` | natychmiast | Nigdy, zawsze, po otrzymaniu nagrania lub po wyraźnym oznaczeniu. Można zmienić dla rozmowy. |
| `AIHUMMER_TTS_MAX_CHARS` | Limit znaków wypowiadanej odpowiedzi | `int` | `0` | natychmiast | 0: pełny tekst; 100–10000: limit tekstu do odczytania. Pełna odpowiedź pozostaje w historii. |
| `AIHUMMER_TTS_SUMMARIZE` | Skracanie długich odpowiedzi głosowych | `bool` | `1` | natychmiast | Streszczaj długie odpowiedzi do odczytania. W razie błędu odczytaj początek w granicach limitu. |
| `AIHUMMER_VOICE_AEC` | Wyeliminowanie echa (AEC) | `bool` | `1` | natychmiast | Usuwa echo: własny głos agenta z głośnika nie wraca do mikrofonu i nie przerywa rozmowy. Wyłącz tylko wtedy, gdy głos w słuchawkach brzmi zniekształcony. |
| `AIHUMMER_VOICE_AGC` | Automatyczna kontrola wzmocnienia | `bool` | `1` | natychmiast | Wymagaj automatycznej regulacji wzmocnienia mikrofonu (WebRTC autoGainControl) w trybie głosowym. |
| `AIHUMMER_VOICE_BARGEIN_FRAMES` | Przerwanie agenta: jak długo mówić | `int` | `5` | natychmiast | Jak długo trzeba mówić (w ramkach po 20 ms), aby agent zamilkł i zaczął słuchać. Domyślnie 5 — około 0,1 sekundy. |
| `AIHUMMER_VOICE_DUPLEX` | Głos na żywo w trybie pełnego dupleksu | `bool` | `0` | natychmiast | Włącza tryb pełnego dupleksu na żywo (strumieniowanie + VAD + wtrącanie). Działa od razu. |
| `AIHUMMER_VOICE_NOISE_SUPPRESSION` | Tłumienie szumów | `bool` | `1` | natychmiast | Wymagaj redukcji szumów przy przechwytywaniu z mikrofonu (WebRTC noiseSuppression) w trybie głosowym. |
| `AIHUMMER_VOICE_VAD_THRESHOLD` | Czułość na głos (0–1) | `text` | `0.02` | natychmiast | Od jakiej głośności dźwięk liczy się jako mowa. Mniej — czulej: agent usłyszy cichą mowę, ale i szum otoczenia. Domyślnie 0.02. |
## Memory
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_EMBEDDER_DIM` | Wymiar modelu wyszukiwania znaczeniowego | `int` | `768` | po ponownym uruchomieniu | Wymiar wektorowy — musi pasować do modelu (wielojęzyczny-e5-base=768, bge-m3=1024). |
| `AIHUMMER_EMBEDDER_KEEPALIVE` | Utrzymywanie osadzania | `text` | `5m` | po ponownym uruchomieniu | Jak długo model wyszukiwania znaczeniowego pozostaje załadowany po ostatnim zapytaniu (tylko w trybie „Po znaczeniu”). Domyślnie 5m — 5 minut: potem model jest zwalniany i oddaje pamięć oraz procesor. Trzymanie zawsze (-1) nie jest zalecane: zawieszony model może całymi dniami zajmować rdzeń procesora. Format: 30s, 5m, 1h. |
| `AIHUMMER_EMBEDDER_MODEL` | Model wyszukiwania znaczeniowego | `text` | `yxchia/multilingual-e5-base` | po ponownym uruchomieniu | Model, który pozwala szukać w pamięci po znaczeniu. Domyślny multilingual-e5-base rozumie rosyjski, jest lekki i szybko działa na zwykłym procesorze. Dla lepszej jakości na karcie graficznej nadaje się bge-m3, ale wtedy w sąsiednim ustawieniu wymiaru wpisz 1024: liczba musi pasować do modelu. |
| `AIHUMMER_EMBEDDER_PASSAGE_PREFIX` | Prefiks fragmentu osadzania | `text` | — | po ponownym uruchomieniu | Zastąp przedrostek przechowywanego dokumentu (modele e5 automatycznie używają „fragmentu:”). Pozostaw puste, aby automatycznie wykryć nazwę modelu. |
| `AIHUMMER_EMBEDDER_QUERY_PREFIX` | Prefiks zapytania osadzania | `text` | — | po ponownym uruchomieniu | Zastąp prefiks zapytania o pobieranie (modele e5 automatycznie używają „zapytania:”). Pozostaw puste, aby automatycznie wykryć według nazwy modelu. |
| `AIHUMMER_EMBEDDER_THREADS` | Wątki procesora embeddera | `int 0…256` | `0` | po ponownym uruchomieniu | Ile wątków procesora model wyszukiwania według znaczenia bierze na jedno zapytanie. 0 — automatycznie: połowa wątków serwera, ale nie mniej niż 2. Bez limitu przeliczanie wektorów bazy wiedzy na słabym serwerze godzinami zajmowało cały procesor i spowalniało odpowiedzi agentów. Więcej — szybsze przeliczanie, ale większe obciążenie. |
| `AIHUMMER_MEMORY_AGENT_WRITES` | Fakty zapisywane przez samego agenta | `enum: strangers \\\| immediate \\\| review` | `strangers` | natychmiast | Co dzieje się z tym, co agent zapamiętuje sam — np. na prośbę „zapamiętaj”. „Od razu do pamięci; od obcych — do sprawdzenia” (domyślnie) — od razu do pamięci, jeśli powiedział to właściciel lub zaufany krąg agenta; od wszystkich innych — do sprawdzenia. „Od razu do pamięci” — agent od razu to znajdzie. „Do sprawdzenia” — najpierw do kolejki Pamięć → do sprawdzenia; do odpowiedzi trafia dopiero po Twojej akceptacji. Na karcie agenta (Pamięć → Ustawienia) można wybrać własny tryb. |
| `AIHUMMER_MEMORY_AUTOREPAIR` | Automatyczna naprawa pamięci | `bool` | `1` | natychmiast | Po samokontroli naprawiać pamięć: scalać duplikaty, zamykać sprzeczności z wyraźnym zwycięzcą (potwierdzenie przez człowieka, późniejsza data zdarzenia, ważniejsze źródło), ponownie sprawdzać ze źródłami fakty oznaczone jako potwierdzone, których nie potwierdził człowiek (niepotwierdzone trafiają do weryfikacji, nic nie jest usuwane). Sporne trafia tylko do kolejki. Każda poprawka jest zapisywana z przyciskiem cofnięcia; jeśli po przebiegu pamięć znajduje gorzej, przebieg cofa się sam i przychodzi powiadomienie. Działa od razu, bez restartu. |
| `AIHUMMER_MEMORY_CAPTURE` | Tryb przechwytywania pamięci | `enum: auto \\\| review \\\| off` | `review` | natychmiast | Co robić z faktami, które agent sam zauważa w rozmowie po każdej odpowiedzi. „Do sprawdzenia” — do kolejki Pamięć → do sprawdzenia: do odpowiedzi trafiają dopiero po Twojej akceptacji. „Od razu do pamięci” — bez sprawdzania: szybciej, ale więcej zbędnego. „Nie zapisuj” — nie wyciągaj faktów z rozmów. To, co agent zapamiętuje na prośbę, ustawia się osobno. |
| `AIHUMMER_MEMORY_CONTEXT_TIMEOUT` | Przekroczono limit czasu uzupełniania pamięci | `text` | `3s` | natychmiast | Jak długo agent czeka na odpowiednie wspomnienia, zanim zacznie odpowiadać. Jeśli wyszukiwanie nie zdąży, agent odpowiada bez nich, zamiast się zawieszać. Na przykład: 2s — 2 sekundy, 1500ms — 1,5 sekundy. 0 — czekać ile trzeba. |
| `AIHUMMER_MEMORY_DIARY_BOOT` | Dziennik agenta na początku sesji | `bool` | `1` | natychmiast | Na każdym kroku sesji na dowolnym kanale mieć przed agentem jego dziennik z dziś i wczoraj: notatki z wcześniejszych sesji, nocne podsumowanie i wpisy samego agenta. Pokazywane są tylko wpisy o bieżącym rozmówcy i wspólne (twoje, przesłane) — jeden klient nigdy nie widzi wpisów o innym. Najwyżej ~6000 znaków; resztę agent czyta sam (memory_get). Działa od razu, bez ponownego uruchomienia. |
| `AIHUMMER_MEMORY_DIARY_HOUR` | Godzina nocnego podsumowania | `int` | `3` | natychmiast | Po której godzinie (0–23, strefa czasowa instancji) zapisywać podsumowanie minionego dnia. Domyślnie 3 — w nocy, gdy rozmowy dnia się skończyły. Działa od razu, bez ponownego uruchomienia. |
| `AIHUMMER_MEMORY_DIARY_NIGHTLY` | Nocne podsumowanie dnia w dzienniku agenta | `bool` | `1` | natychmiast | Raz na dobę zapisywać w dzienniku agenta podsumowanie minionego dnia — osobno dla każdego rozmówcy (wszystkie jego kanały razem): o co proszono i co zrobiono, ustalenia, zadania z datami. Jedno wywołanie modelu do zadań pomocniczych na agenta i rozmówcę, najwyżej 3 na przebieg co 10 minut; pominięte dni są nadrabiane do tygodnia wstecz. Rozmowy z prośbą „nie zapamiętuj” są pomijane. Nie jest zapisywane, gdy przechwytywanie pamięci jest wyłączone. Wynik ostatniego przebiegu widać w karcie agenta → Pamięć → Dziennik. Działa od razu, bez ponownego uruchomienia. |
| `AIHUMMER_MEMORY_DREAM_INTERVAL` | Interwał przebiegu snu | `string` | `1h` | natychmiast | Jak często samopodtrzymujące się skany Dream Pass sprawdzały twierdzenia o sprzecznościach we wszystkich zakresach (czas trwania Go, np. 30 m/1 godz./6 godz.). Ustaw 0, aby wyłączyć. Działa od razu, bez ponownego uruchomienia. |
| `AIHUMMER_MEMORY_EXTRACT` | LLM ekstrakcja faktów | `bool` | `1` | natychmiast | Wyodrębnij znormalizowane fakty dotyczące podmiotu/predykatu/obiektu za pomocą LLM (domyślnie włączone) zamiast zapisywać surowe fragmenty zdań — wymagane do uruchomienia maszyny wykresów/sprzeczności/snów. Dodaje jedno wywołanie LLM na przechwyconą wiadomość; wyrusz, aby zapisać połączenie. Działa od razu, bez ponownego uruchomienia. |
| `AIHUMMER_MEMORY_MEANING_TIMEOUT` | Limit czasu wyszukiwania według znaczenia | `text` | `4s` | natychmiast | Jak długo wyszukiwanie w pamięci i w bazie wiedzy czeka na wyszukiwanie według znaczenia. Jeśli model znaczenia jest zajęty (na przykład liczy wektory po imporcie) i nie odpowie na czas, agent od razu dostaje to, co znaleziono po słowach, z adnotacją, zamiast czekać dziesiątki sekund. Na przykład: 4s — 4 sekundy, 1500ms — 1,5 sekundy. 0 — czekać, ile trzeba. Działa od razu, bez ponownego uruchomienia. |
| `AIHUMMER_MEMORY_QUALITY_CHECK` | Codzienna samokontrola pamięci | `bool` | `1` | natychmiast | Raz na dobę pamięć zadaje sobie pytania kontrolne o swoje potwierdzone fakty (do 60 faktów, codziennie te same pytania) oraz pytania bez odpowiedzi, przepuszcza je przez wyszukiwanie w pamięci i automatyczne przywoływanie i mierzy kompletność, precyzję, MRR oraz fałszywe przywołania. Wynik i wykres dzienny: Pamięć → Jakość pamięci. Pytania do nowych faktów raz układa model usługowy (ten sam, który wydobywa fakty z rozmów; bez niego — według szablonu); wyniki zostają na instancji. Działa od razu, bez restartu. |
| `AIHUMMER_MEMORY_RECALL` | Automatyczne przywoływanie pamięci | `enum: strong \\\| always \\\| off` | `strong` | natychmiast | Czy dodawać znalezione w pamięci do odpowiedzi automatycznie. „Tylko mocne dopasowania” — fakt musi zgadzać się z wiadomością w co najmniej dwóch ważnych słowach; powitania i „ok” niczego nie przyciągają. „Wszystko podobne” — wszystko, co jakoś pasowało, oraz powiązane wpisy: więcej zbędnego. „Nie dodawaj” — agent sam szuka w pamięci, gdy uzna to za potrzebne. |
| `AIHUMMER_MEMORY_RECALL_MAX` | Faktów na odpowiedź | `int` | `5` | natychmiast | Maksymalna liczba faktów z pamięci dodawanych do jednej odpowiedzi (domyślnie 5). Przeformułowania tego samego faktu liczą się jako jeden. Działa od razu, bez ponownego uruchomienia. |
| `AIHUMMER_MEMORY_RECALL_MIN_SCORE` | Minimalne dopasowanie do automatycznego przywołania, % | `int` | `10` | natychmiast | Jaką część znaczących słów wiadomości (ważonych rzadkością) fakt musi pokryć, aby został dodany automatycznie, w procentach. Domyślnie 10 – dobrane na prawdziwych rozmowach. Wyżej = rzadziej i dokładniej, niżej = częściej i z większym szumem. Nie wpływa na jawne wyszukiwanie memory_search. 0 = bez progu: wystarczą dwa pasujące znaczące słowa. Działa od razu, bez ponownego uruchomienia. |
| `AIHUMMER_MEMORY_RECALL_MIN_SIMILARITY` | Minimalne podobieństwo znaczeniowe dla automatycznego przywoływania, % | `int` | `86` | natychmiast | Tylko dla wyszukiwania w pamięci według znaczenia (embedder): jak bliski znaczeniowo wiadomości musi być fakt, aby został dodany automatycznie, w procentach podobieństwa. Domyślnie 86 — dobrane dla modelu multilingual-e5-base na prawdziwej pamięci: poniżej niemal do każdej wiadomości dodawane są niezwiązane fakty. Inne modele (np. bge-m3) liczą podobieństwo inaczej — dobierz wartość przez „Zapytaj pamięć” w karcie agenta. 0 = bez progu. Nie wpływa na jawne wyszukiwanie memory_search. Działa od razu, bez ponownego uruchomienia. |
| `AIHUMMER_MEMORY_RETRIEVAL` | Tryb odzyskiwania pamięci | `enum: fulltext \\\| embedding` | `fulltext` | po ponownym uruchomieniu | Jak agent szuka w pamięci. „Po słowach” — zwykłe wyszukiwanie tekstu: działa od razu i nie obciąża serwera. „Po znaczeniu” — znajduje rzeczy bliskie znaczeniowo, nawet ujęte innymi słowami, ale wymaga modelu wyszukiwania znaczeniowego (sekcja „Usługi dodatkowe”) i zauważalnego obciążenia procesora. |
| `AIHUMMER_QDRANT_API_KEY` | Klucz Qdrant API | `text` | — | po ponownym uruchomieniu | Klucz API Qdrant, jeśli magazyn wektorów wymaga autoryzacji. Potrzebny tylko wtedy, gdy podano adres Qdrant. Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_QDRANT_URL` | Qdrant URL (magazyn trwałych wektorów) | `text` | — | po ponownym uruchomieniu | Adres magazynu Qdrant do wyszukiwania znaczeniowego. Puste — dane wyszukiwania są trzymane w pamięci i giną po restarcie serwera; do stałej pracy podaj adres. |
| `AIHUMMER_RAG_QUERY_EXPANSION` | Przeformułowuj zapytania do bazy wiedzy modelem | `bool` | `0` | natychmiast | Przed wyszukiwaniem w bazie wiedzy poproś model do zadań pomocniczych o 3 przeformułowania zapytania i szukaj wszystkimi. Czasem znajduje więcej, ale to dodatkowe wywołanie modelu przy KAŻDYM wyszukiwaniu (limit i opóźnienie); jeśli model zawiedzie, szuka się tylko pierwotnym sformułowaniem, a błąd widać w dzienniku i w wyniku wyszukiwania. Domyślnie wyłączone: słowa i tak znajduje wyszukiwanie pełnotekstowe. Działa od razu, bez ponownego uruchomienia. |
| `AIHUMMER_RERANKER_URL` | RAG wózek boczny rerankingu URL | `text` | — | po ponownym uruchomieniu | HTTP URL wózka bocznego cross-enkodera do zmiany rankingu wyszukiwania hybrydowego. Puste = zmiana rankingu wyłączona. Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
## Moderation
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_MODERATION` | Wprowadź moderację | `bool` | `1` | natychmiast | "off" wyłącza wbudowaną ochronę przed jailbreakiem/wstrzyknięciem promptu. Każda inna wartość = włączona. Działa od razu, bez ponownego uruchomienia. |
| `AIHUMMER_MODERATION_REFUSAL` | Wiadomość o odmowie moderacji | `text` | — | natychmiast | Tekst odmowy zwracany, gdy moderator blokuje żądanie (puste = wbudowany). Działa od razu, bez ponownego uruchomienia. |
## Network
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_OUTBOUND_PROXY_CUSTOM_URL` | Wychodzący serwer proxy: własny adres | `text` | — | natychmiast | URL proxy HTTPS; HTTP tylko na loopback, bez ścieżki, zapytania i fragmentu. Zapisz adres przed wybraniem custom. Maskowany w API; przechowywany w ustawieniach aplikacji. |
| `AIHUMMER_OUTBOUND_PROXY_MODE` | Wychodzący serwer proxy dla zagranicznych dostawców modeli | `enum: auto \\\| off \\\| custom` | `auto` | natychmiast | Jak serwer łączy się z zagranicznymi dostawcami modeli. „Jak u dostawcy” — tak, jak ustawiono na koncie dostawcy; „Bezpośrednio, bez proxy” — bez pośredników; „Przez własne proxy” — przez adres zapisany poniżej. Czy to działa, zależy od zasad danego dostawcy. |
| `AIHUMMER_RUSSIAN_TRUSTED_EXTRA_HOSTS` | Hosty poza .ru dla certyfikatów głównych Ministerstwa Rozwoju Cyfrowego Rosji | `list` | — | po ponownym uruchomieniu | Lista hostów, oddzielonych przecinkami, które mogą być sprawdzane przez katalogi główne Ministerstwa Rozwoju Cyfrowego Rosji OVER rosyjskich domen (.ru/.su/.рф - już uwzględnione). Potrzebne, jeśli Twój węzeł z certyfikatem Ministerstwa Rozwoju Cyfrowego Rosji znajduje się w innej domenie. Dopasuj według nazwy lub granicy subdomeny: example.com obejmuje api.example.com. Puste = tylko domeny rosyjskie. Obowiązuje przy uruchomieniu/po ponownym uruchomieniu. |
## Performance
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_CHANNEL_TURN_QUEUE_WAIT_SEC` | Oczekiwanie w kolejce: wiadomość z kanału (sekundy) | `int 10…1200` | `600` | natychmiast | Jak długo wiadomość z kanału (Telegram i inne) czeka na wolne miejsce, gdy wszystkie miejsca na tury są zajęte. Jeśli nie dostanie go na czas, osoba dowiaduje się, że serwer jest zajęty i może napisać ponownie. Oczekiwanie wlicza się do 30-minutowego limitu tury. 10–1200. Działa od razu. |
| `AIHUMMER_MAX_ACTIVE_TURNS` | Jednocześnie wykonywane tury agentów (cały serwer) | `int 1…512` | `32` | natychmiast | Ile tur agentów (odpowiedzi w kanałach i czacie internetowym, harmonogramy) serwer wykonuje jednocześnie. Pozostałe czekają w kolejce tak długo, jak pozwalają poniższe ustawienia „Oczekiwanie w kolejce”, a osoba widzi „serwer zajęty, w kolejce”. Wyższa wartość to krótsze czekanie, ale więcej pamięci, połączeń z bazą i jednoczesnych zapytań do modelu. Połowa tej liczby ogranicza jednoczesne pomocnicze wywołania modelu (wydobywanie pamięci, podsumowania). 1–512. Działa od razu. |
| `AIHUMMER_SYNC_INBOUND_QUEUE_WAIT_SEC` | Oczekiwanie w kolejce: synchroniczne wywołanie integracji (sekundy) | `int 1…120` | `10` | natychmiast | Jak długo wywołanie integracji, która czeka na odpowiedź w tym samym żądaniu, czeka na wolne miejsce, gdy wszystkie miejsca na tury są zajęte. Jeśli go nie dostanie, integracja otrzymuje „serwer zajęty” z radą, by ponowić po tej samej liczbie sekund; ponowienie z tym samym numerem wiadomości nie zapisuje jej drugi raz. 1–120. Działa od razu. |
| `AIHUMMER_WEB_TURN_QUEUE_WAIT_SEC` | Oczekiwanie w kolejce: wiadomość z czatu internetowego (sekundy) | `int 10…1200` | `180` | natychmiast | Jak długo wiadomość z czatu internetowego czeka na wolne miejsce, gdy wszystkie miejsca na tury są zajęte. W tym czasie czat pokazuje „serwer zajęty, w kolejce”; jeśli nie dostanie go na czas, odpowiedź jest odrzucana z przyciskiem „Spróbuj ponownie”, który zostaje w historii także po przeładowaniu strony. 10–1200. Działa od razu. |
## Public access
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_PUBLIC_URL` | Publiczny adres serwera | `text` | — | częściowo po ponownym uruchomieniu | Adres, pod którym panel i aplikacje otwierają się z internetu, np. https://ai.example.com. Skieruj go przez swoje proxy (nginx, Caddy) na port serwera — domyślnie 8780. |
| `AIHUMMER_WIDGET_ALLOWED_ORIGINS` | Widżet internetowy: dozwolone źródła origin witryn | `list` | — | natychmiast | Rozdzielona przecinkami lista źródeł origin przeglądarki, którym wolno osadzać widżet czatu internetowego, np. https://example.com,https://www.example.com. Schemat i port muszą być dokładnie zgodne. Puste = żadna zewnętrzna witryna nie może używać widżetu. Wpis `*` jest celowo ignorowany, ponieważ pozwoliłby dowolnej stronie w internecie wydawać budżet tej instancji. |
| `POCKET_AGENT_GATEWAY_BASE_URL` | Publiczna brama Pocket-agent URL | `text` | — | natychmiast | Proxy → port bramy kieszonkowego agenta (POCKET_AGENT_PORT, domyślnie 8080). Zdalny agent wybiera ten numer za pomocą jednorazowego biletu. |
| `TELEGRAM_PUBLIC_URL` | Publiczny webhook telegramu URL | `text` | — | natychmiast | Tylko tryb Webhook — proxy → port złącza telegramu (domyślnie 8091). odpytywanie (nie jest potrzebny publiczny URL). |
## SSO (LDAP/AD)
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_LDAP_BASE_DN` | Podstawowa nazwa wyróżniająca wyszukiwania użytkowników | `text` | — | po ponownym uruchomieniu | Wyszukaj katalog główny, np. OU=Users,DC=corp,DC=example. |
| `AIHUMMER_LDAP_BIND_DN` | Nazwa wyróżniająca powiązania usługi | `text` | — | po ponownym uruchomieniu | Konto używane do początkowego wyszukiwania, np. CN=svc-aihummer,OU=usługa,DC=korporacja,DC=przykład. Puste = wyszukiwanie anonimowe. |
| `AIHUMMER_LDAP_DEFAULT_ROLE` | LDAP: Rola domyślna (brak dopasowania grupy) | `text` | — | po ponownym uruchomieniu | Rola przyznawana, gdy żadna grupa nie pasuje do mapowania. Puste = brak roli. |
| `AIHUMMER_LDAP_ENABLED` | Włącz logowanie LDAP/AD | `bool` | `0` | po ponownym uruchomieniu | Gdy opcja ta jest włączona, loginy administratora wracają do katalogu. Hasło powiązania znajduje się w tajemnicach (zakres ldap, nazwa bind_password). |
| `AIHUMMER_LDAP_GROUP_ATTR` | Atrybut grupy (domyślny) memberOf) | `text` | — | po ponownym uruchomieniu | Atrybut we wpisie użytkownika zawierającym nazwy wyróżniające grup. Puste miejsce wyłącza mapowanie grupy → ról. |
| `AIHUMMER_LDAP_ROLE_MAPPINGS` | LDAP: Grupa → mapowania ról (JSON) | `text` | — | po ponownym uruchomieniu | JSON obiekt nazwy wyróżniającej grupy (lub samej nazwy CN) → rola, np. {"CN=Admins,OU=Groups,DC=corp,DC=example":"admin","Operators":"operator"}. |
| `AIHUMMER_LDAP_SKIP_TLS_VERIFY` | Pomiń weryfikację TLS (tylko laboratorium, 1/0) | `bool` | `0` | po ponownym uruchomieniu | Wyłącza weryfikację certyfikatu katalogu. Nigdy nie włączaj w środowisku produkcyjnym. |
| `AIHUMMER_LDAP_URL` | Katalog URL | `text` | — | po ponownym uruchomieniu | np. ldaps://ad.corp.example:636 (TLS) lub ldap://dc1.corp.example:389. |
| `AIHUMMER_LDAP_USER_ATTR` | Atrybut logowania (domyślny sAMAccountName) | `text` | — | po ponownym uruchomieniu | Atrybut LDAP/Active Directory jest dopasowany do loginu typu użytkownika (domyślna nazwa sAMAccountName; uid dla OpenLDAP, userPrincipalName dla loginów w stylu UPN). |
| `AIHUMMER_LDAP_USER_FILTER` | Filtr wyszukiwania użytkowników | `text` | — | po ponownym uruchomieniu | Musi zawierać %s jako login. AD: (sAMAccountName=%s); OpenLDAP: (uid=%s). |
## SSO (OIDC)
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_OIDC_AUDIENCE` | OIDC odbiorcy | `text` | — | po ponownym uruchomieniu | Oczekiwane roszczenie `aud` — ustaw tę opcję na odbiorców zasobu THIS, aby odrzucać tokeny wydane dla innej strony uzależnionej. Roszczenie `aud` jest teraz domyślnie REQUIRED dla każdego tokena (token bez aud jest odrzucany), gdy ta opcja jest ustawiona, aud musi również ją zawierać produkcja. |
| `AIHUMMER_OIDC_ISSUER` | OIDC wystawca URL | `text` | — | po ponownym uruchomieniu | Wystawca dostawcy tożsamości (np. https://login.example.com). Włącza uwierzytelnianie OIDC JWT, gdy jest ustawione. |
| `AIHUMMER_OIDC_JWKS_URL` | Adres URL JWKS dla OIDC | `text` | — | po ponownym uruchomieniu | JSON Punkt końcowy zestawu kluczy sieciowych używany do weryfikacji podpisów tokenów. |
| `AIHUMMER_OIDC_TENANT_CLAIM` | OIDC roszczenie dotyczące obszaru roboczego | `text` | — | po ponownym uruchomieniu | Pole JWT (claim) z identyfikatorem obszaru roboczego (np. tenant_id / org). |
## SSO (SAML)
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_SAML_DEFAULT_ROLE` | SAML: Rola domyślna (brak grupy dopasowanie) | `text` | — | po ponownym uruchomieniu | Rola przyznawana, gdy nie potwierdzono żadnych map wartości. Puste = brak roli. |
| `AIHUMMER_SAML_ENABLED` | Włącz SAML 2.0 SSO | `bool` | `0` | po ponownym uruchomieniu | Udostępnia /saml/metadata, /saml/acs, /saml/login. Klucz prywatny SP znajduje się w tajemnicach (zakres saml, nazwa sp_key). |
| `AIHUMMER_SAML_ENTITY_ID` | ID jednostki SP | `text` | — | po ponownym uruchomieniu | Identyfikator jednostki SP (domyślnie to ⟨root⟩/saml/metadata, jeśli jest pusty). |
| `AIHUMMER_SAML_IDP_METADATA` | Metadane dostawcy tożsamości XML | `text` | — | po ponownym uruchomieniu | Wklej dokument metadanych SAML dostawcy tożsamości (Okta/Azure AD/ADFS). |
| `AIHUMMER_SAML_ROLE_ATTRIBUTE` | Atrybut roli/grupy (grupy domyślne) | `text` | — | po ponownym uruchomieniu | Atrybut asercji przenoszący wartości grupy/roli. |
| `AIHUMMER_SAML_ROLE_MAPPINGS` | SAML: Grupa → mapowania ról (JSON) | `text` | — | po ponownym uruchomieniu | JSON obiekt o zadeklarowanej wartości → rola, np. {"AdminGroup":"admin","Ops":"operator"}. |
| `AIHUMMER_SAML_ROOT_URL` | Główny adres URL SP | `text` | — | po ponownym uruchomieniu | Baza osiągalna zewnętrznie URL tej bramy, np.: https://app.example.com. ACS = ⟨root⟩/saml/acs. |
| `AIHUMMER_SAML_SP_CERT` | Certyfikat SP (PEM) | `text` | — | po ponownym uruchomieniu | Publiczny certyfikat podpisywania SP (PEM). Pasujący klucz prywatny znajduje się w Sekretach (zakres saml, nazwa sp_key). |
## Schedules
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_SCHEDULE_AGENT_MAX_ACTIVE` | Agent: limit aktywnych harmonogramów | `int` | `20` | natychmiast | Ile aktywnych harmonogramów może mieć jeden agent, gdy sam tworzy lub włącza harmonogram (swoimi narzędziami harmonogramów). Harmonogramy utworzone w panelu wliczają się do limitu, ale panelowi nigdy się nie odmawia. Po osiągnięciu limitu agent dostaje prośbę, by najpierw wstrzymać lub usunąć jeden. Działa od razu. |
| `AIHUMMER_SCHEDULE_AGENT_MAX_FIRES_PER_DAY` | Agent: uruchomienia harmonogramów na dobę | `int` | `288` | natychmiast | Ile razy na dobę (UTC) mogą łącznie uruchomić się wszystkie harmonogramy jednego agenta, łącznie z harmonogramami utworzonymi w panelu i uruchomieniami ręcznymi. Uruchomienia ponad limit są pomijane i widoczne w dzienniku uruchomień. Działa od razu. |
| `AIHUMMER_SCHEDULE_AGENT_MIN_INTERVAL_MINUTES` | Agent: minimalny odstęp harmonogramu, minuty | `int` | `5` | natychmiast | Najkrótszy odstęp między dwoma uruchomieniami cyklicznego harmonogramu, który agent sam tworzy lub zmienia. Częstszy harmonogram jest odrzucany. Harmonogramy utworzone w panelu nie są tym ograniczone. Działa od razu. |
| `AIHUMMER_SCHEDULE_COMMANDS` | Polecenia na serwerze w harmonogramach | `bool` | `0` | natychmiast | Pozwala harmonogramowi uruchomić program na tym serwerze — zbieracz, raport, sprawdzenie kopii zapasowej. Domyślnie wyłączone. Uruchamiane są tylko polecenia z «Dozwolonych poleceń», dokładnie tak, jak je zapisano; nie ma powłoki. Wyjście trafia do agenta lub prosto na czat, a każde uruchomienie jest w dzienniku harmonogramu. Działa od razu. |
| `AIHUMMER_SCHEDULE_COMMANDS_ALLOWLIST` | Dozwolone polecenia | `argvlist` | — | natychmiast | Dokładne polecenia, które harmonogram może uruchomić: program (nazwa, np. df, lub pełna ścieżka) i jego argumenty. Harmonogram uruchamia tylko polecenie zgodne z wpisem co do joty, łącznie z argumentami. Usunięcie polecenia zatrzymuje harmonogramy, które go używają, a ich uruchomienia podają powód. Działa od razu. |
| `AIHUMMER_SCHEDULE_COMMANDS_MAX_OUTPUT_KB` | Limit wyjścia poleceń harmonogramu, KB | `int 1…1024` | `64` | natychmiast | Ile wyjścia polecenia (1–1024 KB) zostaje w dzienniku i trafia do agenta lub na czat; reszta jest ucinana, a dziennik o tym mówi. Działa od razu. |
| `AIHUMMER_SCHEDULE_COMMANDS_SANDBOX` | Uruchamiaj polecenia harmonogramów w piaskownicy systemu | `bool` | `1` | natychmiast | Włączone: polecenie działa w piaskownicy systemu, jak wykonywanie kodu — sekrety instalacji i klucze SSH są ukryte, a zapis możliwy jest tylko do własnego folderu tymczasowego. Bez piaskownicy (bubblewrap) na serwerze polecenie się nie uruchamia, a dziennik podaje powód. Wyłączone: działa z uprawnieniami bramy. Działa od razu. |
| `AIHUMMER_SCHEDULE_FAILURE_ADMIN` | Zgłaszaj administratorowi nieudane zadania | `bool` | `1` | natychmiast | Gdy zaplanowane zadanie się nie powiedzie lub nie może się rozpocząć, w dzwonku powiadomień panelu pojawia się powiadomienie z jego nazwą, przyczyną i miejscem, gdzie to naprawić, a to samo trafia do własnych czatów kanałów właścicieli (nie częściej niż raz na 6 godzin na zadanie). To dodatek do wiadomości dla odbiorcy zadania. Wyłączone: administrator dowiaduje się o błędach tylko z dziennika uruchomień. Działa od razu. |
| `AIHUMMER_SCHEDULE_FAILURE_NOTIFY` | Informuj odbiorcę o nieudanym zadaniu | `bool` | `1` | natychmiast | Gdy zaplanowane zadanie się nie powiedzie, ten sam odbiorca dostaje krótką wiadomość (po pierwszym błędzie, nie częściej niż raz na 6 godzin). Wyłączone — błędy widać tylko w dzienniku uruchomień. Zadanie może to wyłączyć dla siebie w swoim formularzu. Działa od razu. |
## Security
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AIRGAPPED` | Tryb izolowany (bez internetu) | `bool` | `0` | natychmiast | Zabrania agentom wychodzenia do internetu: wyszukiwanie w sieci, otwieranie stron i zapytania trafiają tylko do adresów wewnętrznych i z list dozwolonych. Włącz w zamkniętych sieciach bez wyjścia na zewnątrz. |
| `AIHUMMER_AUDIT_RETENTION_DAYS` | Ile dni przechowywać dziennik działań | `int` | `0` | po ponownym uruchomieniu | Wpisy dziennika audytu i historii zmian ustawień starsze niż ten termin są usuwane raz na dobę. 0 lub puste — przechowuj zawsze. |
| `AIHUMMER_CORS_ORIGINS` | Dozwolone źródła CORS | `list` | — | po ponownym uruchomieniu | Rozdzielana przecinkami lista dozwolonych źródeł. Puste = CORS niedozwolone (tylko to samo pochodzenie). Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_CSP` | Nagłówek Content-Security-Policy (nadpisanie) | `text` | — | po ponownym uruchomieniu | Zastępuje nagłówek CSP. Puste = bezpieczne ustawienie domyślne. Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_INBOUND_SECRET` | Klucz wtyczek kanałów do serwera | `text` | — | po ponownym uruchomieniu | Podłączone kanały (Telegram, VK i inne) potwierdzają nim, że wiadomości naprawdę pochodzą od nich. Ustawiany automatycznie podczas instalacji — nie trzeba go zmieniać. Jeśli jest pusty, serwer odrzuca wszystkie kanały, dopóki klucz nie zostanie ustawiony. |
| `AIHUMMER_OPENAI_COMPAT_KEY` | Przychodzące zgodne z OpenAI: statyczny klucz API | `text` | — | po ponownym uruchomieniu | Wspólny klucz dla programów łączących się z serwerem jak z usługą zgodną z OpenAI. Puste — wspólny klucz jest wyłączony; można łączyć się kluczami osobistymi ze strony „Klucze API”. |
| `AIHUMMER_OPENAI_COMPAT_WORKSPACE` | Przychodzące zgodne z OpenAI: identyfikator obszaru roboczego | `text` | — | po ponownym uruchomieniu | Identyfikator obszaru roboczego, na który odwzorowuje się statyczne uwierzytelnianie zgodne z OpenAI. Puste = AIHUMMER_DEFAULT_WORKSPACE_ID. Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_REQUIRE_2FA` | Wymagaj 2FA dla operatorzy | `bool` | `0` | natychmiast | Wymagaj drugiego czynnika (TOTP/hasło) dla operatorów. Gdy ta opcja jest włączona, operatorzy bez 2FA są proszeni o jej skonfigurowanie natychmiast po zalogowaniu (bez blokowania, dzięki czemu właściciel nigdy nie jest zablokowany). Zastosowano natychmiast. |
| `AIHUMMER_REQUIRE_SECURE` | Akceptuj tylko bezpieczne (HTTPS/WSS) połączenia | `bool` | `0` | po ponownym uruchomieniu | Gdy ta opcja jest włączona, zwykłe żądania HTTP są przekierowywane do HTTPS (dla GET/HEAD) lub odrzucane (403); Dostęp do hosta lokalnego jest zawsze dozwolony, więc operator nigdy nie jest odgrodzony. Honoruje X-Forwarded-Proto z odwrotnego proxy kończącego TLS. Stosowane przy uruchomieniu/po ponownym uruchomieniu. |
| `AIHUMMER_TRUSTED_PROXIES` | Zaufane serwery proxy | `list` | — | natychmiast | Jeśli przed serwerem stoi proxy (nginx, Caddy, load balancer), wpisz po przecinku jego adres lub sieć, np. 10.0.0.0/8. Wtedy dziennik działań, lista dozwolonych IP i ochrona przed zgadywaniem haseł zobaczą prawdziwy adres odwiedzającego. Puste — liczy się tylko adres bezpośredniego połączenia i nie da się go podrobić. |
## Tools
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_BROWSER_ALLOWED_HOSTNAMES` | Przeglądarka: wyjątki prywatnych hostów | `list` | — | natychmiast | Dokładne nazwy oddzielone przecinkami, bez wzorców, adresów URL i portów. Dodatkowe prywatne wyjątki dla natywnego CDP na własnym serwerze, niezależne od web_fetch. |
| `AIHUMMER_BROWSER_ALLOW_PRIVATE_NETWORK` | Przeglądarka: dostęp do sieci prywatnej | `bool` | — | natychmiast | Puste zachowuje poprzednią regułę; true lub false włącza sprawdzany natywny CDP. Dostęp prywatny tylko na własnym serwerze. Loopback, link-local i metadane pozostają zablokowane. |
| `AIHUMMER_BROWSER_PROFILE_SOCKET` | Gniazdo sterowania profilami przeglądarki | `text` | — | natychmiast | Opcjonalne. Zostaw puste — brama sama znajdzie managed-profiles.sock usługi przeglądarki w standardowym miejscu instalacji. Profile z logowaniem na stronach tworzy się w Połączenia → Profile przeglądarki. To nie URL ani ścieżka do profilu źródłowego. |
| `AIHUMMER_CODE_EXEC` | Wykonywanie kodu przez agenta | `enum: off \\\| host \\\| sandbox` | `off` | natychmiast | Narzędzie agenta do wykonywania kodu (code_exec). Domyślnie «Wyłączone». «Na tym serwerze»: polecenia działają na serwerze bramy; piaskownica systemu operacyjnego (bubblewrap) ukrywa sekrety instalacji, ale agent w trybie «Bez ograniczeń» widzi klucze SSH i może zapisywać poza swoim folderem — tylko dla zaufanego serwera. «Tylko w piaskownicy»: zawsze w piaskownicy systemu operacyjnego — sekrety i klucze są ukryte, zapis tylko do folderu agenta; bez bubblewrap (lub obrazu kontenera) tego trybu nie da się zapisać. Co może uruchamiać każdy agent, ustawia się przy agencie: Agenci → profil → Narzędzia. |
| `AIHUMMER_CODE_EXEC_INTERPRETERS` | Interpretery Code-exec (JSON) | `text` | — | natychmiast | JSON obiekt {language: path_to_binary}, np. {"python":"/usr/bin/python3"}. Puste = automatyczne wykrywanie. |
| `AIHUMMER_CODE_EXEC_NET_PORTS` | Porty sieciowe otwarte dla kodu agenta | `list` | `53,80,443` | natychmiast | Porty TCP, z którymi kod agenta w piaskownicy systemu (wykonywanie kodu i polecenia harmonogramów) może się łączyć, oddzielone przecinkami. Domyślnie 53, 80 i 443: DNS i strony WWW. Pozostałe usługi tego serwera i jego sieci lokalnej (baza danych, panel administracyjny, przeglądarka, adb, lokalne modele, Home Assistant) pozostają zamknięte dla kodu agenta. Port z listy jest otwarty pod każdym adresem, także tego serwera, więc dodawaj tylko to, czego kod potrzebuje, na przykład 22 dla SSH. Wpisz any, aby znieść ograniczenie. Agenci w trybie «Bez ograniczeń» nie są ograniczani. Wymaga Linuksa 6.7 lub nowszego; bez niego ograniczenie nie działa, a Agenci → Narzędzia o tym informuje. Działa od razu. |
| `AIHUMMER_CODE_EXEC_READ_DIRS` | Foldery otwarte do odczytu dla kodu agenta | `list` | — | natychmiast | Foldery na tym serwerze, które może czytać kod agenta: wykonywanie kodu i polecenia harmonogramów w piaskownicy systemu. Oddzielone przecinkami lub po jednym w wierszu, na przykład ~/reports. Można też wskazać pojedynczy plik, na przykład ~/scripts/report.py. To, co zostanie tu otwarte, widzi kod wszystkich agentów, więc otwieraj tylko to, czego ten kod potrzebuje. Domyślnie puste: w piaskownicy kod widzi tylko folder swojego agenta i foldery systemowe; folder domowy użytkownika bramy, dane instalacji, foldery innych agentów, klucze i historia poleceń pozostają ukryte. Nie można otworzyć katalogu głównego, całego folderu domowego, danych instalacji ani miejsc z kluczami. Kod nie może zapisywać w tych folderach. Działa od razu. |
| `AIHUMMER_CODE_EXEC_SANDBOX_IMAGE` | Obraz piaskownicy Code-exec | `text` | — | natychmiast | Opcjonalne, tylko dla «Tylko w piaskownicy»: obraz kontenera Docker zamiast piaskownicy systemu operacyjnego (bez sieci, katalog główny tylko do odczytu, limity); wymaga Dockera na serwerze. Puste = piaskownica systemu operacyjnego (bubblewrap). |
| `AIHUMMER_CODE_EXEC_TIMEOUT_SECONDS` | Limit czasu wykonywania kodu (sekundy) | `int` | `1800` | natychmiast | Jak długo może działać jedno polecenie agenta, łącznie z działającymi w tle: od 10 sekund do 24 godzin. Polecenie, które nie odpowie w 30 sekund, nie jest przerywane, lecz przechodzi w tło, gdzie agent sprawdza je narzędziem process. Agent może poprosić o krótszy limit, nigdy o dłuższy. |
| `AIHUMMER_DB_QUERY_DSN` | Połączenie z bazą dla narzędzia „Zapytanie do bazy” | `text` | — | natychmiast | Ciąg połączenia z bazą, którą agent może czytać (tylko odczyt), np. postgres://reader:haslo@host/db. Podaj użytkownika z minimalnymi uprawnieniami — nie właściciela bazy. Puste — narzędzie jest wyłączone. |
| `AIHUMMER_FS_ROOT` | Główny katalog narzędzia systemu plików | `text` | — | natychmiast | Folder, w obrębie którego agent czyta pliki serwera (filesystem_read; agenci nie mogą zapisywać plików). Puste = cały serwer z uprawnieniami użytkownika bramy, z wyjątkiem sekretów: ustawień instalacji (gateway.env), kluczy SSH/GPG i środowisk procesów. Podaj folder, aby zawęzić dostęp. |
| `AIHUMMER_HTTP_ALLOWLIST` | Adresy dla zapytań HTTP agenta | `list` | — | natychmiast | Lista hostów rozdzielonych przecinkami, do których narzędzie http_request może się łączyć. Puste = dozwolone są wszystkie, poza adresami wewnętrznymi i prywatnymi. |
| `AIHUMMER_HTTP_AUTH_JSON` | uwierzytelnianie http_request (JSON) | `text` | — | natychmiast | Mapa JSON wiążąca host z nagłówkami autoryzacji dla narzędzia http_request, aby tokeny nie były przechowywane w zapytaniu. Puste = bez autoryzacji. |
| `AIHUMMER_MCP_SERVERS` | MCP serwery (JSON) | `text` | — | natychmiast | Opis w formacie JSON zewnętrznych serwerów MCP, których narzędzia są podłączane do agenta. Puste = brak zewnętrznych MCP. |
| `AIHUMMER_PROJECT_STUDIOS_PUBLIC_NETWORK` | Studia projektowe: sieć publiczna | `bool` | `false` | natychmiast | Zezwól na publiczny HTTP(S) dla wybranych dostawców i jawnie zleconych pobrań modeli. Adresy prywatne, lokalne i metadanych pozostają zablokowane. Tryb offline ma pierwszeństwo. Zmiana działa od razu. |
| `AIHUMMER_SIDECAR_CLOAKBROWSER` | Przeglądarka dla agenta (CloakBrowser) | `bool` | `0` | natychmiast | Przeglądarka zapobiegająca wykrywaniu (narzędzia CloakBrowser, browser/computer). Co NIE jest zawarte w pakiecie dostawy: dodatek pobiera podpisany dodatek (~477 MiB, z czego Chromium ~207 MiB) i instaluje usługę na hoście. Najcięższy z wózków bocznych - włącz tylko wtedy, gdy agent musi otwierać strony internetowe. |
| `AIHUMMER_SIDECAR_SEARXNG` | Wyszukiwanie w sieci (SearXNG) | `bool` | `0` | natychmiast | Wyszukiwarka internetowa (narzędzie SearXNG, web_search). NIE jest zawarte w pakiecie: włączenie powoduje pobranie podpisanego dodatku (~154 MiB) i zainstalowanie usługi na hoście, wyłączenie zatrzymuje ją i zwalnia miejsce. Instalacja odbywa się w tle i zajmuje kilka minut; stan tutaj pokazuje, co faktycznie znajduje się na serwerze. |
| `AIHUMMER_WEBFETCH_ALLOWLIST` | Strony, które agent może otwierać | `list` | — | natychmiast | Lista domen rozdzielonych przecinkami, do których narzędzie web_fetch może się łączyć. Puste = dozwolone są wszystkie, poza adresami wewnętrznymi i prywatnymi. |
| `AIHUMMER_WEB_SEARCH_LANGUAGE` | Wyszukiwanie w sieci: domyślny język wyników | `text` | `auto` | natychmiast | Język wyników, gdy agent go nie poda: kod, np. ru, en lub de, albo auto, aby wykryć go z zapytania (pasuje prawie zawsze). Agent może wybrać inny język w konkretnym wyszukiwaniu. |
| `AIHUMMER_WEB_SEARCH_RESULTS` | Wyszukiwanie w sieci: wyników na wyszukiwanie | `int` | `5` | natychmiast | Ile wyników zwraca wyszukiwanie, gdy agent nie poprosi o inną liczbę: od 1 do 10. Więcej wyników to pełniejsza odpowiedź, ale dłuższy kontekst. |
| `AIHUMMER_WEB_SEARCH_SOURCE` | Źródło wyszukiwania w sieci | `enum: auto \\\| searxng \\\| provider` | `auto` | natychmiast | Gdzie agent szuka w internecie (narzędzie web_search). auto — SearXNG, jeśli jest zainstalowany, w przeciwnym razie wbudowane wyszukiwanie dostawcy modelu. searxng — tylko SearXNG: bez niego nie ma wyszukiwania. provider — wbudowane wyszukiwanie dostawcy tam, gdzie jest, a SearXNG dla pozostałych modeli. Wbudowane wyszukiwanie mają Codex (subskrypcja ChatGPT) i OpenAI (api.openai.com); GigaChat, YandexGPT i inne modele zgodne z OpenAI go nie mają — bez SearXNG agenci na tych modelach nie szukają. Claude (api.anthropic.com i subskrypcja Claude) korzysta z wbudowanego wyszukiwania Anthropic; jeśli konto je odrzuca, brama zapisuje to w dzienniku i dalej proponuje agentowi tylko SearXNG. Którzy agenci mogą szukać, ustawia się jak dotąd w karcie agenta. Działa od następnej tury. |
| `AIHUMMER_WEB_SEARCH_TIMEOUT_SECONDS` | Limit czasu wyszukiwania (sekundy) | `int` | `30` | natychmiast | 1–600 sekund na wyszukiwanie. Krótszy termin zadania nadal obowiązuje. |
## Updates
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_RESTART_APPLY` | Stosuj ustawienia wymagające ponownego uruchomienia | `enum: quiet \\\| manual` | `quiet` | natychmiast | quiet (domyślnie) — zapisane ustawienia, które działają dopiero po nowym starcie bramy, stosują się same: brama uruchamia się ponownie w najbliższej spokojnej chwili, gdy agenci nic nie robią, a ludzie milczą co najmniej przez okno ciszy. manual — tylko oznaczenie „czeka na ponowne uruchomienie” i przycisk. Ponowne uruchomienie trwa kilka sekund; rozmowy i zadania nie giną. Działa od razu. |
| `AIHUMMER_RESTART_QUIET_MINUTES` | Spokojna chwila: minuty ciszy przed automatycznym ponownym uruchomieniem | `int 0…1440` | `10` | natychmiast | Ile minut ludzie muszą milczeć (a agenci być bezczynni), zanim brama sama uruchomi się ponownie, by zastosować zapisane ustawienia. 0 — gdy tylko agenci skończą bieżącą pracę. 0–1440. Działa od razu. |
## Web UI (separate port)
| Klucz | Nazwa | Typ | Domyślnie | Zaczyna działać | Działanie |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_WEBUI_API_BASE` | Adres serwera dla osobno hostowanego panelu | `text` | — | po ponownym uruchomieniu | Potrzebny tylko wtedy, gdy panel otwiera się z innego adresu niż sam serwer. Podaj adres, pod którym przeglądarka dotrze do serwera, np. https://api.example.com. Puste — używany jest publiczny adres serwera, a jeśli go nie ma — lokalny. |
| `AIHUMMER_WEBUI_ENABLED` | Panel na osobnym porcie | `bool` | `1` | po ponownym uruchomieniu | Włączone — panel otwiera się na osobnym wewnętrznym porcie, który można odciąć od internetu, a port publiczny obsługuje tylko aplikacje i kanały. Wyłącz, aby panel był całkowicie niedostępny. |
| `AIHUMMER_WEBUI_ORIGIN` | Adres, pod którym otwiera się panel | `text` | — | po ponownym uruchomieniu | Wypełnij, jeśli panel jest otwierany przez proxy lub pod nazwą inną niż adres jego portu, np. https://admin.example.com. Serwer pozwoli przeglądarce z tego adresu się z nim łączyć. Puste — używany jest adres portu panelu. |
Ustawienia dostępne dla operatora: 237.