Aici sunt enumerate toate setările pe care operatorul le poate schimba pe un server AiHummer. Pagina este generată din catalogul produsului, deci corespunde exact serverului dumneavoastră.
Valoarea se stabilește în interfața web sau cu comanda aihummer settings set KEY VALUE (Linia de comandă). Coloana valorii implicite arată ce folosește serverul până când stabiliți valoarea proprie.
[!NOTE]
Valorile secrete nu sunt tipărite aici, iar cheile de serviciu ale furnizorului nu sunt enumerate deloc — produsul le ascunde din toate listele. Linia de pauză înseamnă valoare goală sau o explicație afișată doar în interfața web.
API
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_PERSONAL_API_KEYS
Chei API personale pentru API compatibil OpenAI
bool
1
după repornire
«off» dezactivează autentificarea cu chei personale pe endpointul compatibil OpenAI. Orice altă valoare = activat. Se aplică la pornire/după repornire.
Agent
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_AGENT_ANNOUNCE_SLOW_TOOLS
Agent: să anunțe înaintea acțiunilor lungi
bool
1
imediat
Înaintea unei acțiuni lungi (o imagine, o căutare aprofundată, un video, o sarcină pentru un subagent), agentul scrie pe scurt ce face, ca așteptarea să nu fie tăcută. Dezactivați dacă asemenea mesaje deranjează.
AIHUMMER_AGENT_COMPACT_AT_PCT
Agent: compactează istoricul de la, % din bugetul său
int 50…99
85
imediat
Când istoricul unei conversații umple această parte din locul său în fereastra modelului, mesajele mai vechi sunt rezumate — în fundal, după răspuns; tura nu așteaptă. Mai jos — compactare mai des, dar modelul reține mai puțin cuvânt cu cuvânt; mai sus — mai rar, dar turele sunt mai grele. 50–99; un agent își poate seta propria valoare.
AIHUMMER_AGENT_COMPACT_TO_PCT
Agent: păstrează după compactare, % din bugetul istoricului
int 10…90
50
imediat
Cât din locul istoricului rămâne cuvânt cu cuvânt după compactare; tot ce e mai vechi intră în rezumat. Trebuie să fie sub pragul de compactare: distanța dintre ele arată câte ture trec până la următoarea compactare. 10–90; un agent își poate seta propria valoare.
AIHUMMER_AGENT_HISTORY_TURNS
Agent: ture de dialog păstrate cuvânt cu cuvânt
int 1…1000
30
imediat
Câte ture recente ale unei conversații vede modelul cuvânt cu cuvânt (până la încă 10 până la comprimare). Mesajele mai vechi sunt rezumate în fundal; conversația în sine nu se șterge niciodată. Fereastra de context a modelului este respectată automat. 1–1000; un agent își poate seta propria valoare.
AIHUMMER_AGENT_MAX_ITERATIONS
Agent: număr maxim de pași cu instrumente pe tură
int 1…256
25
imediat
De câte ori pe tură poate un agent apela instrumente înainte de a răspunde. La limită tura nu eșuează: agentul raportează ce a făcut și ce a rămas, iar dumneavoastră îi puteți cere să continue. Trei apeluri identice la rând cu același rezultat opresc tura mai devreme. 1–256; un agent își poate seta propria valoare.
AIHUMMER_AGENT_MEMORY_FLUSH
Agent: salvează o notă în memorie înainte de comprimare
bool
1
imediat
Înainte ca mesajele vechi să fie condensate într-un rezumat, agentul salvează în memorie o notă scurtă despre obiective, decizii și sarcini deschise. Dezactivați pentru a economisi apelul la model.
AIHUMMER_AGENT_MEMORY_FLUSH_PROMPT
Agent: ce păstrează nota dinaintea condensării
text
—
imediat
Propria sarcină pentru nota dinaintea condensării: ce să păstreze din mesajele care intră în rezumat (de exemplu, „notează doar cumpărăturile, termenele și înțelegerile”). Gol — cea integrată: obiective, decizii, sarcini deschise. Protecția nu se poate dezactiva: textul conversației rămâne date, nu instrucțiuni, iar parolele și cheile nu sunt salvate. Până la 4000 de caractere; un agent poate avea propria sarcină.
AIHUMMER_AGENT_NEW_REMINDERS_MEMORY
Agenți noi: mementouri și scriere în memorie
bool
1
imediat
Un agent nou creat manual (asistentul de primă pornire, „Creează agent”, API) setează, modifică și anulează din prima tură PROPRIILE mementouri și programări și scrie fapte în propria memorie – ca șablonul de asistent personal. Pentru un singur agent se dezactivează din fișa lui (Capabilități). Șabloanele din bibliotecă decid singure, o copie păstrează drepturile originalului, agenții creați de alt agent pornesc fără ele; agenții existenți nu se schimbă. Se aplică următorului agent creat.
AIHUMMER_AGENT_PROMPT_PART_MAX_CHARS
Agent: număr maxim de caractere pe parte de prompt
int 1000…1000000
20000
imediat
Câte caractere primește modelul dintr-O parte a personalității agentului: o secțiune de profil, o parte de prompt sau promptul principal. O parte mai lungă își păstrează începutul (3/4) și sfârșitul (1/4), cu o notă despre cât s-a tăiat; acest lucru se vede în fișa conversației și în compoziția promptului agentului. Numele, formula de adresare și restricțiile personalității nu se taie niciodată. 1000–1000000; un agent poate avea propria valoare.
AIHUMMER_AGENT_PROMPT_TOTAL_MAX_CHARS
Agent: număr maxim de caractere pentru întreaga personalitate
int 1000…2000000
60000
imediat
Plafonul total al personalității agentului: toate părțile împreună. Când este depășit, părțile cele mai lungi cedează primele spațiu, iar cele scurte rămân întregi. 1000–2000000; un agent poate avea propria valoare.
AIHUMMER_AGENT_SELF_INTRO
Agent: să se prezinte
enum: first_contact \\| each_dialog \\| never
first_contact
imediat
„O dată, la prima întâlnire”: agentul se prezintă scurt în prima conversație cu o persoană, dacă aceasta nu vrea să treacă direct la subiect; cu cineva cunoscut nu se mai prezintă și răspunde natural la salut. „Nu se prezintă”: agentul nu își spune niciodată numele din proprie inițiativă. „La începutul fiecărei conversații noi“ — la începutul fiecărei conversații noi și după o pauză lungă, pe scurt și fără rezumatul chestiunilor trecute. Un agent poate alege altfel în fișa sa («Context și comportament»).
AIHUMMER_AGENT_SESSION_IDLE_RESET_MINUTES
Agent: reia conversația de la zero după o tăcere (minute)
int 0…525600
360
imediat
Pentru „după o tăcere” și „în fiecare zi și după o tăcere”: dacă o persoană scrie după o tăcere mai lungă decât aceasta, agentul reia conversația de la zero. Se aplică agenților fără valoare proprie pe fișa lor. 0 — nu după tăcere. 0–525600; 360 = 6 ore, 1440 = o zi.
AIHUMMER_AGENT_SESSION_INDEX_MAX_ENTRIES
Agent: păstrează în listă cel mult atâtea sesiuni
int 0…100000
0
imediat
Cele mai liniștite ies primele; nu se șterge nimic. 0 — fără limită. 0–100000. Se aplică agenților fără valoare proprie pe fișa lor.
AIHUMMER_AGENT_SESSION_INDEX_PRUNE_DAYS
Agent: scoate din lista de sesiuni după atâtea zile de liniște
int 0…3650
0
imediat
Nu se șterge nimic: conversația iese din listă și revine cu un mesaj nou. 0 — păstrează. 0–3650. Se aplică agenților fără valoare proprie pe fișa lor.
AIHUMMER_AGENT_SESSION_RESET_AT_HOUR
Agent: ora reînceperii zilnice
int 0…23
4
imediat
Pentru modurile „în fiecare zi”: o conversație începută înainte de această oră o ia de la capăt la următorul mesaj al persoanei. Ora urmează fusul orar al serverului (setarea „Fus orar” din Sistem și setări). 0–23; 4 înseamnă noaptea, când aproape nimeni nu scrie.
AIHUMMER_AGENT_SESSION_RESET_GROUP_IDLE_MINUTES
Agent: reia un chat de grup de la zero după o tăcere (minute)
int 0…525600
0
imediat
Pentru chaturile de grup în modurile „după o tăcere” și „în fiecare zi și după o tăcere”: minutele de tăcere după care un chat de grup reîncepe de la zero. 0 înseamnă ca la chaturile personale. 0–525600.
AIHUMMER_AGENT_SESSION_RESET_GROUP_MODE
Agent: când un chat de grup reîncepe de la zero
enum: inherit \\| daily \\| idle \\| both \\| none
inherit
imediat
O regulă separată pentru chaturile de grup (grupuri Telegram, conversații VK, chaturi MAX și altele): ca la chaturile personale, în fiecare zi la ora de resetare, după o tăcere, ce survine mai întâi, sau niciodată. Ora de resetare este comună. Se aplică agenților fără regulă proprie pe fișa lor.
AIHUMMER_AGENT_SESSION_RESET_MODE
Agent: când o conversație reîncepe de la zero
enum: idle \\| daily \\| both \\| none
idle
imediat
Când agentul reia o conversație de la zero: în fiecare zi la ora de resetare (în fusul orar al instanței), după o tăcere, ce survine mai întâi, sau niciodată. Reluând de la zero, agentul scrie în memoria sa o notă despre conversația anterioară, iar prima sa tură primește rezumatul anterior și ultimele mesaje; mesajele rămân în arhivă și în căutare. Se aplică agenților fără regulă proprie pe fișa lor; acolo se poate stabili o regulă separată pentru conversațiile de grup.
AIHUMMER_AGENT_SESSION_SCOPE
Agent: unde ajung conversațiile personale
enum: chat \\| per-channel-peer \\| per-peer
chat
imediat
«Una per persoană» unește Telegram, aplicația și celelalte chaturi personale ale aceleiași persoane într-o singură conversație. Chaturile de grup își păstrează mereu propria conversație. Se aplică de la următorul mesaj. Se aplică agenților fără valoare proprie pe fișa lor.
AIHUMMER_AGENT_SILENT_REPLY
Agent: poate tăcea
enum: groups \\| all \\| off
groups
imediat
În chaturile de grup agentul poate tăcea dacă mesajul nu îi este adresat sau nu are nimic de adăugat; în conversațiile private răspunde mereu. Puteți permite tăcerea și în conversațiile private sau o puteți dezactiva. O tură tăcută nu trimite nimic, fișa conversației o marchează „agentul a tăcut”, iar modelul nu o vede în istoric. Se aplică de la următoarea tură.
AIHUMMER_AGENT_SKILLS_PROMPT_MAX_CHARS
Agent: număr maxim de caractere al listei de abilități din prompt
int 1000…200000
18000
imediat
La fiecare pas modelul nu vede textele abilităților, ci lista lor: identificator, nume și când se aplică; instrucțiunea unei abilități o încarcă agentul singur, când sarcina se potrivește. Dacă lista e mai lungă, se elimină întâi descrierile, apoi finalul listei — pe celelalte agentul le găsește la cerere. 1000–200000.
AIHUMMER_AGENT_STALE_GAP_HOURS
Agent: pauza după care discuția trecută devine istoric (ore)
int 0…8760
12
imediat
Dacă cineva scrie după o pauză mai lungă decât aceasta, agentul primește o notă: tot ce s-a discutat înainte este istoric — nu se repovestește și sarcinile vechi nu se reiau fără cerere. Fiecare mesaj poartă deja ora sa și cât timp a trecut de la cel anterior. 0 = fără notă. 0–8760.
AIHUMMER_AGENT_TOOL_HISTORY_TURNS
Agent: ture care păstrează rezultatele instrumentelor
int 0…100
5
imediat
Pentru câte ture recente vede modelul integral apelurile de instrumente și rezultatele lor (un rezultat se păstrează până la 16 KB). Turele mai vechi păstrează apelul și începutul rezultatului. Astfel agentul își amintește ce a găsit și ce a făcut, în loc să cheme din nou instrumentele. 0 = nu se transferă rezultatele în turele următoare. 0–100; un agent își poate seta propria valoare.
AIHUMMER_APPROVAL_TOOLS
Instrumente care necesită aprobare
multiselect
—
imediat
Lista de instrumente separate prin virgulă ale căror apeluri necesită confirmarea manuală a operatorului înainte de execuție. Gol = nu este necesară nicio confirmare. Se aplică imediat, fără repornire.
AIHUMMER_SUBAGENT_MAX_DEPTH
Adâncime maximă a subagenților
int 0…10
2
imediat
Adâncimea maximă de imbricare a subagenților (un agent care lansează un agent). Implicit 2 — protecție împotriva recursivității infinite.
AIHUMMER_SUBAGENT_TIMEOUT_SEC
Timeout subagent (secunde)
int 0…86400
180
imediat
Timpul maxim pentru o singură rulare de subagent, în secunde.
AIHUMMER_TOOL_SEARCH
Încărcarea leneșă a instrumentelor
bool
false
imediat
Arată direct nucleul de lucru al instrumentelor și ascunde restul unui catalog mare în spatele unui instrument de căutare care numește fiecare instrument ascuns. Merită doar pentru cataloage mari (zeci de instrumente de pluginuri, MCP sau OpenAPI): sub pragul de mărime toate instrumentele sunt afișate direct, pentru că un apel suplimentar la model pentru a găsi un instrument costă mai mult decât schemele. Se aplică de la tura următoare.
Instrumente afișate mereu direct în modul leneș. Implicit, nucleul de lucru: căutare web, citirea paginilor, memorie, istoricul conversației, baza de cunoștințe, cod, fișiere, mesaje, programări și asocierea aplicației. Căutarea în memorie și în baza de cunoștințe (memory_search, memory_get, search_knowledge) este afișată mereu, indiferent de această listă. O listă goală restabilește acest nucleu.
AIHUMMER_TOOL_SEARCH_MIN_POOL_TOKENS
Încărcarea leneșă a instrumentelor: mărimea minimă a celor ascunse (tokeni)
int 0…1000000
4000
imediat
Ascunde instrumentele doar dacă schemele din afara nucleului însumează cel puțin atâția tokeni (cam 4 caractere fiecare). Sub prag, toate instrumentele sunt afișate direct: un apel suplimentar la model pentru a găsi un instrument costă mai mult decât afișarea schemelor.
AIHUMMER_TOOL_SEARCH_THRESHOLD
Încărcare leneșă: minim instrumente pentru amânare
int 0…1000
12
imediat
Amână încărcarea doar dacă, după filtrul de profil al agentului, rămân mai multe instrumente decât acest număr.
Agent · Reasoning
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_AGENT_BEST_OF_N
Cel mai bun din N: numărul de candidați
int 0…8
0
imediat
Agentul pregătește atâtea răspunsuri candidate și îl păstrează pe cel mai bun. 0 sau 1 — dezactivat, de la 2 — activat. Fiecare candidat costă cât un răspuns separat.
AIHUMMER_AGENT_DEBATE_JUDGE_PROMPT
Dezbatere: prompt judecător (suprascriere)
text
—
imediat
Suprascrie promptul judecătorului de dezbatere (gol = cel încorporat).
AIHUMMER_AGENT_DEBATE_N
Dezbatere: numărul de răspunsuri candidate
int 0…8
0
imediat
Agentul pregătește atâtea răspunsuri candidate, le compară și îl dă pe cel mai bun. 0 sau 1 — dezactivat, de la 2 — activat. Fiecare candidat costă cât un răspuns separat.
AIHUMMER_AGENT_DEBATE_PROMPT
Dezbatere: prompt candidat (suprascriere)
text
—
imediat
Suprascrie promptul candidatului la dezbatere (gol = cel încorporat).
AIHUMMER_AGENT_DEBATE_ROUNDS
Dezbatere: runde
int 1…10
1
imediat
Numărul de runde de dezbatere pentru panelul de candidați.
AIHUMMER_AGENT_JUDGE_PROMPT
Prompt judecător best-of-N (suprascriere)
text
—
imediat
Suprascrie promptul judecătorului best-of-N (gol = cel încorporat).
AIHUMMER_AGENT_PLAN_PROMPT
Prompt planificator (suprascriere)
text
—
imediat
Suprascrie promptul planificatorului (gol = cel încorporat).
AIHUMMER_AGENT_PLAN_STEPS
Planificator-executor: pași maximi de plan (0=dezactivat)
int 0…32
0
imediat
⟩0 rulează o trecere separată planificator→executor→sinteză (utilă pentru sarcini complexe, în mai mulți pași). 0 dezactivează. Uzual 4–8.
AIHUMMER_AGENT_PLAN_STEP_ITERS
Planificator: iterații de instrumente per pas (0=implicit)
int 0…64
0
imediat
Limitează iterațiile de apelare a instrumentelor pentru fiecare pas din plan. 0 = valoarea implicită încorporată (4).
AIHUMMER_AGENT_REFLECT
Etapă de autocritică
bool
0
imediat
Adaugă o trecere de reflecție/autocritică înainte de răspunsul final.
AIHUMMER_AGENT_REFLECT_PROMPT
Prompt de reflecție (suprascriere)
text
—
imediat
Suprascrie promptul de autocritică (gol = cel încorporat).
AIHUMMER_AGENT_SELF_HEAL
Autoremediere: reîncercări la erori de instrumente (0=dezactivat)
int 0…10
0
imediat
⟩0 reia apelurile de instrumente eșuate cu o indicație corectivă, până la această limită.
Limba/localizarea implicită sugerată pentru răspunsuri, de ex. ru-RU. Instrucțiunile personei/operatorului au prioritate.
AIHUMMER_TIMEZONE
Fus orar
text
UTC
imediat
Fusul orar IANA pentru data curentă a agentului și pentru programările fără fus propriu, de ex. Europe/Moscow. Implicit UTC.
Channels
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_CHANNEL_FAILURE_NOTICE
Anunță interlocutorul când un răspuns eșuează
enum: always \\| once \\| off
always
imediat
Ce primește interlocutorul pe un canal (Telegram și altele) când agentul n-a putut răspunde: „De fiecare dată” — un mesaj scurt în limba lui; „Cel mult o dată la 4 ore” — un mesaj per conversație în 4 ore; „Nu anunța” — nimic. Mesajul nu conține coduri de eroare sau nume de furnizori; detaliile le vedeți în Sesiuni și în notificări.
AIHUMMER_CHANNEL_FAILURE_TEXT_BLOCKED
Mesaj de eșec: instanța este suspendată
text
—
imediat
Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat.
AIHUMMER_CHANNEL_FAILURE_TEXT_BUDGET
Mesaj de eșec: bugetul proprietarului s-a epuizat
text
—
imediat
Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat.
AIHUMMER_CHANNEL_FAILURE_TEXT_BUSY
Mesaj de eșec: gateway-ul este suprasolicitat
text
—
imediat
Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat.
AIHUMMER_CHANNEL_FAILURE_TEXT_CONFIG
Mesaj de eșec: conexiunea modelului necesită proprietarul
text
—
imediat
Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat.
AIHUMMER_CHANNEL_FAILURE_TEXT_FAILED
Mesaj de eșec: alt eșec
text
—
imediat
Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat.
AIHUMMER_CHANNEL_FAILURE_TEXT_QUOTA
Mesaj de eșec: limita de utilizare a modelului s-a epuizat
text
—
imediat
Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat.
AIHUMMER_CHANNEL_FAILURE_TEXT_STEP_LIMIT
Mesaj de eșec: sarcina nu a încăput într-un singur răspuns
text
—
imediat
Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat.
AIHUMMER_CHANNEL_FAILURE_TEXT_TOO_LONG
Mesaj de eșec: conversația este prea lungă pentru model
text
—
imediat
Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat.
AIHUMMER_CHANNEL_FAILURE_TEXT_UNAVAILABLE
Mesaj de eșec: modelul este temporar indisponibil
text
—
imediat
Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat.
AIHUMMER_CONFIDENTIAL_PERSONA
Persoană web confidențială
bool
0
imediat
Când este activat, agentul de chat web nu dezvăluie și nu păstrează detaliile personei/identității sale și răspunde strict la sarcina curentă — folosiți-l pentru implementări web anonime sau sensibile la confidențialitate. Se aplică imediat, fără repornire.
AIHUMMER_INBOUND_COALESCE_MS
Fereastra de grupare a mesajelor (ms)
int
500
imediat
Mai multe mesaje pe care o persoană le trimite la rând în același chat (mesaje scurte, un album foto, o corectură rapidă) primesc UN singur răspuns dacă pauza dintre ele este mai scurtă decât această fereastră. Mesajele sosite în timp ce se pregătește un răspuns primesc răspuns imediat după el, niciodată în paralel. Implicit 500 ms; 0 = fără așteptare între mesaje separate; un album foto este totuși adunat (pauze de până la 3 s, cel mult 20 s) ca să primească un singur răspuns. Gruparea funcționează în Telegram; Slack, WhatsApp, VK, e-mailul și alți conectori care așteaptă răspuns la fiecare mesaj (și integrările prin /v1/inbound/generic) primesc câte un răspuns la fiecare mesaj — tot pe rând, în ordine. Se aplică imediat.
AIHUMMER_INBOUND_EDIT_MODE
Când cineva editează un mesaj la care s-a răspuns deja
enum: correct \\| history
correct
imediat
correct — botul răspunde din nou, știind că e o corectură („înainte / acum”); history — editarea corectează doar istoricul conversației, fără răspuns nou (util pentru greșeli de tastare). Editarea unui mesaj la care botul nu a răspuns încă îi înlocuiește mereu doar textul. Funcționează acolo unde canalul raportează editările (Telegram). Se aplică imediat.
AIHUMMER_INBOUND_QUEUE_MODE
Mesaje scrise în timp ce agentul lucrează
enum: steer \\| collect \\| followup
steer
imediat
Ce se întâmplă cu un mesaj pe care aceeași persoană îl trimite cât timp agentul încă pregătește un răspuns (caută, rulează instrumente): steer (implicit) — agentul îl vede înainte de pasul următor și îl ia în seamă în același răspuns; collect — i se răspunde cu următorul răspuns. followup — fiecare astfel de mesaj primește, pe rând, propriul răspuns. Fotografiile, fișierele, răspunsurile la un mesaj și redirecționările așteaptă întotdeauna următorul răspuns. Se aplică imediat.
AIHUMMER_INBOUND_REQUIRE_BINDING
Răspunde doar utilizatorilor înregistrați
bool
true
imediat
true = botul ignoră orice expeditor din canal care NU este un utilizator AiHummer înregistrat (un utilizator cu o asociere de rol) — membrii oarecare ai chatului și invocările de tip oaspete nu primesc răspuns. false (implicit) = răspunde tuturor.
Integrations
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_A2A_PUBLISH
Publică agentul prin Agent2Agent (A2A)
bool
0
după repornire
Publică agentul ca server A2A (Agent Card + POST /a2a/message). Se aplică la pornire/după repornire.
AIHUMMER_MCP_EXPORT_TOOLS
Instrumente deschise asistenților externi
multiselect
—
după repornire
O listă explicită de nume de instrumente permise pentru clienții externi MCP, separate prin virgule. Gol = nu publicați niciun instrument. Clasele periculoase la nivel de gazdă sunt în plus interzise de politica încorporată, chiar dacă sunt listate. Se aplică la pornire/după repornire.
AIHUMMER_MCP_PUBLISH
Publică instrumentele prin MCP
bool
0
după repornire
Permite asistenților externi (de ex. Claude Desktop) să folosească instrumentele agenților dvs. Ce instrumente se deschid se alege în setarea vecină: cât timp lista e goală, nu se deschide niciunul.
AIHUMMER_MODULE_CPU_QUOTA
Limita de procesor a pluginului (pentru fiecare)
text
75%
imediat
Ce parte din procesor poate folosi fiecare plugin (systemd CPUQuota): 75% înseamnă trei sferturi dintr-un nucleu, 150% — un nucleu și jumătate. Pluginul primește noua valoare la următoarea instalare, actualizare sau salvare a setărilor sale; până atunci pluginurile care rulează păstrează limita anterioară.
AIHUMMER_MODULE_MEMORY_MAX
Limita de memorie a pluginului (pentru fiecare)
text
512M
imediat
Câtă memorie poate folosi fiecare plugin (systemd MemoryMax): o dimensiune precum 512M, 1G sau 2048M (cel puțin 64M) sau infinity pentru fără limită. Sistemul oprește pluginul care o depășește. Pluginul primește noua valoare la următoarea instalare, actualizare sau salvare a setărilor sale; până atunci pluginurile care rulează păstrează limita anterioară.
Knowledge connectors
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_KB_SYNC_INTERVAL
Cât de des se actualizează baza de cunoștințe din surse
text
—
imediat
Cât de des preia serverul singur modificările din sursele conectate ale bazei de cunoștințe. De exemplu: 30m — la fiecare 30 de minute, 6h — la fiecare 6 ore. Gol sau 0 — doar manual. Reîncărcarea nu creează duplicate. Un export Slack se încarcă manual.
LLM
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_AUX_FALLBACK_MODELS
Sarcini de serviciu: modele de rezervă
list
—
imediat
Modele separate prin virgulă, încercate în ordine când modelul de serviciu eșuează (cotă, avarie). Modelul principal este încercat mereu ultimul, ca rezumatul să nu se piardă. Fiecare comutare este înregistrată în jurnal. Se aplică imediat.
AIHUMMER_AUX_MODEL
Model pentru sarcini de serviciu (rezumate, note, titluri)
text
—
imediat
Model pentru sarcinile de serviciu din fundal: comprimarea istoricului vechi într-un rezumat, nota de memorie dinaintea comprimării, titlurile conversațiilor, extragerea faptelor, reformularea interogărilor de căutare și traducerea. Gol = automat: un model mai ieftin de la același furnizor (Claude → claude-haiku-4-5, Codex → gpt-…-luna/mini); dacă nu există, modelul principal. „main” = mereu modelul principal. Se aplică imediat.
AIHUMMER_CASCADE_MIN_CHARS
Cascadă: minim caractere pentru escaladare
int
0
imediat
Pragul de lungime a cererii (caractere) de la care intră în joc modelul mai puternic din cascadă. 0 = implicit.
AIHUMMER_CASCADE_STRONG_MODEL
Cascadă: model de rezervă mai puternic
text
—
imediat
Modelul către care se face cascada pentru cereri lungi/complexe (gol = dezactivat).
AIHUMMER_CLAUDE_AUTH_URL
Abonament Claude: adresa paginii de autentificare
text
—
imediat
Pagina pe care permiteți conectarea abonamentului Claude. Gol — adresa standard; schimbați-o doar dacă vă cere asistența.
AIHUMMER_CLAUDE_CLIENT_ID
Abonament Claude: ID client OAuth
text
—
imediat
Identificatorul aplicației pentru autentificarea cu abonamentul Claude. Gol — cel standard; schimbați-l doar dacă vă cere asistența.
AIHUMMER_CLAUDE_EFFORT
Claude: profunzimea raționamentului
enum: low \\| medium \\| high \\| xhigh \\| max
medium
imediat
Cât de profund gândesc modelele Claude înainte de a răspunde, când agentul nu stabilește acest lucru. Mai sus e mai precis la sarcini dificile, dar mai lent și consumă mai multă cotă; mai jos e mai rapid și mai ieftin. Un model care nu cunoaște nivelul ales primește cel mai apropiat nivel inferior; Haiku 4.5 și modelele mai vechi nu suportă raționamentul. Profunzimea stabilită la agent are prioritate. Se aplică de la tura următoare.
AIHUMMER_CLAUDE_MAX_TOKENS
Claude: lungimea maximă a răspunsului (tokenuri)
int
16000
imediat
Câte tokenuri poate ocupa un răspuns Claude — atât prin abonament, cât și prin cheie. Raționamentul modelului intră în aceeași limită: o valoare prea mică taie răspunsul la jumătatea frazei sau dă un răspuns gol. Dacă un agent are propria lungime de răspuns, se aplică aceea.
AIHUMMER_CLAUDE_REDIRECT_URI
Abonament Claude: URI de redirecționare
text
—
imediat
Adresă de retur înregistrată la furnizor. Trebuie să se potrivească cu ceea ce este configurat pe partea sa, altfel schimbul de cod este respins.
AIHUMMER_CLAUDE_TOKEN_URL
Abonament Claude: adresa de acces
text
—
imediat
Adresa la care serverul obține și reînnoiește accesul la abonamentul Claude. Gol — adresa standard; schimbați-o doar dacă vă cere asistența.
AIHUMMER_CODEX_BASE_URL
URL de bază Codex
text
—
parțial după repornire
Baza transportului Codex (abonament ChatGPT). Se aplică la pornire/după repornire.
AIHUMMER_CODEX_MAX_OUTPUT_TOKENS
Tokenuri de ieșire maxime (0 = fără limită)
int
0
imediat
Limita max_output_tokens pentru o tură de chat. 0 = fără limită. La modelele de raționament, tokenii de raționament se scad tot din acest buget, așa că o valoare prea mică duce la un răspuns gol „incomplete: max_output_tokens”. Se aplică din mers (fără repornire).
AIHUMMER_CODEX_MODEL
ID model (transport Codex / gpt-5.5)
text
gpt-5.5
parțial după repornire
Id-ul modelului pentru transportul principal Codex/ChatGPT (de ex. gpt-5.5, gpt-5.5-codex). Se aplică la pornire/după repornire.
AIHUMMER_CODEX_REASONING_EFFORT
Efort de raționament
enum: none \\| low \\| medium \\| high \\| xhigh
medium
imediat
Cât de profund gândește modelul ChatGPT (Codex) înainte de răspuns, dacă agentul nu o setează. Implicit — „Mediu”. Mai sus înseamnă mai precis, dar mai lent și mai scump.
AIHUMMER_LLM_CALL_TIMEOUT_S
Timeout per apel (secunde)
int
120
imediat
Câte secunde se așteaptă răspunsul modelului la o cerere. Dacă modelul tace mai mult, cererea e întreruptă și răspunsul trece la următorul model din listă. Pentru Claude se numără pauza din fluxul de răspuns, nu tot răspunsul: un răspuns lung care continuă nu e tăiat. 0 — fără limită.
AIHUMMER_LLM_FALLBACK_MODELS
Modele de rezervă (toți agenții)
text
auto
imediat
Cine răspunde când modelul principal și ceilalți furnizori eșuează (limită de utilizare atinsă, defecțiune, prea multe cereri). auto — modelul mai ieftin al fiecărui furnizor ca ultimă soluție (Claude: claude-haiku-4-5, Codex: gpt-…-luna/mini); o listă separată prin virgule — ordinea dvs., fiecare model merge la furnizorii producătorului său; off — fără modele de rezervă. Modelul de rezervă propriu al unui agent are prioritate. Se aplică imediat.
AIHUMMER_LLM_GATEWAY_URL
URL gateway LLM
text
—
parțial după repornire
URL-ul de bază al endpointului de model compatibil OpenAI pe care îl apelează agentul (serverul dvs. local llama.cpp/vLLM/Ollama sau un gateway găzduit). Lăsați gol pentru a folosi endpointul implicit al furnizorului.
AIHUMMER_LLM_MODEL
Model LLM
text
—
parțial după repornire
Numele/id-ul modelului trimis furnizorului la fiecare tură (modelul pe care îl servește endpointul dvs.). Trebuie să corespundă unui model pe care endpointul chiar îl expune.
AIHUMMER_LLM_PAUSE_AUTH_MIN
Pauza după respingerea credențialelor, min
int
10
imediat
Câte minute nu întrebăm un furnizor care a respins credențialele. O repetare dublează pauza, dar nu peste de șase ori prima. Un test de conexiune reușit sau butonul „Reia acum” readuce furnizorul imediat. Se aplică de la următorul eșec.
AIHUMMER_LLM_PAUSE_MODEL_MIN
Pauza unui model pe care furnizorul nu îl servește, min
int
60
imediat
Câte minute nu oferim unui furnizor un model despre care a spus că nu îl servește; celelalte modele ale lui sunt întrebate ca de obicei. Se aplică de la următorul eșec.
AIHUMMER_LLM_PAUSE_QUOTA_MIN
Pauza după epuizarea limitei, min
int
300
imediat
Câte minute nu întrebăm modelul (sau întregul cont, când s-a epuizat limita contului — Codex, o cheie OpenAI, plata) după ce limita de utilizare s-a epuizat, iar furnizorul nu a numit ora resetării. O repetare dublează pauza, dar nu mai mult de o zi. Termenul numit de furnizor are prioritate. Se aplică de la următorul eșec.
AIHUMMER_LLM_PAUSE_SHORT_S
Pauza furnizorului după o defecțiune, s
int
30
imediat
Câte secunde nu întrebăm furnizorul după o defecțiune, o conexiune căzută sau „prea multe cereri”. Al doilea eșec la rând dublează pauza, al treilea și următoarele o fac de zece ori mai lungă. Dacă furnizorul numește singur un termen, îl așteptăm. Se aplică de la următorul eșec.
AIHUMMER_LLM_PROVIDER
Furnizor LLM
text
—
parțial după repornire
Ce backend de model se folosește (un endpoint compatibil OpenAI sau transportul Codex/abonament ChatGPT). Decide cum sunt trimise și autentificate cererile.
AIHUMMER_LLM_RETRIES
Reîncercări LLM la eroare temporară
int
3
imediat
Numărul de reîncercări ale cererii LLM la o eroare tranzitorie.
AIHUMMER_LLM_TEMPERATURE
Temperatură
text
—
imediat
Cât de variate sunt răspunsurile modelului (0–2), dacă agentul nu o setează: mai mic — mai precis și previzibil, mai mare — mai viu. Gol — decide modelul. Modelele cu raționament (ChatGPT/Codex, Claude generația 5) nu o acceptă — lăsați câmpul gol pentru ele.
AIHUMMER_LLM_TOP_P
Top-p (eșantionare nucleus)
text
—
imediat
Încă un mod de a varia răspunsurile (0–1), dacă agentul nu îl setează. Gol — decide modelul. De obicei se setează doar unul: fie temperatura, fie acesta; modelele cu raționament nu îl acceptă.
AIHUMMER_MODEL_GUARD_INTERVAL_MIN
Verificarea modelului agentului: interval, min
int
60
imediat
Cât de des să se verifice că modelul fiecărui agent este oferit de un furnizor activat. Modelul agentului nu se schimbă niciodată: cât timp nimeni nu îl oferă, răspunde primul model din ordinea de răspuns care nu este în pauză, iar o notificare numește agenții — și încă una când modelul lor revine. Verificarea are loc întotdeauna la pornirea gateway-ului, iar 0 dezactivează doar repetarea. Un interval nou intră în vigoare în cel mult un minut.
AIHUMMER_OPENAI_API
Stil API OpenAI (chat | responses)
enum: \\| chat \\| responses
—
parțial după repornire
chat = /chat/completions, responses = /responses. Gol = automat/implicit. Se aplică la pornire/după repornire.
AIHUMMER_OPENAI_API_KEY
Cheie API OpenAI nativ (implicită pentru instalare)
text
—
parțial după repornire
Cheia contului dvs. OpenAI pentru bucla nativă OpenAI (dacă folosiți OpenAI ca furnizor implicit). A nu se confunda cu BYOK per spațiu de lucru din pagina Modele. Se aplică la pornire/după repornire.
AIHUMMER_OPENAI_BASE_URL
URL de bază OpenAI nativ
text
—
după repornire
Baza API-ului compatibil OpenAI (de ex. https://api.openai.com/v1). Se aplică la pornire/după repornire.
AIHUMMER_OPENAI_MODEL
Model OpenAI nativ
text
—
după repornire
Modelul pentru bucla nativă OpenAI (când AIHUMMER_OPENAI_API_KEY este setat). Se aplică la pornire/după repornire.
AIHUMMER_ROUTER_COMPLEX_MODEL
Router: model pentru schimburi complexe
text
—
imediat
Modelul pentru cererile complexe ale unui agent fără model propriu (gol = nivel dezactivat). Se aplică de la următorul pas.
AIHUMMER_ROUTER_SIMPLE_MODEL
Router: model pentru schimburi simple
text
—
imediat
Modelul pentru cererile simple ale unui agent fără model propriu (gol = nivel dezactivat). Se aplică de la următorul pas.
AIHUMMER_ROUTER_STANDARD_MODEL
Router: model pentru schimburi standard
text
—
imediat
Modelul pentru cererile obișnuite ale unui agent fără model propriu (gol = nivel dezactivat). Se aplică de la următorul pas.
AIHUMMER_SUBSCRIPTION_QUOTA_REFRESH_MIN
Cotele abonamentelor: perioada de interogare, min
int
15
imediat
Cât de des întreabă panoul ChatGPT (Codex) despre ferestrele de cotă ale abonamentului: cel mult o dată pe perioadă, nu mai des de 5 minute și doar cât timp cotele sunt deschise; între interogări se afișează copia salvată. Claude nu este întrebat niciodată: limitele lui sunt estimarea noastră. Se aplică la următoarea deschidere a cotelor.
Media
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_DEEPGRAM_API_KEY
Cheie API Deepgram
text
—
imediat
Cheia serviciului Deepgram — necesară dacă Deepgram recunoaște mesajele vocale. Dacă e goală, se folosește cheia comună de recunoaștere vocală din setarea vecină. Se aplică imediat.
AIHUMMER_DEEPGRAM_DETECT_LANGUAGE
Detectarea limbii Deepgram
bool
0
imediat
Detectează limba în loc să trimită o limbă fixă. Se aplică imediat.
AIHUMMER_DEEPGRAM_MODEL
Model Deepgram
text
nova-2
imediat
Modelul Deepgram (de ex. nova-2, nova-3, base). Depinde de accesul proiectului asociat cheii. Se aplică imediat.
AIHUMMER_DEEPGRAM_PUNCTUATE
Punctuație Deepgram
bool
1
imediat
Adaugă punctuație și majuscule. Se aplică imediat.
AIHUMMER_DEEPGRAM_SMART_FORMAT
Formatare inteligentă Deepgram
bool
1
imediat
Formatează numerele și datele recunoscute. Se aplică imediat.
Modelul pentru image_generate (implicit gpt-image-2).
AIHUMMER_MEDIA_MAX_UPLOAD_MB
Dimensiune maximă de încărcare media (MB)
int
256
imediat
Cel mai mare fișier (fotografie, mesaj vocal, video) care poate fi încărcat odată, în megaocteți. Protejează discul serverului de umplere. Implicit 256. Se aplică imediat.
AIHUMMER_SIDECAR_STT
Recunoaștere vocală pe acest server (faster-whisper)
bool
0
imediat
Recunoașterea locală a vorbirii (faster-whisper). NU este inclus în pachet: activați descarcă suplimentul semnat (~620 MiB pentru toate versiunile de Python) și instalează serviciul pe gazdă. 🔴 Suplimentul este publicat printr-o decizie separată a furnizorului (pachetele sale poartă ffmpeg sub GPL); dacă nu este publicat pentru lansarea dvs., inclusiv va fi sincer și nu va sparge nimic. Plan cloud: recunoașterea este configurată de furnizor.
AIHUMMER_SIDECAR_TTS
Răspunsuri vocale (edge-tts)
bool
0
imediat
Sinteza vorbirii (edge-tts, voci Microsoft Edge). NU este inclus în pachet: activarea descarcă suplimentul semnat (~26 MiB) și instalează serviciul pe gazdă. Sinteza în sine merge online pentru voturi - „offline” aici se referă la instalarea pachetului, care nu funcționează.
AIHUMMER_STT_API_KEY
Cheie API STT (opțional)
text
—
imediat
Cheia de acces la serviciul de recunoaștere vocală, dacă o cere. Pentru un serviciu de pe acest server o setează instalatorul — nu trebuie schimbată. Se aplică imediat.
AIHUMMER_STT_ENGINE
Motor STT
enum: auto \\| faster-whisper \\| deepgram \\| codex \\| off
auto
imediat
Cu ce se transcriu mesajele vocale. Auto (implicit): Deepgram dacă cheia lui este setată, altfel serviciul local dacă este instalat (comutatorul de mai sus), altfel nimic — iar botul îi spune sincer expeditorului că încă nu poate asculta. faster-whisper: serviciul local sau un /v1/audio/transcriptions extern compatibil. deepgram: Deepgram în cloud cu cheia proprie. codex: abonamentul ChatGPT conectat (Modele → Conectează ChatGPT), consumă cota acestuia. off: nu transcrie. Se aplică imediat.
AIHUMMER_STT_LANGUAGE
Limbă STT
text
—
imediat
Limba de recunoaștere (BCP-47, de ex. ru/en). Folosită de motorul deepgram (modelul nova-2). Gol = detectare automată / valoarea implicită a motorului. Se aplică imediat.
AIHUMMER_STT_MODEL
Model STT
text
Systran/faster-whisper-small
imediat
Modelul faster-whisper (de ex. small/medium/large-v3 sau Systran/faster-whisper-⟨size⟩). Se aplică imediat.
AIHUMMER_TTS_API_KEY
Cheie API TTS (edge-tts)
text
—
parțial după repornire
Cheia de acces la serviciul vocal. Se setează automat la instalare — nu trebuie schimbată.
AIHUMMER_TTS_ENABLED
Sinteză voce activată
bool
1
parțial după repornire
Permite agentului să răspundă vocal. Pentru aceasta e nevoie de serviciul vocal — îl instalați mai sus, în secțiunea Servicii suplimentare.
AIHUMMER_TTS_MODEL
Model TTS
text
—
parțial după repornire
Numele modelului pentru serviciul edge-tts. Se aplică la pornire/după repornire.
Vocea implicită edge-tts (multilingvă, inclusiv rusă). Se aplică la pornire/după repornire.
AIHUMMER_VIDEO_API_KEY
Cheie API analiză video
text
—
imediat
Cheia de acces la serviciul de analiză video, dacă o cere. Gol — serviciul se folosește fără cheie.
Media · Voice
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_TTS_AUTO_REPLY
Răspunsuri vocale automate
enum: off \\| always \\| inbound \\| tagged
inbound
imediat
Niciodată, întotdeauna, la primirea unui mesaj audio sau la marcarea explicită. Poate fi schimbat pentru fiecare conversație.
AIHUMMER_TTS_MAX_CHARS
Limită de caractere pentru voce
int
0
imediat
0: text complet; 100–10000: limita textului rostit. Răspunsul complet rămâne în istoric.
AIHUMMER_TTS_SUMMARIZE
Rezumarea răspunsurilor vocale lungi
bool
1
imediat
Rezumă răspunsurile lungi pentru redare. La eroare, citește începutul în limita stabilită.
AIHUMMER_VOICE_AEC
Anulare a ecoului (AEC)
bool
1
imediat
Elimină ecoul: vocea proprie a agentului din difuzor nu ajunge înapoi în microfon și nu întrerupe conversația. Dezactivați doar dacă vocea sună distorsionat în căști.
AIHUMMER_VOICE_AGC
Control automat al amplificării
bool
1
imediat
Solicită controlul automat al amplificării microfonului (WebRTC autoGainControl) în modul vocal.
AIHUMMER_VOICE_BARGEIN_FRAMES
Întreruperea agentului: cât trebuie vorbit
int
5
imediat
Cât trebuie să vorbiți (în cadre de 20 ms) ca agentul să tacă și să asculte. Implicit 5 — aproximativ 0,1 secunde.
AIHUMMER_VOICE_DUPLEX
Voce full-duplex în timp real
bool
0
imediat
Activează modul full-duplex live (streaming + VAD + barge-in). Se aplică imediat.
AIHUMMER_VOICE_NOISE_SUPPRESSION
Suprimare a zgomotului
bool
1
imediat
Solicită reducerea zgomotului la captarea de la microfon (WebRTC noiseSuppression) în modul vocal.
AIHUMMER_VOICE_VAD_THRESHOLD
Sensibilitate la voce (0–1)
text
0.02
imediat
De la ce volum un sunet e considerat vorbire. Mai mic — mai sensibil: agentul aude vorbirea încetă, dar și zgomotul de fond. Implicit 0.02.
Memory
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_EMBEDDER_DIM
Dimensiunea modelului de căutare după sens
int
768
după repornire
Dimensiunea vectorului — trebuie să corespundă modelului (multilingual-e5-base=768, bge-m3=1024).
AIHUMMER_EMBEDDER_KEEPALIVE
Keep-alive embedder
text
5m
după repornire
Cât timp rămâne încărcat modelul de căutare după sens după ultima cerere (doar în modul „După sens”). Implicit 5m — 5 minute: apoi modelul e descărcat și eliberează memoria și procesorul. Păstrarea permanentă (-1) nu e recomandată: un model blocat poate ocupa un nucleu zile întregi. Format: 30s, 5m, 1h.
AIHUMMER_EMBEDDER_MODEL
Model de căutare după sens
text
yxchia/multilingual-e5-base
după repornire
Modelul care permite căutarea în memorie după sens. Implicit multilingual-e5-base înțelege rusa, e ușor și rulează rapid pe un procesor obișnuit. Pentru calitate mai bună pe GPU se potrivește bge-m3, dar atunci setați dimensiunea din setarea vecină la 1024: numărul trebuie să corespundă modelului.
AIHUMMER_EMBEDDER_PASSAGE_PREFIX
Prefix de document al embedderului
text
—
după repornire
Suprascrie prefixul documentului stocat (modelele e5 folosesc automat „passage: ”). Lăsați gol pentru detectare automată după numele modelului.
AIHUMMER_EMBEDDER_QUERY_PREFIX
Prefix de interogare al embedderului
text
—
după repornire
Suprascrie prefixul interogării de căutare (modelele e5 folosesc automat „query: ”). Lăsați gol pentru detectare automată după numele modelului.
AIHUMMER_EMBEDDER_THREADS
Firele de procesor ale embedder-ului
int 0…256
0
după repornire
Câte fire de procesor ia modelul de căutare după sens pentru o cerere. 0 — automat: jumătate din firele serverului, dar cel puțin 2. Fără limită, recalcularea vectorilor bazei de cunoștințe pe un server slab ocupa ore întregi tot procesorul și încetinea răspunsurile agenților. Mai multe — recalculare mai rapidă, dar încărcare mai mare.
AIHUMMER_MEMORY_AGENT_WRITES
Fapte salvate de agentul însuși
enum: strangers \\| immediate \\| review
strangers
imediat
Ce se întâmplă cu ce reține agentul singur — de ex. la cererea „ține minte”. „Direct în memorie; de la străini — la verificare” (implicit) — direct în memorie dacă a spus-o proprietarul sau cercul de încredere al agentului; de la oricine altcineva — pentru verificare. „Direct în memorie” — agentul îl găsește imediat. „Pentru verificare” — întâi în coada Memorie → verificare; ajunge în răspunsuri doar după aprobarea dvs. Pe fișa agentului (Memorie → Setări) se poate alege un mod propriu.
AIHUMMER_MEMORY_AUTOREPAIR
Repararea automată a memoriei
bool
1
imediat
După autoverificare memoria este reparată: dublurile sunt comasate, contradicțiile cu un câștigător explicit sunt închise (confirmat de o persoană, dată a evenimentului mai recentă, sursă mai solidă), faptele marcate drept confirmate pe care nicio persoană nu le-a confirmat sunt reverificate după sursele lor (cele neconfirmate merg la verificare, nimic nu se șterge). Ce e disputat merge doar în coadă. Fiecare corecție este jurnalizată cu un buton de anulare; dacă după trecere memoria găsește mai prost, trecerea se anulează singură și primiți o notificare. Se aplică imediat, fără repornire.
AIHUMMER_MEMORY_CAPTURE
Mod de captare a memoriei
enum: auto \\| review \\| off
review
imediat
Ce se face cu faptele pe care agentul le observă singur în conversație după fiecare răspuns. „Pentru verificare” le pune în coada Memorie → verificare: ajung în răspunsuri doar după aprobarea dvs. „Direct în memorie” fără verificare: mai rapid, dar mai mult zgomot. „Nu salva” nu extrage nimic din conversații. Ce reține agentul la cerere se setează separat.
AIHUMMER_MEMORY_CONTEXT_TIMEOUT
Timeout de încărcare a memoriei
text
3s
imediat
Cât așteaptă agentul să găsească amintirile potrivite înainte de a începe răspunsul. Dacă căutarea nu reușește la timp, agentul răspunde fără ele în loc să se blocheze. De exemplu: 2s — 2 secunde, 1500ms — 1,5 secunde. 0 — așteaptă cât e nevoie.
AIHUMMER_MEMORY_DIARY_BOOT
Jurnalul agentului la începutul sesiunii
bool
1
imediat
La fiecare pas al unei sesiuni, pe orice canal, agentul are în vedere jurnalul său de azi și de ieri: note din sesiunile anterioare, rezumatul nocturn și intrările proprii ale agentului. Se afișează doar intrările despre interlocutorul curent și cele comune (ale dvs., încărcate) — un client nu le vede niciodată pe ale altuia. Cel mult ~6000 de caractere; restul îl citește agentul singur (memory_get). Se aplică imediat, fără repornire.
AIHUMMER_MEMORY_DIARY_HOUR
Ora rezumatului nocturn
int
3
imediat
După ce oră (0–23, fusul orar al instanței) se scrie rezumatul zilei trecute. Implicit 3 — noaptea, când conversațiile zilei s-au încheiat. Se aplică imediat, fără repornire.
AIHUMMER_MEMORY_DIARY_NIGHTLY
Rezumatul nocturn al zilei în jurnalul agentului
bool
1
imediat
O dată pe zi, se scrie în jurnalul agentului un rezumat al zilei trecute — separat pentru fiecare interlocutor (toate canalele acestuia împreună): ce s-a cerut și ce s-a făcut, înțelegeri, sarcini cu date. Un apel la modelul pentru sarcini de serviciu pentru fiecare agent și interlocutor, cel mult 3 pe trecere la fiecare 10 minute; zilele ratate se recuperează până la o săptămână în urmă. Conversațiile cu „nu reține” sunt omise. Nu se scrie cât timp captarea memoriei este dezactivată. Rezultatul ultimei treceri apare în fișa agentului → Memorie → Jurnal. Se aplică imediat, fără repornire.
AIHUMMER_MEMORY_DREAM_INTERVAL
Interval al etapei de „vis”
string
1h
imediat
Cât de des trecerea de autoîntreținere dream scanează afirmațiile verificate în căutarea contradicțiilor, în toate domeniile (durată Go, de ex. 30m/1h/6h). Setați 0 pentru dezactivare. Se aplică imediat, fără repornire.
AIHUMMER_MEMORY_EXTRACT
Extragere de fapte prin LLM
bool
1
imediat
Extrage prin LLM fapte normalizate subiect/predicat/obiect (implicit ACTIVAT) în loc să stocheze fragmente brute de propoziții — necesar pentru ca mecanismele de graf/contradicții/dream să funcționeze. Adaugă un apel LLM pentru fiecare mesaj capturat; dezactivați pentru a economisi acel apel. Se aplică imediat, fără repornire.
AIHUMMER_MEMORY_MEANING_TIMEOUT
Limita de timp a căutării după sens
text
4s
imediat
Cât așteaptă o căutare în memorie și în baza de cunoștințe căutarea după sens. Dacă modelul de sens este ocupat (de exemplu, calculează vectori după un import) și nu răspunde la timp, agentul primește imediat ce s-a găsit după cuvinte, cu o notă, în loc să aștepte zeci de secunde. De exemplu: 4s — 4 secunde, 1500ms — 1,5 secunde. 0 — se așteaptă cât este nevoie. Se aplică imediat, fără repornire.
AIHUMMER_MEMORY_QUALITY_CHECK
Autoverificarea zilnică a memoriei
bool
1
imediat
O dată pe zi memoria își pune întrebări de control despre faptele sale confirmate (până la 60 de fapte, aceleași întrebări în fiecare zi) și întrebări fără răspuns, le trece prin căutarea în memorie și prin reamintirea automată și măsoară regăsirea, precizia, MRR și reamintirile false. Rezultatul și graficul zilnic: Memorie → Calitatea memoriei. Întrebările despre faptele noi le scrie o singură dată modelul de serviciu (cel care extrage fapte din conversații; fără el — după un șablon); rezultatele rămân pe instanță. Se aplică imediat, fără repornire.
AIHUMMER_MEMORY_RECALL
Reamintire automată din memorie
enum: strong \\| always \\| off
strong
imediat
Dacă ce se găsește în memorie se adaugă automat la răspuns. „Doar potriviri puternice” — faptul trebuie să aibă cel puțin două cuvinte importante comune cu mesajul; saluturile și „ok” nu aduc nimic. „Tot ce seamănă” — tot ce s-a potrivit cumva, plus înregistrările legate: mai mult zgomot. „Nu adăuga” — agentul caută singur în memorie când consideră necesar.
AIHUMMER_MEMORY_RECALL_MAX
Fapte per răspuns
int
5
imediat
Numărul maxim de fapte din memorie adăugate într-un răspuns (implicit 5). Reformulările aceluiași fapt contează ca unul. Se aplică imediat, fără repornire.
AIHUMMER_MEMORY_RECALL_MIN_SCORE
Potrivire minimă pentru reamintirea automată, %
int
10
imediat
Ce proporție din cuvintele semnificative ale mesajului (ponderate după raritate) trebuie să acopere un fapt pentru a fi adăugat automat, în procente. Implicit 10 — calibrat pe conversații reale. Mai mare = mai rar și mai precis, mai mic = mai des și mai zgomotos. Nu afectează căutarea explicită memory_search. 0 = fără prag: ajung două cuvinte semnificative comune. Se aplică imediat, fără repornire.
AIHUMMER_MEMORY_RECALL_MIN_SIMILARITY
Similitudine minimă de sens pentru reamintirea automată, %
int
86
imediat
Doar pentru căutarea în memorie după sens (embedder): cât de apropiat ca sens de mesaj trebuie să fie un fapt pentru a fi adăugat automat, în procente de similitudine. Implicit 86 — ales pentru modelul multilingual-e5-base pe memorie reală: sub acest prag, fapte fără legătură se adaugă la aproape fiecare mesaj. Alte modele (de exemplu bge-m3) măsoară similitudinea altfel — alegeți o valoare cu „Întreabă memoria” din fișa agentului. 0 = fără prag. Nu afectează căutarea explicită memory_search. Se aplică imediat, fără repornire.
AIHUMMER_MEMORY_RETRIEVAL
Mod de recuperare a memoriei
enum: fulltext \\| embedding
fulltext
după repornire
Cum caută agentul în memorie. „După cuvinte” — căutare obișnuită în text: funcționează imediat și nu încarcă serverul. „După sens” — găsește ce e apropiat ca sens, chiar spus altfel, dar necesită modelul de căutare după sens (secțiunea Servicii suplimentare) și o încărcare vizibilă a procesorului.
AIHUMMER_QDRANT_API_KEY
Cheie API Qdrant
text
—
după repornire
Cheia API Qdrant, dacă depozitul vectorial necesită autorizare. Este necesară doar când este setată adresa Qdrant. Se aplică la pornire/după repornire.
AIHUMMER_QDRANT_URL
URL Qdrant (stocare vectorială durabilă)
text
—
după repornire
Adresa depozitului Qdrant pentru căutarea după sens. Gol — datele de căutare sunt ținute în memorie și se pierd la repornirea serverului; setați o adresă pentru utilizare permanentă.
AIHUMMER_RAG_QUERY_EXPANSION
Reformulează cu modelul interogările bazei de cunoștințe
bool
0
imediat
Înainte de căutarea în baza de cunoștințe, cere modelului pentru sarcini de serviciu 3 reformulări ale interogării și caută cu toate. Uneori găsește mai mult, dar este un apel suplimentar la model la FIECARE căutare (cotă și întârziere); dacă modelul eșuează, se caută doar cu formularea inițială, iar eșecul apare în jurnal și în rezultatul căutării. Dezactivat implicit: cuvintele sunt găsite oricum prin căutarea în text integral. Se aplică imediat, fără repornire.
AIHUMMER_RERANKER_URL
URL sidecar de rerankare RAG
text
—
după repornire
URL-ul HTTP al serviciului sidecar cross-encoder pentru reordonarea căutării hibride. Gol = reordonare dezactivată. Se aplică la pornire/după repornire.
Moderation
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_MODERATION
Moderare a intrărilor
bool
1
imediat
“off” dezactivează protecția încorporată împotriva jailbreak/prompt-injection. Orice altă valoare = activat. Se aplică imediat, fără repornire.
AIHUMMER_MODERATION_REFUSAL
Mesaj de refuz al moderării
text
—
imediat
Textul de refuz returnat când moderatorul blochează o cerere (gol = cel încorporat). Se aplică imediat, fără repornire.
Network
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_OUTBOUND_PROXY_CUSTOM_URL
Proxy de ieșire: adresă proprie
text
—
imediat
URL proxy HTTPS; HTTP este permis doar pe loopback, fără cale, interogare sau fragment. Salvează adresa înainte de custom. Mascată în API; stocată în setările aplicației.
AIHUMMER_OUTBOUND_PROXY_MODE
Proxy de ieșire pentru furnizorii străini de modele
enum: auto \\| off \\| custom
auto
imediat
Cum ajunge serverul la furnizorii de modele din străinătate. „Ca la furnizor” — așa cum e setat în contul furnizorului; „Direct, fără proxy” — fără intermediari; „Prin propriul proxy” — prin adresa salvată mai jos. Funcționarea depinde de regulile fiecărui furnizor.
AIHUMMER_RUSSIAN_TRUSTED_EXTRA_HOSTS
Gazde în afara .ru pentru rădăcinile Ministerului Dezvoltării Digitale al Rusiei
list
—
după repornire
Lista gazdelor, separate prin virgule, care pot fi verificate de rădăcinile Ministerului Dezvoltării Digitale al Rusiei OVER domeniile rusești (.ru/.su/.рф - deja incluse). Este necesar dacă nodul dvs. cu certificatul Ministerului Dezvoltării Digitale al Rusiei locuiește pe un domeniu diferit. Potrivire după nume sau limita subdomeniului: example.com acoperă api.example.com. Gol = numai domenii rusești. Se aplică la pornire/după repornire.
Performance
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_CHANNEL_TURN_QUEUE_WAIT_SEC
Așteptare la coadă: mesaj din canal (secunde)
int 10…1200
600
imediat
Cât așteaptă un mesaj din canal (Telegram și altele) un loc liber când toate locurile pentru ture sunt ocupate. Dacă nu primește unul la timp, persoana află că serverul e ocupat și poate scrie din nou. Așteptarea intră în limita de 30 de minute a turei. 10–1200. Se aplică imediat.
AIHUMMER_MAX_ACTIVE_TURNS
Ture de agenți rulate simultan (tot serverul)
int 1…512
32
imediat
Câte ture de agenți (răspunsuri în canale și în chatul web, programări) rulează serverul simultan. Restul așteaptă la coadă atât cât permit setările „Așteptare la coadă” de mai jos, iar persoana vede „server ocupat, la coadă”. O valoare mai mare înseamnă mai puțină așteptare, dar mai multă memorie, conexiuni la baza de date și cereri simultane către model. Jumătate din acest număr limitează apelurile auxiliare simultane ale modelului (extragerea memoriei, rezumate). 1–512. Se aplică imediat.
AIHUMMER_SYNC_INBOUND_QUEUE_WAIT_SEC
Așteptare la coadă: apel sincron de integrare (secunde)
int 1…120
10
imediat
Cât așteaptă un loc liber apelul unei integrări care așteaptă răspunsul în aceeași cerere, când toate locurile pentru ture sunt ocupate. Dacă nu primește unul, integrarea primește „server ocupat” cu sfatul de a reîncerca după același număr de secunde; o reîncercare cu același număr de mesaj nu îl salvează a doua oară. 1–120. Se aplică imediat.
AIHUMMER_WEB_TURN_QUEUE_WAIT_SEC
Așteptare la coadă: mesaj din chatul web (secunde)
int 10…1200
180
imediat
Cât așteaptă un mesaj din chatul web un loc liber când toate locurile pentru ture sunt ocupate. Între timp chatul arată „server ocupat, la coadă”; dacă nu primește unul la timp, răspunsul e refuzat cu butonul „Reîncearcă”, care rămâne în istoric și după reîncărcarea paginii. 10–1200. Se aplică imediat.
Public access
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_PUBLIC_URL
Adresa publică a serverului
text
—
parțial după repornire
Adresa la care panoul și aplicațiile se deschid din internet, de ex. https://ai.example.com. Direcționați-o prin proxy-ul dvs. (nginx, Caddy) către portul serverului — implicit 8780.
AIHUMMER_WIDGET_ALLOWED_ORIGINS
Widget web: origini de site permise
list
—
imediat
Listă separată prin virgule de origini ale browserului cărora li se permite să încorporeze widgetul de chat web, de exemplu https://example.com,https://www.example.com. Schema și portul trebuie să coincidă exact. Gol = niciun site extern nu poate folosi widgetul. Intrarea * este ignorată intenționat, deoarece altfel orice pagină de pe internet ar putea cheltui bugetul acestei instanțe.
POCKET_AGENT_GATEWAY_BASE_URL
URL public al gateway-ului pocket-agent
text
—
imediat
Direcționați prin proxy → portul gateway-ului pocket-agent (POCKET_AGENT_PORT, implicit 8080). Agentul de la distanță se conectează aici printr-un tichet de unică folosință.
TELEGRAM_PUBLIC_URL
URL public al webhook-ului Telegram
text
—
imediat
Doar pentru modul webhook — direcționați prin proxy → portul telegram-connector (implicit 8091). Lăsați gol pentru modul polling (nu este necesar un URL public).
SSO (LDAP/AD)
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_LDAP_BASE_DN
DN de bază pentru căutarea utilizatorilor
text
—
după repornire
Căutați rădăcină, de ex. OU=Utilizatori, DC=corp, DC=exemplu.
AIHUMMER_LDAP_BIND_DN
DN de serviciu pentru conectare
text
—
după repornire
Contul folosit pentru bind-ul inițial de căutare, de ex. CN=svc-aihummer,OU=Service,DC=corp,DC=example. Gol = căutare anonimă.
AIHUMMER_LDAP_DEFAULT_ROLE
LDAP: Rol implicit (fără potrivire de grup)
text
—
după repornire
Rolul acordat când niciun grup nu corespunde unei mapări. Gol = fără rol.
AIHUMMER_LDAP_ENABLED
Activare autentificare LDAP/AD
bool
0
după repornire
Când este activat, autentificările de administrator se pot face și prin director. Parola de bind se păstrează în Secrets (scope ldap, name bind_password).
AIHUMMER_LDAP_GROUP_ATTR
Atribut de grup (implicit memberOf)
text
—
după repornire
Atributul din intrarea utilizatorului care listează DN-urile grupurilor. Gol dezactivează maparea grup→rol.
AIHUMMER_LDAP_ROLE_MAPPINGS
LDAP: Corespondențe grup→rol (JSON)
text
—
după repornire
Obiect JSON cu DN-ul grupului (sau doar CN) → rol, de ex. {\“CN=Admins,OU=Groups,DC=corp,DC=example\”:\“admin\”,\“Operators\”:\“operator\”}.
AIHUMMER_LDAP_SKIP_TLS_VERIFY
Omite verificarea TLS (doar pentru laborator, 1/0)
bool
0
după repornire
Dezactivează verificarea certificatului directorului. Nu activați niciodată în producție.
AIHUMMER_LDAP_URL
URL director
text
—
după repornire
de ex. ldaps://ad.corp.example:636 (TLS) sau ldap://dc1.corp.example:389.
AIHUMMER_LDAP_USER_ATTR
Atribut de autentificare (implicit sAMAccountName)
text
—
după repornire
Atributul LDAP/Active Directory comparat cu numele de utilizator tastat la autentificare (implicit sAMAccountName; uid pentru OpenLDAP, userPrincipalName pentru autentificări de tip UPN).
AIHUMMER_LDAP_USER_FILTER
Filtru de căutare a utilizatorilor
text
—
după repornire
Trebuie să conțină %s pentru numele de utilizator. AD: (sAMAccountName=%s); OpenLDAP: (uid=%s).
SSO (OIDC)
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_OIDC_AUDIENCE
Audience OIDC
text
—
după repornire
Claimul aud așteptat — setați-l la audience-ul ACESTEI resurse pentru a respinge tokenurile emise pentru altă parte. Claimul aud este acum OBLIGATORIU implicit în fiecare token (un token fără aud este respins); când acesta este setat, aud trebuie să îl conțină și pe el. Puternic recomandat în producție.
AIHUMMER_OIDC_ISSUER
URL emitent OIDC
text
—
după repornire
Emitentul IdP (de ex. https://login.example.com). Când este setat, activează autentificarea OIDC JWT.
AIHUMMER_OIDC_JWKS_URL
URL JWKS OIDC
text
—
după repornire
Endpointul JSON Web Key Set folosit pentru verificarea semnăturilor tokenurilor.
AIHUMMER_OIDC_TENANT_CLAIM
Claim OIDC pentru spațiul de lucru
text
—
după repornire
Claimul JWT care poartă id-ul spațiului de lucru (de ex. tenant_id / org).
SSO (SAML)
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_SAML_DEFAULT_ROLE
SAML: Rol implicit (fără potrivire de grup)
text
—
după repornire
Rolul acordat când nicio valoare aserționată nu se mapează. Gol = fără rol.
AIHUMMER_SAML_ENABLED
Activare SSO SAML 2.0
bool
0
după repornire
Expune /saml/metadata, /saml/acs, /saml/login. Cheia privată a SP se păstrează în Secrets (scope saml, name sp_key).
AIHUMMER_SAML_ENTITY_ID
Entity ID al SP
text
—
după repornire
Entity ID-ul SP (implicit ⟨root⟩/saml/metadata dacă este gol).
AIHUMMER_SAML_IDP_METADATA
XML de metadate IdP
text
—
după repornire
Lipiți documentul de metadate SAML al IdP-ului (Okta/Azure AD/ADFS).
AIHUMMER_SAML_ROLE_ATTRIBUTE
Atribut de rol/grup (implicit groups)
text
—
după repornire
Atributul din aserțiune care poartă valorile de grup/rol.
AIHUMMER_SAML_ROLE_MAPPINGS
SAML: Corespondențe grup→rol (JSON)
text
—
după repornire
Obiect JSON cu valoarea aserționată → rol, de ex. {\“AdminGroup\”:\“admin\”,\“Ops\”:\“operator\”}.
AIHUMMER_SAML_ROOT_URL
URL rădăcină SP
text
—
după repornire
URL-ul de bază al acestui gateway, accesibil din exterior, de ex. https://app.example.com. ACS = ⟨root⟩/saml/acs.
AIHUMMER_SAML_SP_CERT
Certificat SP (PEM)
text
—
după repornire
Certificatul public de semnare al SP (PEM). Cheia privată corespunzătoare se pune în Secrets (scope saml, name sp_key).
Schedules
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_SCHEDULE_AGENT_MAX_ACTIVE
Agent: limita programărilor active
int
20
imediat
Câte programări active poate avea un agent atunci când creează sau activează singur o programare (cu instrumentele sale de programare). Programările create în panou se numără, dar panoul nu este refuzat niciodată. La limită, agentului i se cere să suspende sau să șteargă mai întâi una. Se aplică imediat.
AIHUMMER_SCHEDULE_AGENT_MAX_FIRES_PER_DAY
Agent: rulări de programări pe zi
int
288
imediat
De câte ori pe zi (UTC) pot rula în total toate programările unui agent, inclusiv cele create în panou și rulările manuale. Rulările peste limită sunt omise și apar în jurnalul rulărilor. Se aplică imediat.
AIHUMMER_SCHEDULE_AGENT_MIN_INTERVAL_MINUTES
Agent: intervalul minim al programării, minute
int
5
imediat
Cel mai scurt interval dintre două rulări ale unei programări recurente pe care un agent o creează sau o modifică singur. O programare mai frecventă este refuzată. Programările create în panou nu sunt limitate de aceasta. Se aplică imediat.
AIHUMMER_SCHEDULE_COMMANDS
Comenzi pe server în programări
bool
0
imediat
Permite unei programări să ruleze un program pe acest server — un colector, un raport, o verificare a copiei de rezervă. Implicit dezactivat. Rulează doar comenzile din «Comenzi permise», exact cum sunt scrise; nu există shell. Ieșirea merge la agent sau direct într-un chat, iar fiecare rulare apare în jurnalul programării. Se aplică imediat.
AIHUMMER_SCHEDULE_COMMANDS_ALLOWLIST
Comenzi permise
argvlist
—
imediat
Comenzile exacte pe care o programare le poate rula: programul (un nume ca df sau o cale completă) și argumentele sale. O programare rulează doar o comandă care se potrivește exact cu o intrare, inclusiv argumentele. Eliminarea unei comenzi oprește programările care o folosesc, iar rulările lor spun de ce. Se aplică imediat.
AIHUMMER_SCHEDULE_COMMANDS_MAX_OUTPUT_KB
Limita de ieșire a comenzilor programate, KB
int 1…1024
64
imediat
Cât din ieșirea unei comenzi (1–1024 KB) se păstrează în jurnal și se transmite agentului sau în chat; restul se taie, iar jurnalul o spune. Se aplică imediat.
AIHUMMER_SCHEDULE_COMMANDS_SANDBOX
Rulează comenzile programate în sandboxul sistemului
bool
1
imediat
Activat: comanda rulează în sandboxul sistemului, ca execuția de cod — secretele instalării și cheile SSH sunt ascunse, iar scrierea e permisă doar în propriul folder temporar. Fără sandbox (bubblewrap) pe server comanda nu rulează, iar jurnalul spune de ce. Dezactivat: rulează cu drepturile gateway-ului. Se aplică imediat.
AIHUMMER_SCHEDULE_FAILURE_ADMIN
Raportează administratorului sarcinile eșuate
bool
1
imediat
Când o sarcină programată eșuează sau nu poate porni, în clopoțelul de notificări al panoului apare o notificare cu numele ei, motivul și locul unde se repară, iar același mesaj ajunge în conversațiile de canal proprii ale proprietarilor (cel mult o dată la 6 ore pentru fiecare sarcină). Acesta se adaugă mesajului către destinatarul sarcinii. Dezactivat: administratorul află de eșecuri doar din jurnalul de rulări. Se aplică imediat.
AIHUMMER_SCHEDULE_FAILURE_NOTIFY
Anunță destinatarul când o sarcină eșuează
bool
1
imediat
Când o sarcină programată eșuează, același destinatar primește un mesaj scurt (după primul eșec, cel mult o dată la 6 ore). Dezactivat — eșecurile rămân doar în jurnalul de rulări. O sarcină poate dezactiva asta pentru sine în formularul ei. Se aplică imediat.
Security
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_AIRGAPPED
Mod izolat (fără internet)
bool
0
imediat
Interzice agenților să iasă pe internet: căutarea web, deschiderea paginilor și cererile ajung doar la adrese interne și la cele din listele permise. Activați pentru rețele închise fără acces în exterior.
AIHUMMER_AUDIT_RETENTION_DAYS
Câte zile se păstrează jurnalul de acțiuni
int
0
după repornire
Intrările mai vechi din jurnalul de audit și din istoricul modificărilor setărilor sunt șterse o dată pe zi. 0 sau gol — păstrează mereu.
AIHUMMER_CORS_ORIGINS
Origini CORS permise
list
—
după repornire
Listă de Origin permise, separate prin virgulă. Gol = CORS nepermis (doar same-origin). Se aplică la pornire/după repornire.
AIHUMMER_CSP
Antet Content-Security-Policy (suprascriere)
text
—
după repornire
Suprascrie antetul CSP. Gol = o valoare implicită sigură. Se aplică la pornire/după repornire.
AIHUMMER_INBOUND_SECRET
Cheia pluginurilor de canal către server
text
—
după repornire
Canalele conectate (Telegram, VK și altele) o folosesc pentru a dovedi că mesajele vin chiar de la ele. Se setează automat la instalare — nu trebuie schimbată. Dacă este goală, serverul refuză toate canalele până când se setează o cheie.
AIHUMMER_OPENAI_COMPAT_KEY
Intrare compatibilă OpenAI: cheie API statică
text
—
după repornire
O cheie comună pentru programele care se conectează la server ca la un serviciu compatibil OpenAI. Gol — cheia comună e dezactivată; se poate conecta cu chei personale de pe pagina Chei API.
AIHUMMER_OPENAI_COMPAT_WORKSPACE
Intrare compatibilă OpenAI: ID spațiu de lucru
text
—
după repornire
Id-ul spațiului de lucru către care se mapează autentificarea statică compatibilă OpenAI. Gol = AIHUMMER_DEFAULT_WORKSPACE_ID. Se aplică la pornire/după repornire.
AIHUMMER_REQUIRE_2FA
Solicită 2FA pentru operatori
bool
0
imediat
Cere un al doilea factor (TOTP/passkey) pentru operatori. Când este activat, operatorilor fără 2FA li se propune configurarea imediat la autentificare (fără blocare, ca proprietarul să nu rămână niciodată blocat afară). Se aplică imediat.
AIHUMMER_REQUIRE_SECURE
Acceptă doar conexiuni securizate (HTTPS/WSS)
bool
0
după repornire
Când este activat, cererile HTTP simple sunt redirecționate către HTTPS (pentru GET/HEAD) sau respinse (403); accesul de pe localhost este mereu permis, ca operatorul să nu rămână blocat afară. Ține cont de X-Forwarded-Proto de la un reverse-proxy care termină TLS. Se aplică la pornire/după repornire.
AIHUMMER_TRUSTED_PROXIES
Proxy-uri de încredere
list
—
imediat
Dacă în fața serverului se află un proxy (nginx, Caddy, echilibrator), introduceți adresa sau rețeaua lui, separate prin virgulă, de ex. 10.0.0.0/8. Atunci jurnalul de acțiuni, lista de IP-uri permise și protecția împotriva ghicirii parolei vor vedea adresa reală a vizitatorului. Gol — contează doar adresa conexiunii directe și nu poate fi falsificată.
Tools
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_BROWSER_ALLOWED_HOSTNAMES
Browser: excepții pentru gazde private
list
—
imediat
Nume exacte separate prin virgulă, fără metacaractere, URL-uri sau porturi. Excepții private suplimentare pentru CDP nativ pe server propriu, separate de web_fetch.
AIHUMMER_BROWSER_ALLOW_PRIVATE_NETWORK
Browser: permite rețeaua privată
bool
—
imediat
Gol păstrează regula anterioară; true sau false activează CDP nativ verificat. Acces privat doar pe server propriu. Loopback, link-local și metadatele rămân blocate.
AIHUMMER_BROWSER_PROFILE_SOCKET
Socket de control pentru profilurile browserului
text
—
imediat
Opțional. Lasă gol — gateway-ul găsește singur managed-profiles.sock al serviciului de browser în locul standard de instalare. Profilurile cu autentificare pe site-uri se creează în Conexiuni → Profiluri de browser. Nu este un URL și nici calea unui profil sursă.
AIHUMMER_CODE_EXEC
Executarea codului de către agent
enum: off \\| host \\| sandbox
off
imediat
Instrumentul agentului pentru execuția codului (code_exec). Implicit «Dezactivat». «Pe acest server»: comenzile rulează pe serverul gateway-ului; sandboxul sistemului de operare (bubblewrap) ascunde secretele instalării, dar un agent în modul «Fără restricții» vede cheile SSH și poate scrie în afara folderului său — doar pentru un server de încredere. «Doar într-un sandbox»: mereu în sandboxul sistemului de operare — secretele și cheile sunt ascunse, se scrie doar în folderul agentului; fără bubblewrap (sau o imagine de container) acest mod nu poate fi salvat. Ce poate rula fiecare agent se setează la agent: Agenți → profil → Instrumente.
AIHUMMER_CODE_EXEC_INTERPRETERS
Interpretoare code-exec (JSON)
text
—
imediat
Obiect JSON {language: path_to_binary}, de ex. {\“python\”:\“/usr/bin/python3\”}. Gol = detectare automată.
AIHUMMER_CODE_EXEC_NET_PORTS
Porturi de rețea deschise codului agentului
list
53,80,443
imediat
Porturile TCP la care se poate conecta codul agentului în sandboxul sistemului de operare (execuția codului și comenzile programărilor), separate prin virgule. Implicit 53, 80 și 443: DNS și site-uri web. Celelalte servicii ale acestui server și ale rețelei sale locale (baza de date, panoul de administrare, browserul, adb, modelele locale, Home Assistant) rămân închise codului agentului. Un port din listă este deschis la orice adresă, inclusiv la acest server, așa că adăugați doar ce îi trebuie codului, de exemplu 22 pentru SSH. Scrieți any pentru a ridica limita. Agenții în modul «Fără restricții» nu sunt limitați. Necesită Linux 6.7 sau mai nou; fără el limita nu se aplică, iar Agenți → Instrumente arată asta. Se aplică imediat.
AIHUMMER_CODE_EXEC_READ_DIRS
Foldere deschise codului agentului (doar citire)
list
—
imediat
Folderele de pe acest server pe care codul agentului le poate citi: execuția codului și comenzile programărilor în sandboxul sistemului de operare. Separate prin virgule sau câte unul pe rând, de exemplu ~/reports. Puteți indica și un singur fișier, de exemplu ~/scripts/report.py. Ce se deschide aici este vizibil pentru codul tuturor agenților, așa că deschideți doar ce îi trebuie codului. Gol implicit: în sandbox codul vede doar folderul propriului agent și folderele de sistem; folderul personal al utilizatorului gateway-ului, datele instalării, folderele altor agenți, cheile și istoricul comenzilor rămân ascunse. Rădăcina, întregul folder personal, datele instalării și locurile cu chei nu pot fi deschise. Codul nu poate scrie în aceste foldere. Se aplică imediat.
AIHUMMER_CODE_EXEC_SANDBOX_IMAGE
Imagine sandbox code-exec
text
—
imediat
Opțional, doar pentru «Doar într-un sandbox»: o imagine de container Docker în locul sandboxului sistemului de operare (fără rețea, rădăcină doar în citire, limite); necesită Docker pe server. Gol = sandboxul sistemului de operare (bubblewrap).
AIHUMMER_CODE_EXEC_TIMEOUT_SECONDS
Limita de timp pentru executarea codului (secunde)
int
1800
imediat
Cât poate rula o comandă a agentului, inclusiv cele din fundal: de la 10 secunde la 24 de ore. O comandă care nu a răspuns în 30 de secunde nu este oprită, ci trece în fundal, unde agentul o verifică cu instrumentul process. Agentul poate cere o limită mai scurtă, niciodată una mai lungă.
AIHUMMER_DB_QUERY_DSN
Conexiune la baza de date pentru instrumentul de interogare
text
—
imediat
Șirul de conexiune la o bază de date pe care agentul o poate citi (doar citire), de ex. postgres://reader:parola@host/db. Folosiți un utilizator cu drepturi minime — nu proprietarul bazei. Gol — instrumentul e dezactivat.
AIHUMMER_FS_ROOT
Rădăcina instrumentului pentru sistemul de fișiere
text
—
imediat
Folderul în care agentul citește fișierele serverului (filesystem_read; agenții nu pot scrie fișiere). Gol = întregul server cu drepturile utilizatorului gateway-ului, cu excepția secretelor: setările instalării (gateway.env), cheile SSH/GPG și mediile proceselor. Indicați un folder pentru a restrânge accesul.
AIHUMMER_HTTP_ALLOWLIST
Adrese pentru cererile HTTP ale agentului
list
—
imediat
Lista de gazde separate prin virgulă la care instrumentul http_request se poate conecta. Gol = sunt permise toate, cu excepția adreselor interne și private.
AIHUMMER_HTTP_AUTH_JSON
Autentificare http_request (JSON)
text
—
imediat
Hartă JSON care asociază gazda cu antetele de autorizare pentru instrumentul http_request, astfel încât tokenurile să nu fie păstrate în prompt. Gol = fără autorizare.
AIHUMMER_MCP_SERVERS
Servere MCP (JSON)
text
—
imediat
Descrierea JSON a serverelor MCP externe ale căror instrumente sunt atașate agentului. Gol = niciun MCP extern.
AIHUMMER_PROJECT_STUDIOS_PUBLIC_NETWORK
Studiouri de proiecte: rețea publică
bool
false
imediat
Permiteți HTTP(S) public pentru furnizorii aleși și descărcările de modele solicitate explicit. Adresele private, locale și de metadate rămân blocate. Modul offline are prioritate. Se aplică imediat.
AIHUMMER_SIDECAR_CLOAKBROWSER
Browser pentru agent (CloakBrowser)
bool
0
imediat
Browser anti-detecție (instrumente CloakBrowser, browser/computer). Ce NU este inclus în pachetul de livrare: includerea descarcă add-on-ul semnat (~477 MiB, din care Chromium ~207 MiB) și instalează serviciul pe gazdă. Cel mai greu dintre sidecar - activați numai dacă agentul trebuie să deschidă site-uri web.
AIHUMMER_SIDECAR_SEARXNG
Căutare web (SearXNG)
bool
0
imediat
Căutare pe web (instrument SearXNG, web_search). NU este inclus în pachet: pornirea descarcă add-on-ul semnat (~154 MiB) și instalează serviciul pe gazdă, oprirea îl oprește și eliberează spațiu. Instalarea are loc în fundal și durează câteva minute; starea de aici arată ce este de fapt pe server.
AIHUMMER_WEBFETCH_ALLOWLIST
Site-uri pe care agentul le poate deschide
list
—
imediat
Lista de domenii separate prin virgulă la care instrumentul web_fetch se poate conecta. Gol = sunt permise toate, cu excepția adreselor interne și private.
AIHUMMER_WEB_SEARCH_LANGUAGE
Căutare web: limba implicită a rezultatelor
text
auto
imediat
Limba rezultatelor când agentul nu o indică: un cod precum ru, en sau de, sau auto pentru a o deduce din interogare (potrivit aproape întotdeauna). Agentul poate alege altă limbă pentru o căutare anume.
AIHUMMER_WEB_SEARCH_RESULTS
Căutare web: rezultate per căutare
int
5
imediat
Câte rezultate returnează o căutare când agentul nu cere alt număr: de la 1 la 10. Mai multe rezultate dau un răspuns mai complet, dar un context mai lung.
AIHUMMER_WEB_SEARCH_SOURCE
Sursa căutării web
enum: auto \\| searxng \\| provider
auto
imediat
Unde caută agentul pe internet (unealta web_search). auto — SearXNG dacă este instalat, altfel căutarea integrată a furnizorului modelului. searxng — doar SearXNG: fără el nu există căutare. provider — căutarea integrată a furnizorului acolo unde există, iar SearXNG pentru celelalte modele. Căutare integrată au Codex (abonament ChatGPT) și OpenAI (api.openai.com); GigaChat, YandexGPT și alte modele compatibile OpenAI nu au — fără SearXNG, agenții pe aceste modele nu caută. Claude (api.anthropic.com și abonamentul Claude) folosește căutarea integrată Anthropic; dacă contul o refuză, gateway-ul notează asta în jurnal și apoi îi oferă agentului doar SearXNG. Ce agenți au voie să caute se setează, ca înainte, în fișa agentului. Se aplică de la tura următoare.
AIHUMMER_WEB_SEARCH_TIMEOUT_SECONDS
Timp de căutare web (secunde)
int
30
imediat
1–600 de secunde pentru fiecare căutare. Termenul mai scurt al sarcinii rămâne valabil.
Updates
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_RESTART_APPLY
Aplică setările care necesită repornire
enum: quiet \\| manual
quiet
imediat
quiet (implicit) — setările salvate care intră în vigoare doar la o nouă pornire a gateway-ului se aplică singure: gateway-ul repornește în următorul moment liniștit, când agenții nu fac nimic și oamenii tac cel puțin cât fereastra de liniște. manual — doar marcajul „așteaptă repornirea” și butonul. O repornire durează câteva secunde; conversațiile și sarcinile nu se pierd. Se aplică imediat.
AIHUMMER_RESTART_QUIET_MINUTES
Moment liniștit: minute de liniște înaintea unei reporniri automate
int 0…1440
10
imediat
Câte minute trebuie să tacă oamenii (și să fie agenții inactivi) înainte ca gateway-ul să repornească singur pentru a aplica setările salvate. 0 — imediat ce agenții își termină lucrul curent. 0–1440. Se aplică imediat.
Web UI (separate port)
Cheie
Denumire
Tip
Implicit
Intră în vigoare
Ce face
AIHUMMER_WEBUI_API_BASE
Adresa serverului pentru un panou găzduit separat
text
—
după repornire
Necesar doar dacă panoul se deschide de la altă adresă decât serverul însuși. Indicați adresa la care browserul ajunge la server, de ex. https://api.example.com. Gol — se folosește adresa publică a serverului sau, dacă lipsește, cea locală.
AIHUMMER_WEBUI_ENABLED
Panou pe un port separat
bool
1
după repornire
Activat — panoul se deschide pe un port intern separat, pe care îl puteți închide față de internet, iar portul public deservește doar aplicațiile și canalele. Dezactivați pentru ca panoul să fie complet indisponibil.
AIHUMMER_WEBUI_ORIGIN
Adresa la care se deschide panoul
text
—
după repornire
Completați dacă panoul se deschide printr-un proxy sau cu un nume diferit de adresa portului său, de ex. https://admin.example.com. Serverul va permite unui browser de la acea adresă să comunice cu el. Gol — se folosește adresa portului panoului.
Setări disponibile operatorului: 237.
Aici sunt enumerate toate setările pe care operatorul le poate schimba pe un server AiHummer. Pagina este generată din catalogul produsului, deci corespunde exact serverului dumneavoastră.
Valoarea se stabilește în interfața web sau cu comanda `aihummer settings set KEY VALUE` ([Linia de comandă](/ro/v1.4/reference/cli/)). Coloana valorii implicite arată ce folosește serverul până când stabiliți valoarea proprie.
> [!NOTE]
> Valorile secrete nu sunt tipărite aici, iar cheile de serviciu ale furnizorului nu sunt enumerate deloc — produsul le ascunde din toate listele. Linia de pauză înseamnă valoare goală sau o explicație afișată doar în interfața web.
## API
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_PERSONAL_API_KEYS` | Chei API personale pentru API compatibil OpenAI | `bool` | `1` | după repornire | «off» dezactivează autentificarea cu chei personale pe endpointul compatibil OpenAI. Orice altă valoare = activat. Se aplică la pornire/după repornire. |
## Agent
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AGENT_ANNOUNCE_SLOW_TOOLS` | Agent: să anunțe înaintea acțiunilor lungi | `bool` | `1` | imediat | Înaintea unei acțiuni lungi (o imagine, o căutare aprofundată, un video, o sarcină pentru un subagent), agentul scrie pe scurt ce face, ca așteptarea să nu fie tăcută. Dezactivați dacă asemenea mesaje deranjează. |
| `AIHUMMER_AGENT_COMPACT_AT_PCT` | Agent: compactează istoricul de la, % din bugetul său | `int 50…99` | `85` | imediat | Când istoricul unei conversații umple această parte din locul său în fereastra modelului, mesajele mai vechi sunt rezumate — în fundal, după răspuns; tura nu așteaptă. Mai jos — compactare mai des, dar modelul reține mai puțin cuvânt cu cuvânt; mai sus — mai rar, dar turele sunt mai grele. 50–99; un agent își poate seta propria valoare. |
| `AIHUMMER_AGENT_COMPACT_TO_PCT` | Agent: păstrează după compactare, % din bugetul istoricului | `int 10…90` | `50` | imediat | Cât din locul istoricului rămâne cuvânt cu cuvânt după compactare; tot ce e mai vechi intră în rezumat. Trebuie să fie sub pragul de compactare: distanța dintre ele arată câte ture trec până la următoarea compactare. 10–90; un agent își poate seta propria valoare. |
| `AIHUMMER_AGENT_HISTORY_TURNS` | Agent: ture de dialog păstrate cuvânt cu cuvânt | `int 1…1000` | `30` | imediat | Câte ture recente ale unei conversații vede modelul cuvânt cu cuvânt (până la încă 10 până la comprimare). Mesajele mai vechi sunt rezumate în fundal; conversația în sine nu se șterge niciodată. Fereastra de context a modelului este respectată automat. 1–1000; un agent își poate seta propria valoare. |
| `AIHUMMER_AGENT_MAX_ITERATIONS` | Agent: număr maxim de pași cu instrumente pe tură | `int 1…256` | `25` | imediat | De câte ori pe tură poate un agent apela instrumente înainte de a răspunde. La limită tura nu eșuează: agentul raportează ce a făcut și ce a rămas, iar dumneavoastră îi puteți cere să continue. Trei apeluri identice la rând cu același rezultat opresc tura mai devreme. 1–256; un agent își poate seta propria valoare. |
| `AIHUMMER_AGENT_MEMORY_FLUSH` | Agent: salvează o notă în memorie înainte de comprimare | `bool` | `1` | imediat | Înainte ca mesajele vechi să fie condensate într-un rezumat, agentul salvează în memorie o notă scurtă despre obiective, decizii și sarcini deschise. Dezactivați pentru a economisi apelul la model. |
| `AIHUMMER_AGENT_MEMORY_FLUSH_PROMPT` | Agent: ce păstrează nota dinaintea condensării | `text` | — | imediat | Propria sarcină pentru nota dinaintea condensării: ce să păstreze din mesajele care intră în rezumat (de exemplu, „notează doar cumpărăturile, termenele și înțelegerile”). Gol — cea integrată: obiective, decizii, sarcini deschise. Protecția nu se poate dezactiva: textul conversației rămâne date, nu instrucțiuni, iar parolele și cheile nu sunt salvate. Până la 4000 de caractere; un agent poate avea propria sarcină. |
| `AIHUMMER_AGENT_NEW_REMINDERS_MEMORY` | Agenți noi: mementouri și scriere în memorie | `bool` | `1` | imediat | Un agent nou creat manual (asistentul de primă pornire, „Creează agent”, API) setează, modifică și anulează din prima tură PROPRIILE mementouri și programări și scrie fapte în propria memorie – ca șablonul de asistent personal. Pentru un singur agent se dezactivează din fișa lui (Capabilități). Șabloanele din bibliotecă decid singure, o copie păstrează drepturile originalului, agenții creați de alt agent pornesc fără ele; agenții existenți nu se schimbă. Se aplică următorului agent creat. |
| `AIHUMMER_AGENT_PROMPT_PART_MAX_CHARS` | Agent: număr maxim de caractere pe parte de prompt | `int 1000…1000000` | `20000` | imediat | Câte caractere primește modelul dintr-O parte a personalității agentului: o secțiune de profil, o parte de prompt sau promptul principal. O parte mai lungă își păstrează începutul (3/4) și sfârșitul (1/4), cu o notă despre cât s-a tăiat; acest lucru se vede în fișa conversației și în compoziția promptului agentului. Numele, formula de adresare și restricțiile personalității nu se taie niciodată. 1000–1000000; un agent poate avea propria valoare. |
| `AIHUMMER_AGENT_PROMPT_TOTAL_MAX_CHARS` | Agent: număr maxim de caractere pentru întreaga personalitate | `int 1000…2000000` | `60000` | imediat | Plafonul total al personalității agentului: toate părțile împreună. Când este depășit, părțile cele mai lungi cedează primele spațiu, iar cele scurte rămân întregi. 1000–2000000; un agent poate avea propria valoare. |
| `AIHUMMER_AGENT_SELF_INTRO` | Agent: să se prezinte | `enum: first_contact \\\| each_dialog \\\| never` | `first_contact` | imediat | „O dată, la prima întâlnire”: agentul se prezintă scurt în prima conversație cu o persoană, dacă aceasta nu vrea să treacă direct la subiect; cu cineva cunoscut nu se mai prezintă și răspunde natural la salut. „Nu se prezintă”: agentul nu își spune niciodată numele din proprie inițiativă. „La începutul fiecărei conversații noi“ — la începutul fiecărei conversații noi și după o pauză lungă, pe scurt și fără rezumatul chestiunilor trecute. Un agent poate alege altfel în fișa sa («Context și comportament»). |
| `AIHUMMER_AGENT_SESSION_IDLE_RESET_MINUTES` | Agent: reia conversația de la zero după o tăcere (minute) | `int 0…525600` | `360` | imediat | Pentru „după o tăcere” și „în fiecare zi și după o tăcere”: dacă o persoană scrie după o tăcere mai lungă decât aceasta, agentul reia conversația de la zero. Se aplică agenților fără valoare proprie pe fișa lor. 0 — nu după tăcere. 0–525600; 360 = 6 ore, 1440 = o zi. |
| `AIHUMMER_AGENT_SESSION_INDEX_MAX_ENTRIES` | Agent: păstrează în listă cel mult atâtea sesiuni | `int 0…100000` | `0` | imediat | Cele mai liniștite ies primele; nu se șterge nimic. 0 — fără limită. 0–100000. Se aplică agenților fără valoare proprie pe fișa lor. |
| `AIHUMMER_AGENT_SESSION_INDEX_PRUNE_DAYS` | Agent: scoate din lista de sesiuni după atâtea zile de liniște | `int 0…3650` | `0` | imediat | Nu se șterge nimic: conversația iese din listă și revine cu un mesaj nou. 0 — păstrează. 0–3650. Se aplică agenților fără valoare proprie pe fișa lor. |
| `AIHUMMER_AGENT_SESSION_RESET_AT_HOUR` | Agent: ora reînceperii zilnice | `int 0…23` | `4` | imediat | Pentru modurile „în fiecare zi”: o conversație începută înainte de această oră o ia de la capăt la următorul mesaj al persoanei. Ora urmează fusul orar al serverului (setarea „Fus orar” din Sistem și setări). 0–23; 4 înseamnă noaptea, când aproape nimeni nu scrie. |
| `AIHUMMER_AGENT_SESSION_RESET_GROUP_IDLE_MINUTES` | Agent: reia un chat de grup de la zero după o tăcere (minute) | `int 0…525600` | `0` | imediat | Pentru chaturile de grup în modurile „după o tăcere” și „în fiecare zi și după o tăcere”: minutele de tăcere după care un chat de grup reîncepe de la zero. 0 înseamnă ca la chaturile personale. 0–525600. |
| `AIHUMMER_AGENT_SESSION_RESET_GROUP_MODE` | Agent: când un chat de grup reîncepe de la zero | `enum: inherit \\\| daily \\\| idle \\\| both \\\| none` | `inherit` | imediat | O regulă separată pentru chaturile de grup (grupuri Telegram, conversații VK, chaturi MAX și altele): ca la chaturile personale, în fiecare zi la ora de resetare, după o tăcere, ce survine mai întâi, sau niciodată. Ora de resetare este comună. Se aplică agenților fără regulă proprie pe fișa lor. |
| `AIHUMMER_AGENT_SESSION_RESET_MODE` | Agent: când o conversație reîncepe de la zero | `enum: idle \\\| daily \\\| both \\\| none` | `idle` | imediat | Când agentul reia o conversație de la zero: în fiecare zi la ora de resetare (în fusul orar al instanței), după o tăcere, ce survine mai întâi, sau niciodată. Reluând de la zero, agentul scrie în memoria sa o notă despre conversația anterioară, iar prima sa tură primește rezumatul anterior și ultimele mesaje; mesajele rămân în arhivă și în căutare. Se aplică agenților fără regulă proprie pe fișa lor; acolo se poate stabili o regulă separată pentru conversațiile de grup. |
| `AIHUMMER_AGENT_SESSION_SCOPE` | Agent: unde ajung conversațiile personale | `enum: chat \\\| per-channel-peer \\\| per-peer` | `chat` | imediat | «Una per persoană» unește Telegram, aplicația și celelalte chaturi personale ale aceleiași persoane într-o singură conversație. Chaturile de grup își păstrează mereu propria conversație. Se aplică de la următorul mesaj. Se aplică agenților fără valoare proprie pe fișa lor. |
| `AIHUMMER_AGENT_SILENT_REPLY` | Agent: poate tăcea | `enum: groups \\\| all \\\| off` | `groups` | imediat | În chaturile de grup agentul poate tăcea dacă mesajul nu îi este adresat sau nu are nimic de adăugat; în conversațiile private răspunde mereu. Puteți permite tăcerea și în conversațiile private sau o puteți dezactiva. O tură tăcută nu trimite nimic, fișa conversației o marchează „agentul a tăcut”, iar modelul nu o vede în istoric. Se aplică de la următoarea tură. |
| `AIHUMMER_AGENT_SKILLS_PROMPT_MAX_CHARS` | Agent: număr maxim de caractere al listei de abilități din prompt | `int 1000…200000` | `18000` | imediat | La fiecare pas modelul nu vede textele abilităților, ci lista lor: identificator, nume și când se aplică; instrucțiunea unei abilități o încarcă agentul singur, când sarcina se potrivește. Dacă lista e mai lungă, se elimină întâi descrierile, apoi finalul listei — pe celelalte agentul le găsește la cerere. 1000–200000. |
| `AIHUMMER_AGENT_STALE_GAP_HOURS` | Agent: pauza după care discuția trecută devine istoric (ore) | `int 0…8760` | `12` | imediat | Dacă cineva scrie după o pauză mai lungă decât aceasta, agentul primește o notă: tot ce s-a discutat înainte este istoric — nu se repovestește și sarcinile vechi nu se reiau fără cerere. Fiecare mesaj poartă deja ora sa și cât timp a trecut de la cel anterior. 0 = fără notă. 0–8760. |
| `AIHUMMER_AGENT_TOOL_HISTORY_TURNS` | Agent: ture care păstrează rezultatele instrumentelor | `int 0…100` | `5` | imediat | Pentru câte ture recente vede modelul integral apelurile de instrumente și rezultatele lor (un rezultat se păstrează până la 16 KB). Turele mai vechi păstrează apelul și începutul rezultatului. Astfel agentul își amintește ce a găsit și ce a făcut, în loc să cheme din nou instrumentele. 0 = nu se transferă rezultatele în turele următoare. 0–100; un agent își poate seta propria valoare. |
| `AIHUMMER_APPROVAL_TOOLS` | Instrumente care necesită aprobare | `multiselect` | — | imediat | Lista de instrumente separate prin virgulă ale căror apeluri necesită confirmarea manuală a operatorului înainte de execuție. Gol = nu este necesară nicio confirmare. Se aplică imediat, fără repornire. |
| `AIHUMMER_SUBAGENT_MAX_DEPTH` | Adâncime maximă a subagenților | `int 0…10` | `2` | imediat | Adâncimea maximă de imbricare a subagenților (un agent care lansează un agent). Implicit 2 — protecție împotriva recursivității infinite. |
| `AIHUMMER_SUBAGENT_TIMEOUT_SEC` | Timeout subagent (secunde) | `int 0…86400` | `180` | imediat | Timpul maxim pentru o singură rulare de subagent, în secunde. |
| `AIHUMMER_TOOL_SEARCH` | Încărcarea leneșă a instrumentelor | `bool` | `false` | imediat | Arată direct nucleul de lucru al instrumentelor și ascunde restul unui catalog mare în spatele unui instrument de căutare care numește fiecare instrument ascuns. Merită doar pentru cataloage mari (zeci de instrumente de pluginuri, MCP sau OpenAPI): sub pragul de mărime toate instrumentele sunt afișate direct, pentru că un apel suplimentar la model pentru a găsi un instrument costă mai mult decât schemele. Se aplică de la tura următoare. |
| `AIHUMMER_TOOL_SEARCH_CORE` | Încărcare leneșă: instrumente mereu active | `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` | imediat | Instrumente afișate mereu direct în modul leneș. Implicit, nucleul de lucru: căutare web, citirea paginilor, memorie, istoricul conversației, baza de cunoștințe, cod, fișiere, mesaje, programări și asocierea aplicației. Căutarea în memorie și în baza de cunoștințe (memory_search, memory_get, search_knowledge) este afișată mereu, indiferent de această listă. O listă goală restabilește acest nucleu. |
| `AIHUMMER_TOOL_SEARCH_MIN_POOL_TOKENS` | Încărcarea leneșă a instrumentelor: mărimea minimă a celor ascunse (tokeni) | `int 0…1000000` | `4000` | imediat | Ascunde instrumentele doar dacă schemele din afara nucleului însumează cel puțin atâția tokeni (cam 4 caractere fiecare). Sub prag, toate instrumentele sunt afișate direct: un apel suplimentar la model pentru a găsi un instrument costă mai mult decât afișarea schemelor. |
| `AIHUMMER_TOOL_SEARCH_THRESHOLD` | Încărcare leneșă: minim instrumente pentru amânare | `int 0…1000` | `12` | imediat | Amână încărcarea doar dacă, după filtrul de profil al agentului, rămân mai multe instrumente decât acest număr. |
## Agent · Reasoning
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AGENT_BEST_OF_N` | Cel mai bun din N: numărul de candidați | `int 0…8` | `0` | imediat | Agentul pregătește atâtea răspunsuri candidate și îl păstrează pe cel mai bun. 0 sau 1 — dezactivat, de la 2 — activat. Fiecare candidat costă cât un răspuns separat. |
| `AIHUMMER_AGENT_DEBATE_JUDGE_PROMPT` | Dezbatere: prompt judecător (suprascriere) | `text` | — | imediat | Suprascrie promptul judecătorului de dezbatere (gol = cel încorporat). |
| `AIHUMMER_AGENT_DEBATE_N` | Dezbatere: numărul de răspunsuri candidate | `int 0…8` | `0` | imediat | Agentul pregătește atâtea răspunsuri candidate, le compară și îl dă pe cel mai bun. 0 sau 1 — dezactivat, de la 2 — activat. Fiecare candidat costă cât un răspuns separat. |
| `AIHUMMER_AGENT_DEBATE_PROMPT` | Dezbatere: prompt candidat (suprascriere) | `text` | — | imediat | Suprascrie promptul candidatului la dezbatere (gol = cel încorporat). |
| `AIHUMMER_AGENT_DEBATE_ROUNDS` | Dezbatere: runde | `int 1…10` | `1` | imediat | Numărul de runde de dezbatere pentru panelul de candidați. |
| `AIHUMMER_AGENT_JUDGE_PROMPT` | Prompt judecător best-of-N (suprascriere) | `text` | — | imediat | Suprascrie promptul judecătorului best-of-N (gol = cel încorporat). |
| `AIHUMMER_AGENT_PLAN_PROMPT` | Prompt planificator (suprascriere) | `text` | — | imediat | Suprascrie promptul planificatorului (gol = cel încorporat). |
| `AIHUMMER_AGENT_PLAN_STEPS` | Planificator-executor: pași maximi de plan (0=dezactivat) | `int 0…32` | `0` | imediat | ⟩0 rulează o trecere separată planificator→executor→sinteză (utilă pentru sarcini complexe, în mai mulți pași). 0 dezactivează. Uzual 4–8. |
| `AIHUMMER_AGENT_PLAN_STEP_ITERS` | Planificator: iterații de instrumente per pas (0=implicit) | `int 0…64` | `0` | imediat | Limitează iterațiile de apelare a instrumentelor pentru fiecare pas din plan. 0 = valoarea implicită încorporată (4). |
| `AIHUMMER_AGENT_REFLECT` | Etapă de autocritică | `bool` | `0` | imediat | Adaugă o trecere de reflecție/autocritică înainte de răspunsul final. |
| `AIHUMMER_AGENT_REFLECT_PROMPT` | Prompt de reflecție (suprascriere) | `text` | — | imediat | Suprascrie promptul de autocritică (gol = cel încorporat). |
| `AIHUMMER_AGENT_SELF_HEAL` | Autoremediere: reîncercări la erori de instrumente (0=dezactivat) | `int 0…10` | `0` | imediat | ⟩0 reia apelurile de instrumente eșuate cu o indicație corectivă, până la această limită. |
## Agent · System prompt
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_LOCALE` | Locală implicită | `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` | imediat | Limba/localizarea implicită sugerată pentru răspunsuri, de ex. ru-RU. Instrucțiunile personei/operatorului au prioritate. |
| `AIHUMMER_TIMEZONE` | Fus orar | `text` | `UTC` | imediat | Fusul orar IANA pentru data curentă a agentului și pentru programările fără fus propriu, de ex. Europe/Moscow. Implicit UTC. |
## Channels
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_CHANNEL_FAILURE_NOTICE` | Anunță interlocutorul când un răspuns eșuează | `enum: always \\\| once \\\| off` | `always` | imediat | Ce primește interlocutorul pe un canal (Telegram și altele) când agentul n-a putut răspunde: „De fiecare dată” — un mesaj scurt în limba lui; „Cel mult o dată la 4 ore” — un mesaj per conversație în 4 ore; „Nu anunța” — nimic. Mesajul nu conține coduri de eroare sau nume de furnizori; detaliile le vedeți în Sesiuni și în notificări. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_BLOCKED` | Mesaj de eșec: instanța este suspendată | `text` | — | imediat | Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_BUDGET` | Mesaj de eșec: bugetul proprietarului s-a epuizat | `text` | — | imediat | Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_BUSY` | Mesaj de eșec: gateway-ul este suprasolicitat | `text` | — | imediat | Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_CONFIG` | Mesaj de eșec: conexiunea modelului necesită proprietarul | `text` | — | imediat | Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_FAILED` | Mesaj de eșec: alt eșec | `text` | — | imediat | Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_QUOTA` | Mesaj de eșec: limita de utilizare a modelului s-a epuizat | `text` | — | imediat | Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_STEP_LIMIT` | Mesaj de eșec: sarcina nu a încăput într-un singur răspuns | `text` | — | imediat | Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_TOO_LONG` | Mesaj de eșec: conversația este prea lungă pentru model | `text` | — | imediat | Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_UNAVAILABLE` | Mesaj de eșec: modelul este temporar indisponibil | `text` | — | imediat | Lăsați gol pentru a trimite mesajul integrat în limba persoanei. Textul dvs. se trimite așa cum e scris, în limba în care îl scrieți; {ref} inserează codul răspunsului, după care găsiți tura în Sesiuni. Se aplică imediat. |
| `AIHUMMER_CONFIDENTIAL_PERSONA` | Persoană web confidențială | `bool` | `0` | imediat | Când este activat, agentul de chat web nu dezvăluie și nu păstrează detaliile personei/identității sale și răspunde strict la sarcina curentă — folosiți-l pentru implementări web anonime sau sensibile la confidențialitate. Se aplică imediat, fără repornire. |
| `AIHUMMER_INBOUND_COALESCE_MS` | Fereastra de grupare a mesajelor (ms) | `int` | `500` | imediat | Mai multe mesaje pe care o persoană le trimite la rând în același chat (mesaje scurte, un album foto, o corectură rapidă) primesc UN singur răspuns dacă pauza dintre ele este mai scurtă decât această fereastră. Mesajele sosite în timp ce se pregătește un răspuns primesc răspuns imediat după el, niciodată în paralel. Implicit 500 ms; 0 = fără așteptare între mesaje separate; un album foto este totuși adunat (pauze de până la 3 s, cel mult 20 s) ca să primească un singur răspuns. Gruparea funcționează în Telegram; Slack, WhatsApp, VK, e-mailul și alți conectori care așteaptă răspuns la fiecare mesaj (și integrările prin /v1/inbound/generic) primesc câte un răspuns la fiecare mesaj — tot pe rând, în ordine. Se aplică imediat. |
| `AIHUMMER_INBOUND_EDIT_MODE` | Când cineva editează un mesaj la care s-a răspuns deja | `enum: correct \\\| history` | `correct` | imediat | correct — botul răspunde din nou, știind că e o corectură („înainte / acum”); history — editarea corectează doar istoricul conversației, fără răspuns nou (util pentru greșeli de tastare). Editarea unui mesaj la care botul nu a răspuns încă îi înlocuiește mereu doar textul. Funcționează acolo unde canalul raportează editările (Telegram). Se aplică imediat. |
| `AIHUMMER_INBOUND_QUEUE_MODE` | Mesaje scrise în timp ce agentul lucrează | `enum: steer \\\| collect \\\| followup` | `steer` | imediat | Ce se întâmplă cu un mesaj pe care aceeași persoană îl trimite cât timp agentul încă pregătește un răspuns (caută, rulează instrumente): steer (implicit) — agentul îl vede înainte de pasul următor și îl ia în seamă în același răspuns; collect — i se răspunde cu următorul răspuns. followup — fiecare astfel de mesaj primește, pe rând, propriul răspuns. Fotografiile, fișierele, răspunsurile la un mesaj și redirecționările așteaptă întotdeauna următorul răspuns. Se aplică imediat. |
| `AIHUMMER_INBOUND_REQUIRE_BINDING` | Răspunde doar utilizatorilor înregistrați | `bool` | `true` | imediat | true = botul ignoră orice expeditor din canal care NU este un utilizator AiHummer înregistrat (un utilizator cu o asociere de rol) — membrii oarecare ai chatului și invocările de tip oaspete nu primesc răspuns. false (implicit) = răspunde tuturor. |
## Integrations
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_A2A_PUBLISH` | Publică agentul prin Agent2Agent (A2A) | `bool` | `0` | după repornire | Publică agentul ca server A2A (Agent Card + POST /a2a/message). Se aplică la pornire/după repornire. |
| `AIHUMMER_MCP_EXPORT_TOOLS` | Instrumente deschise asistenților externi | `multiselect` | — | după repornire | O listă explicită de nume de instrumente permise pentru clienții externi MCP, separate prin virgule. Gol = nu publicați niciun instrument. Clasele periculoase la nivel de gazdă sunt în plus interzise de politica încorporată, chiar dacă sunt listate. Se aplică la pornire/după repornire. |
| `AIHUMMER_MCP_PUBLISH` | Publică instrumentele prin MCP | `bool` | `0` | după repornire | Permite asistenților externi (de ex. Claude Desktop) să folosească instrumentele agenților dvs. Ce instrumente se deschid se alege în setarea vecină: cât timp lista e goală, nu se deschide niciunul. |
| `AIHUMMER_MODULE_CPU_QUOTA` | Limita de procesor a pluginului (pentru fiecare) | `text` | `75%` | imediat | Ce parte din procesor poate folosi fiecare plugin (systemd CPUQuota): 75% înseamnă trei sferturi dintr-un nucleu, 150% — un nucleu și jumătate. Pluginul primește noua valoare la următoarea instalare, actualizare sau salvare a setărilor sale; până atunci pluginurile care rulează păstrează limita anterioară. |
| `AIHUMMER_MODULE_MEMORY_MAX` | Limita de memorie a pluginului (pentru fiecare) | `text` | `512M` | imediat | Câtă memorie poate folosi fiecare plugin (systemd MemoryMax): o dimensiune precum 512M, 1G sau 2048M (cel puțin 64M) sau infinity pentru fără limită. Sistemul oprește pluginul care o depășește. Pluginul primește noua valoare la următoarea instalare, actualizare sau salvare a setărilor sale; până atunci pluginurile care rulează păstrează limita anterioară. |
## Knowledge connectors
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_KB_SYNC_INTERVAL` | Cât de des se actualizează baza de cunoștințe din surse | `text` | — | imediat | Cât de des preia serverul singur modificările din sursele conectate ale bazei de cunoștințe. De exemplu: 30m — la fiecare 30 de minute, 6h — la fiecare 6 ore. Gol sau 0 — doar manual. Reîncărcarea nu creează duplicate. Un export Slack se încarcă manual. |
## LLM
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AUX_FALLBACK_MODELS` | Sarcini de serviciu: modele de rezervă | `list` | — | imediat | Modele separate prin virgulă, încercate în ordine când modelul de serviciu eșuează (cotă, avarie). Modelul principal este încercat mereu ultimul, ca rezumatul să nu se piardă. Fiecare comutare este înregistrată în jurnal. Se aplică imediat. |
| `AIHUMMER_AUX_MODEL` | Model pentru sarcini de serviciu (rezumate, note, titluri) | `text` | — | imediat | Model pentru sarcinile de serviciu din fundal: comprimarea istoricului vechi într-un rezumat, nota de memorie dinaintea comprimării, titlurile conversațiilor, extragerea faptelor, reformularea interogărilor de căutare și traducerea. Gol = automat: un model mai ieftin de la același furnizor (Claude → claude-haiku-4-5, Codex → gpt-…-luna/mini); dacă nu există, modelul principal. „main” = mereu modelul principal. Se aplică imediat. |
| `AIHUMMER_CASCADE_MIN_CHARS` | Cascadă: minim caractere pentru escaladare | `int` | `0` | imediat | Pragul de lungime a cererii (caractere) de la care intră în joc modelul mai puternic din cascadă. 0 = implicit. |
| `AIHUMMER_CASCADE_STRONG_MODEL` | Cascadă: model de rezervă mai puternic | `text` | — | imediat | Modelul către care se face cascada pentru cereri lungi/complexe (gol = dezactivat). |
| `AIHUMMER_CLAUDE_AUTH_URL` | Abonament Claude: adresa paginii de autentificare | `text` | — | imediat | Pagina pe care permiteți conectarea abonamentului Claude. Gol — adresa standard; schimbați-o doar dacă vă cere asistența. |
| `AIHUMMER_CLAUDE_CLIENT_ID` | Abonament Claude: ID client OAuth | `text` | — | imediat | Identificatorul aplicației pentru autentificarea cu abonamentul Claude. Gol — cel standard; schimbați-l doar dacă vă cere asistența. |
| `AIHUMMER_CLAUDE_EFFORT` | Claude: profunzimea raționamentului | `enum: low \\\| medium \\\| high \\\| xhigh \\\| max` | `medium` | imediat | Cât de profund gândesc modelele Claude înainte de a răspunde, când agentul nu stabilește acest lucru. Mai sus e mai precis la sarcini dificile, dar mai lent și consumă mai multă cotă; mai jos e mai rapid și mai ieftin. Un model care nu cunoaște nivelul ales primește cel mai apropiat nivel inferior; Haiku 4.5 și modelele mai vechi nu suportă raționamentul. Profunzimea stabilită la agent are prioritate. Se aplică de la tura următoare. |
| `AIHUMMER_CLAUDE_MAX_TOKENS` | Claude: lungimea maximă a răspunsului (tokenuri) | `int` | `16000` | imediat | Câte tokenuri poate ocupa un răspuns Claude — atât prin abonament, cât și prin cheie. Raționamentul modelului intră în aceeași limită: o valoare prea mică taie răspunsul la jumătatea frazei sau dă un răspuns gol. Dacă un agent are propria lungime de răspuns, se aplică aceea. |
| `AIHUMMER_CLAUDE_REDIRECT_URI` | Abonament Claude: URI de redirecționare | `text` | — | imediat | Adresă de retur înregistrată la furnizor. Trebuie să se potrivească cu ceea ce este configurat pe partea sa, altfel schimbul de cod este respins. |
| `AIHUMMER_CLAUDE_TOKEN_URL` | Abonament Claude: adresa de acces | `text` | — | imediat | Adresa la care serverul obține și reînnoiește accesul la abonamentul Claude. Gol — adresa standard; schimbați-o doar dacă vă cere asistența. |
| `AIHUMMER_CODEX_BASE_URL` | URL de bază Codex | `text` | — | parțial după repornire | Baza transportului Codex (abonament ChatGPT). Se aplică la pornire/după repornire. |
| `AIHUMMER_CODEX_MAX_OUTPUT_TOKENS` | Tokenuri de ieșire maxime (0 = fără limită) | `int` | `0` | imediat | Limita max_output_tokens pentru o tură de chat. 0 = fără limită. La modelele de raționament, tokenii de raționament se scad tot din acest buget, așa că o valoare prea mică duce la un răspuns gol „incomplete: max_output_tokens”. Se aplică din mers (fără repornire). |
| `AIHUMMER_CODEX_MODEL` | ID model (transport Codex / gpt-5.5) | `text` | `gpt-5.5` | parțial după repornire | Id-ul modelului pentru transportul principal Codex/ChatGPT (de ex. gpt-5.5, gpt-5.5-codex). Se aplică la pornire/după repornire. |
| `AIHUMMER_CODEX_REASONING_EFFORT` | Efort de raționament | `enum: none \\\| low \\\| medium \\\| high \\\| xhigh` | `medium` | imediat | Cât de profund gândește modelul ChatGPT (Codex) înainte de răspuns, dacă agentul nu o setează. Implicit — „Mediu”. Mai sus înseamnă mai precis, dar mai lent și mai scump. |
| `AIHUMMER_LLM_CALL_TIMEOUT_S` | Timeout per apel (secunde) | `int` | `120` | imediat | Câte secunde se așteaptă răspunsul modelului la o cerere. Dacă modelul tace mai mult, cererea e întreruptă și răspunsul trece la următorul model din listă. Pentru Claude se numără pauza din fluxul de răspuns, nu tot răspunsul: un răspuns lung care continuă nu e tăiat. 0 — fără limită. |
| `AIHUMMER_LLM_FALLBACK_MODELS` | Modele de rezervă (toți agenții) | `text` | `auto` | imediat | Cine răspunde când modelul principal și ceilalți furnizori eșuează (limită de utilizare atinsă, defecțiune, prea multe cereri). auto — modelul mai ieftin al fiecărui furnizor ca ultimă soluție (Claude: claude-haiku-4-5, Codex: gpt-…-luna/mini); o listă separată prin virgule — ordinea dvs., fiecare model merge la furnizorii producătorului său; off — fără modele de rezervă. Modelul de rezervă propriu al unui agent are prioritate. Se aplică imediat. |
| `AIHUMMER_LLM_GATEWAY_URL` | URL gateway LLM | `text` | — | parțial după repornire | URL-ul de bază al endpointului de model compatibil OpenAI pe care îl apelează agentul (serverul dvs. local llama.cpp/vLLM/Ollama sau un gateway găzduit). Lăsați gol pentru a folosi endpointul implicit al furnizorului. |
| `AIHUMMER_LLM_MODEL` | Model LLM | `text` | — | parțial după repornire | Numele/id-ul modelului trimis furnizorului la fiecare tură (modelul pe care îl servește endpointul dvs.). Trebuie să corespundă unui model pe care endpointul chiar îl expune. |
| `AIHUMMER_LLM_PAUSE_AUTH_MIN` | Pauza după respingerea credențialelor, min | `int` | `10` | imediat | Câte minute nu întrebăm un furnizor care a respins credențialele. O repetare dublează pauza, dar nu peste de șase ori prima. Un test de conexiune reușit sau butonul „Reia acum” readuce furnizorul imediat. Se aplică de la următorul eșec. |
| `AIHUMMER_LLM_PAUSE_MODEL_MIN` | Pauza unui model pe care furnizorul nu îl servește, min | `int` | `60` | imediat | Câte minute nu oferim unui furnizor un model despre care a spus că nu îl servește; celelalte modele ale lui sunt întrebate ca de obicei. Se aplică de la următorul eșec. |
| `AIHUMMER_LLM_PAUSE_QUOTA_MIN` | Pauza după epuizarea limitei, min | `int` | `300` | imediat | Câte minute nu întrebăm modelul (sau întregul cont, când s-a epuizat limita contului — Codex, o cheie OpenAI, plata) după ce limita de utilizare s-a epuizat, iar furnizorul nu a numit ora resetării. O repetare dublează pauza, dar nu mai mult de o zi. Termenul numit de furnizor are prioritate. Se aplică de la următorul eșec. |
| `AIHUMMER_LLM_PAUSE_SHORT_S` | Pauza furnizorului după o defecțiune, s | `int` | `30` | imediat | Câte secunde nu întrebăm furnizorul după o defecțiune, o conexiune căzută sau „prea multe cereri”. Al doilea eșec la rând dublează pauza, al treilea și următoarele o fac de zece ori mai lungă. Dacă furnizorul numește singur un termen, îl așteptăm. Se aplică de la următorul eșec. |
| `AIHUMMER_LLM_PROVIDER` | Furnizor LLM | `text` | — | parțial după repornire | Ce backend de model se folosește (un endpoint compatibil OpenAI sau transportul Codex/abonament ChatGPT). Decide cum sunt trimise și autentificate cererile. |
| `AIHUMMER_LLM_RETRIES` | Reîncercări LLM la eroare temporară | `int` | `3` | imediat | Numărul de reîncercări ale cererii LLM la o eroare tranzitorie. |
| `AIHUMMER_LLM_TEMPERATURE` | Temperatură | `text` | — | imediat | Cât de variate sunt răspunsurile modelului (0–2), dacă agentul nu o setează: mai mic — mai precis și previzibil, mai mare — mai viu. Gol — decide modelul. Modelele cu raționament (ChatGPT/Codex, Claude generația 5) nu o acceptă — lăsați câmpul gol pentru ele. |
| `AIHUMMER_LLM_TOP_P` | Top-p (eșantionare nucleus) | `text` | — | imediat | Încă un mod de a varia răspunsurile (0–1), dacă agentul nu îl setează. Gol — decide modelul. De obicei se setează doar unul: fie temperatura, fie acesta; modelele cu raționament nu îl acceptă. |
| `AIHUMMER_MODEL_GUARD_INTERVAL_MIN` | Verificarea modelului agentului: interval, min | `int` | `60` | imediat | Cât de des să se verifice că modelul fiecărui agent este oferit de un furnizor activat. Modelul agentului nu se schimbă niciodată: cât timp nimeni nu îl oferă, răspunde primul model din ordinea de răspuns care nu este în pauză, iar o notificare numește agenții — și încă una când modelul lor revine. Verificarea are loc întotdeauna la pornirea gateway-ului, iar 0 dezactivează doar repetarea. Un interval nou intră în vigoare în cel mult un minut. |
| `AIHUMMER_OPENAI_API` | Stil API OpenAI (chat \| responses) | `enum: \\\| chat \\\| responses` | — | parțial după repornire | chat = /chat/completions, responses = /responses. Gol = automat/implicit. Se aplică la pornire/după repornire. |
| `AIHUMMER_OPENAI_API_KEY` | Cheie API OpenAI nativ (implicită pentru instalare) | `text` | — | parțial după repornire | Cheia contului dvs. OpenAI pentru bucla nativă OpenAI (dacă folosiți OpenAI ca furnizor implicit). A nu se confunda cu BYOK per spațiu de lucru din pagina Modele. Se aplică la pornire/după repornire. |
| `AIHUMMER_OPENAI_BASE_URL` | URL de bază OpenAI nativ | `text` | — | după repornire | Baza API-ului compatibil OpenAI (de ex. https://api.openai.com/v1). Se aplică la pornire/după repornire. |
| `AIHUMMER_OPENAI_MODEL` | Model OpenAI nativ | `text` | — | după repornire | Modelul pentru bucla nativă OpenAI (când AIHUMMER_OPENAI_API_KEY este setat). Se aplică la pornire/după repornire. |
| `AIHUMMER_ROUTER_COMPLEX_MODEL` | Router: model pentru schimburi complexe | `text` | — | imediat | Modelul pentru cererile complexe ale unui agent fără model propriu (gol = nivel dezactivat). Se aplică de la următorul pas. |
| `AIHUMMER_ROUTER_SIMPLE_MODEL` | Router: model pentru schimburi simple | `text` | — | imediat | Modelul pentru cererile simple ale unui agent fără model propriu (gol = nivel dezactivat). Se aplică de la următorul pas. |
| `AIHUMMER_ROUTER_STANDARD_MODEL` | Router: model pentru schimburi standard | `text` | — | imediat | Modelul pentru cererile obișnuite ale unui agent fără model propriu (gol = nivel dezactivat). Se aplică de la următorul pas. |
| `AIHUMMER_SUBSCRIPTION_QUOTA_REFRESH_MIN` | Cotele abonamentelor: perioada de interogare, min | `int` | `15` | imediat | Cât de des întreabă panoul ChatGPT (Codex) despre ferestrele de cotă ale abonamentului: cel mult o dată pe perioadă, nu mai des de 5 minute și doar cât timp cotele sunt deschise; între interogări se afișează copia salvată. Claude nu este întrebat niciodată: limitele lui sunt estimarea noastră. Se aplică la următoarea deschidere a cotelor. |
## Media
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_DEEPGRAM_API_KEY` | Cheie API Deepgram | `text` | — | imediat | Cheia serviciului Deepgram — necesară dacă Deepgram recunoaște mesajele vocale. Dacă e goală, se folosește cheia comună de recunoaștere vocală din setarea vecină. Se aplică imediat. |
| `AIHUMMER_DEEPGRAM_DETECT_LANGUAGE` | Detectarea limbii Deepgram | `bool` | `0` | imediat | Detectează limba în loc să trimită o limbă fixă. Se aplică imediat. |
| `AIHUMMER_DEEPGRAM_MODEL` | Model Deepgram | `text` | `nova-2` | imediat | Modelul Deepgram (de ex. nova-2, nova-3, base). Depinde de accesul proiectului asociat cheii. Se aplică imediat. |
| `AIHUMMER_DEEPGRAM_PUNCTUATE` | Punctuație Deepgram | `bool` | `1` | imediat | Adaugă punctuație și majuscule. Se aplică imediat. |
| `AIHUMMER_DEEPGRAM_SMART_FORMAT` | Formatare inteligentă Deepgram | `bool` | `1` | imediat | Formatează numerele și datele recunoscute. Se aplică imediat. |
| `AIHUMMER_DEEPGRAM_URL` | URL de bază Deepgram | `text` | — | imediat | Baza API-ului Deepgram. Gol = https://api.deepgram.com. Se aplică imediat. |
| `AIHUMMER_IMAGE_BASE_URL` | URL de bază API imagini (rezervă OpenAI) | `text` | — | imediat | Baza API-ului /images când se lucrează cu o cheie OpenAI (gol = https://api.openai.com/v1). |
| `AIHUMMER_IMAGE_MODEL` | Model de generare a imaginilor | `text` | — | imediat | Modelul pentru image_generate (implicit gpt-image-2). |
| `AIHUMMER_MEDIA_MAX_UPLOAD_MB` | Dimensiune maximă de încărcare media (MB) | `int` | `256` | imediat | Cel mai mare fișier (fotografie, mesaj vocal, video) care poate fi încărcat odată, în megaocteți. Protejează discul serverului de umplere. Implicit 256. Se aplică imediat. |
| `AIHUMMER_SIDECAR_STT` | Recunoaștere vocală pe acest server (faster-whisper) | `bool` | `0` | imediat | Recunoașterea locală a vorbirii (faster-whisper). NU este inclus în pachet: activați descarcă suplimentul semnat (~620 MiB pentru toate versiunile de Python) și instalează serviciul pe gazdă. 🔴 Suplimentul este publicat printr-o decizie separată a furnizorului (pachetele sale poartă ffmpeg sub GPL); dacă nu este publicat pentru lansarea dvs., inclusiv va fi sincer și nu va sparge nimic. Plan cloud: recunoașterea este configurată de furnizor. |
| `AIHUMMER_SIDECAR_TTS` | Răspunsuri vocale (edge-tts) | `bool` | `0` | imediat | Sinteza vorbirii (edge-tts, voci Microsoft Edge). NU este inclus în pachet: activarea descarcă suplimentul semnat (~26 MiB) și instalează serviciul pe gazdă. Sinteza în sine merge online pentru voturi - „offline” aici se referă la instalarea pachetului, care nu funcționează. |
| `AIHUMMER_STT_API_KEY` | Cheie API STT (opțional) | `text` | — | imediat | Cheia de acces la serviciul de recunoaștere vocală, dacă o cere. Pentru un serviciu de pe acest server o setează instalatorul — nu trebuie schimbată. Se aplică imediat. |
| `AIHUMMER_STT_ENGINE` | Motor STT | `enum: auto \\\| faster-whisper \\\| deepgram \\\| codex \\\| off` | `auto` | imediat | Cu ce se transcriu mesajele vocale. Auto (implicit): Deepgram dacă cheia lui este setată, altfel serviciul local dacă este instalat (comutatorul de mai sus), altfel nimic — iar botul îi spune sincer expeditorului că încă nu poate asculta. faster-whisper: serviciul local sau un /v1/audio/transcriptions extern compatibil. deepgram: Deepgram în cloud cu cheia proprie. codex: abonamentul ChatGPT conectat (Modele → Conectează ChatGPT), consumă cota acestuia. off: nu transcrie. Se aplică imediat. |
| `AIHUMMER_STT_LANGUAGE` | Limbă STT | `text` | — | imediat | Limba de recunoaștere (BCP-47, de ex. ru/en). Folosită de motorul deepgram (modelul nova-2). Gol = detectare automată / valoarea implicită a motorului. Se aplică imediat. |
| `AIHUMMER_STT_MODEL` | Model STT | `text` | `Systran/faster-whisper-small` | imediat | Modelul faster-whisper (de ex. small/medium/large-v3 sau Systran/faster-whisper-⟨size⟩). Se aplică imediat. |
| `AIHUMMER_TTS_API_KEY` | Cheie API TTS (edge-tts) | `text` | — | parțial după repornire | Cheia de acces la serviciul vocal. Se setează automat la instalare — nu trebuie schimbată. |
| `AIHUMMER_TTS_ENABLED` | Sinteză voce activată | `bool` | `1` | parțial după repornire | Permite agentului să răspundă vocal. Pentru aceasta e nevoie de serviciul vocal — îl instalați mai sus, în secțiunea Servicii suplimentare. |
| `AIHUMMER_TTS_MODEL` | Model TTS | `text` | — | parțial după repornire | Numele modelului pentru serviciul edge-tts. Se aplică la pornire/după repornire. |
| `AIHUMMER_TTS_VOICE` | Voce TTS | `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` | parțial după repornire | Vocea implicită edge-tts (multilingvă, inclusiv rusă). Se aplică la pornire/după repornire. |
| `AIHUMMER_VIDEO_API_KEY` | Cheie API analiză video | `text` | — | imediat | Cheia de acces la serviciul de analiză video, dacă o cere. Gol — serviciul se folosește fără cheie. |
## Media · Voice
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_TTS_AUTO_REPLY` | Răspunsuri vocale automate | `enum: off \\\| always \\\| inbound \\\| tagged` | `inbound` | imediat | Niciodată, întotdeauna, la primirea unui mesaj audio sau la marcarea explicită. Poate fi schimbat pentru fiecare conversație. |
| `AIHUMMER_TTS_MAX_CHARS` | Limită de caractere pentru voce | `int` | `0` | imediat | 0: text complet; 100–10000: limita textului rostit. Răspunsul complet rămâne în istoric. |
| `AIHUMMER_TTS_SUMMARIZE` | Rezumarea răspunsurilor vocale lungi | `bool` | `1` | imediat | Rezumă răspunsurile lungi pentru redare. La eroare, citește începutul în limita stabilită. |
| `AIHUMMER_VOICE_AEC` | Anulare a ecoului (AEC) | `bool` | `1` | imediat | Elimină ecoul: vocea proprie a agentului din difuzor nu ajunge înapoi în microfon și nu întrerupe conversația. Dezactivați doar dacă vocea sună distorsionat în căști. |
| `AIHUMMER_VOICE_AGC` | Control automat al amplificării | `bool` | `1` | imediat | Solicită controlul automat al amplificării microfonului (WebRTC autoGainControl) în modul vocal. |
| `AIHUMMER_VOICE_BARGEIN_FRAMES` | Întreruperea agentului: cât trebuie vorbit | `int` | `5` | imediat | Cât trebuie să vorbiți (în cadre de 20 ms) ca agentul să tacă și să asculte. Implicit 5 — aproximativ 0,1 secunde. |
| `AIHUMMER_VOICE_DUPLEX` | Voce full-duplex în timp real | `bool` | `0` | imediat | Activează modul full-duplex live (streaming + VAD + barge-in). Se aplică imediat. |
| `AIHUMMER_VOICE_NOISE_SUPPRESSION` | Suprimare a zgomotului | `bool` | `1` | imediat | Solicită reducerea zgomotului la captarea de la microfon (WebRTC noiseSuppression) în modul vocal. |
| `AIHUMMER_VOICE_VAD_THRESHOLD` | Sensibilitate la voce (0–1) | `text` | `0.02` | imediat | De la ce volum un sunet e considerat vorbire. Mai mic — mai sensibil: agentul aude vorbirea încetă, dar și zgomotul de fond. Implicit 0.02. |
## Memory
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_EMBEDDER_DIM` | Dimensiunea modelului de căutare după sens | `int` | `768` | după repornire | Dimensiunea vectorului — trebuie să corespundă modelului (multilingual-e5-base=768, bge-m3=1024). |
| `AIHUMMER_EMBEDDER_KEEPALIVE` | Keep-alive embedder | `text` | `5m` | după repornire | Cât timp rămâne încărcat modelul de căutare după sens după ultima cerere (doar în modul „După sens”). Implicit 5m — 5 minute: apoi modelul e descărcat și eliberează memoria și procesorul. Păstrarea permanentă (-1) nu e recomandată: un model blocat poate ocupa un nucleu zile întregi. Format: 30s, 5m, 1h. |
| `AIHUMMER_EMBEDDER_MODEL` | Model de căutare după sens | `text` | `yxchia/multilingual-e5-base` | după repornire | Modelul care permite căutarea în memorie după sens. Implicit multilingual-e5-base înțelege rusa, e ușor și rulează rapid pe un procesor obișnuit. Pentru calitate mai bună pe GPU se potrivește bge-m3, dar atunci setați dimensiunea din setarea vecină la 1024: numărul trebuie să corespundă modelului. |
| `AIHUMMER_EMBEDDER_PASSAGE_PREFIX` | Prefix de document al embedderului | `text` | — | după repornire | Suprascrie prefixul documentului stocat (modelele e5 folosesc automat „passage: ”). Lăsați gol pentru detectare automată după numele modelului. |
| `AIHUMMER_EMBEDDER_QUERY_PREFIX` | Prefix de interogare al embedderului | `text` | — | după repornire | Suprascrie prefixul interogării de căutare (modelele e5 folosesc automat „query: ”). Lăsați gol pentru detectare automată după numele modelului. |
| `AIHUMMER_EMBEDDER_THREADS` | Firele de procesor ale embedder-ului | `int 0…256` | `0` | după repornire | Câte fire de procesor ia modelul de căutare după sens pentru o cerere. 0 — automat: jumătate din firele serverului, dar cel puțin 2. Fără limită, recalcularea vectorilor bazei de cunoștințe pe un server slab ocupa ore întregi tot procesorul și încetinea răspunsurile agenților. Mai multe — recalculare mai rapidă, dar încărcare mai mare. |
| `AIHUMMER_MEMORY_AGENT_WRITES` | Fapte salvate de agentul însuși | `enum: strangers \\\| immediate \\\| review` | `strangers` | imediat | Ce se întâmplă cu ce reține agentul singur — de ex. la cererea „ține minte”. „Direct în memorie; de la străini — la verificare” (implicit) — direct în memorie dacă a spus-o proprietarul sau cercul de încredere al agentului; de la oricine altcineva — pentru verificare. „Direct în memorie” — agentul îl găsește imediat. „Pentru verificare” — întâi în coada Memorie → verificare; ajunge în răspunsuri doar după aprobarea dvs. Pe fișa agentului (Memorie → Setări) se poate alege un mod propriu. |
| `AIHUMMER_MEMORY_AUTOREPAIR` | Repararea automată a memoriei | `bool` | `1` | imediat | După autoverificare memoria este reparată: dublurile sunt comasate, contradicțiile cu un câștigător explicit sunt închise (confirmat de o persoană, dată a evenimentului mai recentă, sursă mai solidă), faptele marcate drept confirmate pe care nicio persoană nu le-a confirmat sunt reverificate după sursele lor (cele neconfirmate merg la verificare, nimic nu se șterge). Ce e disputat merge doar în coadă. Fiecare corecție este jurnalizată cu un buton de anulare; dacă după trecere memoria găsește mai prost, trecerea se anulează singură și primiți o notificare. Se aplică imediat, fără repornire. |
| `AIHUMMER_MEMORY_CAPTURE` | Mod de captare a memoriei | `enum: auto \\\| review \\\| off` | `review` | imediat | Ce se face cu faptele pe care agentul le observă singur în conversație după fiecare răspuns. „Pentru verificare” le pune în coada Memorie → verificare: ajung în răspunsuri doar după aprobarea dvs. „Direct în memorie” fără verificare: mai rapid, dar mai mult zgomot. „Nu salva” nu extrage nimic din conversații. Ce reține agentul la cerere se setează separat. |
| `AIHUMMER_MEMORY_CONTEXT_TIMEOUT` | Timeout de încărcare a memoriei | `text` | `3s` | imediat | Cât așteaptă agentul să găsească amintirile potrivite înainte de a începe răspunsul. Dacă căutarea nu reușește la timp, agentul răspunde fără ele în loc să se blocheze. De exemplu: 2s — 2 secunde, 1500ms — 1,5 secunde. 0 — așteaptă cât e nevoie. |
| `AIHUMMER_MEMORY_DIARY_BOOT` | Jurnalul agentului la începutul sesiunii | `bool` | `1` | imediat | La fiecare pas al unei sesiuni, pe orice canal, agentul are în vedere jurnalul său de azi și de ieri: note din sesiunile anterioare, rezumatul nocturn și intrările proprii ale agentului. Se afișează doar intrările despre interlocutorul curent și cele comune (ale dvs., încărcate) — un client nu le vede niciodată pe ale altuia. Cel mult ~6000 de caractere; restul îl citește agentul singur (memory_get). Se aplică imediat, fără repornire. |
| `AIHUMMER_MEMORY_DIARY_HOUR` | Ora rezumatului nocturn | `int` | `3` | imediat | După ce oră (0–23, fusul orar al instanței) se scrie rezumatul zilei trecute. Implicit 3 — noaptea, când conversațiile zilei s-au încheiat. Se aplică imediat, fără repornire. |
| `AIHUMMER_MEMORY_DIARY_NIGHTLY` | Rezumatul nocturn al zilei în jurnalul agentului | `bool` | `1` | imediat | O dată pe zi, se scrie în jurnalul agentului un rezumat al zilei trecute — separat pentru fiecare interlocutor (toate canalele acestuia împreună): ce s-a cerut și ce s-a făcut, înțelegeri, sarcini cu date. Un apel la modelul pentru sarcini de serviciu pentru fiecare agent și interlocutor, cel mult 3 pe trecere la fiecare 10 minute; zilele ratate se recuperează până la o săptămână în urmă. Conversațiile cu „nu reține” sunt omise. Nu se scrie cât timp captarea memoriei este dezactivată. Rezultatul ultimei treceri apare în fișa agentului → Memorie → Jurnal. Se aplică imediat, fără repornire. |
| `AIHUMMER_MEMORY_DREAM_INTERVAL` | Interval al etapei de „vis” | `string` | `1h` | imediat | Cât de des trecerea de autoîntreținere dream scanează afirmațiile verificate în căutarea contradicțiilor, în toate domeniile (durată Go, de ex. 30m/1h/6h). Setați 0 pentru dezactivare. Se aplică imediat, fără repornire. |
| `AIHUMMER_MEMORY_EXTRACT` | Extragere de fapte prin LLM | `bool` | `1` | imediat | Extrage prin LLM fapte normalizate subiect/predicat/obiect (implicit ACTIVAT) în loc să stocheze fragmente brute de propoziții — necesar pentru ca mecanismele de graf/contradicții/dream să funcționeze. Adaugă un apel LLM pentru fiecare mesaj capturat; dezactivați pentru a economisi acel apel. Se aplică imediat, fără repornire. |
| `AIHUMMER_MEMORY_MEANING_TIMEOUT` | Limita de timp a căutării după sens | `text` | `4s` | imediat | Cât așteaptă o căutare în memorie și în baza de cunoștințe căutarea după sens. Dacă modelul de sens este ocupat (de exemplu, calculează vectori după un import) și nu răspunde la timp, agentul primește imediat ce s-a găsit după cuvinte, cu o notă, în loc să aștepte zeci de secunde. De exemplu: 4s — 4 secunde, 1500ms — 1,5 secunde. 0 — se așteaptă cât este nevoie. Se aplică imediat, fără repornire. |
| `AIHUMMER_MEMORY_QUALITY_CHECK` | Autoverificarea zilnică a memoriei | `bool` | `1` | imediat | O dată pe zi memoria își pune întrebări de control despre faptele sale confirmate (până la 60 de fapte, aceleași întrebări în fiecare zi) și întrebări fără răspuns, le trece prin căutarea în memorie și prin reamintirea automată și măsoară regăsirea, precizia, MRR și reamintirile false. Rezultatul și graficul zilnic: Memorie → Calitatea memoriei. Întrebările despre faptele noi le scrie o singură dată modelul de serviciu (cel care extrage fapte din conversații; fără el — după un șablon); rezultatele rămân pe instanță. Se aplică imediat, fără repornire. |
| `AIHUMMER_MEMORY_RECALL` | Reamintire automată din memorie | `enum: strong \\\| always \\\| off` | `strong` | imediat | Dacă ce se găsește în memorie se adaugă automat la răspuns. „Doar potriviri puternice” — faptul trebuie să aibă cel puțin două cuvinte importante comune cu mesajul; saluturile și „ok” nu aduc nimic. „Tot ce seamănă” — tot ce s-a potrivit cumva, plus înregistrările legate: mai mult zgomot. „Nu adăuga” — agentul caută singur în memorie când consideră necesar. |
| `AIHUMMER_MEMORY_RECALL_MAX` | Fapte per răspuns | `int` | `5` | imediat | Numărul maxim de fapte din memorie adăugate într-un răspuns (implicit 5). Reformulările aceluiași fapt contează ca unul. Se aplică imediat, fără repornire. |
| `AIHUMMER_MEMORY_RECALL_MIN_SCORE` | Potrivire minimă pentru reamintirea automată, % | `int` | `10` | imediat | Ce proporție din cuvintele semnificative ale mesajului (ponderate după raritate) trebuie să acopere un fapt pentru a fi adăugat automat, în procente. Implicit 10 — calibrat pe conversații reale. Mai mare = mai rar și mai precis, mai mic = mai des și mai zgomotos. Nu afectează căutarea explicită memory_search. 0 = fără prag: ajung două cuvinte semnificative comune. Se aplică imediat, fără repornire. |
| `AIHUMMER_MEMORY_RECALL_MIN_SIMILARITY` | Similitudine minimă de sens pentru reamintirea automată, % | `int` | `86` | imediat | Doar pentru căutarea în memorie după sens (embedder): cât de apropiat ca sens de mesaj trebuie să fie un fapt pentru a fi adăugat automat, în procente de similitudine. Implicit 86 — ales pentru modelul multilingual-e5-base pe memorie reală: sub acest prag, fapte fără legătură se adaugă la aproape fiecare mesaj. Alte modele (de exemplu bge-m3) măsoară similitudinea altfel — alegeți o valoare cu „Întreabă memoria” din fișa agentului. 0 = fără prag. Nu afectează căutarea explicită memory_search. Se aplică imediat, fără repornire. |
| `AIHUMMER_MEMORY_RETRIEVAL` | Mod de recuperare a memoriei | `enum: fulltext \\\| embedding` | `fulltext` | după repornire | Cum caută agentul în memorie. „După cuvinte” — căutare obișnuită în text: funcționează imediat și nu încarcă serverul. „După sens” — găsește ce e apropiat ca sens, chiar spus altfel, dar necesită modelul de căutare după sens (secțiunea Servicii suplimentare) și o încărcare vizibilă a procesorului. |
| `AIHUMMER_QDRANT_API_KEY` | Cheie API Qdrant | `text` | — | după repornire | Cheia API Qdrant, dacă depozitul vectorial necesită autorizare. Este necesară doar când este setată adresa Qdrant. Se aplică la pornire/după repornire. |
| `AIHUMMER_QDRANT_URL` | URL Qdrant (stocare vectorială durabilă) | `text` | — | după repornire | Adresa depozitului Qdrant pentru căutarea după sens. Gol — datele de căutare sunt ținute în memorie și se pierd la repornirea serverului; setați o adresă pentru utilizare permanentă. |
| `AIHUMMER_RAG_QUERY_EXPANSION` | Reformulează cu modelul interogările bazei de cunoștințe | `bool` | `0` | imediat | Înainte de căutarea în baza de cunoștințe, cere modelului pentru sarcini de serviciu 3 reformulări ale interogării și caută cu toate. Uneori găsește mai mult, dar este un apel suplimentar la model la FIECARE căutare (cotă și întârziere); dacă modelul eșuează, se caută doar cu formularea inițială, iar eșecul apare în jurnal și în rezultatul căutării. Dezactivat implicit: cuvintele sunt găsite oricum prin căutarea în text integral. Se aplică imediat, fără repornire. |
| `AIHUMMER_RERANKER_URL` | URL sidecar de rerankare RAG | `text` | — | după repornire | URL-ul HTTP al serviciului sidecar cross-encoder pentru reordonarea căutării hibride. Gol = reordonare dezactivată. Se aplică la pornire/după repornire. |
## Moderation
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_MODERATION` | Moderare a intrărilor | `bool` | `1` | imediat | "off" dezactivează protecția încorporată împotriva jailbreak/prompt-injection. Orice altă valoare = activat. Se aplică imediat, fără repornire. |
| `AIHUMMER_MODERATION_REFUSAL` | Mesaj de refuz al moderării | `text` | — | imediat | Textul de refuz returnat când moderatorul blochează o cerere (gol = cel încorporat). Se aplică imediat, fără repornire. |
## Network
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_OUTBOUND_PROXY_CUSTOM_URL` | Proxy de ieșire: adresă proprie | `text` | — | imediat | URL proxy HTTPS; HTTP este permis doar pe loopback, fără cale, interogare sau fragment. Salvează adresa înainte de custom. Mascată în API; stocată în setările aplicației. |
| `AIHUMMER_OUTBOUND_PROXY_MODE` | Proxy de ieșire pentru furnizorii străini de modele | `enum: auto \\\| off \\\| custom` | `auto` | imediat | Cum ajunge serverul la furnizorii de modele din străinătate. „Ca la furnizor” — așa cum e setat în contul furnizorului; „Direct, fără proxy” — fără intermediari; „Prin propriul proxy” — prin adresa salvată mai jos. Funcționarea depinde de regulile fiecărui furnizor. |
| `AIHUMMER_RUSSIAN_TRUSTED_EXTRA_HOSTS` | Gazde în afara .ru pentru rădăcinile Ministerului Dezvoltării Digitale al Rusiei | `list` | — | după repornire | Lista gazdelor, separate prin virgule, care pot fi verificate de rădăcinile Ministerului Dezvoltării Digitale al Rusiei OVER domeniile rusești (.ru/.su/.рф - deja incluse). Este necesar dacă nodul dvs. cu certificatul Ministerului Dezvoltării Digitale al Rusiei locuiește pe un domeniu diferit. Potrivire după nume sau limita subdomeniului: example.com acoperă api.example.com. Gol = numai domenii rusești. Se aplică la pornire/după repornire. |
## Performance
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_CHANNEL_TURN_QUEUE_WAIT_SEC` | Așteptare la coadă: mesaj din canal (secunde) | `int 10…1200` | `600` | imediat | Cât așteaptă un mesaj din canal (Telegram și altele) un loc liber când toate locurile pentru ture sunt ocupate. Dacă nu primește unul la timp, persoana află că serverul e ocupat și poate scrie din nou. Așteptarea intră în limita de 30 de minute a turei. 10–1200. Se aplică imediat. |
| `AIHUMMER_MAX_ACTIVE_TURNS` | Ture de agenți rulate simultan (tot serverul) | `int 1…512` | `32` | imediat | Câte ture de agenți (răspunsuri în canale și în chatul web, programări) rulează serverul simultan. Restul așteaptă la coadă atât cât permit setările „Așteptare la coadă” de mai jos, iar persoana vede „server ocupat, la coadă”. O valoare mai mare înseamnă mai puțină așteptare, dar mai multă memorie, conexiuni la baza de date și cereri simultane către model. Jumătate din acest număr limitează apelurile auxiliare simultane ale modelului (extragerea memoriei, rezumate). 1–512. Se aplică imediat. |
| `AIHUMMER_SYNC_INBOUND_QUEUE_WAIT_SEC` | Așteptare la coadă: apel sincron de integrare (secunde) | `int 1…120` | `10` | imediat | Cât așteaptă un loc liber apelul unei integrări care așteaptă răspunsul în aceeași cerere, când toate locurile pentru ture sunt ocupate. Dacă nu primește unul, integrarea primește „server ocupat” cu sfatul de a reîncerca după același număr de secunde; o reîncercare cu același număr de mesaj nu îl salvează a doua oară. 1–120. Se aplică imediat. |
| `AIHUMMER_WEB_TURN_QUEUE_WAIT_SEC` | Așteptare la coadă: mesaj din chatul web (secunde) | `int 10…1200` | `180` | imediat | Cât așteaptă un mesaj din chatul web un loc liber când toate locurile pentru ture sunt ocupate. Între timp chatul arată „server ocupat, la coadă”; dacă nu primește unul la timp, răspunsul e refuzat cu butonul „Reîncearcă”, care rămâne în istoric și după reîncărcarea paginii. 10–1200. Se aplică imediat. |
## Public access
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_PUBLIC_URL` | Adresa publică a serverului | `text` | — | parțial după repornire | Adresa la care panoul și aplicațiile se deschid din internet, de ex. https://ai.example.com. Direcționați-o prin proxy-ul dvs. (nginx, Caddy) către portul serverului — implicit 8780. |
| `AIHUMMER_WIDGET_ALLOWED_ORIGINS` | Widget web: origini de site permise | `list` | — | imediat | Listă separată prin virgule de origini ale browserului cărora li se permite să încorporeze widgetul de chat web, de exemplu https://example.com,https://www.example.com. Schema și portul trebuie să coincidă exact. Gol = niciun site extern nu poate folosi widgetul. Intrarea `*` este ignorată intenționat, deoarece altfel orice pagină de pe internet ar putea cheltui bugetul acestei instanțe. |
| `POCKET_AGENT_GATEWAY_BASE_URL` | URL public al gateway-ului pocket-agent | `text` | — | imediat | Direcționați prin proxy → portul gateway-ului pocket-agent (POCKET_AGENT_PORT, implicit 8080). Agentul de la distanță se conectează aici printr-un tichet de unică folosință. |
| `TELEGRAM_PUBLIC_URL` | URL public al webhook-ului Telegram | `text` | — | imediat | Doar pentru modul webhook — direcționați prin proxy → portul telegram-connector (implicit 8091). Lăsați gol pentru modul polling (nu este necesar un URL public). |
## SSO (LDAP/AD)
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_LDAP_BASE_DN` | DN de bază pentru căutarea utilizatorilor | `text` | — | după repornire | Căutați rădăcină, de ex. OU=Utilizatori, DC=corp, DC=exemplu. |
| `AIHUMMER_LDAP_BIND_DN` | DN de serviciu pentru conectare | `text` | — | după repornire | Contul folosit pentru bind-ul inițial de căutare, de ex. CN=svc-aihummer,OU=Service,DC=corp,DC=example. Gol = căutare anonimă. |
| `AIHUMMER_LDAP_DEFAULT_ROLE` | LDAP: Rol implicit (fără potrivire de grup) | `text` | — | după repornire | Rolul acordat când niciun grup nu corespunde unei mapări. Gol = fără rol. |
| `AIHUMMER_LDAP_ENABLED` | Activare autentificare LDAP/AD | `bool` | `0` | după repornire | Când este activat, autentificările de administrator se pot face și prin director. Parola de bind se păstrează în Secrets (scope ldap, name bind_password). |
| `AIHUMMER_LDAP_GROUP_ATTR` | Atribut de grup (implicit memberOf) | `text` | — | după repornire | Atributul din intrarea utilizatorului care listează DN-urile grupurilor. Gol dezactivează maparea grup→rol. |
| `AIHUMMER_LDAP_ROLE_MAPPINGS` | LDAP: Corespondențe grup→rol (JSON) | `text` | — | după repornire | Obiect JSON cu DN-ul grupului (sau doar CN) → rol, de ex. {\\"CN=Admins,OU=Groups,DC=corp,DC=example\\":\\"admin\\",\\"Operators\\":\\"operator\\"}. |
| `AIHUMMER_LDAP_SKIP_TLS_VERIFY` | Omite verificarea TLS (doar pentru laborator, 1/0) | `bool` | `0` | după repornire | Dezactivează verificarea certificatului directorului. Nu activați niciodată în producție. |
| `AIHUMMER_LDAP_URL` | URL director | `text` | — | după repornire | de ex. ldaps://ad.corp.example:636 (TLS) sau ldap://dc1.corp.example:389. |
| `AIHUMMER_LDAP_USER_ATTR` | Atribut de autentificare (implicit sAMAccountName) | `text` | — | după repornire | Atributul LDAP/Active Directory comparat cu numele de utilizator tastat la autentificare (implicit sAMAccountName; uid pentru OpenLDAP, userPrincipalName pentru autentificări de tip UPN). |
| `AIHUMMER_LDAP_USER_FILTER` | Filtru de căutare a utilizatorilor | `text` | — | după repornire | Trebuie să conțină %s pentru numele de utilizator. AD: (sAMAccountName=%s); OpenLDAP: (uid=%s). |
## SSO (OIDC)
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_OIDC_AUDIENCE` | Audience OIDC | `text` | — | după repornire | Claimul `aud` așteptat — setați-l la audience-ul ACESTEI resurse pentru a respinge tokenurile emise pentru altă parte. Claimul `aud` este acum OBLIGATORIU implicit în fiecare token (un token fără aud este respins); când acesta este setat, aud trebuie să îl conțină și pe el. Puternic recomandat în producție. |
| `AIHUMMER_OIDC_ISSUER` | URL emitent OIDC | `text` | — | după repornire | Emitentul IdP (de ex. https://login.example.com). Când este setat, activează autentificarea OIDC JWT. |
| `AIHUMMER_OIDC_JWKS_URL` | URL JWKS OIDC | `text` | — | după repornire | Endpointul JSON Web Key Set folosit pentru verificarea semnăturilor tokenurilor. |
| `AIHUMMER_OIDC_TENANT_CLAIM` | Claim OIDC pentru spațiul de lucru | `text` | — | după repornire | Claimul JWT care poartă id-ul spațiului de lucru (de ex. tenant_id / org). |
## SSO (SAML)
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_SAML_DEFAULT_ROLE` | SAML: Rol implicit (fără potrivire de grup) | `text` | — | după repornire | Rolul acordat când nicio valoare aserționată nu se mapează. Gol = fără rol. |
| `AIHUMMER_SAML_ENABLED` | Activare SSO SAML 2.0 | `bool` | `0` | după repornire | Expune /saml/metadata, /saml/acs, /saml/login. Cheia privată a SP se păstrează în Secrets (scope saml, name sp_key). |
| `AIHUMMER_SAML_ENTITY_ID` | Entity ID al SP | `text` | — | după repornire | Entity ID-ul SP (implicit ⟨root⟩/saml/metadata dacă este gol). |
| `AIHUMMER_SAML_IDP_METADATA` | XML de metadate IdP | `text` | — | după repornire | Lipiți documentul de metadate SAML al IdP-ului (Okta/Azure AD/ADFS). |
| `AIHUMMER_SAML_ROLE_ATTRIBUTE` | Atribut de rol/grup (implicit groups) | `text` | — | după repornire | Atributul din aserțiune care poartă valorile de grup/rol. |
| `AIHUMMER_SAML_ROLE_MAPPINGS` | SAML: Corespondențe grup→rol (JSON) | `text` | — | după repornire | Obiect JSON cu valoarea aserționată → rol, de ex. {\\"AdminGroup\\":\\"admin\\",\\"Ops\\":\\"operator\\"}. |
| `AIHUMMER_SAML_ROOT_URL` | URL rădăcină SP | `text` | — | după repornire | URL-ul de bază al acestui gateway, accesibil din exterior, de ex. https://app.example.com. ACS = ⟨root⟩/saml/acs. |
| `AIHUMMER_SAML_SP_CERT` | Certificat SP (PEM) | `text` | — | după repornire | Certificatul public de semnare al SP (PEM). Cheia privată corespunzătoare se pune în Secrets (scope saml, name sp_key). |
## Schedules
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_SCHEDULE_AGENT_MAX_ACTIVE` | Agent: limita programărilor active | `int` | `20` | imediat | Câte programări active poate avea un agent atunci când creează sau activează singur o programare (cu instrumentele sale de programare). Programările create în panou se numără, dar panoul nu este refuzat niciodată. La limită, agentului i se cere să suspende sau să șteargă mai întâi una. Se aplică imediat. |
| `AIHUMMER_SCHEDULE_AGENT_MAX_FIRES_PER_DAY` | Agent: rulări de programări pe zi | `int` | `288` | imediat | De câte ori pe zi (UTC) pot rula în total toate programările unui agent, inclusiv cele create în panou și rulările manuale. Rulările peste limită sunt omise și apar în jurnalul rulărilor. Se aplică imediat. |
| `AIHUMMER_SCHEDULE_AGENT_MIN_INTERVAL_MINUTES` | Agent: intervalul minim al programării, minute | `int` | `5` | imediat | Cel mai scurt interval dintre două rulări ale unei programări recurente pe care un agent o creează sau o modifică singur. O programare mai frecventă este refuzată. Programările create în panou nu sunt limitate de aceasta. Se aplică imediat. |
| `AIHUMMER_SCHEDULE_COMMANDS` | Comenzi pe server în programări | `bool` | `0` | imediat | Permite unei programări să ruleze un program pe acest server — un colector, un raport, o verificare a copiei de rezervă. Implicit dezactivat. Rulează doar comenzile din «Comenzi permise», exact cum sunt scrise; nu există shell. Ieșirea merge la agent sau direct într-un chat, iar fiecare rulare apare în jurnalul programării. Se aplică imediat. |
| `AIHUMMER_SCHEDULE_COMMANDS_ALLOWLIST` | Comenzi permise | `argvlist` | — | imediat | Comenzile exacte pe care o programare le poate rula: programul (un nume ca df sau o cale completă) și argumentele sale. O programare rulează doar o comandă care se potrivește exact cu o intrare, inclusiv argumentele. Eliminarea unei comenzi oprește programările care o folosesc, iar rulările lor spun de ce. Se aplică imediat. |
| `AIHUMMER_SCHEDULE_COMMANDS_MAX_OUTPUT_KB` | Limita de ieșire a comenzilor programate, KB | `int 1…1024` | `64` | imediat | Cât din ieșirea unei comenzi (1–1024 KB) se păstrează în jurnal și se transmite agentului sau în chat; restul se taie, iar jurnalul o spune. Se aplică imediat. |
| `AIHUMMER_SCHEDULE_COMMANDS_SANDBOX` | Rulează comenzile programate în sandboxul sistemului | `bool` | `1` | imediat | Activat: comanda rulează în sandboxul sistemului, ca execuția de cod — secretele instalării și cheile SSH sunt ascunse, iar scrierea e permisă doar în propriul folder temporar. Fără sandbox (bubblewrap) pe server comanda nu rulează, iar jurnalul spune de ce. Dezactivat: rulează cu drepturile gateway-ului. Se aplică imediat. |
| `AIHUMMER_SCHEDULE_FAILURE_ADMIN` | Raportează administratorului sarcinile eșuate | `bool` | `1` | imediat | Când o sarcină programată eșuează sau nu poate porni, în clopoțelul de notificări al panoului apare o notificare cu numele ei, motivul și locul unde se repară, iar același mesaj ajunge în conversațiile de canal proprii ale proprietarilor (cel mult o dată la 6 ore pentru fiecare sarcină). Acesta se adaugă mesajului către destinatarul sarcinii. Dezactivat: administratorul află de eșecuri doar din jurnalul de rulări. Se aplică imediat. |
| `AIHUMMER_SCHEDULE_FAILURE_NOTIFY` | Anunță destinatarul când o sarcină eșuează | `bool` | `1` | imediat | Când o sarcină programată eșuează, același destinatar primește un mesaj scurt (după primul eșec, cel mult o dată la 6 ore). Dezactivat — eșecurile rămân doar în jurnalul de rulări. O sarcină poate dezactiva asta pentru sine în formularul ei. Se aplică imediat. |
## Security
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AIRGAPPED` | Mod izolat (fără internet) | `bool` | `0` | imediat | Interzice agenților să iasă pe internet: căutarea web, deschiderea paginilor și cererile ajung doar la adrese interne și la cele din listele permise. Activați pentru rețele închise fără acces în exterior. |
| `AIHUMMER_AUDIT_RETENTION_DAYS` | Câte zile se păstrează jurnalul de acțiuni | `int` | `0` | după repornire | Intrările mai vechi din jurnalul de audit și din istoricul modificărilor setărilor sunt șterse o dată pe zi. 0 sau gol — păstrează mereu. |
| `AIHUMMER_CORS_ORIGINS` | Origini CORS permise | `list` | — | după repornire | Listă de Origin permise, separate prin virgulă. Gol = CORS nepermis (doar same-origin). Se aplică la pornire/după repornire. |
| `AIHUMMER_CSP` | Antet Content-Security-Policy (suprascriere) | `text` | — | după repornire | Suprascrie antetul CSP. Gol = o valoare implicită sigură. Se aplică la pornire/după repornire. |
| `AIHUMMER_INBOUND_SECRET` | Cheia pluginurilor de canal către server | `text` | — | după repornire | Canalele conectate (Telegram, VK și altele) o folosesc pentru a dovedi că mesajele vin chiar de la ele. Se setează automat la instalare — nu trebuie schimbată. Dacă este goală, serverul refuză toate canalele până când se setează o cheie. |
| `AIHUMMER_OPENAI_COMPAT_KEY` | Intrare compatibilă OpenAI: cheie API statică | `text` | — | după repornire | O cheie comună pentru programele care se conectează la server ca la un serviciu compatibil OpenAI. Gol — cheia comună e dezactivată; se poate conecta cu chei personale de pe pagina Chei API. |
| `AIHUMMER_OPENAI_COMPAT_WORKSPACE` | Intrare compatibilă OpenAI: ID spațiu de lucru | `text` | — | după repornire | Id-ul spațiului de lucru către care se mapează autentificarea statică compatibilă OpenAI. Gol = AIHUMMER_DEFAULT_WORKSPACE_ID. Se aplică la pornire/după repornire. |
| `AIHUMMER_REQUIRE_2FA` | Solicită 2FA pentru operatori | `bool` | `0` | imediat | Cere un al doilea factor (TOTP/passkey) pentru operatori. Când este activat, operatorilor fără 2FA li se propune configurarea imediat la autentificare (fără blocare, ca proprietarul să nu rămână niciodată blocat afară). Se aplică imediat. |
| `AIHUMMER_REQUIRE_SECURE` | Acceptă doar conexiuni securizate (HTTPS/WSS) | `bool` | `0` | după repornire | Când este activat, cererile HTTP simple sunt redirecționate către HTTPS (pentru GET/HEAD) sau respinse (403); accesul de pe localhost este mereu permis, ca operatorul să nu rămână blocat afară. Ține cont de X-Forwarded-Proto de la un reverse-proxy care termină TLS. Se aplică la pornire/după repornire. |
| `AIHUMMER_TRUSTED_PROXIES` | Proxy-uri de încredere | `list` | — | imediat | Dacă în fața serverului se află un proxy (nginx, Caddy, echilibrator), introduceți adresa sau rețeaua lui, separate prin virgulă, de ex. 10.0.0.0/8. Atunci jurnalul de acțiuni, lista de IP-uri permise și protecția împotriva ghicirii parolei vor vedea adresa reală a vizitatorului. Gol — contează doar adresa conexiunii directe și nu poate fi falsificată. |
## Tools
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_BROWSER_ALLOWED_HOSTNAMES` | Browser: excepții pentru gazde private | `list` | — | imediat | Nume exacte separate prin virgulă, fără metacaractere, URL-uri sau porturi. Excepții private suplimentare pentru CDP nativ pe server propriu, separate de web_fetch. |
| `AIHUMMER_BROWSER_ALLOW_PRIVATE_NETWORK` | Browser: permite rețeaua privată | `bool` | — | imediat | Gol păstrează regula anterioară; true sau false activează CDP nativ verificat. Acces privat doar pe server propriu. Loopback, link-local și metadatele rămân blocate. |
| `AIHUMMER_BROWSER_PROFILE_SOCKET` | Socket de control pentru profilurile browserului | `text` | — | imediat | Opțional. Lasă gol — gateway-ul găsește singur managed-profiles.sock al serviciului de browser în locul standard de instalare. Profilurile cu autentificare pe site-uri se creează în Conexiuni → Profiluri de browser. Nu este un URL și nici calea unui profil sursă. |
| `AIHUMMER_CODE_EXEC` | Executarea codului de către agent | `enum: off \\\| host \\\| sandbox` | `off` | imediat | Instrumentul agentului pentru execuția codului (code_exec). Implicit «Dezactivat». «Pe acest server»: comenzile rulează pe serverul gateway-ului; sandboxul sistemului de operare (bubblewrap) ascunde secretele instalării, dar un agent în modul «Fără restricții» vede cheile SSH și poate scrie în afara folderului său — doar pentru un server de încredere. «Doar într-un sandbox»: mereu în sandboxul sistemului de operare — secretele și cheile sunt ascunse, se scrie doar în folderul agentului; fără bubblewrap (sau o imagine de container) acest mod nu poate fi salvat. Ce poate rula fiecare agent se setează la agent: Agenți → profil → Instrumente. |
| `AIHUMMER_CODE_EXEC_INTERPRETERS` | Interpretoare code-exec (JSON) | `text` | — | imediat | Obiect JSON {language: path_to_binary}, de ex. {\\"python\\":\\"/usr/bin/python3\\"}. Gol = detectare automată. |
| `AIHUMMER_CODE_EXEC_NET_PORTS` | Porturi de rețea deschise codului agentului | `list` | `53,80,443` | imediat | Porturile TCP la care se poate conecta codul agentului în sandboxul sistemului de operare (execuția codului și comenzile programărilor), separate prin virgule. Implicit 53, 80 și 443: DNS și site-uri web. Celelalte servicii ale acestui server și ale rețelei sale locale (baza de date, panoul de administrare, browserul, adb, modelele locale, Home Assistant) rămân închise codului agentului. Un port din listă este deschis la orice adresă, inclusiv la acest server, așa că adăugați doar ce îi trebuie codului, de exemplu 22 pentru SSH. Scrieți any pentru a ridica limita. Agenții în modul «Fără restricții» nu sunt limitați. Necesită Linux 6.7 sau mai nou; fără el limita nu se aplică, iar Agenți → Instrumente arată asta. Se aplică imediat. |
| `AIHUMMER_CODE_EXEC_READ_DIRS` | Foldere deschise codului agentului (doar citire) | `list` | — | imediat | Folderele de pe acest server pe care codul agentului le poate citi: execuția codului și comenzile programărilor în sandboxul sistemului de operare. Separate prin virgule sau câte unul pe rând, de exemplu ~/reports. Puteți indica și un singur fișier, de exemplu ~/scripts/report.py. Ce se deschide aici este vizibil pentru codul tuturor agenților, așa că deschideți doar ce îi trebuie codului. Gol implicit: în sandbox codul vede doar folderul propriului agent și folderele de sistem; folderul personal al utilizatorului gateway-ului, datele instalării, folderele altor agenți, cheile și istoricul comenzilor rămân ascunse. Rădăcina, întregul folder personal, datele instalării și locurile cu chei nu pot fi deschise. Codul nu poate scrie în aceste foldere. Se aplică imediat. |
| `AIHUMMER_CODE_EXEC_SANDBOX_IMAGE` | Imagine sandbox code-exec | `text` | — | imediat | Opțional, doar pentru «Doar într-un sandbox»: o imagine de container Docker în locul sandboxului sistemului de operare (fără rețea, rădăcină doar în citire, limite); necesită Docker pe server. Gol = sandboxul sistemului de operare (bubblewrap). |
| `AIHUMMER_CODE_EXEC_TIMEOUT_SECONDS` | Limita de timp pentru executarea codului (secunde) | `int` | `1800` | imediat | Cât poate rula o comandă a agentului, inclusiv cele din fundal: de la 10 secunde la 24 de ore. O comandă care nu a răspuns în 30 de secunde nu este oprită, ci trece în fundal, unde agentul o verifică cu instrumentul process. Agentul poate cere o limită mai scurtă, niciodată una mai lungă. |
| `AIHUMMER_DB_QUERY_DSN` | Conexiune la baza de date pentru instrumentul de interogare | `text` | — | imediat | Șirul de conexiune la o bază de date pe care agentul o poate citi (doar citire), de ex. postgres://reader:parola@host/db. Folosiți un utilizator cu drepturi minime — nu proprietarul bazei. Gol — instrumentul e dezactivat. |
| `AIHUMMER_FS_ROOT` | Rădăcina instrumentului pentru sistemul de fișiere | `text` | — | imediat | Folderul în care agentul citește fișierele serverului (filesystem_read; agenții nu pot scrie fișiere). Gol = întregul server cu drepturile utilizatorului gateway-ului, cu excepția secretelor: setările instalării (gateway.env), cheile SSH/GPG și mediile proceselor. Indicați un folder pentru a restrânge accesul. |
| `AIHUMMER_HTTP_ALLOWLIST` | Adrese pentru cererile HTTP ale agentului | `list` | — | imediat | Lista de gazde separate prin virgulă la care instrumentul http_request se poate conecta. Gol = sunt permise toate, cu excepția adreselor interne și private. |
| `AIHUMMER_HTTP_AUTH_JSON` | Autentificare http_request (JSON) | `text` | — | imediat | Hartă JSON care asociază gazda cu antetele de autorizare pentru instrumentul http_request, astfel încât tokenurile să nu fie păstrate în prompt. Gol = fără autorizare. |
| `AIHUMMER_MCP_SERVERS` | Servere MCP (JSON) | `text` | — | imediat | Descrierea JSON a serverelor MCP externe ale căror instrumente sunt atașate agentului. Gol = niciun MCP extern. |
| `AIHUMMER_PROJECT_STUDIOS_PUBLIC_NETWORK` | Studiouri de proiecte: rețea publică | `bool` | `false` | imediat | Permiteți HTTP(S) public pentru furnizorii aleși și descărcările de modele solicitate explicit. Adresele private, locale și de metadate rămân blocate. Modul offline are prioritate. Se aplică imediat. |
| `AIHUMMER_SIDECAR_CLOAKBROWSER` | Browser pentru agent (CloakBrowser) | `bool` | `0` | imediat | Browser anti-detecție (instrumente CloakBrowser, browser/computer). Ce NU este inclus în pachetul de livrare: includerea descarcă add-on-ul semnat (~477 MiB, din care Chromium ~207 MiB) și instalează serviciul pe gazdă. Cel mai greu dintre sidecar - activați numai dacă agentul trebuie să deschidă site-uri web. |
| `AIHUMMER_SIDECAR_SEARXNG` | Căutare web (SearXNG) | `bool` | `0` | imediat | Căutare pe web (instrument SearXNG, web_search). NU este inclus în pachet: pornirea descarcă add-on-ul semnat (~154 MiB) și instalează serviciul pe gazdă, oprirea îl oprește și eliberează spațiu. Instalarea are loc în fundal și durează câteva minute; starea de aici arată ce este de fapt pe server. |
| `AIHUMMER_WEBFETCH_ALLOWLIST` | Site-uri pe care agentul le poate deschide | `list` | — | imediat | Lista de domenii separate prin virgulă la care instrumentul web_fetch se poate conecta. Gol = sunt permise toate, cu excepția adreselor interne și private. |
| `AIHUMMER_WEB_SEARCH_LANGUAGE` | Căutare web: limba implicită a rezultatelor | `text` | `auto` | imediat | Limba rezultatelor când agentul nu o indică: un cod precum ru, en sau de, sau auto pentru a o deduce din interogare (potrivit aproape întotdeauna). Agentul poate alege altă limbă pentru o căutare anume. |
| `AIHUMMER_WEB_SEARCH_RESULTS` | Căutare web: rezultate per căutare | `int` | `5` | imediat | Câte rezultate returnează o căutare când agentul nu cere alt număr: de la 1 la 10. Mai multe rezultate dau un răspuns mai complet, dar un context mai lung. |
| `AIHUMMER_WEB_SEARCH_SOURCE` | Sursa căutării web | `enum: auto \\\| searxng \\\| provider` | `auto` | imediat | Unde caută agentul pe internet (unealta web_search). auto — SearXNG dacă este instalat, altfel căutarea integrată a furnizorului modelului. searxng — doar SearXNG: fără el nu există căutare. provider — căutarea integrată a furnizorului acolo unde există, iar SearXNG pentru celelalte modele. Căutare integrată au Codex (abonament ChatGPT) și OpenAI (api.openai.com); GigaChat, YandexGPT și alte modele compatibile OpenAI nu au — fără SearXNG, agenții pe aceste modele nu caută. Claude (api.anthropic.com și abonamentul Claude) folosește căutarea integrată Anthropic; dacă contul o refuză, gateway-ul notează asta în jurnal și apoi îi oferă agentului doar SearXNG. Ce agenți au voie să caute se setează, ca înainte, în fișa agentului. Se aplică de la tura următoare. |
| `AIHUMMER_WEB_SEARCH_TIMEOUT_SECONDS` | Timp de căutare web (secunde) | `int` | `30` | imediat | 1–600 de secunde pentru fiecare căutare. Termenul mai scurt al sarcinii rămâne valabil. |
## Updates
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_RESTART_APPLY` | Aplică setările care necesită repornire | `enum: quiet \\\| manual` | `quiet` | imediat | quiet (implicit) — setările salvate care intră în vigoare doar la o nouă pornire a gateway-ului se aplică singure: gateway-ul repornește în următorul moment liniștit, când agenții nu fac nimic și oamenii tac cel puțin cât fereastra de liniște. manual — doar marcajul „așteaptă repornirea” și butonul. O repornire durează câteva secunde; conversațiile și sarcinile nu se pierd. Se aplică imediat. |
| `AIHUMMER_RESTART_QUIET_MINUTES` | Moment liniștit: minute de liniște înaintea unei reporniri automate | `int 0…1440` | `10` | imediat | Câte minute trebuie să tacă oamenii (și să fie agenții inactivi) înainte ca gateway-ul să repornească singur pentru a aplica setările salvate. 0 — imediat ce agenții își termină lucrul curent. 0–1440. Se aplică imediat. |
## Web UI (separate port)
| Cheie | Denumire | Tip | Implicit | Intră în vigoare | Ce face |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_WEBUI_API_BASE` | Adresa serverului pentru un panou găzduit separat | `text` | — | după repornire | Necesar doar dacă panoul se deschide de la altă adresă decât serverul însuși. Indicați adresa la care browserul ajunge la server, de ex. https://api.example.com. Gol — se folosește adresa publică a serverului sau, dacă lipsește, cea locală. |
| `AIHUMMER_WEBUI_ENABLED` | Panou pe un port separat | `bool` | `1` | după repornire | Activat — panoul se deschide pe un port intern separat, pe care îl puteți închide față de internet, iar portul public deservește doar aplicațiile și canalele. Dezactivați pentru ca panoul să fie complet indisponibil. |
| `AIHUMMER_WEBUI_ORIGIN` | Adresa la care se deschide panoul | `text` | — | după repornire | Completați dacă panoul se deschide printr-un proxy sau cu un nume diferit de adresa portului său, de ex. https://admin.example.com. Serverul va permite unui browser de la acea adresă să comunice cu el. Gol — se folosește adresa portului panoului. |
Setări disponibile operatorului: 237.