Her er alle de indstillinger, operatøren kan ændre på en AiHummer-server. Siden dannes ud fra produktets eget katalog og svarer derfor til din server.
Værdien angives i webgrænsefladen eller med kommandoen aihummer settings set KEY VALUE (Kommandolinjen). Kolonnen med standardværdien viser, hvad serveren bruger, indtil en egen værdi er angivet.
[!NOTE]
Hemmelige værdier udskrives aldrig her, og leverandørens tjenestenøgler vises slet ikke — produktet skjuler dem på alle lister. En tankestreg betyder tom værdi eller en forklaring, der kun vises i webgrænsefladen.
API
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_PERSONAL_API_KEYS
Personlige API nøgler til OpenAI-compat
bool
1
efter genstart
“off” deaktiverer personlig nøglegodkendelse på det OpenAI-kompatible slutpunkt. Enhver anden værdi = aktiveret. Anvendes ved opstart/efter genstart.
Agent
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_AGENT_ANNOUNCE_SLOW_TOOLS
Agent: fortælle, hvad den gør, før lange handlinger
bool
1
straks
Før en lang handling (et billede, grundig søgning, en video, en opgave til en underagent) skriver agenten kort, hvad den gør, så ventetiden ikke er tavs. Slå fra, hvis sådanne beskeder er i vejen.
AIHUMMER_AGENT_COMPACT_AT_PCT
Agent: komprimér historikken fra, % af dens budget
int 50…99
85
straks
Når en samtales historik fylder denne andel af sin plads i modellens vindue, opsummeres ældre beskeder — i baggrunden, efter svaret; turen venter ikke. Lavere — komprimering oftere, men modellen husker mindre ordret; højere — sjældnere, men turene bliver tungere. 50–99; en agent kan angive sin egen værdi.
AIHUMMER_AGENT_COMPACT_TO_PCT
Agent: behold efter komprimering, % af historikbudgettet
int 10…90
50
straks
Hvor meget af historikkens plads der forbliver ordret efter komprimering; alt ældre går ind i opsummeringen. Skal være lavere end komprimeringstærsklen: afstanden mellem dem afgør, hvor mange ture der går til næste komprimering. 10–90; en agent kan angive sin egen værdi.
AIHUMMER_AGENT_HISTORY_TURNS
Agent: samtaleture der bevares ordret
int 1…1000
30
straks
Hvor mange af de seneste ture i en samtale modellen ser ordret (op til 10 flere, før der komprimeres). Ældre beskeder opsummeres i baggrunden; selve samtalen slettes aldrig. Modellens kontekstvindue tages automatisk i betragtning. 1–1000; en agent kan have sin egen værdi.
AIHUMMER_AGENT_MAX_ITERATIONS
Agent: maks. værktøjstrin pr. tur
int 1…256
25
straks
Hvor mange gange pr. tur en agent må kalde værktøjer, før den svarer. Ved grænsen fejler turen ikke: agenten fortæller, hvad der er gjort, og hvad der mangler, og du kan bede den fortsætte. Tre ens kald i træk med samme resultat stopper turen tidligere. 1–256; en agent kan have sin egen værdi.
AIHUMMER_AGENT_MEMORY_FLUSH
Agent: gem en hukommelsesnote før komprimering
bool
1
straks
Før ældre beskeder samles i et resumé, gemmer agenten en kort note om mål, beslutninger og åbne opgaver i hukommelsen. Slå fra for at spare modelkaldet.
AIHUMMER_AGENT_MEMORY_FLUSH_PROMPT
Agent: hvad notatet før komprimering gemmer
text
—
straks
Din egen opgave for notatet før komprimering: hvad der skal gemmes fra de beskeder, der går ind i resuméet (f.eks. „gem kun indkøb, frister og aftaler“). Tom — indbygget: mål, beslutninger og åbne opgaver. Beskyttelsen kan ikke slås fra: samtalens tekst forbliver data, ikke instrukser, og adgangskoder og nøgler gemmes aldrig. Op til 4000 tegn; en agent kan have sin egen.
AIHUMMER_AGENT_NEW_REMINDERS_MEMORY
Nye agenter: påmindelser og skrivning til hukommelsen
bool
1
straks
En ny agent oprettet manuelt (opsætningsguiden, „Opret agent“, API) opretter, ændrer og annullerer fra første tur sine EGNE påmindelser og planer og skriver fakta i sin egen hukommelse – som skabelonen for den personlige assistent. Slå det fra for en enkelt agent i dens kort (Evner). Biblioteksskabeloner bestemmer selv, en kopi beholder originalens rettigheder, agenter oprettet af en anden agent starter uden dem; eksisterende agenter ændres ikke. Gælder for den næste agent, der oprettes.
AIHUMMER_AGENT_PROMPT_PART_MAX_CHARS
Agent: maks. tegn pr. promptdel
int 1000…1000000
20000
straks
Hvor mange tegn modellen får fra ÉN del af agentens persona: en profilsektion, en promptdel eller hovedprompten. En længere del beholder begyndelsen (3/4) og slutningen (1/4) med en note om, hvor meget der er skåret væk; det vises i samtalekortet og i agentens promptsammensætning. Navn, tiltaleform og personabegrænsninger beskæres aldrig. 1000–1000000; en agent kan have sin egen værdi.
AIHUMMER_AGENT_PROMPT_TOTAL_MAX_CHARS
Agent: maks. tegn for hele personaen
int 1000…2000000
60000
straks
Samlet loft for agentens persona: alle dele tilsammen. Overskrides det, afgiver de længste dele plads først, og korte dele forbliver hele. 1000–2000000; en agent kan have sin egen værdi.
AIHUMMER_AGENT_SELF_INTRO
Agent: præsentere sig
enum: first_contact \\| each_dialog \\| never
first_contact
straks
»Én gang, ved første møde«: agenten præsenterer sig kort i den allerførste samtale med en person, medmindre personen vil direkte til sagen; for en, den allerede kender, præsenterer den sig ikke igen og besvarer en hilsen naturligt. »Aldrig præsentere sig«: agenten siger aldrig sit navn af sig selv. »I starten af hver ny samtale« — i starten af hver ny samtale og efter en lang pause, kort og uden et resumé af tidligere sager. En agent kan vælge anderledes på sit kort («Kontekst og adfærd»).
AIHUMMER_AGENT_SESSION_IDLE_RESET_MINUTES
Agent: start samtalen forfra efter stilhed (minutter)
int 0…525600
360
straks
For »efter stilhed« og »hver dag og efter stilhed«: skriver en person efter en længere stilhed end denne, starter agenten samtalen forfra. Gælder agenter uden egen værdi på deres kort. 0 — ikke efter stilhed. 0–525600; 360 = 6 timer, 1440 = én dag.
AIHUMMER_AGENT_SESSION_INDEX_MAX_ENTRIES
Agent: behold højst så mange sessioner på listen
int 0…100000
0
straks
De mest stille forlader listen først; intet slettes. 0 — ingen grænse. 0–100000. Gælder for agenter uden egen værdi på deres kort.
AIHUMMER_AGENT_SESSION_INDEX_PRUNE_DAYS
Agent: fjern fra sessionslisten efter så mange dages stilhed
int 0…3650
0
straks
Intet slettes: samtalen forlader listen og vender tilbage med en ny besked. 0 — behold. 0–3650. Gælder for agenter uden egen værdi på deres kort.
AIHUMMER_AGENT_SESSION_RESET_AT_HOUR
Agent: time for daglig start forfra
int 0…23
4
straks
For tilstandene »hver dag«: en samtale, der begyndte før denne time, starter forfra ved personens næste besked. Timen følger serverens tidszone (indstillingen »Tidszone« under System og indstillinger). 0–23; 4 er om natten, når næsten ingen skriver.
AIHUMMER_AGENT_SESSION_RESET_GROUP_IDLE_MINUTES
Agent: start en gruppechat forfra efter stilhed (minutter)
int 0…525600
0
straks
For gruppechats i tilstandene “efter stilhed” og “hver dag og efter stilhed”: minutterne med stilhed, hvorefter en gruppechat starter forfra. 0 betyder som for personlige chats. 0–525600.
AIHUMMER_AGENT_SESSION_RESET_GROUP_MODE
Agent: hvornår en gruppechat starter forfra
enum: inherit \\| daily \\| idle \\| both \\| none
inherit
straks
En særskilt regel for gruppechats (Telegram-grupper, VK-samtaler, MAX-chats og andre): som for personlige chats, hver dag på nulstillingstimen, efter stilhed, hvad der kommer først, eller aldrig. Nulstillingstimen er fælles. Gælder for agenter uden egen regel på deres kort.
AIHUMMER_AGENT_SESSION_RESET_MODE
Agent: hvornår en samtale starter forfra
enum: idle \\| daily \\| both \\| none
idle
straks
Hvornår agenten starter en samtale forfra: hver dag på nulstillingstimen (i instansens tidszone), efter en stilhed, det der kommer først, eller aldrig. Når agenten starter forfra, skriver den en note om den tidligere samtale i sin hukommelse, og dens første tur får det tidligere resumé og de seneste beskeder; beskederne bliver i arkivet og i søgningen. Gælder agenter uden egen regel på deres kort; der kan gruppechats få en særskilt regel.
AIHUMMER_AGENT_SESSION_SCOPE
Agent: hvor personlige samtaler havner
enum: chat \\| per-channel-peer \\| per-peer
chat
straks
«Én pr. person» samler Telegram, appen og andre personlige chats med samme person i én samtale. Gruppechats beholder altid deres egen. Gælder fra næste besked. Gælder for agenter uden egen værdi på deres kort.
AIHUMMER_AGENT_SILENT_REPLY
Agent: må tie
enum: groups \\| all \\| off
groups
straks
I gruppechats må agenten tie, når en besked ikke er rettet til den, eller den intet har at tilføje; i private chats svarer den altid. Du kan også tillade tavshed i private chats eller slå det fra. En tavs tur sender intet, samtalekortet markerer den som „agenten tav“, og modellen ser den ikke i historikken. Gælder fra næste tur.
AIHUMMER_AGENT_SKILLS_PROMPT_MAX_CHARS
Agent: maks. tegn for færdighedslisten i prompten
int 1000…200000
18000
straks
I hver tur ser modellen ikke færdighedernes tekster, men deres liste: id, navn og hvornår de skal bruges; agenten henter selv en færdigheds instruktion, når opgaven passer. Er listen længere, fjernes først beskrivelserne og derefter slutningen af listen — resten finder agenten på forespørgsel. 1000–200000.
AIHUMMER_AGENT_STALE_GAP_HOURS
Agent: pause, hvorefter tidligere samtale er historik (timer)
int 0…8760
12
straks
Skriver en person efter en pause længere end denne, får agenten en note: alt, der blev drøftet før, er historik — det genfortælles ikke, og gamle opgaver genoptages ikke uden anmodning. Hver besked bærer allerede sit tidspunkt og hvor lang tid der er gået siden den forrige. 0 = ingen note. 0–8760.
AIHUMMER_AGENT_TOOL_HISTORY_TURNS
Agent: ture der bevarer værktøjsresultater
int 0…100
5
straks
I hvor mange af de seneste ture modellen ser værktøjskald og deres resultater i fuld længde (et resultat gemmes op til 16 KB). Ældre ture beholder kaldet og begyndelsen af resultatet. Så husker agenten, hvad den fandt og gjorde, i stedet for at kalde værktøjerne igen. 0 = overfør ikke resultater til senere ture. 0–100; en agent kan tilsidesætte det.
AIHUMMER_APPROVAL_TOOLS
Værktøjer, der kræver godkendelse
multiselect
—
straks
Kommasepareret liste over værktøjer, hvis kald kræver manuel godkendelse fra operatøren, før de udføres. Tomt = ingen godkendelse er nødvendig. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_SUBAGENT_MAX_DEPTH
Subagent maks. dybde
int 0…10
2
straks
Maksimal indlejringsdybde for underagenter (en agent, der starter en agent). Standard 2 — beskyttelse mod uendelig rekursion.
AIHUMMER_SUBAGENT_TIMEOUT_SEC
Subagent timeout (sekunder)
int 0…86400
180
straks
Maksimal tid for en enkelt underagentkørsel i sekunder.
AIHUMMER_TOOL_SEARCH
Doven indlæsning af værktøjer
bool
false
straks
Viser værktøjernes arbejdskerne direkte og skjuler resten af et stort katalog bag et søgeværktøj, der navngiver hvert skjult værktøj. Kan kun betale sig for store kataloger (dusinvis af plugin-, MCP- eller OpenAPI-værktøjer): under størrelsesgrænsen vises alle værktøjer direkte, fordi et ekstra modelkald for at finde et værktøj koster mere end skemaerne. Gælder fra næste tur.
Værktøjer, der altid vises direkte i doven tilstand. Standard er arbejdskernen: websøgning, sidehentning, hukommelse, samtalehistorik, vidensbase, kode, filer, beskeder, tidsplaner og parring af appen. Søgning i hukommelse og vidensbase (memory_search, memory_get, search_knowledge) vises altid, uanset hvad listen indeholder. En tom liste gendanner kernen.
AIHUMMER_TOOL_SEARCH_MIN_POOL_TOKENS
Doven indlæsning af værktøjer: mindste størrelse på skjulte værktøjer (tokens)
int 0…1000000
4000
straks
Skjul kun værktøjer, når skemaerne uden for kernen tilsammen fylder mindst så mange tokens (omkring 4 tegn hver). Derunder vises alle værktøjer direkte: et ekstra modelkald for at finde et værktøj koster mere end at vise skemaerne.
AIHUMMER_TOOL_SEARCH_THRESHOLD
Doven indlæsning af værktøj: få værktøjer til at udskyde
int 0…1000
12
straks
Udskyd kun, når mere end så mange værktøjer overlever agentens profilfilter.
Agent · Reasoning
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_AGENT_BEST_OF_N
Bedste af N: antal forslag
int 0…8
0
straks
Agenten forbereder så mange svarforslag og beholder det bedste. 0 eller 1 — fra, 2 eller flere — til. Hvert forslag koster som et separat svar.
Agenten forbereder så mange svarforslag, sammenligner dem og giver det bedste. 0 eller 1 — fra, 2 eller flere — til. Hvert forslag koster som et separat svar.
Standard svarsprog/lokaltip, f.eks. ru-RU. Persona/operatørinstruktioner tilsidesætter.
AIHUMMER_TIMEZONE
Tidszone
text
UTC
straks
IANA-tidszone for agentens aktuelle dato og for tidsplaner uden egen tidszone, f.eks. Europe/Moscow. Standard UTC.
Channels
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_CHANNEL_FAILURE_NOTICE
Fortæl personen, når et svar mislykkes
enum: always \\| once \\| off
always
straks
Hvad en person i en kanal (Telegram og andre) får, når agenten ikke kunne svare: «Hver gang» — en kort besked på vedkommendes sprog; «Højst én gang hver 4. time» — én besked pr. samtale inden for 4 timer; «Fortæl ikke» — intet. Beskeden har ingen fejlkoder eller udbydernavne; detaljerne ser du under Sessioner og i notifikationer.
AIHUMMER_CHANNEL_FAILURE_TEXT_BLOCKED
Fejlbesked: instansen er suspenderet
text
—
straks
Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme.
AIHUMMER_CHANNEL_FAILURE_TEXT_BUDGET
Fejlbesked: ejerens budget er brugt op
text
—
straks
Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme.
AIHUMMER_CHANNEL_FAILURE_TEXT_BUSY
Fejlbesked: gatewayen er overbelastet
text
—
straks
Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme.
AIHUMMER_CHANNEL_FAILURE_TEXT_CONFIG
Fejlbesked: modelforbindelsen kræver ejeren
text
—
straks
Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme.
AIHUMMER_CHANNEL_FAILURE_TEXT_FAILED
Fejlbesked: anden fejl
text
—
straks
Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme.
AIHUMMER_CHANNEL_FAILURE_TEXT_QUOTA
Fejlbesked: modellens forbrugsgrænse er brugt op
text
—
straks
Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme.
AIHUMMER_CHANNEL_FAILURE_TEXT_STEP_LIMIT
Fejlbesked: opgaven kunne ikke nås i ét svar
text
—
straks
Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme.
AIHUMMER_CHANNEL_FAILURE_TEXT_TOO_LONG
Fejlbesked: samtalen er for lang til modellen
text
—
straks
Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme.
AIHUMMER_CHANNEL_FAILURE_TEXT_UNAVAILABLE
Fejlbesked: modellen er midlertidigt utilgængelig
text
—
straks
Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme.
AIHUMMER_CONFIDENTIAL_PERSONA
Fortrolig webpersona
bool
0
straks
Når den er aktiveret, afslører eller fortsætter webchat-agenten ikke sine person-/identitetsdetaljer og beholder svar på opgaven ved hånden – brug den til anonyme eller privatlivsfølsomme webimplementeringer. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_INBOUND_COALESCE_MS
Vindue til samling af beskeder (ms)
int
500
straks
Flere beskeder, som en person sender i træk til samme chat (korte beskeder, et fotoalbum, en hurtig rettelse), får ÉT svar, hvis pausen mellem dem er kortere end dette vindue. Beskeder, der kommer, mens et svar forberedes, besvares lige derefter, aldrig parallelt. Standard 500 ms; 0 = ingen ventetid mellem separate beskeder; et fotoalbum samles stadig (pauser op til 3 s, højst 20 s), så det får ét svar. Samling virker i Telegram; Slack, WhatsApp, VK, e-mail og andre forbindelser, der venter på svar på hver besked (og integrationer via /v1/inbound/generic), får svar på hver besked — stadig én ad gangen og i rækkefølge. Træder i kraft med det samme.
AIHUMMER_INBOUND_EDIT_MODE
Når en person redigerer en besvaret besked
enum: correct \\| history
correct
straks
correct — botten svarer igen og ved, at det er en rettelse (»før / nu«); history — redigeringen retter kun samtalens historik, intet nyt svar (praktisk ved tastefejl). En redigering af en besked, botten endnu ikke har besvaret, erstatter altid bare dens tekst. Virker, hvor kanalen melder redigeringer (Telegram). Træder i kraft med det samme.
AIHUMMER_INBOUND_QUEUE_MODE
Beskeder skrevet, mens agenten arbejder
enum: steer \\| collect \\| followup
steer
straks
Hvad der sker med en besked, som samme person sender, mens agenten stadig arbejder på et svar (søger, kører værktøjer): steer (standard) — agenten ser den før sit næste trin og tager højde for den i samme svar; collect — den besvares med det næste svar. followup — hver sådan besked får sit eget svar, én ad gangen. Fotos, filer, svar på en besked og videresendelser venter altid på det næste svar. Gælder med det samme.
AIHUMMER_INBOUND_REQUIRE_BINDING
Svar kun til klargjorte brugere
bool
true
straks
true = botten ignorerer enhver kanalafsender, der er NOT en klargjort AiHummer-bruger (en bruger med en rollebinding) — tilfældige chatmedlemmer og gæstekald får intet svar. false (standard) = svar til alle.
Integrations
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_A2A_PUBLISH
Udgiv agent over Agent2Agent (A2A)
bool
0
efter genstart
Udgiv agenten som en A2A-server (agentkort + POST /a2a/message). Anvendt ved opstart/efter genstart.
AIHUMMER_MCP_EXPORT_TOOLS
Værktøjer åbnet for eksterne assistenter
multiselect
—
efter genstart
En eksplicit liste over værktøjsnavne tilladt for eksterne MCP-klienter, adskilt af kommaer. Tom = udgiv ingen værktøjer. Farlige klasser på værtsniveau er desuden forbudt af den indbyggede politik, selvom de er angivet. Gælder ved start/efter genstart.
AIHUMMER_MCP_PUBLISH
Udgiv værktøjer over MCP
bool
0
efter genstart
Lader eksterne assistenter (f.eks. Claude Desktop) bruge dine agenters værktøjer. Hvilke værktøjer der åbnes, vælges i indstillingen ved siden af: så længe listen er tom, åbnes ingen.
AIHUMMER_MODULE_CPU_QUOTA
CPU-grænse pr. plugin
text
75%
straks
Hvor stor en del af processoren hvert plugin må bruge (systemd CPUQuota): 75 % er tre fjerdedele af én kerne, 150 % er halvanden kerne. Et plugin får den nye værdi ved næste installation, opdatering eller når dets indstillinger gemmes; indtil da beholder kørende plugins den tidligere grænse.
AIHUMMER_MODULE_MEMORY_MAX
Hukommelsesgrænse pr. plugin
text
512M
straks
Hvor meget hukommelse hvert plugin må bruge (systemd MemoryMax): en størrelse som 512M, 1G eller 2048M (mindst 64M) eller infinity for ingen grænse. Systemet stopper et plugin, der overskrider den. Et plugin får den nye værdi ved næste installation, opdatering eller når dets indstillinger gemmes; indtil da beholder kørende plugins den tidligere grænse.
Knowledge connectors
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_KB_SYNC_INTERVAL
Hvor ofte vidensbasen opdateres fra kilder
text
—
straks
Hvor ofte serveren selv henter ændringer fra forbundne kilder til vidensbasen. For eksempel: 30m — hvert 30. minut, 6h — hver 6. time. Tom eller 0 — kun manuelt. Genindlæsning skaber aldrig dubletter. En Slack-eksport uploades manuelt.
LLM
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_AUX_FALLBACK_MODELS
Serviceopgaver: reservemodeller
list
—
straks
Kommaseparerede modeller, der prøves i rækkefølge, når servicemodellen fejler (kvote, nedbrud). Hovedmodellen prøves altid til sidst, så et resumé ikke går tabt. Hvert skift logges. Gælder med det samme.
AIHUMMER_AUX_MODEL
Model til serviceopgaver (resuméer, noter, titler)
text
—
straks
Model til baggrundsopgaver: sammenfatning af gammel historik, hukommelsesnoten før komprimering, samtaletitler, udtræk af fakta, omformulering af søgeforespørgsler og oversættelse. Tom = automatisk: en billigere model fra samme udbyder (Claude → claude-haiku-4-5, Codex → gpt-…-luna/mini); findes der ingen, hovedmodellen. “main” = altid hovedmodellen. Gælder med det samme.
AIHUMMER_CASCADE_MIN_CHARS
Cascade til
int
0
straks
Tærskel for anmodningslængde (tegn), hvor den stærkere kaskademodel starter. 0 = standard.
AIHUMMER_CASCADE_STRONG_MODEL
Kaskade: stærkere fallback-model
text
—
straks
Model til kaskade til lange/komplekse anmodninger (tom = fra).
AIHUMMER_CLAUDE_AUTH_URL
Claude-abonnement: adresse på login-siden
text
—
straks
Siden, hvor du tillader, at Claude-abonnementet forbindes. Tom — standardadressen; skift den kun, hvis support beder om det.
AIHUMMER_CLAUDE_CLIENT_ID
Claude abonnement: OAuth klient-id
text
—
straks
Appens id til login med et Claude-abonnement. Tom — standard; skift kun, hvis support beder om det.
AIHUMMER_CLAUDE_EFFORT
Claude: tænkedybde
enum: low \\| medium \\| high \\| xhigh \\| max
medium
straks
Hvor dybt Claude-modeller tænker, før de svarer, når agenten ikke angiver det. Højere er mere præcist på svære opgaver, men langsommere og bruger mere kvote; lavere er hurtigere og billigere. En model, der ikke kender det valgte niveau, får det nærmeste lavere; Haiku 4.5 og ældre modeller understøtter ikke tænkning. Dybden, der er angivet på agenten, har forrang. Gælder fra næste tur.
AIHUMMER_CLAUDE_MAX_TOKENS
Claude: maksimal svarlængde (tokens)
int
16000
straks
Hvor mange tokens ét Claude-svar må bruge — både via abonnement og nøgle. Modellens tænkning tæller med i samme grænse: en for lav værdi afbryder svaret midt i en sætning eller giver et tomt svar. Har en agent sin egen svarlængde, gælder den.
AIHUMMER_CLAUDE_REDIRECT_URI
Claude-abonnement: omdirigerings-URI
text
—
straks
Returadresse registreret hos leverandøren. Skal matche det, der er konfigureret på siden, ellers afvises kodeudvekslingen.
AIHUMMER_CLAUDE_TOKEN_URL
Claude-abonnement: adgangsadresse
text
—
straks
Adressen, hvor serveren henter og fornyer adgang til Claude-abonnementet. Tom — standardadressen; skift den kun, hvis support beder om det.
AIHUMMER_CODEX_BASE_URL
Codex-base URL
text
—
delvist efter genstart
Basis for Codex-transporten (ChatGPT-abonnement). Anvendes ved opstart/efter genstart.
AIHUMMER_CODEX_MAX_OUTPUT_TOKENS
Max output tokens (0 = ingen grænse)
int
0
straks
Max_output_tokens-grænsen for en chattur. 0 = ingen låg. På ræsonneringsmodeller tæller ræsonnementstokenserne også med i dette budget, så en for lille værdi giver et tomt ‘ufuldstændigt: max_output_tokens’ svar. Anvendt med det samme (ingen genstart).
AIHUMMER_CODEX_MODEL
Model-id (Codex / gpt-5.5 transport)
text
gpt-5.5
delvist efter genstart
Model-id for den primære Codex/ChatGPT-transport (f.eks. gpt-5.5, gpt-5.5-codex). Anvendes ved opstart/efter genstart.
AIHUMMER_CODEX_REASONING_EFFORT
Begrundelse
enum: none \\| low \\| medium \\| high \\| xhigh
medium
straks
Hvor dybt ChatGPT-modellen (Codex) tænker før svaret, når agenten ikke angiver det. Standard — «Middel». Højere er mere præcist, men langsommere og dyrere.
AIHUMMER_LLM_CALL_TIMEOUT_S
Per-call timeout (sekunder)
int
120
straks
Hvor mange sekunder der ventes på modellens svar på én forespørgsel. Tier modellen længere, afbrydes forespørgslen, og svaret går videre til næste model på listen. For Claude tælles pausen i svarstrømmen, ikke hele svaret: et langt svar, der bliver ved med at komme, afbrydes ikke. 0 — ingen grænse.
AIHUMMER_LLM_FALLBACK_MODELS
Reservemodeller (alle agenter)
text
auto
straks
Hvem svarer, når hovedmodellen og de andre udbydere svigter (forbrugsgrænsen er nået, nedbrud, for mange forespørgsler). auto — hver udbyders billigere model som sidste udvej (Claude: claude-haiku-4-5, Codex: gpt-…-luna/mini); en kommasepareret liste — din egen rækkefølge, hver model går til udbydere fra dens leverandør; off — ingen reservemodeller. En agents egen reservemodel har forrang. Træder i kraft med det samme.
AIHUMMER_LLM_GATEWAY_URL
URL til LLM-gateway
text
—
delvist efter genstart
Base URL af det OpenAI-kompatible modelslutpunkt, som agenten kalder (din lokale llama.cpp/vLLM/Ollama-server eller en hostet gateway). Lad stå tomt for at bruge udbyderens standardslutpunkt.
AIHUMMER_LLM_MODEL
LLM-model
text
—
delvist efter genstart
Modelnavnet/id’et, der sendes til udbyderen hver gang (den model, dit slutpunkt betjener). Skal matche en model, som slutpunktet faktisk afslører.
AIHUMMER_LLM_PAUSE_AUTH_MIN
Pause efter afviste loginoplysninger, min
int
10
straks
Hvor mange minutter en udbyder, der afviste loginoplysningerne, ikke spørges. Hver gentagelse fordobler pausen, højst til seks gange den første. En vellykket forbindelsestest eller knappen »Genoptag nu« henter udbyderen tilbage med det samme. Gælder fra næste fejl.
AIHUMMER_LLM_PAUSE_MODEL_MIN
Pause for en model, udbyderen ikke betjener, min
int
60
straks
Hvor mange minutter en udbyder ikke tilbydes en model, den har sagt, at den ikke betjener; dens andre modeller spørges som sædvanligt. Gælder fra næste fejl.
AIHUMMER_LLM_PAUSE_QUOTA_MIN
Pause efter opbrugt grænse, min
int
300
straks
Hvor mange minutter modellen (eller hele kontoen, når kontoens grænse er opbrugt – Codex, en OpenAI-nøgle, betaling) ikke spørges, når dens forbrugsgrænse er opbrugt, og udbyderen ikke har angivet, hvornår den nulstilles. Hver gentagelse fordobler pausen, højst til et døgn. En tid, udbyderen angiver, går forud. Gælder fra næste fejl.
AIHUMMER_LLM_PAUSE_SHORT_S
Udbyderpause efter en fejl, s
int
30
straks
Hvor mange sekunder en udbyder ikke spørges efter en fejl, en afbrudt forbindelse eller »for mange forespørgsler«. En anden fejl i træk fordobler pausen, den tredje og følgende gør den ti gange længere. Hvis udbyderen selv angiver en tid, venter vi på den. Gælder fra næste fejl.
AIHUMMER_LLM_PROVIDER
LLM udbyder
text
—
delvist efter genstart
Hvilken model backend skal bruges (et OpenAI-kompatibelt slutpunkt eller Codex/ChatGPT-abonnementstransporten). Bestemmer, hvordan anmodninger sendes og godkendes.
AIHUMMER_LLM_RETRIES
LLM forsøger igen ved forbigående fejl
int
3
straks
Antal LLM anmodninger genforsøg på en forbigående fejl.
AIHUMMER_LLM_TEMPERATURE
Temperatur
text
—
straks
Hvor varierede modellens svar er (0–2), når agenten ikke angiver det: lavere er mere præcist og forudsigeligt, højere er mere levende. Tom — modellen bestemmer. Ræsonnerende modeller (ChatGPT/Codex, Claude generation 5) accepterer den ikke — lad feltet stå tomt for dem.
AIHUMMER_LLM_TOP_P
Top-p (kerneprøvetagning)
text
—
straks
En anden måde at gøre svarene mere varierede på (0–1), når agenten ikke angiver det. Tom — modellen bestemmer. Normalt angiver man kun én: enten temperatur eller denne; ræsonnerende modeller accepterer den ikke.
AIHUMMER_MODEL_GUARD_INTERVAL_MIN
Kontrol af agentmodel: interval, min
int
60
straks
Hvor ofte det skal kontrolleres, at hver agents model tilbydes af en aktiveret udbyder. Agentens model ændres aldrig: så længe ingen tilbyder den, svarer den første model i svarrækkefølgen, der ikke er sat på pause, og en meddelelse nævner agenterne — og en til, når deres model er tilbage. Kontrollen kører altid ved gatewayens start, og 0 slår kun gentagelsen fra. Et nyt interval gælder inden for et minut.
AIHUMMER_OPENAI_API
OpenAI API-stil (chat | svar)
enum: \\| chat \\| responses
—
delvist efter genstart
chat = /chat/afslutninger, svar = /svar. Blank = auto/standard. Anvendes ved opstart/efter genstart.
AIHUMMER_OPENAI_API_KEY
Native OpenAI API-nøgle (deployment standard)
text
—
delvist efter genstart
Din OpenAI-kontonøgle til den oprindelige OpenAI-løkke (hvis du bruger OpenAI som standardudbyder). Må ikke forveksles med per-arbejdsområde BYOK på siden Modeller. Anvendt ved opstart/efter genstart.
AIHUMMER_OPENAI_BASE_URL
Native OpenAI-base URL
text
—
efter genstart
Basis for den OpenAI-kompatible API (f.eks. https://api.openai.com/v1). Anvendt ved opstart/efter genstart.
AIHUMMER_OPENAI_MODEL
Native OpenAI-model
text
—
efter genstart
Model for den oprindelige OpenAI-løkke (når AIHUMMER_OPENAI_API_KEY er indstillet). Anvendes ved opstart/efter genstart.
AIHUMMER_ROUTER_COMPLEX_MODEL
Router: model for komplekse sving
text
—
straks
Model til komplekse anmodninger fra en agent uden egen model (tom = niveauet slået fra). Gælder fra næste tur.
AIHUMMER_ROUTER_SIMPLE_MODEL
Router: model til enkle drejninger
text
—
straks
Model til simple anmodninger fra en agent uden egen model (tom = niveauet slået fra). Gælder fra næste tur.
AIHUMMER_ROUTER_STANDARD_MODEL
Router: model for standardsving
text
—
straks
Model til almindelige anmodninger fra en agent uden egen model (tom = niveauet slået fra). Gælder fra næste tur.
AIHUMMER_SUBSCRIPTION_QUOTA_REFRESH_MIN
Abonnementskvoter: opdateringsperiode, min
int
15
straks
Hvor ofte panelet spørger ChatGPT (Codex) om abonnementets kvotevinduer: højst én gang pr. periode, ikke oftere end hvert 5. minut og kun mens kvoterne er åbne; imellem vises den gemte kopi. Claude bliver aldrig spurgt: grænserne er vores skøn. Gælder næste gang kvoterne åbnes.
Media
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_DEEPGRAM_API_KEY
Deepgram API nøgle
text
—
straks
Nøglen til Deepgram — nødvendig, hvis Deepgram genkender talebeskeder. Hvis tom, bruges den fælles talegenkendelsesnøgle fra indstillingen ved siden af. Træder i kraft med det samme.
AIHUMMER_DEEPGRAM_DETECT_LANGUAGE
Deepgrams sproggenkendelse
bool
0
straks
Genkend sproget i stedet for at sende et fast sprog. Træder i kraft med det samme.
AIHUMMER_DEEPGRAM_MODEL
Deepgram-model
text
nova-2
straks
Deepgram-model (f.eks. nova-2, nova-3, base). Afhænger af projektets adgang til nøglen. Træder i kraft med det samme.
AIHUMMER_DEEPGRAM_PUNCTUATE
Deepgrams tegnsætning
bool
1
straks
Tilføj tegnsætning og store bogstaver. Træder i kraft med det samme.
AIHUMMER_DEEPGRAM_SMART_FORMAT
Deepgrams intelligente formatering
bool
1
straks
Formatér genkendte tal og datoer. Træder i kraft med det samme.
Den største fil (foto, talebesked, video), der kan uploades ad gangen, i megabyte. Beskytter serverens disk mod at blive fyldt op. Standard 256. Træder i kraft med det samme.
AIHUMMER_SIDECAR_STT
Talegenkendelse på denne server (faster-whisper)
bool
0
straks
Lokal talegenkendelse (faster-whisper). IKKE inkluderet i pakken: aktiver downloader den signerede tilføjelse (~620 MiB for alle versioner af Python) og installerer tjenesten på værten. 🔴 Tilføjelsen udgives af en separat leverandørbeslutning (dens pakker bærer ffmpeg under GPL); hvis det ikke er udgivet til din udgivelse, herunder vil det være ærligt om det og vil ikke ødelægge noget. Cloud-plan: genkendelse konfigureres af udbyderen.
AIHUMMER_SIDECAR_TTS
Oplæsning af svar (edge-tts)
bool
0
straks
Talesyntese (edge-tts, stemmer Microsoft Edge). IKKE inkluderet i pakken: aktivering downloader den signerede tilføjelse (~26 MiB) og installerer tjenesten på værten. Selve syntesen går online for stemmer - “offline” refererer her til at installere pakken, der ikke virker.
AIHUMMER_STT_API_KEY
STT API nøgle (valgfri)
text
—
straks
Adgangsnøgle til talegenkendelsestjenesten, hvis den kræver en. For en tjeneste på denne server sætter installationsprogrammet den — den behøver ikke ændres. Træder i kraft med det samme.
AIHUMMER_STT_ENGINE
STT motor
enum: auto \\| faster-whisper \\| deepgram \\| codex \\| off
auto
straks
Hvordan talebeskeder skrives ud. Auto (standard): Deepgram, hvis dens nøgle er angivet, ellers den lokale tjeneste, hvis den er installeret (kontakten ovenfor), ellers intet — og botten fortæller ærligt afsenderen, at den ikke kan lytte endnu. faster-whisper: den lokale tjeneste eller en kompatibel ekstern /v1/audio/transcriptions. deepgram: Deepgram i skyen med din egen nøgle. codex: det tilsluttede ChatGPT-abonnement (Modeller → Tilslut ChatGPT), bruger dets kvote. off: skriv ikke ud. Træder i kraft med det samme.
AIHUMMER_STT_LANGUAGE
STT sprog
text
—
straks
Genkendelsessprog (BCP-47, f.eks. ru/en). Anvendes af deepgram-motoren (nova-2 model). Blank = auto-detektering / motorstandard. Træder i kraft med det samme.
AIHUMMER_STT_MODEL
STT-model
text
Systran/faster-whisper-small
straks
faster-whisper model (f.eks. small/medium/large-v3 eller Systran/faster-whisper-⟨size⟩). Træder i kraft med det samme.
AIHUMMER_TTS_API_KEY
TTS API nøgle (p⟩ge-tts)
text
—
delvist efter genstart
Adgangsnøgle til oplæsningstjenesten. Sættes automatisk under installationen — den behøver ikke ændres.
AIHUMMER_TTS_ENABLED
Tekst-til-tale aktiveret
bool
1
delvist efter genstart
Lader agenten svare med stemme. Det kræver oplæsningstjenesten — installer den i afsnittet Ekstra tjenester ovenfor.
AIHUMMER_TTS_MODEL
TTS-model
text
—
delvist efter genstart
Modelnavn for edge-tts-tjenesten. Anvendt ved opstart/efter genstart.
Standard edge-tts-stemme (flersproget, inkl. russisk). Anvendes ved opstart/efter genstart.
AIHUMMER_VIDEO_API_KEY
Videoanalyse API nøgle
text
—
straks
Adgangsnøgle til videoanalysetjenesten, hvis den kræver en. Tom — tjenesten bruges uden nøgle.
Media · Voice
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_TTS_AUTO_REPLY
Automatiske talesvar
enum: off \\| always \\| inbound \\| tagged
inbound
straks
Fra, altid, ved indgående lyd eller tydelig markering. Kan ændres for den enkelte samtale.
AIHUMMER_TTS_MAX_CHARS
Tegngrænse for oplæsning
int
0
straks
0: hele teksten; 100–10000: grænse for oplæsning. Hele svaret bevares i historikken.
AIHUMMER_TTS_SUMMARIZE
Opsummér lange talesvar
bool
1
straks
Opsummér lange svar til oplæsning. Ved fejl læses begyndelsen inden for grænsen.
AIHUMMER_VOICE_AEC
Ekkoannullering (AEC)
bool
1
straks
Fjerner ekko: agentens egen stemme fra højttaleren kommer ikke tilbage i mikrofonen og afbryder ikke samtalen. Slå kun fra, hvis stemmen lyder forvrænget i et headset.
AIHUMMER_VOICE_AGC
Automatisk forstærkningskontrol
bool
1
straks
Kræv automatisk forstærkningsstyring for mikrofonen (WebRTC autoGainControl) i taletilstand.
AIHUMMER_VOICE_BARGEIN_FRAMES
Afbryd agenten: hvor længe man skal tale
int
5
straks
Hvor længe man skal tale (i rammer à 20 ms), før agenten tier og lytter. Standard 5 — ca. 0,1 sekund.
AIHUMMER_VOICE_DUPLEX
Live fuld-dupleks stemme
bool
0
straks
Aktiverer live fuld-duplex-tilstand (streaming + VAD + barge-in). Træder i kraft med det samme.
AIHUMMER_VOICE_NOISE_SUPPRESSION
Støjdæmpning
bool
1
straks
Kræv støjreduktion ved optagelse fra mikrofonen (WebRTC noiseSuppression) i taletilstand.
AIHUMMER_VOICE_VAD_THRESHOLD
Stemmefølsomhed (0–1)
text
0.02
straks
Hvor højt en lyd skal være for at tælle som tale. Lavere — mere følsom: agenten hører stille tale, men også baggrundsstøj. Standard 0.02.
Memory
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_EMBEDDER_DIM
Dimension for betydningssøgemodellen
int
768
efter genstart
Vektordimension — skal matche modellen (multilingual-e5-base=768, bge-m3=1024).
AIHUMMER_EMBEDDER_KEEPALIVE
Embedder holde-i live
text
5m
efter genstart
Hvor længe betydningssøgemodellen forbliver indlæst efter sidste forespørgsel (kun i tilstanden «Efter betydning»). Standard 5m — 5 minutter: derefter aflæses modellen og frigiver hukommelse og CPU. At holde den altid (-1) anbefales ikke: en hængt model kan optage en CPU-kerne i dagevis. Format: 30s, 5m, 1h.
AIHUMMER_EMBEDDER_MODEL
Model til betydningssøgning
text
yxchia/multilingual-e5-base
efter genstart
Modellen, der gør det muligt at søge i hukommelsen efter betydning. Standard multilingual-e5-base forstår russisk, er let og kører hurtigt på en almindelig CPU. For bedre kvalitet på et grafikkort kan bge-m3 bruges, men sæt så dimensionsindstillingen ved siden af til 1024: tallet skal passe til modellen.
AIHUMMER_EMBEDDER_PASSAGE_PREFIX
Indlejring af passagepræfiks
text
—
efter genstart
Tilsidesæt præfikset for lagret dokument (e5-modeller bruger automatisk “passage: “). Lad feltet stå tomt for automatisk at registrere efter modelnavn.
AIHUMMER_EMBEDDER_QUERY_PREFIX
Embedder-forespørgselspræfiks
text
—
efter genstart
Tilsidesæt præfikset for hentningsforespørgsel (e5-modeller bruger automatisk “query: “). Lad feltet stå tomt for automatisk at registrere efter modelnavn.
AIHUMMER_EMBEDDER_THREADS
Embedderens CPU-tråde
int 0…256
0
efter genstart
Hvor mange processortråde søgning-efter-betydning-modellen bruger pr. forespørgsel. 0 — automatisk: halvdelen af serverens tråde, men mindst 2. Uden grænse optog genberegning af vidensbasens vektorer på en svag server hele processoren i timevis og forsinkede agenternes svar. Flere — hurtigere genberegning, men større belastning.
AIHUMMER_MEMORY_AGENT_WRITES
Fakta, som agenten selv gemmer
enum: strangers \\| immediate \\| review
strangers
straks
Hvad der sker med det, agenten selv husker — f.eks. ved en anmodning om at «huske dette». «Direkte i hukommelsen; fra fremmede — til gennemsyn» (standard) — direkte i hukommelsen, hvis ejeren eller agentens betroede personer sagde det; fra alle andre — til gennemsyn. «Direkte i hukommelsen» — agenten finder det straks. «Til gennemsyn» — først i køen Hukommelse → gennemsyn; det indgår i svar først efter din godkendelse. På agentens kort (Hukommelse → Indstillinger) kan du vælge en anden tilstand.
AIHUMMER_MEMORY_AUTOREPAIR
Automatisk reparation af hukommelsen
bool
1
straks
Efter selvkontrollen repareres hukommelsen: dubletter flettes, modsigelser med en klar vinder lukkes (bekræftet af et menneske, senere hændelsesdato, tungere kilde), fakta markeret som bekræftede, som intet menneske har bekræftet, kontrolleres mod deres kilder (ubekræftede sendes til gennemgang, intet slettes). Det omstridte går kun i køen. Hver rettelse logges med en fortryd-knap; finder hukommelsen dårligere efter kørslen, fortryder den sig selv, og du får en notifikation. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_MEMORY_CAPTURE
Hukommelsesoptagelsestilstand
enum: auto \\| review \\| off
review
straks
Hvad der sker med fakta, agenten selv bemærker i samtalen efter hvert svar. «Til gennemsyn» sender dem i køen Hukommelse → gennemsyn: de indgår i svar først efter din godkendelse. «Direkte i hukommelsen» springer gennemsyn over: hurtigere, men mere støj. «Gem ikke» trækker intet ud af samtaler. Hvad agenten husker efter anmodning, indstilles separat.
AIHUMMER_MEMORY_CONTEXT_TIMEOUT
Hukommelseshydrering timeout
text
3s
straks
Hvor længe agenten venter på relevante minder, før den begynder at svare. Hvis søgningen er for langsom, svarer agenten uden dem i stedet for at hænge. For eksempel: 2s — 2 sekunder, 1500ms — 1,5 sekund. 0 — vent så længe det tager.
AIHUMMER_MEMORY_DIARY_BOOT
Agentens dagbog ved sessionens start
bool
1
straks
Hold agentens dagbog for i dag og i går for øje ved hver tur i en session på enhver kanal: noter fra tidligere sessioner, den natlige opsummering og agentens egne indlæg. Kun indlæg om den aktuelle samtalepartner og de fælles (dine, uploadede) vises — én kunde ser aldrig en andens. Højst ~6000 tegn; resten læser agenten selv (memory_get). Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_MEMORY_DIARY_HOUR
Tidspunkt for natlig opsummering
int
3
straks
Efter hvilken time (0–23, instansens tidszone) opsummeringen af den forgangne dag skrives. Standard 3 — om natten, når dagens samtaler er slut. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_MEMORY_DIARY_NIGHTLY
Natlig dagsopsummering i agentens dagbog
bool
1
straks
Én gang i døgnet skrives en opsummering af den forgangne dag i agentens dagbog — separat for hver person, den talte med (alle personens kanaler samlet): hvad der blev bedt om og gjort, aftaler, opgaver med datoer. Ét kald til modellen til serviceopgaver pr. agent og person, højst 3 pr. kørsel hvert 10. minut; oversprungne dage indhentes op til en uge tilbage. Samtaler med »husk ikke« springes over. Skrives ikke, mens hukommelsesopsamling er slået fra. Resultatet af sidste kørsel vises i agentkortet → Hukommelse → Dagbog. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_MEMORY_DREAM_INTERVAL
Drømmepasinterval
string
1h
straks
Hvor ofte scanner det selvvedligeholdende drømmepas gennemgåede påstande for modsigelser på tværs af alle scopes (Go-varighed, f.eks. 30m/1t/6t). Indstil 0 for at deaktivere. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_MEMORY_EXTRACT
LLM faktaudtræk
bool
1
straks
Udtræk normaliserede emne-/prædikat-/objektfakta via LLM (standard TIL) i stedet for at gemme rå sætningsfragmenter - påkrævet for at grafen/modsigelsen/drømmemaskineriet kan udløses. Tilføjer et LLM opkald pr. optaget besked; afsted for at gemme opkaldet. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_MEMORY_MEANING_TIMEOUT
Tidsgrænse for søgning efter betydning
text
4s
straks
Hvor længe en søgning i hukommelsen og i vidensbasen venter på søgningen efter betydning. Hvis betydningsmodellen er optaget (for eksempel beregner vektorer efter en import) og ikke svarer i tide, får agenten straks det, der blev fundet ud fra ord, med en bemærkning i stedet for at vente i snesevis af sekunder. For eksempel: 4s — 4 sekunder, 1500ms — 1,5 sekunder. 0 — vent så længe det er nødvendigt. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_MEMORY_QUALITY_CHECK
Daglig selvkontrol af hukommelsen
bool
1
straks
Én gang i døgnet stiller hukommelsen sig selv kontrolspørgsmål om sine bekræftede fakta (op til 60 fakta, de samme spørgsmål hver dag) og spørgsmål uden svar, kører dem gennem hukommelsessøgningen og den automatiske genkaldelse og måler genfinding, præcision, MRR og falske genkaldelser. Resultat og dagsgraf: Hukommelse → Hukommelseskvalitet. Spørgsmål til nye fakta skrives én gang af tjenestemodellen (den, der udtrækker fakta fra samtaler; uden den — efter skabelon); resultaterne bliver på instansen. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_MEMORY_RECALL
Automatisk genkaldelse af hukommelse
enum: strong \\| always \\| off
strong
straks
Om det, der findes i hukommelsen, automatisk føjes til svaret. «Kun stærke match» — et faktum skal dele mindst to vigtige ord med beskeden; hilsner og «ok» henter intet. «Alt lignende» — alt, der matchede på nogen måde, plus tilknyttede poster: mere støj. «Tilføj ikke» — agenten søger selv i hukommelsen, når den finder det nødvendigt.
AIHUMMER_MEMORY_RECALL_MAX
Fakta pr. svar
int
5
straks
Det største antal hukommelsesfakta, der føjes til ét svar (standard 5). Omformuleringer af samme faktum tæller som ét. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_MEMORY_RECALL_MIN_SCORE
Minimalt match for automatisk genkaldelse, %
int
10
straks
Hvor stor en del af beskedens betydningsbærende ord (vægtet efter sjældenhed) et faktum skal dække for at blive tilføjet automatisk, i procent. Standard 10 – afstemt efter rigtige samtaler. Højere = sjældnere og mere præcist, lavere = oftere og mere støj. Påvirker ikke den eksplicitte søgning memory_search. 0 = ingen tærskel: to matchende betydningsbærende ord er nok. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_MEMORY_RECALL_MIN_SIMILARITY
Mindste betydningslighed for automatisk genkaldelse, %
int
86
straks
Kun for hukommelsessøgning efter betydning (embedder): hvor tæt på beskeden i betydning et faktum skal være for at blive tilføjet automatisk, i procent lighed. Standard 86 — tilpasset modellen multilingual-e5-base på rigtig hukommelse: under den tilføjes uvedkommende fakta til næsten hver besked. Andre modeller (for eksempel bge-m3) måler lighed anderledes — vælg en værdi med »Spørg hukommelsen« på agentkortet. 0 = ingen tærskel. Påvirker ikke den eksplicitte memory_search. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_MEMORY_RETRIEVAL
Hukommelseshentningstilstand
enum: fulltext \\| embedding
fulltext
efter genstart
Hvordan agenten slår op i hukommelsen. «Efter ord» er almindelig tekstsøgning: virker med det samme og belaster ikke serveren. «Efter betydning» finder det, der ligner i betydning, selv med andre ord, men kræver betydningssøgemodellen (afsnittet Ekstra tjenester) og mærkbar CPU-belastning.
AIHUMMER_QDRANT_API_KEY
Qdrant API nøgle
text
—
efter genstart
Qdrant API-nøgle, hvis vektorlageret kræver autorisation. Nødvendig kun, når en Qdrant-adresse er angivet. Anvendes ved opstart/efter genstart.
AIHUMMER_QDRANT_URL
Qdrant URL (holdbar vektorbutik)
text
—
efter genstart
Adressen på Qdrant-lageret til betydningssøgning. Tom — søgedata holdes i hukommelsen og forsvinder, når serveren genstartes; angiv en adresse til fast brug.
AIHUMMER_RAG_QUERY_EXPANSION
Omformulér forespørgsler til vidensbasen med modellen
bool
0
straks
Før søgning i vidensbasen bedes modellen til serviceopgaver om 3 omformuleringer af forespørgslen, og der søges med dem alle. Finder nogle gange mere, men det er et ekstra modelkald ved HVER søgning (kvote og ventetid); fejler modellen, søges der kun med den oprindelige formulering, og fejlen vises i loggen og i søgeresultatet. Slået fra som standard: ord findes alligevel med fuldtekstsøgning. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_RERANKER_URL
RAG reranker sidevogn URL
text
—
efter genstart
HTTP URL af cross-encoder-sidevognen til omrangering af hybridsøgning. Blank = omplacering fra. Anvendt ved opstart/efter genstart.
Moderation
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_MODERATION
Inputmoderering
bool
1
straks
“off” deaktiverer den indbyggede beskyttelse mod jailbreak/prompt-injection. Enhver anden værdi = aktiveret. Træder i kraft med det samme, ingen genstart nødvendig.
AIHUMMER_MODERATION_REFUSAL
Besked om afvisning af moderering
text
—
straks
Afvisningstekst, der returneres, når moderatoren blokerer en anmodning (tom = indbygget). Træder i kraft med det samme, ingen genstart nødvendig.
Network
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_OUTBOUND_PROXY_CUSTOM_URL
Udgående proxy: egen adresse
text
—
straks
HTTPS-proxy-URL; HTTP tillades kun på loopback, uden sti, forespørgsel eller fragment. Gem adressen, før du vælger custom. Maskeret i API’et; gemt i appens indstillinger.
AIHUMMER_OUTBOUND_PROXY_MODE
Udgående proxy til udenlandske modeludbydere
enum: auto \\| off \\| custom
auto
straks
Hvordan serveren når udenlandske modeludbydere. «Som udbyderen angiver» — som sat op i udbyderens konto; «Direkte, uden proxy» — uden mellemled; «Gennem din egen proxy» — via adressen, du har gemt nedenfor. Om det virker, afhænger af den enkelte udbyders regler.
AIHUMMER_RUSSIAN_TRUSTED_EXTRA_HOSTS
Værter uden for .ru til rodcertifikater fra Ruslands ministerium for digital udvikling
list
—
efter genstart
Liste over værter, adskilt af kommaer, der må kontrolleres af rødderne af Ruslands ministerium for digital udvikling OVER russiske domæner (.ru/.su/.рф - allerede inkluderet). Påkrævet, hvis din node med Ruslands ministerium for digital udvikling-certifikatet bor på et andet domæne. Match efter navn eller underdomænegrænse: example.com dækker api.example.com. Tom = kun russiske domæner. Gælder ved start/efter genstart.
Performance
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_CHANNEL_TURN_QUEUE_WAIT_SEC
Ventetid i kø: kanalbesked (sekunder)
int 10…1200
600
straks
Hvor længe en kanalbesked (Telegram og andre) venter på en ledig plads, når alle pladser til ture er optaget. Får den ingen i tide, får personen besked om, at serveren er optaget, og at de kan skrive igen. Ventetiden tæller med i turens grænse på 30 minutter. 10–1200. Gælder med det samme.
AIHUMMER_MAX_ACTIVE_TURNS
Agentture, der kører samtidig (hele serveren)
int 1…512
32
straks
Hvor mange agentture (svar i kanaler og webchat, tidsplaner) serveren kører samtidig. Resten venter i kø så længe, som indstillingerne »Ventetid i kø« nedenfor tillader, og personen ser »serveren er optaget, i kø«. Højere betyder mindre ventetid, men mere hukommelse, databaseforbindelser og samtidige modelkald. Halvdelen af tallet begrænser samtidige hjælpekald til modellen (hukommelsesudtræk, resuméer). 1–512. Gælder med det samme.
AIHUMMER_SYNC_INBOUND_QUEUE_WAIT_SEC
Ventetid i kø: synkront integrationskald (sekunder)
int 1…120
10
straks
Hvor længe et kald fra en integration, der venter på svaret i samme forespørgsel, venter på en ledig plads, når alle pladser til ture er optaget. Får det ingen, modtager integrationen »serveren er optaget« med råd om at prøve igen efter samme antal sekunder; et nyt forsøg med samme beskednummer gemmer ikke beskeden to gange. 1–120. Gælder med det samme.
AIHUMMER_WEB_TURN_QUEUE_WAIT_SEC
Ventetid i kø: webchatbesked (sekunder)
int 10…1200
180
straks
Hvor længe en webchatbesked venter på en ledig plads, når alle pladser til ture er optaget. Imens viser chatten »serveren er optaget, i kø«; får den ingen i tide, afvises svaret med knappen »Prøv igen«, som bliver i historikken, også efter genindlæsning af siden. 10–1200. Gælder med det samme.
Public access
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_PUBLIC_URL
Serverens offentlige adresse
text
—
delvist efter genstart
Adressen, hvor panelet og apps åbnes fra internettet, f.eks. https://ai.example.com. Send den gennem din proxy (nginx, Caddy) til serverens port — som standard 8780.
AIHUMMER_WIDGET_ALLOWED_ORIGINS
Webwidget: tilladte webstedsoprindelser
list
—
straks
Kommasepareret liste over browseroprindelser, som må integrere webchatwidgetten, f.eks. https://example.com,https://www.example.com. Skema og port skal stemme nøjagtigt. Tomt = intet eksternt websted må bruge widgetten. Posten * ignoreres med vilje, da enhver side på internettet ellers kunne bruge denne instans’ budget.
POCKET_AGENT_GATEWAY_BASE_URL
Pocket-agent gateway offentlig URL
text
—
straks
Proxy → porten til porten for pocket-agent (POCKET_AGENT_PORT, standard 8080) Fjernagenten ringer til denne via en engangsbillet.
TELEGRAM_PUBLIC_URL
Telegram webhook offentlig URL
text
—
straks
Kun Webhook-tilstand — proxy → telegram-tilslutningsporten (standard 8091). Lad stå tomt for at bruge polling (ingen offentlig URL nødvendig).
SSO (LDAP/AD)
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_LDAP_BASE_DN
Brugersøgebase DN
text
—
efter genstart
Søg i rod, f.eks. OU=Users,DC=corp,DC=example.
AIHUMMER_LDAP_BIND_DN
Tjeneste-DN til binding
text
—
efter genstart
Konto brugt til den indledende søgebinding, f.eks. CN=svc-aihummer,OU=Service,DC=corp,DC=eksempel. Blank = anonym søgning.
AIHUMMER_LDAP_DEFAULT_ROLE
LDAP: Standardrolle (ingen gruppematch)
text
—
efter genstart
Rolle tildeles, når ingen gruppe matcher en tilknytning. Blank = ingen rolle.
AIHUMMER_LDAP_ENABLED
Aktiver LDAP/AD-login
bool
0
efter genstart
Når den er aktiveret, falder administratorlogin tilbage til mappen. Bindingsadgangskoden findes i Secrets (scope ldap, name bind_password).
AIHUMMER_LDAP_GROUP_ATTR
Gruppeattribut (standard memberOf)
text
—
efter genstart
Attribut på DN’er for brugerindgangslistegruppen. Blank deaktiverer gruppe→rolletilknytning.
AIHUMMER_LDAP_ROLE_MAPPINGS
LDAP: Gruppe→rolletilknytninger (JSON)
text
—
efter genstart
JSON objekt af gruppe DN (eller bare CN) → rolle, f.eks. {“CN=Admins,OU=Groups,DC=corp,DC=example”:“admin”,“Operators”:“operator”}.
AIHUMMER_LDAP_SKIP_TLS_VERIFY
Spring TLS-bekræftelse over (kun lab, 1/0)
bool
0
efter genstart
Deaktiverer bekræftelse af bibliotekscertifikat. Aktiver aldrig i produktion.
AIHUMMER_LDAP_URL
Bibliotek URL
text
—
efter genstart
f.eks. ldaps://ad.corp.example:636 (TLS) eller ldap://dc1.corp.example:389.
AIHUMMER_LDAP_USER_ATTR
Loginattribut (standard sAMAccountName)
text
—
efter genstart
LDAP/Active Directory-attributten matchede det login, som brugertyperne (standard sAMAccountName; uid for OpenLDAP, userPrincipalName for UPN-stil logins).
AIHUMMER_LDAP_USER_FILTER
Brugersøgefilter
text
—
efter genstart
Skal indeholde %s for login. AD: (sAMAccountName=%s); OpenLDAP: (uid=%s).
SSO (OIDC)
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_OIDC_AUDIENCE
OIDC publikum
text
—
efter genstart
Forventet aud-påstand — indstil dette til THIS ressources publikum for at afvise tokens, der er præget for en anden afhængig part. aud-kravet er nu REQUIRED på hvert token som standard (et token uden aud afvises); når dette er indstillet, skal aud også indeholde det. Stærkt anbefalet i produktionen.
JSON objekt med hævdet værdi → rolle, f.eks. {“AdminGroup”:“admin”,“Ops”:“operator”}.
AIHUMMER_SAML_ROOT_URL
Rod-URL for SP
text
—
efter genstart
Eksternt tilgængelig base URL af denne gateway, f.eks. https://app.example.com. ACS = ⟨root⟩/saml/acs.
AIHUMMER_SAML_SP_CERT
SP-certifikat (PEM)
text
—
efter genstart
Offentligt SP-signeringscertifikat (PEM). Den matchende private nøgle går i Secrets (scope saml, navn sp_key).
Schedules
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_SCHEDULE_AGENT_MAX_ACTIVE
Agent: grænse for aktive tidsplaner
int
20
straks
Hvor mange aktive tidsplaner én agent må have, når den selv opretter eller slår en tidsplan til (med sine tidsplanværktøjer). Tidsplaner oprettet i panelet tælles med, men panelet afvises aldrig. Ved grænsen får agenten besked om først at sætte en på pause eller slette en. Træder i kraft med det samme.
AIHUMMER_SCHEDULE_AGENT_MAX_FIRES_PER_DAY
Agent: tidsplankørsler pr. døgn
int
288
straks
Hvor mange gange pr. døgn (UTC) alle tidsplaner for én agent i alt må køre, inklusive tidsplaner oprettet i panelet og manuelle kørsler. Kørsler over grænsen springes over og vises i kørselsloggen. Træder i kraft med det samme.
AIHUMMER_SCHEDULE_AGENT_MIN_INTERVAL_MINUTES
Agent: mindste interval for tidsplan, minutter
int
5
straks
Det korteste mellemrum mellem to kørsler af en gentagen tidsplan, som en agent selv opretter eller ændrer. En hyppigere tidsplan afvises. Tidsplaner oprettet i panelet begrænses ikke af dette. Træder i kraft med det samme.
AIHUMMER_SCHEDULE_COMMANDS
Kommandoer på serveren i tidsplaner
bool
0
straks
Lader en tidsplan køre et program på denne server — en indsamler, en rapport, et tjek af sikkerhedskopier. Slået fra som standard. Kun kommandoer fra «Tilladte kommandoer» køres, præcis som de står; der er ingen shell. Output går til agenten eller direkte til en chat, og hver kørsel står i tidsplanens kørselslog. Gælder med det samme.
AIHUMMER_SCHEDULE_COMMANDS_ALLOWLIST
Tilladte kommandoer
argvlist
—
straks
De præcise kommandoer, en tidsplan må køre: programmet (et navn som df eller en fuld sti) og dets argumenter. En tidsplan kører kun en kommando, der præcist svarer til en post, argumenterne medregnet. En fjernet kommando stopper de tidsplaner, der bruger den, og deres kørsler siger hvorfor. Gælder med det samme.
AIHUMMER_SCHEDULE_COMMANDS_MAX_OUTPUT_KB
Outputgrænse for tidsplankommandoer, KB
int 1…1024
64
straks
Hvor meget af en kommandos output (1–1024 KB) der gemmes i kørselsloggen og sendes til agenten eller chatten; resten skæres fra, og loggen siger det. Gælder med det samme.
AIHUMMER_SCHEDULE_COMMANDS_SANDBOX
Kør tidsplankommandoer i styresystemets sandkasse
bool
1
straks
Til: kommandoen kører i styresystemets sandkasse ligesom kodekørsel — installationens hemmeligheder og SSH-nøgler er skjult, og den skriver kun til sin egen midlertidige mappe. Uden sandkasse (bubblewrap) på serveren kører kommandoen ikke, og kørselsloggen siger hvorfor. Fra: den kører med gatewayens rettigheder. Gælder med det samme.
AIHUMMER_SCHEDULE_FAILURE_ADMIN
Giv administratoren besked om fejlede opgaver
bool
1
straks
Når en planlagt opgave fejler eller ikke kan starte, lægges en besked med opgavens navn, årsagen og hvor det rettes i administrationspanelets notifikationsklokke, og det samme sendes til ejernes egne kanalchats (højst én gang hver 6. time pr. opgave). Det kommer oven i beskeden til opgavens modtager. Slået fra: administratoren hører kun om fejl i kørselsloggen. Træder i kraft med det samme.
AIHUMMER_SCHEDULE_FAILURE_NOTIFY
Giv modtageren besked, når en opgave mislykkes
bool
1
straks
Når en planlagt opgave mislykkes, får samme modtager en kort besked (efter første fejl, højst én gang hver sjette time). Fra: fejl ses kun i kørselsloggen. En opgave kan slå det fra for sig selv i sin formular. Gælder straks.
Security
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_AIRGAPPED
Isoleret tilstand (uden internet)
bool
0
straks
Forhindrer agenterne i at gå på internettet: websøgning, hentning af sider og forespørgsler når kun interne adresser og dem på tilladelseslisterne. Slå til for lukkede netværk uden adgang udadtil.
AIHUMMER_AUDIT_RETENTION_DAYS
Hvor mange dage handlingsloggen gemmes
int
0
efter genstart
Poster i revisionsloggen og historikken over ændringer i indstillingerne, der er ældre end dette, slettes én gang i døgnet. 0 eller tom — gem for altid.
AIHUMMER_CORS_ORIGINS
Tilladte CORS oprindelser
list
—
efter genstart
Kommasepareret liste over tilladte oprindelser. Blank = CORS ikke tilladt (kun samme oprindelse). Anvendt ved opstart/efter genstart.
AIHUMMER_CSP
Content-Security-Policy header (tilsidesættelse)
text
—
efter genstart
Tilsidesætter CSP-headeren. Blank = en sikker standard. Anvendes ved opstart/efter genstart.
AIHUMMER_INBOUND_SECRET
Kanalplugins’ nøgle til serveren
text
—
efter genstart
Forbundne kanaler (Telegram, VK og andre) bruger den til at bevise, at beskeder virkelig kommer fra dem. Sættes automatisk under installationen — den behøver ikke ændres. Er den tom, afviser serveren alle kanaler, indtil der er angivet en nøgle.
AIHUMMER_OPENAI_COMPAT_KEY
OpenAI-kompatibel indgående: statisk API nøgle
text
—
efter genstart
En fælles nøgle til programmer, der forbinder til serveren som en OpenAI-kompatibel tjeneste. Tom — den fælles nøgle er slået fra; programmer kan forbinde med personlige nøgler fra siden API-nøgler.
AIHUMMER_OPENAI_COMPAT_WORKSPACE
OpenAI-kompatibel indgående: arbejdsområde-id
text
—
efter genstart
Arbejdsområde-id, som statisk OpenAI-kompatibel godkendelse er knyttet til. Blank = AIHUMMER_DEFAULT_WORKSPACE_ID. Anvendt ved opstart/efter genstart.
AIHUMMER_REQUIRE_2FA
Kræv 2FA for operatører
bool
0
straks
Kræv en anden faktor (TOTP/passkey) for operatører. Når den er aktiveret, bliver operatører uden 2FA bedt om at konfigurere den med det samme ved login (uden blokering, så ejeren aldrig er låst ude). Anvendt med det samme.
AIHUMMER_REQUIRE_SECURE
Accepter kun sikre (HTTPS/WSS) forbindelser
bool
0
efter genstart
Når den er aktiveret, bliver almindelige HTTP-anmodninger omdirigeret til HTTPS (for GET/HEAD) eller afvist (403); localhost-adgang er altid tilladt, så operatøren er aldrig indhegnet. Hæderer X-Forwarded-Proto fra en TLS-terminerende omvendt proxy. Anvendes ved opstart/efter genstart.
AIHUMMER_TRUSTED_PROXIES
Betroede proxyer
list
—
straks
Hvis en proxy (nginx, Caddy, load balancer) står foran serveren, skriv dens adresse eller netværk kommasepareret, f.eks. 10.0.0.0/8. Så ser handlingsloggen, IP-tilladelseslisten og beskyttelsen mod gæt af adgangskoder den besøgendes rigtige adresse. Tom — kun adressen for den direkte forbindelse tæller, og den kan ikke forfalskes.
Tools
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_BROWSER_ALLOWED_HOSTNAMES
Browser: undtagelser for private værtsnavne
list
—
straks
Præcise kommaseparerede værtsnavne uden jokertegn, URL-adresser eller porte. Ekstra private undtagelser til indbygget CDP på egen server, adskilt fra web_fetch.
AIHUMMER_BROWSER_ALLOW_PRIVATE_NETWORK
Browser: tillad privat netværk
bool
—
straks
Tomt bevarer den tidligere politik; true eller false aktiverer kontrolleret indbygget CDP. Privat adgang kun på egen server. Loopback, link-local og metadata forbliver blokeret.
AIHUMMER_BROWSER_PROFILE_SOCKET
Styringssokkel til browserprofiler
text
—
straks
Valgfrit. Lad feltet stå tomt — gatewayen finder selv browsertjenestens managed-profiles.sock på standardinstallationsstedet. Profiler med webstedslogins oprettes under Forbindelser → Browserprofiler. Ikke en URL og ikke en sti til en kildeprofil.
AIHUMMER_CODE_EXEC
Kodekørsel af agenten
enum: off \\| host \\| sandbox
off
straks
Agentens værktøj til kodekørsel (code_exec). «Fra» er standard. «På denne server»: kommandoer kører på gatewayens server; styresystem-sandkassen (bubblewrap) skjuler installationens hemmeligheder, men en agent i tilstanden «Ingen begrænsninger» kan se SSH-nøgler og skrive uden for sin mappe — kun til en betroet server. «Kun i en sandkasse»: altid i styresystem-sandkassen — hemmeligheder og nøgler er skjult, der skrives kun i agentens mappe; uden bubblewrap (eller et containerimage) kan denne tilstand ikke gemmes. Hvad hver agent må køre, indstilles på agenten: Agenter → profil → Værktøjer.
AIHUMMER_CODE_EXEC_INTERPRETERS
Code-exec-fortolkere (JSON)
text
—
straks
JSON objekt {language: path_to_binary}, f.eks. {“python”:“/usr/bin/python3”}. Blank = automatisk registrering.
AIHUMMER_CODE_EXEC_NET_PORTS
Netværksporte åbne for agentkode
list
53,80,443
straks
TCP-porte, som agentkode i OS-sandkassen (kodekørsel og tidsplankommandoer) må forbinde til, adskilt med kommaer. Som standard 53, 80 og 443: DNS og websteder. Andre tjenester på denne server og dens lokale netværk (databasen, administrationspanelet, browseren, adb, lokale modeller, Home Assistant) forbliver lukket for agentkode. En port på listen er åben på alle adresser, også denne servers, så tilføj kun det, koden har brug for, for eksempel 22 til SSH. Skriv any for at fjerne begrænsningen. Agenter i tilstanden «Ingen begrænsninger» begrænses ikke. Kræver Linux 6.7 eller nyere; uden det gælder begrænsningen ikke, og Agenter → Værktøjer siger det. Gælder med det samme.
AIHUMMER_CODE_EXEC_READ_DIRS
Mapper åbne for agentkode (skrivebeskyttet)
list
—
straks
Mapper på denne server, som agentkode må læse: kodekørsel og tidsplankommandoer i OS-sandkassen. Adskil med kommaer eller én pr. linje, for eksempel ~/reports. Du kan også angive en enkelt fil, for eksempel ~/scripts/report.py. Det, der åbnes her, er synligt for koden hos alle agenter, så åbn kun det, koden har brug for. Tom som standard: i sandkassen ser koden kun sin egen agents mappe og systemmapperne; gateway-brugerens hjemmemappe, installationens data, andre agenters mapper, nøgler og kommandohistorik forbliver skjult. Roden, hele hjemmemappen, installationens data og steder med nøgler kan ikke åbnes. Koden kan ikke skrive i disse mapper. Gælder med det samme.
AIHUMMER_CODE_EXEC_SANDBOX_IMAGE
Kode-exe image
text
—
straks
Valgfrit, kun til «Kun i en sandkasse»: et Docker-containerimage i stedet for styresystem-sandkassen (intet netværk, skrivebeskyttet rod, grænser); kræver Docker på serveren. Tom = styresystem-sandkassen (bubblewrap).
AIHUMMER_CODE_EXEC_TIMEOUT_SECONDS
Tidsgrænse for kodekørsel (sekunder)
int
1800
straks
Hvor længe én agentkommando må køre, inklusive baggrundskommandoer: 10 sekunder til 24 timer. En kommando, der ikke har svaret inden for 30 sekunder, afbrydes ikke, men flyttes til baggrunden, hvor agenten tjekker den med værktøjet process. Agenten kan bede om en kortere grænse, aldrig en længere.
AIHUMMER_DB_QUERY_DSN
Databaseforbindelse til værktøjet til databaseforespørgsler
text
—
straks
Forbindelsesstreng til en database, som agenten må læse (kun læsning), f.eks. postgres://reader:adgangskode@host/db. Brug en bruger med minimale rettigheder — ikke databasens ejer. Tom — værktøjet er slået fra.
AIHUMMER_FS_ROOT
Rod til filsystemværktøj
text
—
straks
Den mappe, som agenten læser serverens filer inden for (filesystem_read; agenter kan ikke skrive filer). Tom = hele serveren med gateway-brugerens rettigheder, undtagen hemmeligheder: installationsindstillinger (gateway.env), SSH/GPG-nøgler og processers miljø. Angiv en mappe for at begrænse adgangen.
AIHUMMER_HTTP_ALLOWLIST
Adresser til agentens HTTP-forespørgsler
list
—
straks
Kommasepareret liste over værter, som værktøjet http_request må kontakte. Tomt = alle er tilladt, undtagen interne og private adresser.
AIHUMMER_HTTP_AUTH_JSON
http_request-godkendelse (JSON)
text
—
straks
JSON-kort, der knytter vært til autorisationsheadere for værktøjet http_request, så tokens ikke opbevares i prompten. Tomt = ingen autorisation.
AIHUMMER_MCP_SERVERS
MCP servere (JSON)
text
—
straks
JSON-beskrivelse af de eksterne MCP-servere, hvis værktøjer knyttes til agenten. Tomt = ingen eksterne MCP.
AIHUMMER_PROJECT_STUDIOS_PUBLIC_NETWORK
Projektstudier: offentligt netværk
bool
false
straks
Tillad offentlig HTTP(S) for valgte udbydere og udtrykkeligt ønskede modeldownloads. Private, lokale og metadataadresser forbliver blokeret. Offlinetilstand har forrang. Gælder straks.
AIHUMMER_SIDECAR_CLOAKBROWSER
Browser til agenten (CloakBrowser)
bool
0
straks
Anti-detect browser (CloakBrowser, browser/computer værktøjer). Hvad er IKKE inkluderet i leveringspakken: Inkluderingen downloader den signerede tilføjelse (~477 MiB, hvoraf Chromium ~207 MiB) og installerer tjenesten på værten. Den tungeste sidevogn - aktiveres kun, hvis agenten skal åbne hjemmesider.
AIHUMMER_SIDECAR_SEARXNG
Websøgning (SearXNG)
bool
0
straks
Websøgning (SearXNG, web_search værktøj). IKKE inkluderet i pakken: aktivering downloader den signerede tilføjelse (~154 MiB) og installerer tjenesten på værten, når den slukkes, stopper den og frigør plads. Installationen sker i baggrunden og tager et par minutter; tilstanden her viser, hvad der faktisk er på serveren.
AIHUMMER_WEBFETCH_ALLOWLIST
Websteder, agenten må åbne
list
—
straks
Kommasepareret liste over domæner, som værktøjet web_fetch må kontakte. Tomt = alle er tilladt, undtagen interne og private adresser.
AIHUMMER_WEB_SEARCH_LANGUAGE
Websøgning: standardsprog for resultater
text
auto
straks
Sprog for resultater, når agenten ikke angiver et: en kode som ru, en eller de, eller auto for at udlede det af forespørgslen (passer næsten altid). Agenten kan stadig vælge et andet sprog i en bestemt søgning.
AIHUMMER_WEB_SEARCH_RESULTS
Websøgning: resultater pr. søgning
int
5
straks
Hvor mange resultater en søgning returnerer, når agenten ikke beder om et antal: 1 til 10. Flere resultater giver et fyldigere svar, men en længere kontekst.
AIHUMMER_WEB_SEARCH_SOURCE
Kilde til websøgning
enum: auto \\| searxng \\| provider
auto
straks
Hvor agenten søger på internettet (værktøjet web_search). auto — SearXNG, hvis den er installeret, ellers modeludbyderens indbyggede søgning. searxng — kun SearXNG: uden den er der ingen søgning. provider — udbyderens indbyggede søgning, hvor den findes, og SearXNG til andre modeller. Indbygget søgning findes hos Codex (ChatGPT-abonnement) og OpenAI (api.openai.com); GigaChat, YandexGPT og andre OpenAI-kompatible har den ikke — uden SearXNG søger agenter på de modeller ikke. Claude (api.anthropic.com og Claude-abonnementet) bruger Anthropics indbyggede søgning; afviser kontoen den, skriver gatewayen det i loggen og tilbyder derefter agenten kun SearXNG. Hvilke agenter der må søge, angives som hidtil på agentkortet. Træder i kraft fra næste tur.
AIHUMMER_WEB_SEARCH_TIMEOUT_SECONDS
Tidsgrænse for websøgning (sekunder)
int
30
straks
1–600 sekunder pr. søgning. En kortere frist for opgaven gælder stadig.
Updates
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_RESTART_APPLY
Anvend indstillinger, der kræver genstart
enum: quiet \\| manual
quiet
straks
quiet (standard) — gemte indstillinger, der først træder i kraft, når gatewayen starter igen, anvendes af sig selv: gatewayen genstarter i næste rolige øjeblik, når agenterne ikke laver noget, og folk har været stille i hele stilhedsvinduet. manual — kun mærket »venter på genstart« og knappen. En genstart tager få sekunder; samtaler og opgaver går ikke tabt. Træder i kraft med det samme.
AIHUMMER_RESTART_QUIET_MINUTES
Roligt øjeblik: minutters stilhed før en automatisk genstart
int 0…1440
10
straks
Hvor mange minutter folk skal være stille (og agenterne ledige), før gatewayen selv genstarter for at anvende gemte indstillinger. 0 — så snart agenterne er færdige med det aktuelle arbejde. 0–1440. Træder i kraft med det samme.
Web UI (separate port)
Nøgle
Navn
Type
Standard
Træder i kraft
Funktion
AIHUMMER_WEBUI_API_BASE
Serveradresse til et separat hostet panel
text
—
efter genstart
Kun nødvendig, hvis panelet åbnes fra en anden adresse end selve serveren. Angiv adressen, hvor browseren kan nå serveren, f.eks. https://api.example.com. Tom — serverens offentlige adresse bruges, eller den lokale, hvis den ikke er sat.
AIHUMMER_WEBUI_ENABLED
Panel på en separat port
bool
1
efter genstart
Til — panelet åbnes på en separat intern port, som kan lukkes for internettet, og den offentlige port betjener kun apps og kanaler. Slå fra for at gøre panelet helt utilgængeligt.
AIHUMMER_WEBUI_ORIGIN
Adresse, panelet åbnes på
text
—
efter genstart
Udfyld, hvis panelet åbnes via en proxy eller et navn, der afviger fra portadressen, f.eks. https://admin.example.com. Serveren lader så en browser fra den adresse tale med den. Tom — panelportens adresse bruges.
Indstillinger, der er tilgængelige for operatøren: 237.
Her er alle de indstillinger, operatøren kan ændre på en AiHummer-server. Siden dannes ud fra produktets eget katalog og svarer derfor til din server.
Værdien angives i webgrænsefladen eller med kommandoen `aihummer settings set KEY VALUE` ([Kommandolinjen](/da/v1.4/reference/cli/)). Kolonnen med standardværdien viser, hvad serveren bruger, indtil en egen værdi er angivet.
> [!NOTE]
> Hemmelige værdier udskrives aldrig her, og leverandørens tjenestenøgler vises slet ikke — produktet skjuler dem på alle lister. En tankestreg betyder tom værdi eller en forklaring, der kun vises i webgrænsefladen.
## API
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_PERSONAL_API_KEYS` | Personlige API nøgler til OpenAI-compat | `bool` | `1` | efter genstart | "off" deaktiverer personlig nøglegodkendelse på det OpenAI-kompatible slutpunkt. Enhver anden værdi = aktiveret. Anvendes ved opstart/efter genstart. |
## Agent
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AGENT_ANNOUNCE_SLOW_TOOLS` | Agent: fortælle, hvad den gør, før lange handlinger | `bool` | `1` | straks | Før en lang handling (et billede, grundig søgning, en video, en opgave til en underagent) skriver agenten kort, hvad den gør, så ventetiden ikke er tavs. Slå fra, hvis sådanne beskeder er i vejen. |
| `AIHUMMER_AGENT_COMPACT_AT_PCT` | Agent: komprimér historikken fra, % af dens budget | `int 50…99` | `85` | straks | Når en samtales historik fylder denne andel af sin plads i modellens vindue, opsummeres ældre beskeder — i baggrunden, efter svaret; turen venter ikke. Lavere — komprimering oftere, men modellen husker mindre ordret; højere — sjældnere, men turene bliver tungere. 50–99; en agent kan angive sin egen værdi. |
| `AIHUMMER_AGENT_COMPACT_TO_PCT` | Agent: behold efter komprimering, % af historikbudgettet | `int 10…90` | `50` | straks | Hvor meget af historikkens plads der forbliver ordret efter komprimering; alt ældre går ind i opsummeringen. Skal være lavere end komprimeringstærsklen: afstanden mellem dem afgør, hvor mange ture der går til næste komprimering. 10–90; en agent kan angive sin egen værdi. |
| `AIHUMMER_AGENT_HISTORY_TURNS` | Agent: samtaleture der bevares ordret | `int 1…1000` | `30` | straks | Hvor mange af de seneste ture i en samtale modellen ser ordret (op til 10 flere, før der komprimeres). Ældre beskeder opsummeres i baggrunden; selve samtalen slettes aldrig. Modellens kontekstvindue tages automatisk i betragtning. 1–1000; en agent kan have sin egen værdi. |
| `AIHUMMER_AGENT_MAX_ITERATIONS` | Agent: maks. værktøjstrin pr. tur | `int 1…256` | `25` | straks | Hvor mange gange pr. tur en agent må kalde værktøjer, før den svarer. Ved grænsen fejler turen ikke: agenten fortæller, hvad der er gjort, og hvad der mangler, og du kan bede den fortsætte. Tre ens kald i træk med samme resultat stopper turen tidligere. 1–256; en agent kan have sin egen værdi. |
| `AIHUMMER_AGENT_MEMORY_FLUSH` | Agent: gem en hukommelsesnote før komprimering | `bool` | `1` | straks | Før ældre beskeder samles i et resumé, gemmer agenten en kort note om mål, beslutninger og åbne opgaver i hukommelsen. Slå fra for at spare modelkaldet. |
| `AIHUMMER_AGENT_MEMORY_FLUSH_PROMPT` | Agent: hvad notatet før komprimering gemmer | `text` | — | straks | Din egen opgave for notatet før komprimering: hvad der skal gemmes fra de beskeder, der går ind i resuméet (f.eks. „gem kun indkøb, frister og aftaler“). Tom — indbygget: mål, beslutninger og åbne opgaver. Beskyttelsen kan ikke slås fra: samtalens tekst forbliver data, ikke instrukser, og adgangskoder og nøgler gemmes aldrig. Op til 4000 tegn; en agent kan have sin egen. |
| `AIHUMMER_AGENT_NEW_REMINDERS_MEMORY` | Nye agenter: påmindelser og skrivning til hukommelsen | `bool` | `1` | straks | En ny agent oprettet manuelt (opsætningsguiden, „Opret agent“, API) opretter, ændrer og annullerer fra første tur sine EGNE påmindelser og planer og skriver fakta i sin egen hukommelse – som skabelonen for den personlige assistent. Slå det fra for en enkelt agent i dens kort (Evner). Biblioteksskabeloner bestemmer selv, en kopi beholder originalens rettigheder, agenter oprettet af en anden agent starter uden dem; eksisterende agenter ændres ikke. Gælder for den næste agent, der oprettes. |
| `AIHUMMER_AGENT_PROMPT_PART_MAX_CHARS` | Agent: maks. tegn pr. promptdel | `int 1000…1000000` | `20000` | straks | Hvor mange tegn modellen får fra ÉN del af agentens persona: en profilsektion, en promptdel eller hovedprompten. En længere del beholder begyndelsen (3/4) og slutningen (1/4) med en note om, hvor meget der er skåret væk; det vises i samtalekortet og i agentens promptsammensætning. Navn, tiltaleform og personabegrænsninger beskæres aldrig. 1000–1000000; en agent kan have sin egen værdi. |
| `AIHUMMER_AGENT_PROMPT_TOTAL_MAX_CHARS` | Agent: maks. tegn for hele personaen | `int 1000…2000000` | `60000` | straks | Samlet loft for agentens persona: alle dele tilsammen. Overskrides det, afgiver de længste dele plads først, og korte dele forbliver hele. 1000–2000000; en agent kan have sin egen værdi. |
| `AIHUMMER_AGENT_SELF_INTRO` | Agent: præsentere sig | `enum: first_contact \\\| each_dialog \\\| never` | `first_contact` | straks | »Én gang, ved første møde«: agenten præsenterer sig kort i den allerførste samtale med en person, medmindre personen vil direkte til sagen; for en, den allerede kender, præsenterer den sig ikke igen og besvarer en hilsen naturligt. »Aldrig præsentere sig«: agenten siger aldrig sit navn af sig selv. »I starten af hver ny samtale« — i starten af hver ny samtale og efter en lang pause, kort og uden et resumé af tidligere sager. En agent kan vælge anderledes på sit kort («Kontekst og adfærd»). |
| `AIHUMMER_AGENT_SESSION_IDLE_RESET_MINUTES` | Agent: start samtalen forfra efter stilhed (minutter) | `int 0…525600` | `360` | straks | For »efter stilhed« og »hver dag og efter stilhed«: skriver en person efter en længere stilhed end denne, starter agenten samtalen forfra. Gælder agenter uden egen værdi på deres kort. 0 — ikke efter stilhed. 0–525600; 360 = 6 timer, 1440 = én dag. |
| `AIHUMMER_AGENT_SESSION_INDEX_MAX_ENTRIES` | Agent: behold højst så mange sessioner på listen | `int 0…100000` | `0` | straks | De mest stille forlader listen først; intet slettes. 0 — ingen grænse. 0–100000. Gælder for agenter uden egen værdi på deres kort. |
| `AIHUMMER_AGENT_SESSION_INDEX_PRUNE_DAYS` | Agent: fjern fra sessionslisten efter så mange dages stilhed | `int 0…3650` | `0` | straks | Intet slettes: samtalen forlader listen og vender tilbage med en ny besked. 0 — behold. 0–3650. Gælder for agenter uden egen værdi på deres kort. |
| `AIHUMMER_AGENT_SESSION_RESET_AT_HOUR` | Agent: time for daglig start forfra | `int 0…23` | `4` | straks | For tilstandene »hver dag«: en samtale, der begyndte før denne time, starter forfra ved personens næste besked. Timen følger serverens tidszone (indstillingen »Tidszone« under System og indstillinger). 0–23; 4 er om natten, når næsten ingen skriver. |
| `AIHUMMER_AGENT_SESSION_RESET_GROUP_IDLE_MINUTES` | Agent: start en gruppechat forfra efter stilhed (minutter) | `int 0…525600` | `0` | straks | For gruppechats i tilstandene “efter stilhed” og “hver dag og efter stilhed”: minutterne med stilhed, hvorefter en gruppechat starter forfra. 0 betyder som for personlige chats. 0–525600. |
| `AIHUMMER_AGENT_SESSION_RESET_GROUP_MODE` | Agent: hvornår en gruppechat starter forfra | `enum: inherit \\\| daily \\\| idle \\\| both \\\| none` | `inherit` | straks | En særskilt regel for gruppechats (Telegram-grupper, VK-samtaler, MAX-chats og andre): som for personlige chats, hver dag på nulstillingstimen, efter stilhed, hvad der kommer først, eller aldrig. Nulstillingstimen er fælles. Gælder for agenter uden egen regel på deres kort. |
| `AIHUMMER_AGENT_SESSION_RESET_MODE` | Agent: hvornår en samtale starter forfra | `enum: idle \\\| daily \\\| both \\\| none` | `idle` | straks | Hvornår agenten starter en samtale forfra: hver dag på nulstillingstimen (i instansens tidszone), efter en stilhed, det der kommer først, eller aldrig. Når agenten starter forfra, skriver den en note om den tidligere samtale i sin hukommelse, og dens første tur får det tidligere resumé og de seneste beskeder; beskederne bliver i arkivet og i søgningen. Gælder agenter uden egen regel på deres kort; der kan gruppechats få en særskilt regel. |
| `AIHUMMER_AGENT_SESSION_SCOPE` | Agent: hvor personlige samtaler havner | `enum: chat \\\| per-channel-peer \\\| per-peer` | `chat` | straks | «Én pr. person» samler Telegram, appen og andre personlige chats med samme person i én samtale. Gruppechats beholder altid deres egen. Gælder fra næste besked. Gælder for agenter uden egen værdi på deres kort. |
| `AIHUMMER_AGENT_SILENT_REPLY` | Agent: må tie | `enum: groups \\\| all \\\| off` | `groups` | straks | I gruppechats må agenten tie, når en besked ikke er rettet til den, eller den intet har at tilføje; i private chats svarer den altid. Du kan også tillade tavshed i private chats eller slå det fra. En tavs tur sender intet, samtalekortet markerer den som „agenten tav“, og modellen ser den ikke i historikken. Gælder fra næste tur. |
| `AIHUMMER_AGENT_SKILLS_PROMPT_MAX_CHARS` | Agent: maks. tegn for færdighedslisten i prompten | `int 1000…200000` | `18000` | straks | I hver tur ser modellen ikke færdighedernes tekster, men deres liste: id, navn og hvornår de skal bruges; agenten henter selv en færdigheds instruktion, når opgaven passer. Er listen længere, fjernes først beskrivelserne og derefter slutningen af listen — resten finder agenten på forespørgsel. 1000–200000. |
| `AIHUMMER_AGENT_STALE_GAP_HOURS` | Agent: pause, hvorefter tidligere samtale er historik (timer) | `int 0…8760` | `12` | straks | Skriver en person efter en pause længere end denne, får agenten en note: alt, der blev drøftet før, er historik — det genfortælles ikke, og gamle opgaver genoptages ikke uden anmodning. Hver besked bærer allerede sit tidspunkt og hvor lang tid der er gået siden den forrige. 0 = ingen note. 0–8760. |
| `AIHUMMER_AGENT_TOOL_HISTORY_TURNS` | Agent: ture der bevarer værktøjsresultater | `int 0…100` | `5` | straks | I hvor mange af de seneste ture modellen ser værktøjskald og deres resultater i fuld længde (et resultat gemmes op til 16 KB). Ældre ture beholder kaldet og begyndelsen af resultatet. Så husker agenten, hvad den fandt og gjorde, i stedet for at kalde værktøjerne igen. 0 = overfør ikke resultater til senere ture. 0–100; en agent kan tilsidesætte det. |
| `AIHUMMER_APPROVAL_TOOLS` | Værktøjer, der kræver godkendelse | `multiselect` | — | straks | Kommasepareret liste over værktøjer, hvis kald kræver manuel godkendelse fra operatøren, før de udføres. Tomt = ingen godkendelse er nødvendig. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_SUBAGENT_MAX_DEPTH` | Subagent maks. dybde | `int 0…10` | `2` | straks | Maksimal indlejringsdybde for underagenter (en agent, der starter en agent). Standard 2 — beskyttelse mod uendelig rekursion. |
| `AIHUMMER_SUBAGENT_TIMEOUT_SEC` | Subagent timeout (sekunder) | `int 0…86400` | `180` | straks | Maksimal tid for en enkelt underagentkørsel i sekunder. |
| `AIHUMMER_TOOL_SEARCH` | Doven indlæsning af værktøjer | `bool` | `false` | straks | Viser værktøjernes arbejdskerne direkte og skjuler resten af et stort katalog bag et søgeværktøj, der navngiver hvert skjult værktøj. Kan kun betale sig for store kataloger (dusinvis af plugin-, MCP- eller OpenAPI-værktøjer): under størrelsesgrænsen vises alle værktøjer direkte, fordi et ekstra modelkald for at finde et værktøj koster mere end skemaerne. Gælder fra næste tur. |
| `AIHUMMER_TOOL_SEARCH_CORE` | Doven indlæsning af værktøj: altid-on-værktøjer | `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` | straks | Værktøjer, der altid vises direkte i doven tilstand. Standard er arbejdskernen: websøgning, sidehentning, hukommelse, samtalehistorik, vidensbase, kode, filer, beskeder, tidsplaner og parring af appen. Søgning i hukommelse og vidensbase (memory_search, memory_get, search_knowledge) vises altid, uanset hvad listen indeholder. En tom liste gendanner kernen. |
| `AIHUMMER_TOOL_SEARCH_MIN_POOL_TOKENS` | Doven indlæsning af værktøjer: mindste størrelse på skjulte værktøjer (tokens) | `int 0…1000000` | `4000` | straks | Skjul kun værktøjer, når skemaerne uden for kernen tilsammen fylder mindst så mange tokens (omkring 4 tegn hver). Derunder vises alle værktøjer direkte: et ekstra modelkald for at finde et værktøj koster mere end at vise skemaerne. |
| `AIHUMMER_TOOL_SEARCH_THRESHOLD` | Doven indlæsning af værktøj: få værktøjer til at udskyde | `int 0…1000` | `12` | straks | Udskyd kun, når mere end så mange værktøjer overlever agentens profilfilter. |
## Agent · Reasoning
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AGENT_BEST_OF_N` | Bedste af N: antal forslag | `int 0…8` | `0` | straks | Agenten forbereder så mange svarforslag og beholder det bedste. 0 eller 1 — fra, 2 eller flere — til. Hvert forslag koster som et separat svar. |
| `AIHUMMER_AGENT_DEBATE_JUDGE_PROMPT` | Debat: dommerprompt (tilsidesættelse) | `text` | — | straks | Tilsidesætter debatdommerprompten (tom = indbygget). |
| `AIHUMMER_AGENT_DEBATE_N` | Debat: antal svarforslag | `int 0…8` | `0` | straks | Agenten forbereder så mange svarforslag, sammenligner dem og giver det bedste. 0 eller 1 — fra, 2 eller flere — til. Hvert forslag koster som et separat svar. |
| `AIHUMMER_AGENT_DEBATE_PROMPT` | Debat: kandidatprompt (tilsidesættelse) | `text` | — | straks | Tilsidesætter debatkandidatprompten (tom = indbygget). |
| `AIHUMMER_AGENT_DEBATE_ROUNDS` | Debat: runder | `int 1…10` | `1` | straks | Antal debatrunder for kandidatpanelet. |
| `AIHUMMER_AGENT_JUDGE_PROMPT` | Best-of-N-dommerprompt (tilsidesættelse) | `text` | — | straks | Tilsidesætter best-of-N-dommerprompten (tom = indbygget). |
| `AIHUMMER_AGENT_PLAN_PROMPT` | Planner-prompt) | `text` | — | straks | Tilsidesætter planner-prompten (tom = indbygget). |
| `AIHUMMER_AGENT_PLAN_STEPS` | Planlægger-udfører: maks. plantrin (0=fra) | `int 0…32` | `0` | straks | ⟩0 kører en separat planlægger→udfører→syntesepas (god til komplekse flertrinsopgaver). 0 deaktiverer. Typisk 4-8. |
| `AIHUMMER_AGENT_PLAN_STEP_ITERS` | Planlægger: værktøjsgentagelser pr. trin (0=standard) | `int 0…64` | `0` | straks | Begrænser gentagelser af værktøjsopkald pr. plantrin. 0 = indbygget standard (4). |
| `AIHUMMER_AGENT_REFLECT` | Beståelse af selvkritik | `bool` | `0` | straks | Tilføjer en refleksion/selvkritikpas før det endelige svar. |
| `AIHUMMER_AGENT_REFLECT_PROMPT` | Refleksionsprompt (tilsidesættelse) | `text` | — | straks | Tilsidesætter selvkritikprompten (tom = indbygget). |
| `AIHUMMER_AGENT_SELF_HEAL` | Selvhelbredende værktøjsfejl forsøger igen (0=fra) | `int 0…10` | `0` | straks | ⟩0 genforsøg mislykkede værktøjskald med et korrigerende tip, op til denne grænse. |
## Agent · System prompt
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_LOCALE` | Standardlokalitet | `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` | straks | Standard svarsprog/lokaltip, f.eks. ru-RU. Persona/operatørinstruktioner tilsidesætter. |
| `AIHUMMER_TIMEZONE` | Tidszone | `text` | `UTC` | straks | IANA-tidszone for agentens aktuelle dato og for tidsplaner uden egen tidszone, f.eks. Europe/Moscow. Standard UTC. |
## Channels
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_CHANNEL_FAILURE_NOTICE` | Fortæl personen, når et svar mislykkes | `enum: always \\\| once \\\| off` | `always` | straks | Hvad en person i en kanal (Telegram og andre) får, når agenten ikke kunne svare: «Hver gang» — en kort besked på vedkommendes sprog; «Højst én gang hver 4. time» — én besked pr. samtale inden for 4 timer; «Fortæl ikke» — intet. Beskeden har ingen fejlkoder eller udbydernavne; detaljerne ser du under Sessioner og i notifikationer. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_BLOCKED` | Fejlbesked: instansen er suspenderet | `text` | — | straks | Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_BUDGET` | Fejlbesked: ejerens budget er brugt op | `text` | — | straks | Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_BUSY` | Fejlbesked: gatewayen er overbelastet | `text` | — | straks | Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_CONFIG` | Fejlbesked: modelforbindelsen kræver ejeren | `text` | — | straks | Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_FAILED` | Fejlbesked: anden fejl | `text` | — | straks | Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_QUOTA` | Fejlbesked: modellens forbrugsgrænse er brugt op | `text` | — | straks | Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_STEP_LIMIT` | Fejlbesked: opgaven kunne ikke nås i ét svar | `text` | — | straks | Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_TOO_LONG` | Fejlbesked: samtalen er for lang til modellen | `text` | — | straks | Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_UNAVAILABLE` | Fejlbesked: modellen er midlertidigt utilgængelig | `text` | — | straks | Lad feltet stå tomt for at sende den indbyggede besked på personens eget sprog. Din tekst sendes som skrevet, på det sprog du skriver den på; {ref} indsætter svarets kode, som du finder turen med under Sessioner. Træder i kraft med det samme. |
| `AIHUMMER_CONFIDENTIAL_PERSONA` | Fortrolig webpersona | `bool` | `0` | straks | Når den er aktiveret, afslører eller fortsætter webchat-agenten ikke sine person-/identitetsdetaljer og beholder svar på opgaven ved hånden – brug den til anonyme eller privatlivsfølsomme webimplementeringer. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_INBOUND_COALESCE_MS` | Vindue til samling af beskeder (ms) | `int` | `500` | straks | Flere beskeder, som en person sender i træk til samme chat (korte beskeder, et fotoalbum, en hurtig rettelse), får ÉT svar, hvis pausen mellem dem er kortere end dette vindue. Beskeder, der kommer, mens et svar forberedes, besvares lige derefter, aldrig parallelt. Standard 500 ms; 0 = ingen ventetid mellem separate beskeder; et fotoalbum samles stadig (pauser op til 3 s, højst 20 s), så det får ét svar. Samling virker i Telegram; Slack, WhatsApp, VK, e-mail og andre forbindelser, der venter på svar på hver besked (og integrationer via /v1/inbound/generic), får svar på hver besked — stadig én ad gangen og i rækkefølge. Træder i kraft med det samme. |
| `AIHUMMER_INBOUND_EDIT_MODE` | Når en person redigerer en besvaret besked | `enum: correct \\\| history` | `correct` | straks | correct — botten svarer igen og ved, at det er en rettelse (»før / nu«); history — redigeringen retter kun samtalens historik, intet nyt svar (praktisk ved tastefejl). En redigering af en besked, botten endnu ikke har besvaret, erstatter altid bare dens tekst. Virker, hvor kanalen melder redigeringer (Telegram). Træder i kraft med det samme. |
| `AIHUMMER_INBOUND_QUEUE_MODE` | Beskeder skrevet, mens agenten arbejder | `enum: steer \\\| collect \\\| followup` | `steer` | straks | Hvad der sker med en besked, som samme person sender, mens agenten stadig arbejder på et svar (søger, kører værktøjer): steer (standard) — agenten ser den før sit næste trin og tager højde for den i samme svar; collect — den besvares med det næste svar. followup — hver sådan besked får sit eget svar, én ad gangen. Fotos, filer, svar på en besked og videresendelser venter altid på det næste svar. Gælder med det samme. |
| `AIHUMMER_INBOUND_REQUIRE_BINDING` | Svar kun til klargjorte brugere | `bool` | `true` | straks | true = botten ignorerer enhver kanalafsender, der er NOT en klargjort AiHummer-bruger (en bruger med en rollebinding) — tilfældige chatmedlemmer og gæstekald får intet svar. false (standard) = svar til alle. |
## Integrations
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_A2A_PUBLISH` | Udgiv agent over Agent2Agent (A2A) | `bool` | `0` | efter genstart | Udgiv agenten som en A2A-server (agentkort + POST /a2a/message). Anvendt ved opstart/efter genstart. |
| `AIHUMMER_MCP_EXPORT_TOOLS` | Værktøjer åbnet for eksterne assistenter | `multiselect` | — | efter genstart | En eksplicit liste over værktøjsnavne tilladt for eksterne MCP-klienter, adskilt af kommaer. Tom = udgiv ingen værktøjer. Farlige klasser på værtsniveau er desuden forbudt af den indbyggede politik, selvom de er angivet. Gælder ved start/efter genstart. |
| `AIHUMMER_MCP_PUBLISH` | Udgiv værktøjer over MCP | `bool` | `0` | efter genstart | Lader eksterne assistenter (f.eks. Claude Desktop) bruge dine agenters værktøjer. Hvilke værktøjer der åbnes, vælges i indstillingen ved siden af: så længe listen er tom, åbnes ingen. |
| `AIHUMMER_MODULE_CPU_QUOTA` | CPU-grænse pr. plugin | `text` | `75%` | straks | Hvor stor en del af processoren hvert plugin må bruge (systemd CPUQuota): 75 % er tre fjerdedele af én kerne, 150 % er halvanden kerne. Et plugin får den nye værdi ved næste installation, opdatering eller når dets indstillinger gemmes; indtil da beholder kørende plugins den tidligere grænse. |
| `AIHUMMER_MODULE_MEMORY_MAX` | Hukommelsesgrænse pr. plugin | `text` | `512M` | straks | Hvor meget hukommelse hvert plugin må bruge (systemd MemoryMax): en størrelse som 512M, 1G eller 2048M (mindst 64M) eller infinity for ingen grænse. Systemet stopper et plugin, der overskrider den. Et plugin får den nye værdi ved næste installation, opdatering eller når dets indstillinger gemmes; indtil da beholder kørende plugins den tidligere grænse. |
## Knowledge connectors
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_KB_SYNC_INTERVAL` | Hvor ofte vidensbasen opdateres fra kilder | `text` | — | straks | Hvor ofte serveren selv henter ændringer fra forbundne kilder til vidensbasen. For eksempel: 30m — hvert 30. minut, 6h — hver 6. time. Tom eller 0 — kun manuelt. Genindlæsning skaber aldrig dubletter. En Slack-eksport uploades manuelt. |
## LLM
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AUX_FALLBACK_MODELS` | Serviceopgaver: reservemodeller | `list` | — | straks | Kommaseparerede modeller, der prøves i rækkefølge, når servicemodellen fejler (kvote, nedbrud). Hovedmodellen prøves altid til sidst, så et resumé ikke går tabt. Hvert skift logges. Gælder med det samme. |
| `AIHUMMER_AUX_MODEL` | Model til serviceopgaver (resuméer, noter, titler) | `text` | — | straks | Model til baggrundsopgaver: sammenfatning af gammel historik, hukommelsesnoten før komprimering, samtaletitler, udtræk af fakta, omformulering af søgeforespørgsler og oversættelse. Tom = automatisk: en billigere model fra samme udbyder (Claude → claude-haiku-4-5, Codex → gpt-…-luna/mini); findes der ingen, hovedmodellen. "main" = altid hovedmodellen. Gælder med det samme. |
| `AIHUMMER_CASCADE_MIN_CHARS` | Cascade til | `int` | `0` | straks | Tærskel for anmodningslængde (tegn), hvor den stærkere kaskademodel starter. 0 = standard. |
| `AIHUMMER_CASCADE_STRONG_MODEL` | Kaskade: stærkere fallback-model | `text` | — | straks | Model til kaskade til lange/komplekse anmodninger (tom = fra). |
| `AIHUMMER_CLAUDE_AUTH_URL` | Claude-abonnement: adresse på login-siden | `text` | — | straks | Siden, hvor du tillader, at Claude-abonnementet forbindes. Tom — standardadressen; skift den kun, hvis support beder om det. |
| `AIHUMMER_CLAUDE_CLIENT_ID` | Claude abonnement: OAuth klient-id | `text` | — | straks | Appens id til login med et Claude-abonnement. Tom — standard; skift kun, hvis support beder om det. |
| `AIHUMMER_CLAUDE_EFFORT` | Claude: tænkedybde | `enum: low \\\| medium \\\| high \\\| xhigh \\\| max` | `medium` | straks | Hvor dybt Claude-modeller tænker, før de svarer, når agenten ikke angiver det. Højere er mere præcist på svære opgaver, men langsommere og bruger mere kvote; lavere er hurtigere og billigere. En model, der ikke kender det valgte niveau, får det nærmeste lavere; Haiku 4.5 og ældre modeller understøtter ikke tænkning. Dybden, der er angivet på agenten, har forrang. Gælder fra næste tur. |
| `AIHUMMER_CLAUDE_MAX_TOKENS` | Claude: maksimal svarlængde (tokens) | `int` | `16000` | straks | Hvor mange tokens ét Claude-svar må bruge — både via abonnement og nøgle. Modellens tænkning tæller med i samme grænse: en for lav værdi afbryder svaret midt i en sætning eller giver et tomt svar. Har en agent sin egen svarlængde, gælder den. |
| `AIHUMMER_CLAUDE_REDIRECT_URI` | Claude-abonnement: omdirigerings-URI | `text` | — | straks | Returadresse registreret hos leverandøren. Skal matche det, der er konfigureret på siden, ellers afvises kodeudvekslingen. |
| `AIHUMMER_CLAUDE_TOKEN_URL` | Claude-abonnement: adgangsadresse | `text` | — | straks | Adressen, hvor serveren henter og fornyer adgang til Claude-abonnementet. Tom — standardadressen; skift den kun, hvis support beder om det. |
| `AIHUMMER_CODEX_BASE_URL` | Codex-base URL | `text` | — | delvist efter genstart | Basis for Codex-transporten (ChatGPT-abonnement). Anvendes ved opstart/efter genstart. |
| `AIHUMMER_CODEX_MAX_OUTPUT_TOKENS` | Max output tokens (0 = ingen grænse) | `int` | `0` | straks | Max_output_tokens-grænsen for en chattur. 0 = ingen låg. På ræsonneringsmodeller tæller ræsonnementstokenserne også med i dette budget, så en for lille værdi giver et tomt 'ufuldstændigt: max_output_tokens' svar. Anvendt med det samme (ingen genstart). |
| `AIHUMMER_CODEX_MODEL` | Model-id (Codex / gpt-5.5 transport) | `text` | `gpt-5.5` | delvist efter genstart | Model-id for den primære Codex/ChatGPT-transport (f.eks. gpt-5.5, gpt-5.5-codex). Anvendes ved opstart/efter genstart. |
| `AIHUMMER_CODEX_REASONING_EFFORT` | Begrundelse | `enum: none \\\| low \\\| medium \\\| high \\\| xhigh` | `medium` | straks | Hvor dybt ChatGPT-modellen (Codex) tænker før svaret, når agenten ikke angiver det. Standard — «Middel». Højere er mere præcist, men langsommere og dyrere. |
| `AIHUMMER_LLM_CALL_TIMEOUT_S` | Per-call timeout (sekunder) | `int` | `120` | straks | Hvor mange sekunder der ventes på modellens svar på én forespørgsel. Tier modellen længere, afbrydes forespørgslen, og svaret går videre til næste model på listen. For Claude tælles pausen i svarstrømmen, ikke hele svaret: et langt svar, der bliver ved med at komme, afbrydes ikke. 0 — ingen grænse. |
| `AIHUMMER_LLM_FALLBACK_MODELS` | Reservemodeller (alle agenter) | `text` | `auto` | straks | Hvem svarer, når hovedmodellen og de andre udbydere svigter (forbrugsgrænsen er nået, nedbrud, for mange forespørgsler). auto — hver udbyders billigere model som sidste udvej (Claude: claude-haiku-4-5, Codex: gpt-…-luna/mini); en kommasepareret liste — din egen rækkefølge, hver model går til udbydere fra dens leverandør; off — ingen reservemodeller. En agents egen reservemodel har forrang. Træder i kraft med det samme. |
| `AIHUMMER_LLM_GATEWAY_URL` | URL til LLM-gateway | `text` | — | delvist efter genstart | Base URL af det OpenAI-kompatible modelslutpunkt, som agenten kalder (din lokale llama.cpp/vLLM/Ollama-server eller en hostet gateway). Lad stå tomt for at bruge udbyderens standardslutpunkt. |
| `AIHUMMER_LLM_MODEL` | LLM-model | `text` | — | delvist efter genstart | Modelnavnet/id'et, der sendes til udbyderen hver gang (den model, dit slutpunkt betjener). Skal matche en model, som slutpunktet faktisk afslører. |
| `AIHUMMER_LLM_PAUSE_AUTH_MIN` | Pause efter afviste loginoplysninger, min | `int` | `10` | straks | Hvor mange minutter en udbyder, der afviste loginoplysningerne, ikke spørges. Hver gentagelse fordobler pausen, højst til seks gange den første. En vellykket forbindelsestest eller knappen »Genoptag nu« henter udbyderen tilbage med det samme. Gælder fra næste fejl. |
| `AIHUMMER_LLM_PAUSE_MODEL_MIN` | Pause for en model, udbyderen ikke betjener, min | `int` | `60` | straks | Hvor mange minutter en udbyder ikke tilbydes en model, den har sagt, at den ikke betjener; dens andre modeller spørges som sædvanligt. Gælder fra næste fejl. |
| `AIHUMMER_LLM_PAUSE_QUOTA_MIN` | Pause efter opbrugt grænse, min | `int` | `300` | straks | Hvor mange minutter modellen (eller hele kontoen, når kontoens grænse er opbrugt – Codex, en OpenAI-nøgle, betaling) ikke spørges, når dens forbrugsgrænse er opbrugt, og udbyderen ikke har angivet, hvornår den nulstilles. Hver gentagelse fordobler pausen, højst til et døgn. En tid, udbyderen angiver, går forud. Gælder fra næste fejl. |
| `AIHUMMER_LLM_PAUSE_SHORT_S` | Udbyderpause efter en fejl, s | `int` | `30` | straks | Hvor mange sekunder en udbyder ikke spørges efter en fejl, en afbrudt forbindelse eller »for mange forespørgsler«. En anden fejl i træk fordobler pausen, den tredje og følgende gør den ti gange længere. Hvis udbyderen selv angiver en tid, venter vi på den. Gælder fra næste fejl. |
| `AIHUMMER_LLM_PROVIDER` | LLM udbyder | `text` | — | delvist efter genstart | Hvilken model backend skal bruges (et OpenAI-kompatibelt slutpunkt eller Codex/ChatGPT-abonnementstransporten). Bestemmer, hvordan anmodninger sendes og godkendes. |
| `AIHUMMER_LLM_RETRIES` | LLM forsøger igen ved forbigående fejl | `int` | `3` | straks | Antal LLM anmodninger genforsøg på en forbigående fejl. |
| `AIHUMMER_LLM_TEMPERATURE` | Temperatur | `text` | — | straks | Hvor varierede modellens svar er (0–2), når agenten ikke angiver det: lavere er mere præcist og forudsigeligt, højere er mere levende. Tom — modellen bestemmer. Ræsonnerende modeller (ChatGPT/Codex, Claude generation 5) accepterer den ikke — lad feltet stå tomt for dem. |
| `AIHUMMER_LLM_TOP_P` | Top-p (kerneprøvetagning) | `text` | — | straks | En anden måde at gøre svarene mere varierede på (0–1), når agenten ikke angiver det. Tom — modellen bestemmer. Normalt angiver man kun én: enten temperatur eller denne; ræsonnerende modeller accepterer den ikke. |
| `AIHUMMER_MODEL_GUARD_INTERVAL_MIN` | Kontrol af agentmodel: interval, min | `int` | `60` | straks | Hvor ofte det skal kontrolleres, at hver agents model tilbydes af en aktiveret udbyder. Agentens model ændres aldrig: så længe ingen tilbyder den, svarer den første model i svarrækkefølgen, der ikke er sat på pause, og en meddelelse nævner agenterne — og en til, når deres model er tilbage. Kontrollen kører altid ved gatewayens start, og 0 slår kun gentagelsen fra. Et nyt interval gælder inden for et minut. |
| `AIHUMMER_OPENAI_API` | OpenAI API-stil (chat \| svar) | `enum: \\\| chat \\\| responses` | — | delvist efter genstart | chat = /chat/afslutninger, svar = /svar. Blank = auto/standard. Anvendes ved opstart/efter genstart. |
| `AIHUMMER_OPENAI_API_KEY` | Native OpenAI API-nøgle (deployment standard) | `text` | — | delvist efter genstart | Din OpenAI-kontonøgle til den oprindelige OpenAI-løkke (hvis du bruger OpenAI som standardudbyder). Må ikke forveksles med per-arbejdsområde BYOK på siden Modeller. Anvendt ved opstart/efter genstart. |
| `AIHUMMER_OPENAI_BASE_URL` | Native OpenAI-base URL | `text` | — | efter genstart | Basis for den OpenAI-kompatible API (f.eks. https://api.openai.com/v1). Anvendt ved opstart/efter genstart. |
| `AIHUMMER_OPENAI_MODEL` | Native OpenAI-model | `text` | — | efter genstart | Model for den oprindelige OpenAI-løkke (når AIHUMMER_OPENAI_API_KEY er indstillet). Anvendes ved opstart/efter genstart. |
| `AIHUMMER_ROUTER_COMPLEX_MODEL` | Router: model for komplekse sving | `text` | — | straks | Model til komplekse anmodninger fra en agent uden egen model (tom = niveauet slået fra). Gælder fra næste tur. |
| `AIHUMMER_ROUTER_SIMPLE_MODEL` | Router: model til enkle drejninger | `text` | — | straks | Model til simple anmodninger fra en agent uden egen model (tom = niveauet slået fra). Gælder fra næste tur. |
| `AIHUMMER_ROUTER_STANDARD_MODEL` | Router: model for standardsving | `text` | — | straks | Model til almindelige anmodninger fra en agent uden egen model (tom = niveauet slået fra). Gælder fra næste tur. |
| `AIHUMMER_SUBSCRIPTION_QUOTA_REFRESH_MIN` | Abonnementskvoter: opdateringsperiode, min | `int` | `15` | straks | Hvor ofte panelet spørger ChatGPT (Codex) om abonnementets kvotevinduer: højst én gang pr. periode, ikke oftere end hvert 5. minut og kun mens kvoterne er åbne; imellem vises den gemte kopi. Claude bliver aldrig spurgt: grænserne er vores skøn. Gælder næste gang kvoterne åbnes. |
## Media
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_DEEPGRAM_API_KEY` | Deepgram API nøgle | `text` | — | straks | Nøglen til Deepgram — nødvendig, hvis Deepgram genkender talebeskeder. Hvis tom, bruges den fælles talegenkendelsesnøgle fra indstillingen ved siden af. Træder i kraft med det samme. |
| `AIHUMMER_DEEPGRAM_DETECT_LANGUAGE` | Deepgrams sproggenkendelse | `bool` | `0` | straks | Genkend sproget i stedet for at sende et fast sprog. Træder i kraft med det samme. |
| `AIHUMMER_DEEPGRAM_MODEL` | Deepgram-model | `text` | `nova-2` | straks | Deepgram-model (f.eks. nova-2, nova-3, base). Afhænger af projektets adgang til nøglen. Træder i kraft med det samme. |
| `AIHUMMER_DEEPGRAM_PUNCTUATE` | Deepgrams tegnsætning | `bool` | `1` | straks | Tilføj tegnsætning og store bogstaver. Træder i kraft med det samme. |
| `AIHUMMER_DEEPGRAM_SMART_FORMAT` | Deepgrams intelligente formatering | `bool` | `1` | straks | Formatér genkendte tal og datoer. Træder i kraft med det samme. |
| `AIHUMMER_DEEPGRAM_URL` | Basis-URL for Deepgram | `text` | — | straks | Deepgram API base. Blank = https://api.deepgram.com. Træder i kraft med det samme. |
| `AIHUMMER_IMAGE_BASE_URL` | Billede API base URL (OpenAI fallback) | `text` | — | straks | Basis for /images API ved arbejde gennem en OpenAI-nøgle (tom = https://api.openai.com/v1). |
| `AIHUMMER_IMAGE_MODEL` | Billedgenereringsmodel | `text` | — | straks | Model for image_generate (standard gpt-image-2). |
| `AIHUMMER_MEDIA_MAX_UPLOAD_MB` | Mediemaks. uploadstørrelse (MB) | `int` | `256` | straks | Den største fil (foto, talebesked, video), der kan uploades ad gangen, i megabyte. Beskytter serverens disk mod at blive fyldt op. Standard 256. Træder i kraft med det samme. |
| `AIHUMMER_SIDECAR_STT` | Talegenkendelse på denne server (faster-whisper) | `bool` | `0` | straks | Lokal talegenkendelse (faster-whisper). IKKE inkluderet i pakken: aktiver downloader den signerede tilføjelse (~620 MiB for alle versioner af Python) og installerer tjenesten på værten. 🔴 Tilføjelsen udgives af en separat leverandørbeslutning (dens pakker bærer ffmpeg under GPL); hvis det ikke er udgivet til din udgivelse, herunder vil det være ærligt om det og vil ikke ødelægge noget. Cloud-plan: genkendelse konfigureres af udbyderen. |
| `AIHUMMER_SIDECAR_TTS` | Oplæsning af svar (edge-tts) | `bool` | `0` | straks | Talesyntese (edge-tts, stemmer Microsoft Edge). IKKE inkluderet i pakken: aktivering downloader den signerede tilføjelse (~26 MiB) og installerer tjenesten på værten. Selve syntesen går online for stemmer - "offline" refererer her til at installere pakken, der ikke virker. |
| `AIHUMMER_STT_API_KEY` | STT API nøgle (valgfri) | `text` | — | straks | Adgangsnøgle til talegenkendelsestjenesten, hvis den kræver en. For en tjeneste på denne server sætter installationsprogrammet den — den behøver ikke ændres. Træder i kraft med det samme. |
| `AIHUMMER_STT_ENGINE` | STT motor | `enum: auto \\\| faster-whisper \\\| deepgram \\\| codex \\\| off` | `auto` | straks | Hvordan talebeskeder skrives ud. Auto (standard): Deepgram, hvis dens nøgle er angivet, ellers den lokale tjeneste, hvis den er installeret (kontakten ovenfor), ellers intet — og botten fortæller ærligt afsenderen, at den ikke kan lytte endnu. faster-whisper: den lokale tjeneste eller en kompatibel ekstern /v1/audio/transcriptions. deepgram: Deepgram i skyen med din egen nøgle. codex: det tilsluttede ChatGPT-abonnement (Modeller → Tilslut ChatGPT), bruger dets kvote. off: skriv ikke ud. Træder i kraft med det samme. |
| `AIHUMMER_STT_LANGUAGE` | STT sprog | `text` | — | straks | Genkendelsessprog (BCP-47, f.eks. ru/en). Anvendes af deepgram-motoren (nova-2 model). Blank = auto-detektering / motorstandard. Træder i kraft med det samme. |
| `AIHUMMER_STT_MODEL` | STT-model | `text` | `Systran/faster-whisper-small` | straks | faster-whisper model (f.eks. small/medium/large-v3 eller Systran/faster-whisper-⟨size⟩). Træder i kraft med det samme. |
| `AIHUMMER_TTS_API_KEY` | TTS API nøgle (p⟩ge-tts) | `text` | — | delvist efter genstart | Adgangsnøgle til oplæsningstjenesten. Sættes automatisk under installationen — den behøver ikke ændres. |
| `AIHUMMER_TTS_ENABLED` | Tekst-til-tale aktiveret | `bool` | `1` | delvist efter genstart | Lader agenten svare med stemme. Det kræver oplæsningstjenesten — installer den i afsnittet Ekstra tjenester ovenfor. |
| `AIHUMMER_TTS_MODEL` | TTS-model | `text` | — | delvist efter genstart | Modelnavn for edge-tts-tjenesten. Anvendt ved opstart/efter genstart. |
| `AIHUMMER_TTS_VOICE` | TTS stemme | `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` | delvist efter genstart | Standard edge-tts-stemme (flersproget, inkl. russisk). Anvendes ved opstart/efter genstart. |
| `AIHUMMER_VIDEO_API_KEY` | Videoanalyse API nøgle | `text` | — | straks | Adgangsnøgle til videoanalysetjenesten, hvis den kræver en. Tom — tjenesten bruges uden nøgle. |
## Media · Voice
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_TTS_AUTO_REPLY` | Automatiske talesvar | `enum: off \\\| always \\\| inbound \\\| tagged` | `inbound` | straks | Fra, altid, ved indgående lyd eller tydelig markering. Kan ændres for den enkelte samtale. |
| `AIHUMMER_TTS_MAX_CHARS` | Tegngrænse for oplæsning | `int` | `0` | straks | 0: hele teksten; 100–10000: grænse for oplæsning. Hele svaret bevares i historikken. |
| `AIHUMMER_TTS_SUMMARIZE` | Opsummér lange talesvar | `bool` | `1` | straks | Opsummér lange svar til oplæsning. Ved fejl læses begyndelsen inden for grænsen. |
| `AIHUMMER_VOICE_AEC` | Ekkoannullering (AEC) | `bool` | `1` | straks | Fjerner ekko: agentens egen stemme fra højttaleren kommer ikke tilbage i mikrofonen og afbryder ikke samtalen. Slå kun fra, hvis stemmen lyder forvrænget i et headset. |
| `AIHUMMER_VOICE_AGC` | Automatisk forstærkningskontrol | `bool` | `1` | straks | Kræv automatisk forstærkningsstyring for mikrofonen (WebRTC autoGainControl) i taletilstand. |
| `AIHUMMER_VOICE_BARGEIN_FRAMES` | Afbryd agenten: hvor længe man skal tale | `int` | `5` | straks | Hvor længe man skal tale (i rammer à 20 ms), før agenten tier og lytter. Standard 5 — ca. 0,1 sekund. |
| `AIHUMMER_VOICE_DUPLEX` | Live fuld-dupleks stemme | `bool` | `0` | straks | Aktiverer live fuld-duplex-tilstand (streaming + VAD + barge-in). Træder i kraft med det samme. |
| `AIHUMMER_VOICE_NOISE_SUPPRESSION` | Støjdæmpning | `bool` | `1` | straks | Kræv støjreduktion ved optagelse fra mikrofonen (WebRTC noiseSuppression) i taletilstand. |
| `AIHUMMER_VOICE_VAD_THRESHOLD` | Stemmefølsomhed (0–1) | `text` | `0.02` | straks | Hvor højt en lyd skal være for at tælle som tale. Lavere — mere følsom: agenten hører stille tale, men også baggrundsstøj. Standard 0.02. |
## Memory
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_EMBEDDER_DIM` | Dimension for betydningssøgemodellen | `int` | `768` | efter genstart | Vektordimension — skal matche modellen (multilingual-e5-base=768, bge-m3=1024). |
| `AIHUMMER_EMBEDDER_KEEPALIVE` | Embedder holde-i live | `text` | `5m` | efter genstart | Hvor længe betydningssøgemodellen forbliver indlæst efter sidste forespørgsel (kun i tilstanden «Efter betydning»). Standard 5m — 5 minutter: derefter aflæses modellen og frigiver hukommelse og CPU. At holde den altid (-1) anbefales ikke: en hængt model kan optage en CPU-kerne i dagevis. Format: 30s, 5m, 1h. |
| `AIHUMMER_EMBEDDER_MODEL` | Model til betydningssøgning | `text` | `yxchia/multilingual-e5-base` | efter genstart | Modellen, der gør det muligt at søge i hukommelsen efter betydning. Standard multilingual-e5-base forstår russisk, er let og kører hurtigt på en almindelig CPU. For bedre kvalitet på et grafikkort kan bge-m3 bruges, men sæt så dimensionsindstillingen ved siden af til 1024: tallet skal passe til modellen. |
| `AIHUMMER_EMBEDDER_PASSAGE_PREFIX` | Indlejring af passagepræfiks | `text` | — | efter genstart | Tilsidesæt præfikset for lagret dokument (e5-modeller bruger automatisk "passage: "). Lad feltet stå tomt for automatisk at registrere efter modelnavn. |
| `AIHUMMER_EMBEDDER_QUERY_PREFIX` | Embedder-forespørgselspræfiks | `text` | — | efter genstart | Tilsidesæt præfikset for hentningsforespørgsel (e5-modeller bruger automatisk "query: "). Lad feltet stå tomt for automatisk at registrere efter modelnavn. |
| `AIHUMMER_EMBEDDER_THREADS` | Embedderens CPU-tråde | `int 0…256` | `0` | efter genstart | Hvor mange processortråde søgning-efter-betydning-modellen bruger pr. forespørgsel. 0 — automatisk: halvdelen af serverens tråde, men mindst 2. Uden grænse optog genberegning af vidensbasens vektorer på en svag server hele processoren i timevis og forsinkede agenternes svar. Flere — hurtigere genberegning, men større belastning. |
| `AIHUMMER_MEMORY_AGENT_WRITES` | Fakta, som agenten selv gemmer | `enum: strangers \\\| immediate \\\| review` | `strangers` | straks | Hvad der sker med det, agenten selv husker — f.eks. ved en anmodning om at «huske dette». «Direkte i hukommelsen; fra fremmede — til gennemsyn» (standard) — direkte i hukommelsen, hvis ejeren eller agentens betroede personer sagde det; fra alle andre — til gennemsyn. «Direkte i hukommelsen» — agenten finder det straks. «Til gennemsyn» — først i køen Hukommelse → gennemsyn; det indgår i svar først efter din godkendelse. På agentens kort (Hukommelse → Indstillinger) kan du vælge en anden tilstand. |
| `AIHUMMER_MEMORY_AUTOREPAIR` | Automatisk reparation af hukommelsen | `bool` | `1` | straks | Efter selvkontrollen repareres hukommelsen: dubletter flettes, modsigelser med en klar vinder lukkes (bekræftet af et menneske, senere hændelsesdato, tungere kilde), fakta markeret som bekræftede, som intet menneske har bekræftet, kontrolleres mod deres kilder (ubekræftede sendes til gennemgang, intet slettes). Det omstridte går kun i køen. Hver rettelse logges med en fortryd-knap; finder hukommelsen dårligere efter kørslen, fortryder den sig selv, og du får en notifikation. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_MEMORY_CAPTURE` | Hukommelsesoptagelsestilstand | `enum: auto \\\| review \\\| off` | `review` | straks | Hvad der sker med fakta, agenten selv bemærker i samtalen efter hvert svar. «Til gennemsyn» sender dem i køen Hukommelse → gennemsyn: de indgår i svar først efter din godkendelse. «Direkte i hukommelsen» springer gennemsyn over: hurtigere, men mere støj. «Gem ikke» trækker intet ud af samtaler. Hvad agenten husker efter anmodning, indstilles separat. |
| `AIHUMMER_MEMORY_CONTEXT_TIMEOUT` | Hukommelseshydrering timeout | `text` | `3s` | straks | Hvor længe agenten venter på relevante minder, før den begynder at svare. Hvis søgningen er for langsom, svarer agenten uden dem i stedet for at hænge. For eksempel: 2s — 2 sekunder, 1500ms — 1,5 sekund. 0 — vent så længe det tager. |
| `AIHUMMER_MEMORY_DIARY_BOOT` | Agentens dagbog ved sessionens start | `bool` | `1` | straks | Hold agentens dagbog for i dag og i går for øje ved hver tur i en session på enhver kanal: noter fra tidligere sessioner, den natlige opsummering og agentens egne indlæg. Kun indlæg om den aktuelle samtalepartner og de fælles (dine, uploadede) vises — én kunde ser aldrig en andens. Højst ~6000 tegn; resten læser agenten selv (memory_get). Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_MEMORY_DIARY_HOUR` | Tidspunkt for natlig opsummering | `int` | `3` | straks | Efter hvilken time (0–23, instansens tidszone) opsummeringen af den forgangne dag skrives. Standard 3 — om natten, når dagens samtaler er slut. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_MEMORY_DIARY_NIGHTLY` | Natlig dagsopsummering i agentens dagbog | `bool` | `1` | straks | Én gang i døgnet skrives en opsummering af den forgangne dag i agentens dagbog — separat for hver person, den talte med (alle personens kanaler samlet): hvad der blev bedt om og gjort, aftaler, opgaver med datoer. Ét kald til modellen til serviceopgaver pr. agent og person, højst 3 pr. kørsel hvert 10. minut; oversprungne dage indhentes op til en uge tilbage. Samtaler med »husk ikke« springes over. Skrives ikke, mens hukommelsesopsamling er slået fra. Resultatet af sidste kørsel vises i agentkortet → Hukommelse → Dagbog. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_MEMORY_DREAM_INTERVAL` | Drømmepasinterval | `string` | `1h` | straks | Hvor ofte scanner det selvvedligeholdende drømmepas gennemgåede påstande for modsigelser på tværs af alle scopes (Go-varighed, f.eks. 30m/1t/6t). Indstil 0 for at deaktivere. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_MEMORY_EXTRACT` | LLM faktaudtræk | `bool` | `1` | straks | Udtræk normaliserede emne-/prædikat-/objektfakta via LLM (standard TIL) i stedet for at gemme rå sætningsfragmenter - påkrævet for at grafen/modsigelsen/drømmemaskineriet kan udløses. Tilføjer et LLM opkald pr. optaget besked; afsted for at gemme opkaldet. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_MEMORY_MEANING_TIMEOUT` | Tidsgrænse for søgning efter betydning | `text` | `4s` | straks | Hvor længe en søgning i hukommelsen og i vidensbasen venter på søgningen efter betydning. Hvis betydningsmodellen er optaget (for eksempel beregner vektorer efter en import) og ikke svarer i tide, får agenten straks det, der blev fundet ud fra ord, med en bemærkning i stedet for at vente i snesevis af sekunder. For eksempel: 4s — 4 sekunder, 1500ms — 1,5 sekunder. 0 — vent så længe det er nødvendigt. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_MEMORY_QUALITY_CHECK` | Daglig selvkontrol af hukommelsen | `bool` | `1` | straks | Én gang i døgnet stiller hukommelsen sig selv kontrolspørgsmål om sine bekræftede fakta (op til 60 fakta, de samme spørgsmål hver dag) og spørgsmål uden svar, kører dem gennem hukommelsessøgningen og den automatiske genkaldelse og måler genfinding, præcision, MRR og falske genkaldelser. Resultat og dagsgraf: Hukommelse → Hukommelseskvalitet. Spørgsmål til nye fakta skrives én gang af tjenestemodellen (den, der udtrækker fakta fra samtaler; uden den — efter skabelon); resultaterne bliver på instansen. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_MEMORY_RECALL` | Automatisk genkaldelse af hukommelse | `enum: strong \\\| always \\\| off` | `strong` | straks | Om det, der findes i hukommelsen, automatisk føjes til svaret. «Kun stærke match» — et faktum skal dele mindst to vigtige ord med beskeden; hilsner og «ok» henter intet. «Alt lignende» — alt, der matchede på nogen måde, plus tilknyttede poster: mere støj. «Tilføj ikke» — agenten søger selv i hukommelsen, når den finder det nødvendigt. |
| `AIHUMMER_MEMORY_RECALL_MAX` | Fakta pr. svar | `int` | `5` | straks | Det største antal hukommelsesfakta, der føjes til ét svar (standard 5). Omformuleringer af samme faktum tæller som ét. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_MEMORY_RECALL_MIN_SCORE` | Minimalt match for automatisk genkaldelse, % | `int` | `10` | straks | Hvor stor en del af beskedens betydningsbærende ord (vægtet efter sjældenhed) et faktum skal dække for at blive tilføjet automatisk, i procent. Standard 10 – afstemt efter rigtige samtaler. Højere = sjældnere og mere præcist, lavere = oftere og mere støj. Påvirker ikke den eksplicitte søgning memory_search. 0 = ingen tærskel: to matchende betydningsbærende ord er nok. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_MEMORY_RECALL_MIN_SIMILARITY` | Mindste betydningslighed for automatisk genkaldelse, % | `int` | `86` | straks | Kun for hukommelsessøgning efter betydning (embedder): hvor tæt på beskeden i betydning et faktum skal være for at blive tilføjet automatisk, i procent lighed. Standard 86 — tilpasset modellen multilingual-e5-base på rigtig hukommelse: under den tilføjes uvedkommende fakta til næsten hver besked. Andre modeller (for eksempel bge-m3) måler lighed anderledes — vælg en værdi med »Spørg hukommelsen« på agentkortet. 0 = ingen tærskel. Påvirker ikke den eksplicitte memory_search. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_MEMORY_RETRIEVAL` | Hukommelseshentningstilstand | `enum: fulltext \\\| embedding` | `fulltext` | efter genstart | Hvordan agenten slår op i hukommelsen. «Efter ord» er almindelig tekstsøgning: virker med det samme og belaster ikke serveren. «Efter betydning» finder det, der ligner i betydning, selv med andre ord, men kræver betydningssøgemodellen (afsnittet Ekstra tjenester) og mærkbar CPU-belastning. |
| `AIHUMMER_QDRANT_API_KEY` | Qdrant API nøgle | `text` | — | efter genstart | Qdrant API-nøgle, hvis vektorlageret kræver autorisation. Nødvendig kun, når en Qdrant-adresse er angivet. Anvendes ved opstart/efter genstart. |
| `AIHUMMER_QDRANT_URL` | Qdrant URL (holdbar vektorbutik) | `text` | — | efter genstart | Adressen på Qdrant-lageret til betydningssøgning. Tom — søgedata holdes i hukommelsen og forsvinder, når serveren genstartes; angiv en adresse til fast brug. |
| `AIHUMMER_RAG_QUERY_EXPANSION` | Omformulér forespørgsler til vidensbasen med modellen | `bool` | `0` | straks | Før søgning i vidensbasen bedes modellen til serviceopgaver om 3 omformuleringer af forespørgslen, og der søges med dem alle. Finder nogle gange mere, men det er et ekstra modelkald ved HVER søgning (kvote og ventetid); fejler modellen, søges der kun med den oprindelige formulering, og fejlen vises i loggen og i søgeresultatet. Slået fra som standard: ord findes alligevel med fuldtekstsøgning. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_RERANKER_URL` | RAG reranker sidevogn URL | `text` | — | efter genstart | HTTP URL af cross-encoder-sidevognen til omrangering af hybridsøgning. Blank = omplacering fra. Anvendt ved opstart/efter genstart. |
## Moderation
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_MODERATION` | Inputmoderering | `bool` | `1` | straks | "off" deaktiverer den indbyggede beskyttelse mod jailbreak/prompt-injection. Enhver anden værdi = aktiveret. Træder i kraft med det samme, ingen genstart nødvendig. |
| `AIHUMMER_MODERATION_REFUSAL` | Besked om afvisning af moderering | `text` | — | straks | Afvisningstekst, der returneres, når moderatoren blokerer en anmodning (tom = indbygget). Træder i kraft med det samme, ingen genstart nødvendig. |
## Network
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_OUTBOUND_PROXY_CUSTOM_URL` | Udgående proxy: egen adresse | `text` | — | straks | HTTPS-proxy-URL; HTTP tillades kun på loopback, uden sti, forespørgsel eller fragment. Gem adressen, før du vælger custom. Maskeret i API'et; gemt i appens indstillinger. |
| `AIHUMMER_OUTBOUND_PROXY_MODE` | Udgående proxy til udenlandske modeludbydere | `enum: auto \\\| off \\\| custom` | `auto` | straks | Hvordan serveren når udenlandske modeludbydere. «Som udbyderen angiver» — som sat op i udbyderens konto; «Direkte, uden proxy» — uden mellemled; «Gennem din egen proxy» — via adressen, du har gemt nedenfor. Om det virker, afhænger af den enkelte udbyders regler. |
| `AIHUMMER_RUSSIAN_TRUSTED_EXTRA_HOSTS` | Værter uden for .ru til rodcertifikater fra Ruslands ministerium for digital udvikling | `list` | — | efter genstart | Liste over værter, adskilt af kommaer, der må kontrolleres af rødderne af Ruslands ministerium for digital udvikling OVER russiske domæner (.ru/.su/.рф - allerede inkluderet). Påkrævet, hvis din node med Ruslands ministerium for digital udvikling-certifikatet bor på et andet domæne. Match efter navn eller underdomænegrænse: example.com dækker api.example.com. Tom = kun russiske domæner. Gælder ved start/efter genstart. |
## Performance
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_CHANNEL_TURN_QUEUE_WAIT_SEC` | Ventetid i kø: kanalbesked (sekunder) | `int 10…1200` | `600` | straks | Hvor længe en kanalbesked (Telegram og andre) venter på en ledig plads, når alle pladser til ture er optaget. Får den ingen i tide, får personen besked om, at serveren er optaget, og at de kan skrive igen. Ventetiden tæller med i turens grænse på 30 minutter. 10–1200. Gælder med det samme. |
| `AIHUMMER_MAX_ACTIVE_TURNS` | Agentture, der kører samtidig (hele serveren) | `int 1…512` | `32` | straks | Hvor mange agentture (svar i kanaler og webchat, tidsplaner) serveren kører samtidig. Resten venter i kø så længe, som indstillingerne »Ventetid i kø« nedenfor tillader, og personen ser »serveren er optaget, i kø«. Højere betyder mindre ventetid, men mere hukommelse, databaseforbindelser og samtidige modelkald. Halvdelen af tallet begrænser samtidige hjælpekald til modellen (hukommelsesudtræk, resuméer). 1–512. Gælder med det samme. |
| `AIHUMMER_SYNC_INBOUND_QUEUE_WAIT_SEC` | Ventetid i kø: synkront integrationskald (sekunder) | `int 1…120` | `10` | straks | Hvor længe et kald fra en integration, der venter på svaret i samme forespørgsel, venter på en ledig plads, når alle pladser til ture er optaget. Får det ingen, modtager integrationen »serveren er optaget« med råd om at prøve igen efter samme antal sekunder; et nyt forsøg med samme beskednummer gemmer ikke beskeden to gange. 1–120. Gælder med det samme. |
| `AIHUMMER_WEB_TURN_QUEUE_WAIT_SEC` | Ventetid i kø: webchatbesked (sekunder) | `int 10…1200` | `180` | straks | Hvor længe en webchatbesked venter på en ledig plads, når alle pladser til ture er optaget. Imens viser chatten »serveren er optaget, i kø«; får den ingen i tide, afvises svaret med knappen »Prøv igen«, som bliver i historikken, også efter genindlæsning af siden. 10–1200. Gælder med det samme. |
## Public access
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_PUBLIC_URL` | Serverens offentlige adresse | `text` | — | delvist efter genstart | Adressen, hvor panelet og apps åbnes fra internettet, f.eks. https://ai.example.com. Send den gennem din proxy (nginx, Caddy) til serverens port — som standard 8780. |
| `AIHUMMER_WIDGET_ALLOWED_ORIGINS` | Webwidget: tilladte webstedsoprindelser | `list` | — | straks | Kommasepareret liste over browseroprindelser, som må integrere webchatwidgetten, f.eks. https://example.com,https://www.example.com. Skema og port skal stemme nøjagtigt. Tomt = intet eksternt websted må bruge widgetten. Posten `*` ignoreres med vilje, da enhver side på internettet ellers kunne bruge denne instans' budget. |
| `POCKET_AGENT_GATEWAY_BASE_URL` | Pocket-agent gateway offentlig URL | `text` | — | straks | Proxy → porten til porten for pocket-agent (POCKET_AGENT_PORT, standard 8080) Fjernagenten ringer til denne via en engangsbillet. |
| `TELEGRAM_PUBLIC_URL` | Telegram webhook offentlig URL | `text` | — | straks | Kun Webhook-tilstand — proxy → telegram-tilslutningsporten (standard 8091). Lad stå tomt for at bruge polling (ingen offentlig URL nødvendig). |
## SSO (LDAP/AD)
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_LDAP_BASE_DN` | Brugersøgebase DN | `text` | — | efter genstart | Søg i rod, f.eks. OU=Users,DC=corp,DC=example. |
| `AIHUMMER_LDAP_BIND_DN` | Tjeneste-DN til binding | `text` | — | efter genstart | Konto brugt til den indledende søgebinding, f.eks. CN=svc-aihummer,OU=Service,DC=corp,DC=eksempel. Blank = anonym søgning. |
| `AIHUMMER_LDAP_DEFAULT_ROLE` | LDAP: Standardrolle (ingen gruppematch) | `text` | — | efter genstart | Rolle tildeles, når ingen gruppe matcher en tilknytning. Blank = ingen rolle. |
| `AIHUMMER_LDAP_ENABLED` | Aktiver LDAP/AD-login | `bool` | `0` | efter genstart | Når den er aktiveret, falder administratorlogin tilbage til mappen. Bindingsadgangskoden findes i Secrets (scope ldap, name bind_password). |
| `AIHUMMER_LDAP_GROUP_ATTR` | Gruppeattribut (standard memberOf) | `text` | — | efter genstart | Attribut på DN'er for brugerindgangslistegruppen. Blank deaktiverer gruppe→rolletilknytning. |
| `AIHUMMER_LDAP_ROLE_MAPPINGS` | LDAP: Gruppe→rolletilknytninger (JSON) | `text` | — | efter genstart | JSON objekt af gruppe DN (eller bare CN) → rolle, f.eks. {"CN=Admins,OU=Groups,DC=corp,DC=example":"admin","Operators":"operator"}. |
| `AIHUMMER_LDAP_SKIP_TLS_VERIFY` | Spring TLS-bekræftelse over (kun lab, 1/0) | `bool` | `0` | efter genstart | Deaktiverer bekræftelse af bibliotekscertifikat. Aktiver aldrig i produktion. |
| `AIHUMMER_LDAP_URL` | Bibliotek URL | `text` | — | efter genstart | f.eks. ldaps://ad.corp.example:636 (TLS) eller ldap://dc1.corp.example:389. |
| `AIHUMMER_LDAP_USER_ATTR` | Loginattribut (standard sAMAccountName) | `text` | — | efter genstart | LDAP/Active Directory-attributten matchede det login, som brugertyperne (standard sAMAccountName; uid for OpenLDAP, userPrincipalName for UPN-stil logins). |
| `AIHUMMER_LDAP_USER_FILTER` | Brugersøgefilter | `text` | — | efter genstart | Skal indeholde %s for login. AD: (sAMAccountName=%s); OpenLDAP: (uid=%s). |
## SSO (OIDC)
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_OIDC_AUDIENCE` | OIDC publikum | `text` | — | efter genstart | Forventet `aud`-påstand — indstil dette til THIS ressources publikum for at afvise tokens, der er præget for en anden afhængig part. `aud`-kravet er nu REQUIRED på hvert token som standard (et token uden aud afvises); når dette er indstillet, skal aud også indeholde det. Stærkt anbefalet i produktionen. |
| `AIHUMMER_OIDC_ISSUER` | OIDC udsteder URL | `text` | — | efter genstart | IdP-udstederen (f.eks. https://login.example.com). Aktiverer OIDC JWT auth, når den er indstillet. |
| `AIHUMMER_OIDC_JWKS_URL` | OIDC JWKS-URL | `text` | — | efter genstart | JSON Webnøglesæt-slutpunkt, der bruges til at verificere signaturer. |
| `AIHUMMER_OIDC_TENANT_CLAIM` | OIDC arbejdsområdekrav | `text` | — | efter genstart | JWT påstand med arbejdsområde-id'et (f.eks. tenant_id / org). |
## SSO (SAML)
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_SAML_DEFAULT_ROLE` | SAML: Standardrolle (ingen gruppematch) | `text` | — | efter genstart | Rolle tildelt, når der ikke er angivet værditilknytning. Blank = ingen rolle. |
| `AIHUMMER_SAML_ENABLED` | Aktiver SAML 2.0 SSO | `bool` | `0` | efter genstart | Afslører /saml/metadata, /saml/acs, /saml/login. SP-privatnøgle findes i Secrets (omfang saml, navn sp_key). |
| `AIHUMMER_SAML_ENTITY_ID` | SP-enheds-id | `text` | — | efter genstart | SP-enheds-id (standard til ⟨root⟩/saml/metadata, hvis tom). |
| `AIHUMMER_SAML_IDP_METADATA` | IdP-metadata XML | `text` | — | efter genstart | Indsæt IdP's SAML metadatadokument (Okta/Azure AD/ADFS). |
| `AIHUMMER_SAML_ROLE_ATTRIBUTE` | Role/gruppe-attribut (standardgrupper) | `text` | — | efter genstart | Assertion-attribut med gruppe-/rolleværdier. |
| `AIHUMMER_SAML_ROLE_MAPPINGS` | SAML: Gruppe→rolletilknytninger (JSON) | `text` | — | efter genstart | JSON objekt med hævdet værdi → rolle, f.eks. {"AdminGroup":"admin","Ops":"operator"}. |
| `AIHUMMER_SAML_ROOT_URL` | Rod-URL for SP | `text` | — | efter genstart | Eksternt tilgængelig base URL af denne gateway, f.eks. https://app.example.com. ACS = ⟨root⟩/saml/acs. |
| `AIHUMMER_SAML_SP_CERT` | SP-certifikat (PEM) | `text` | — | efter genstart | Offentligt SP-signeringscertifikat (PEM). Den matchende private nøgle går i Secrets (scope saml, navn sp_key). |
## Schedules
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_SCHEDULE_AGENT_MAX_ACTIVE` | Agent: grænse for aktive tidsplaner | `int` | `20` | straks | Hvor mange aktive tidsplaner én agent må have, når den selv opretter eller slår en tidsplan til (med sine tidsplanværktøjer). Tidsplaner oprettet i panelet tælles med, men panelet afvises aldrig. Ved grænsen får agenten besked om først at sætte en på pause eller slette en. Træder i kraft med det samme. |
| `AIHUMMER_SCHEDULE_AGENT_MAX_FIRES_PER_DAY` | Agent: tidsplankørsler pr. døgn | `int` | `288` | straks | Hvor mange gange pr. døgn (UTC) alle tidsplaner for én agent i alt må køre, inklusive tidsplaner oprettet i panelet og manuelle kørsler. Kørsler over grænsen springes over og vises i kørselsloggen. Træder i kraft med det samme. |
| `AIHUMMER_SCHEDULE_AGENT_MIN_INTERVAL_MINUTES` | Agent: mindste interval for tidsplan, minutter | `int` | `5` | straks | Det korteste mellemrum mellem to kørsler af en gentagen tidsplan, som en agent selv opretter eller ændrer. En hyppigere tidsplan afvises. Tidsplaner oprettet i panelet begrænses ikke af dette. Træder i kraft med det samme. |
| `AIHUMMER_SCHEDULE_COMMANDS` | Kommandoer på serveren i tidsplaner | `bool` | `0` | straks | Lader en tidsplan køre et program på denne server — en indsamler, en rapport, et tjek af sikkerhedskopier. Slået fra som standard. Kun kommandoer fra «Tilladte kommandoer» køres, præcis som de står; der er ingen shell. Output går til agenten eller direkte til en chat, og hver kørsel står i tidsplanens kørselslog. Gælder med det samme. |
| `AIHUMMER_SCHEDULE_COMMANDS_ALLOWLIST` | Tilladte kommandoer | `argvlist` | — | straks | De præcise kommandoer, en tidsplan må køre: programmet (et navn som df eller en fuld sti) og dets argumenter. En tidsplan kører kun en kommando, der præcist svarer til en post, argumenterne medregnet. En fjernet kommando stopper de tidsplaner, der bruger den, og deres kørsler siger hvorfor. Gælder med det samme. |
| `AIHUMMER_SCHEDULE_COMMANDS_MAX_OUTPUT_KB` | Outputgrænse for tidsplankommandoer, KB | `int 1…1024` | `64` | straks | Hvor meget af en kommandos output (1–1024 KB) der gemmes i kørselsloggen og sendes til agenten eller chatten; resten skæres fra, og loggen siger det. Gælder med det samme. |
| `AIHUMMER_SCHEDULE_COMMANDS_SANDBOX` | Kør tidsplankommandoer i styresystemets sandkasse | `bool` | `1` | straks | Til: kommandoen kører i styresystemets sandkasse ligesom kodekørsel — installationens hemmeligheder og SSH-nøgler er skjult, og den skriver kun til sin egen midlertidige mappe. Uden sandkasse (bubblewrap) på serveren kører kommandoen ikke, og kørselsloggen siger hvorfor. Fra: den kører med gatewayens rettigheder. Gælder med det samme. |
| `AIHUMMER_SCHEDULE_FAILURE_ADMIN` | Giv administratoren besked om fejlede opgaver | `bool` | `1` | straks | Når en planlagt opgave fejler eller ikke kan starte, lægges en besked med opgavens navn, årsagen og hvor det rettes i administrationspanelets notifikationsklokke, og det samme sendes til ejernes egne kanalchats (højst én gang hver 6. time pr. opgave). Det kommer oven i beskeden til opgavens modtager. Slået fra: administratoren hører kun om fejl i kørselsloggen. Træder i kraft med det samme. |
| `AIHUMMER_SCHEDULE_FAILURE_NOTIFY` | Giv modtageren besked, når en opgave mislykkes | `bool` | `1` | straks | Når en planlagt opgave mislykkes, får samme modtager en kort besked (efter første fejl, højst én gang hver sjette time). Fra: fejl ses kun i kørselsloggen. En opgave kan slå det fra for sig selv i sin formular. Gælder straks. |
## Security
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AIRGAPPED` | Isoleret tilstand (uden internet) | `bool` | `0` | straks | Forhindrer agenterne i at gå på internettet: websøgning, hentning af sider og forespørgsler når kun interne adresser og dem på tilladelseslisterne. Slå til for lukkede netværk uden adgang udadtil. |
| `AIHUMMER_AUDIT_RETENTION_DAYS` | Hvor mange dage handlingsloggen gemmes | `int` | `0` | efter genstart | Poster i revisionsloggen og historikken over ændringer i indstillingerne, der er ældre end dette, slettes én gang i døgnet. 0 eller tom — gem for altid. |
| `AIHUMMER_CORS_ORIGINS` | Tilladte CORS oprindelser | `list` | — | efter genstart | Kommasepareret liste over tilladte oprindelser. Blank = CORS ikke tilladt (kun samme oprindelse). Anvendt ved opstart/efter genstart. |
| `AIHUMMER_CSP` | Content-Security-Policy header (tilsidesættelse) | `text` | — | efter genstart | Tilsidesætter CSP-headeren. Blank = en sikker standard. Anvendes ved opstart/efter genstart. |
| `AIHUMMER_INBOUND_SECRET` | Kanalplugins’ nøgle til serveren | `text` | — | efter genstart | Forbundne kanaler (Telegram, VK og andre) bruger den til at bevise, at beskeder virkelig kommer fra dem. Sættes automatisk under installationen — den behøver ikke ændres. Er den tom, afviser serveren alle kanaler, indtil der er angivet en nøgle. |
| `AIHUMMER_OPENAI_COMPAT_KEY` | OpenAI-kompatibel indgående: statisk API nøgle | `text` | — | efter genstart | En fælles nøgle til programmer, der forbinder til serveren som en OpenAI-kompatibel tjeneste. Tom — den fælles nøgle er slået fra; programmer kan forbinde med personlige nøgler fra siden API-nøgler. |
| `AIHUMMER_OPENAI_COMPAT_WORKSPACE` | OpenAI-kompatibel indgående: arbejdsområde-id | `text` | — | efter genstart | Arbejdsområde-id, som statisk OpenAI-kompatibel godkendelse er knyttet til. Blank = AIHUMMER_DEFAULT_WORKSPACE_ID. Anvendt ved opstart/efter genstart. |
| `AIHUMMER_REQUIRE_2FA` | Kræv 2FA for operatører | `bool` | `0` | straks | Kræv en anden faktor (TOTP/passkey) for operatører. Når den er aktiveret, bliver operatører uden 2FA bedt om at konfigurere den med det samme ved login (uden blokering, så ejeren aldrig er låst ude). Anvendt med det samme. |
| `AIHUMMER_REQUIRE_SECURE` | Accepter kun sikre (HTTPS/WSS) forbindelser | `bool` | `0` | efter genstart | Når den er aktiveret, bliver almindelige HTTP-anmodninger omdirigeret til HTTPS (for GET/HEAD) eller afvist (403); localhost-adgang er altid tilladt, så operatøren er aldrig indhegnet. Hæderer X-Forwarded-Proto fra en TLS-terminerende omvendt proxy. Anvendes ved opstart/efter genstart. |
| `AIHUMMER_TRUSTED_PROXIES` | Betroede proxyer | `list` | — | straks | Hvis en proxy (nginx, Caddy, load balancer) står foran serveren, skriv dens adresse eller netværk kommasepareret, f.eks. 10.0.0.0/8. Så ser handlingsloggen, IP-tilladelseslisten og beskyttelsen mod gæt af adgangskoder den besøgendes rigtige adresse. Tom — kun adressen for den direkte forbindelse tæller, og den kan ikke forfalskes. |
## Tools
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_BROWSER_ALLOWED_HOSTNAMES` | Browser: undtagelser for private værtsnavne | `list` | — | straks | Præcise kommaseparerede værtsnavne uden jokertegn, URL-adresser eller porte. Ekstra private undtagelser til indbygget CDP på egen server, adskilt fra web_fetch. |
| `AIHUMMER_BROWSER_ALLOW_PRIVATE_NETWORK` | Browser: tillad privat netværk | `bool` | — | straks | Tomt bevarer den tidligere politik; true eller false aktiverer kontrolleret indbygget CDP. Privat adgang kun på egen server. Loopback, link-local og metadata forbliver blokeret. |
| `AIHUMMER_BROWSER_PROFILE_SOCKET` | Styringssokkel til browserprofiler | `text` | — | straks | Valgfrit. Lad feltet stå tomt — gatewayen finder selv browsertjenestens managed-profiles.sock på standardinstallationsstedet. Profiler med webstedslogins oprettes under Forbindelser → Browserprofiler. Ikke en URL og ikke en sti til en kildeprofil. |
| `AIHUMMER_CODE_EXEC` | Kodekørsel af agenten | `enum: off \\\| host \\\| sandbox` | `off` | straks | Agentens værktøj til kodekørsel (code_exec). «Fra» er standard. «På denne server»: kommandoer kører på gatewayens server; styresystem-sandkassen (bubblewrap) skjuler installationens hemmeligheder, men en agent i tilstanden «Ingen begrænsninger» kan se SSH-nøgler og skrive uden for sin mappe — kun til en betroet server. «Kun i en sandkasse»: altid i styresystem-sandkassen — hemmeligheder og nøgler er skjult, der skrives kun i agentens mappe; uden bubblewrap (eller et containerimage) kan denne tilstand ikke gemmes. Hvad hver agent må køre, indstilles på agenten: Agenter → profil → Værktøjer. |
| `AIHUMMER_CODE_EXEC_INTERPRETERS` | Code-exec-fortolkere (JSON) | `text` | — | straks | JSON objekt {language: path_to_binary}, f.eks. {"python":"/usr/bin/python3"}. Blank = automatisk registrering. |
| `AIHUMMER_CODE_EXEC_NET_PORTS` | Netværksporte åbne for agentkode | `list` | `53,80,443` | straks | TCP-porte, som agentkode i OS-sandkassen (kodekørsel og tidsplankommandoer) må forbinde til, adskilt med kommaer. Som standard 53, 80 og 443: DNS og websteder. Andre tjenester på denne server og dens lokale netværk (databasen, administrationspanelet, browseren, adb, lokale modeller, Home Assistant) forbliver lukket for agentkode. En port på listen er åben på alle adresser, også denne servers, så tilføj kun det, koden har brug for, for eksempel 22 til SSH. Skriv any for at fjerne begrænsningen. Agenter i tilstanden «Ingen begrænsninger» begrænses ikke. Kræver Linux 6.7 eller nyere; uden det gælder begrænsningen ikke, og Agenter → Værktøjer siger det. Gælder med det samme. |
| `AIHUMMER_CODE_EXEC_READ_DIRS` | Mapper åbne for agentkode (skrivebeskyttet) | `list` | — | straks | Mapper på denne server, som agentkode må læse: kodekørsel og tidsplankommandoer i OS-sandkassen. Adskil med kommaer eller én pr. linje, for eksempel ~/reports. Du kan også angive en enkelt fil, for eksempel ~/scripts/report.py. Det, der åbnes her, er synligt for koden hos alle agenter, så åbn kun det, koden har brug for. Tom som standard: i sandkassen ser koden kun sin egen agents mappe og systemmapperne; gateway-brugerens hjemmemappe, installationens data, andre agenters mapper, nøgler og kommandohistorik forbliver skjult. Roden, hele hjemmemappen, installationens data og steder med nøgler kan ikke åbnes. Koden kan ikke skrive i disse mapper. Gælder med det samme. |
| `AIHUMMER_CODE_EXEC_SANDBOX_IMAGE` | Kode-exe image | `text` | — | straks | Valgfrit, kun til «Kun i en sandkasse»: et Docker-containerimage i stedet for styresystem-sandkassen (intet netværk, skrivebeskyttet rod, grænser); kræver Docker på serveren. Tom = styresystem-sandkassen (bubblewrap). |
| `AIHUMMER_CODE_EXEC_TIMEOUT_SECONDS` | Tidsgrænse for kodekørsel (sekunder) | `int` | `1800` | straks | Hvor længe én agentkommando må køre, inklusive baggrundskommandoer: 10 sekunder til 24 timer. En kommando, der ikke har svaret inden for 30 sekunder, afbrydes ikke, men flyttes til baggrunden, hvor agenten tjekker den med værktøjet process. Agenten kan bede om en kortere grænse, aldrig en længere. |
| `AIHUMMER_DB_QUERY_DSN` | Databaseforbindelse til værktøjet til databaseforespørgsler | `text` | — | straks | Forbindelsesstreng til en database, som agenten må læse (kun læsning), f.eks. postgres://reader:adgangskode@host/db. Brug en bruger med minimale rettigheder — ikke databasens ejer. Tom — værktøjet er slået fra. |
| `AIHUMMER_FS_ROOT` | Rod til filsystemværktøj | `text` | — | straks | Den mappe, som agenten læser serverens filer inden for (filesystem_read; agenter kan ikke skrive filer). Tom = hele serveren med gateway-brugerens rettigheder, undtagen hemmeligheder: installationsindstillinger (gateway.env), SSH/GPG-nøgler og processers miljø. Angiv en mappe for at begrænse adgangen. |
| `AIHUMMER_HTTP_ALLOWLIST` | Adresser til agentens HTTP-forespørgsler | `list` | — | straks | Kommasepareret liste over værter, som værktøjet http_request må kontakte. Tomt = alle er tilladt, undtagen interne og private adresser. |
| `AIHUMMER_HTTP_AUTH_JSON` | http_request-godkendelse (JSON) | `text` | — | straks | JSON-kort, der knytter vært til autorisationsheadere for værktøjet http_request, så tokens ikke opbevares i prompten. Tomt = ingen autorisation. |
| `AIHUMMER_MCP_SERVERS` | MCP servere (JSON) | `text` | — | straks | JSON-beskrivelse af de eksterne MCP-servere, hvis værktøjer knyttes til agenten. Tomt = ingen eksterne MCP. |
| `AIHUMMER_PROJECT_STUDIOS_PUBLIC_NETWORK` | Projektstudier: offentligt netværk | `bool` | `false` | straks | Tillad offentlig HTTP(S) for valgte udbydere og udtrykkeligt ønskede modeldownloads. Private, lokale og metadataadresser forbliver blokeret. Offlinetilstand har forrang. Gælder straks. |
| `AIHUMMER_SIDECAR_CLOAKBROWSER` | Browser til agenten (CloakBrowser) | `bool` | `0` | straks | Anti-detect browser (CloakBrowser, browser/computer værktøjer). Hvad er IKKE inkluderet i leveringspakken: Inkluderingen downloader den signerede tilføjelse (~477 MiB, hvoraf Chromium ~207 MiB) og installerer tjenesten på værten. Den tungeste sidevogn - aktiveres kun, hvis agenten skal åbne hjemmesider. |
| `AIHUMMER_SIDECAR_SEARXNG` | Websøgning (SearXNG) | `bool` | `0` | straks | Websøgning (SearXNG, web_search værktøj). IKKE inkluderet i pakken: aktivering downloader den signerede tilføjelse (~154 MiB) og installerer tjenesten på værten, når den slukkes, stopper den og frigør plads. Installationen sker i baggrunden og tager et par minutter; tilstanden her viser, hvad der faktisk er på serveren. |
| `AIHUMMER_WEBFETCH_ALLOWLIST` | Websteder, agenten må åbne | `list` | — | straks | Kommasepareret liste over domæner, som værktøjet web_fetch må kontakte. Tomt = alle er tilladt, undtagen interne og private adresser. |
| `AIHUMMER_WEB_SEARCH_LANGUAGE` | Websøgning: standardsprog for resultater | `text` | `auto` | straks | Sprog for resultater, når agenten ikke angiver et: en kode som ru, en eller de, eller auto for at udlede det af forespørgslen (passer næsten altid). Agenten kan stadig vælge et andet sprog i en bestemt søgning. |
| `AIHUMMER_WEB_SEARCH_RESULTS` | Websøgning: resultater pr. søgning | `int` | `5` | straks | Hvor mange resultater en søgning returnerer, når agenten ikke beder om et antal: 1 til 10. Flere resultater giver et fyldigere svar, men en længere kontekst. |
| `AIHUMMER_WEB_SEARCH_SOURCE` | Kilde til websøgning | `enum: auto \\\| searxng \\\| provider` | `auto` | straks | Hvor agenten søger på internettet (værktøjet web_search). auto — SearXNG, hvis den er installeret, ellers modeludbyderens indbyggede søgning. searxng — kun SearXNG: uden den er der ingen søgning. provider — udbyderens indbyggede søgning, hvor den findes, og SearXNG til andre modeller. Indbygget søgning findes hos Codex (ChatGPT-abonnement) og OpenAI (api.openai.com); GigaChat, YandexGPT og andre OpenAI-kompatible har den ikke — uden SearXNG søger agenter på de modeller ikke. Claude (api.anthropic.com og Claude-abonnementet) bruger Anthropics indbyggede søgning; afviser kontoen den, skriver gatewayen det i loggen og tilbyder derefter agenten kun SearXNG. Hvilke agenter der må søge, angives som hidtil på agentkortet. Træder i kraft fra næste tur. |
| `AIHUMMER_WEB_SEARCH_TIMEOUT_SECONDS` | Tidsgrænse for websøgning (sekunder) | `int` | `30` | straks | 1–600 sekunder pr. søgning. En kortere frist for opgaven gælder stadig. |
## Updates
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_RESTART_APPLY` | Anvend indstillinger, der kræver genstart | `enum: quiet \\\| manual` | `quiet` | straks | quiet (standard) — gemte indstillinger, der først træder i kraft, når gatewayen starter igen, anvendes af sig selv: gatewayen genstarter i næste rolige øjeblik, når agenterne ikke laver noget, og folk har været stille i hele stilhedsvinduet. manual — kun mærket »venter på genstart« og knappen. En genstart tager få sekunder; samtaler og opgaver går ikke tabt. Træder i kraft med det samme. |
| `AIHUMMER_RESTART_QUIET_MINUTES` | Roligt øjeblik: minutters stilhed før en automatisk genstart | `int 0…1440` | `10` | straks | Hvor mange minutter folk skal være stille (og agenterne ledige), før gatewayen selv genstarter for at anvende gemte indstillinger. 0 — så snart agenterne er færdige med det aktuelle arbejde. 0–1440. Træder i kraft med det samme. |
## Web UI (separate port)
| Nøgle | Navn | Type | Standard | Træder i kraft | Funktion |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_WEBUI_API_BASE` | Serveradresse til et separat hostet panel | `text` | — | efter genstart | Kun nødvendig, hvis panelet åbnes fra en anden adresse end selve serveren. Angiv adressen, hvor browseren kan nå serveren, f.eks. https://api.example.com. Tom — serverens offentlige adresse bruges, eller den lokale, hvis den ikke er sat. |
| `AIHUMMER_WEBUI_ENABLED` | Panel på en separat port | `bool` | `1` | efter genstart | Til — panelet åbnes på en separat intern port, som kan lukkes for internettet, og den offentlige port betjener kun apps og kanaler. Slå fra for at gøre panelet helt utilgængeligt. |
| `AIHUMMER_WEBUI_ORIGIN` | Adresse, panelet åbnes på | `text` | — | efter genstart | Udfyld, hvis panelet åbnes via en proxy eller et navn, der afviger fra portadressen, f.eks. https://admin.example.com. Serveren lader så en browser fra den adresse tale med den. Tom — panelportens adresse bruges. |
Indstillinger, der er tilgængelige for operatøren: 237.