Hier sind alle Einstellungen aufgeführt, die der Betreiber auf einem AiHummer-Server ändern kann. Die Seite wird aus dem Katalog des Produkts selbst erzeugt und stimmt deshalb mit Ihrem Server überein.
Der Wert wird in der Weboberfläche oder mit dem Befehl aihummer settings set KEY VALUE gesetzt (Befehlszeile). Die Spalte mit dem Standardwert zeigt, was der Server verwendet, solange kein eigener Wert gesetzt ist.
[!NOTE]
Geheime Werte werden hier nie gedruckt, und Dienstschlüssel des Herstellers werden überhaupt nicht aufgeführt — das Produkt blendet sie aus allen Listen aus. Ein Gedankenstrich bedeutet einen leeren Wert oder eine Erläuterung, die nur in der Weboberfläche erscheint.
API
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_PERSONAL_API_KEYS
Persönliche API-Schlüssel für OpenAI-Kompatibilität
bool
1
nach Neustart
“off” deaktiviert die Authentifizierung mit persönlichem Schlüssel auf dem OpenAI-kompatiblen Endpunkt = aktiviert beim Start/nach dem Neustart.
Agent
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_AGENT_ANNOUNCE_SLOW_TOOLS
Agent: vor langen Aktionen sagen, was er tut
bool
1
sofort
Vor einer langen Aktion (ein Bild, eine tiefe Recherche, ein Video, ein Auftrag an einen Subagenten) schreibt der Agent kurz, was er tut, damit das Warten nicht stumm ist. Ausschalten, wenn solche Nachrichten stören.
AIHUMMER_AGENT_COMPACT_AT_PCT
Agent: Verlauf komprimieren ab, % seines Budgets
int 50…99
85
sofort
Füllt der Verlauf einer Unterhaltung diesen Anteil seines Platzes im Modellfenster, werden ältere Nachrichten zu einer Zusammenfassung verdichtet – im Hintergrund, nach der Antwort; die Runde wartet nicht. Niedriger – häufiger komprimieren, aber das Modell behält weniger wörtlich; höher – seltener, aber die Runden werden schwerer. 50–99; ein Agent kann den Wert überschreiben.
AIHUMMER_AGENT_COMPACT_TO_PCT
Agent: nach Komprimierung behalten, % des Verlaufsbudgets
int 10…90
50
sofort
Wie viel vom Platz des Verlaufs nach der Komprimierung wörtlich bleibt; alles Ältere geht in die Zusammenfassung. Muss unter der Komprimierungsschwelle liegen: Der Abstand bestimmt, wie viele Runden bis zur nächsten Komprimierung vergehen. 10–90; ein Agent kann den Wert überschreiben.
AIHUMMER_AGENT_HISTORY_TURNS
Agent: wörtlich behaltene Dialogrunden
int 1…1000
30
sofort
Wie viele letzte Runden einer Unterhaltung das Modell wörtlich sieht (bis zu 10 mehr, bis die Komprimierung fällig ist). Ältere Nachrichten werden im Hintergrund zusammengefasst; die Unterhaltung selbst wird nie gelöscht. Das Kontextfenster des Modells wird automatisch berücksichtigt. 1–1000; ein Agent kann den Wert überschreiben.
AIHUMMER_AGENT_MAX_ITERATIONS
Agent: max. Werkzeugschritte pro Runde
int 1…256
25
sofort
Wie oft ein Agent pro Runde Werkzeuge aufrufen darf, bevor er antwortet. Am Limit schlägt die Runde nicht fehl: Der Agent berichtet, was erledigt ist und was fehlt, und Sie können ihn bitten fortzufahren. Drei identische Aufrufe in Folge mit demselben Ergebnis beenden die Runde früher. 1–256; ein Agent kann den Wert überschreiben.
AIHUMMER_AGENT_MEMORY_FLUSH
Agent: Gedächtnisnotiz vor der Komprimierung speichern
bool
1
sofort
Bevor ältere Nachrichten zu einer Zusammenfassung verdichtet werden, speichert der Agent eine kurze Notiz zu Zielen, Entscheidungen und offenen Aufgaben im Gedächtnis. Ausschalten, um den Modellaufruf zu sparen.
AIHUMMER_AGENT_MEMORY_FLUSH_PROMPT
Agent: was die Notiz vor dem Verdichten festhält
text
—
sofort
Ihre eigene Aufgabe für die Notiz vor dem Verdichten: was aus den Nachrichten, die in die Zusammenfassung gehen, festgehalten wird (z. B. „nur Einkäufe, Fristen und Absprachen notieren“). Leer — eingebaut: Ziele, Entscheidungen, offene Aufgaben. Der Schutz lässt sich nicht abschalten: Der Gesprächstext bleibt Daten, keine Anweisungen, und Passwörter und Schlüssel werden nie gespeichert. Bis zu 4000 Zeichen; ein Agent kann eine eigene haben.
AIHUMMER_AGENT_NEW_REMINDERS_MEMORY
Neue Agenten: Erinnerungen und Speichern im Gedächtnis
bool
1
sofort
Ein von Hand erstellter neuer Agent (Einrichtungsassistent, „Agent erstellen“, API) legt ab dem ersten Zug seine EIGENEN Erinnerungen und Zeitpläne an, ändert und löscht sie und speichert Fakten in seinem eigenen Gedächtnis – wie die Vorlage des persönlichen Assistenten. Für einen einzelnen Agenten wird das in seiner Karte (Fähigkeiten) ausgeschaltet. Bibliotheksvorlagen legen es selbst fest, eine Kopie behält die Rechte des Originals, von einem anderen Agenten erstellte Agenten beginnen ohne sie; bestehende Agenten ändern sich nicht. Gilt für den nächsten erstellten Agenten.
AIHUMMER_AGENT_PROMPT_PART_MAX_CHARS
Agent: max. Zeichen pro Prompt-Teil
int 1000…1000000
20000
sofort
Wie viele Zeichen das Modell von EINEM Teil der Agenten-Persona erhält: einem Profilabschnitt, einem Prompt-Teil oder dem Hauptprompt. Bei einem längeren Teil bleiben Anfang (3/4) und Ende (1/4) mit einem Hinweis erhalten, wie viel gekürzt wurde; das ist in der Gesprächskarte und in der Prompt-Zusammensetzung des Agenten sichtbar. Name, Anrede und Persona-Einschränkungen werden nie gekürzt. 1000–1000000; ein Agent kann den Wert überschreiben.
AIHUMMER_AGENT_PROMPT_TOTAL_MAX_CHARS
Agent: max. Zeichen der gesamten Persona
int 1000…2000000
60000
sofort
Gesamtobergrenze der Agenten-Persona: alle Teile zusammen. Wird sie überschritten, geben zuerst die längsten Teile Platz ab, kurze bleiben vollständig. 1000–2000000; ein Agent kann den Wert überschreiben.
AIHUMMER_AGENT_SELF_INTRO
Agent: sich vorstellen
enum: first_contact \\| each_dialog \\| never
first_contact
sofort
„Einmal, beim ersten Kennenlernen“: Der Agent stellt sich im allerersten Gespräch mit einer Person kurz vor, außer sie möchte gleich zur Sache kommen; Bekannten stellt er sich nicht erneut vor und erwidert einen Gruß ganz natürlich. „Sich nie vorstellen“: Der Agent nennt sich nie von sich aus. „Zu Beginn jedes neuen Gesprächs“ — zu Beginn jedes neuen Gesprächs und nach einer langen Pause, kurz und ohne Zusammenfassung früherer Themen. Ein Agent kann auf seiner Karte («Kontext und Verhalten») anders wählen.
AIHUMMER_AGENT_SESSION_IDLE_RESET_MINUTES
Agent: Gespräch nach Stille neu beginnen (Minuten)
int 0…525600
360
sofort
Für „nach Stille“ und „jeden Tag und nach Stille“: Schreibt die Person nach einer längeren Stille als dieser, beginnt der Agent das Gespräch neu. Gilt für Agenten ohne eigenen Wert auf ihrer Karte. 0 – nicht nach Stille. 0–525600; 360 = 6 Stunden, 1440 = ein Tag.
AIHUMMER_AGENT_SESSION_INDEX_MAX_ENTRIES
Agent: Höchstens so viele Sitzungen in der Liste behalten
int 0…100000
0
sofort
Die ruhigsten verlassen die Liste zuerst; nichts wird gelöscht. 0 – ohne Grenze. 0–100000. Gilt für Agenten ohne eigene Einstellung auf ihrer Karte.
AIHUMMER_AGENT_SESSION_INDEX_PRUNE_DAYS
Agent: Nach so vielen Tagen Stille aus der Sitzungsliste entfernen
int 0…3650
0
sofort
Nichts wird gelöscht: Das Gespräch verlässt die Liste und kehrt mit einer neuen Nachricht zurück. 0 – behalten. 0–3650. Gilt für Agenten ohne eigene Einstellung auf ihrer Karte.
AIHUMMER_AGENT_SESSION_RESET_AT_HOUR
Agent: Stunde des täglichen Neubeginns
int 0…23
4
sofort
Für die Modi „täglich“: Ein Gespräch, das vor dieser Stunde begonnen hat, beginnt mit der nächsten Nachricht der Person neu. Die Stunde richtet sich nach der Zeitzone des Servers (Einstellung „Zeitzone“ unter System & Einstellungen). 0–23; 4 ist nachts, wenn kaum jemand schreibt.
AIHUMMER_AGENT_SESSION_RESET_GROUP_IDLE_MINUTES
Agent: Gruppenchat nach Stille neu beginnen (Minuten)
int 0…525600
0
sofort
Für Gruppenchats in den Modi „nach Stille“ und „jeden Tag und nach Stille“: die Minuten Stille, nach denen ein Gruppenchat neu beginnt. 0 bedeutet wie bei persönlichen Chats. 0–525600.
AIHUMMER_AGENT_SESSION_RESET_GROUP_MODE
Agent: wann ein Gruppenchat neu beginnt
enum: inherit \\| daily \\| idle \\| both \\| none
inherit
sofort
Eine eigene Regel für Gruppenchats (Telegram-Gruppen, VK-Unterhaltungen, MAX-Chats und andere): wie bei persönlichen Chats, jeden Tag zur Rücksetzstunde, nach Stille, was zuerst eintritt, oder nie. Die Rücksetzstunde ist gemeinsam. Gilt für Agenten ohne eigene Regel auf ihrer Karte.
AIHUMMER_AGENT_SESSION_RESET_MODE
Agent: wann ein Gespräch neu beginnt
enum: idle \\| daily \\| both \\| none
idle
sofort
Wann der Agent ein Gespräch neu beginnt: jeden Tag zur Rücksetzstunde (in der Zeitzone der Instanz), nach einer Stille, was zuerst eintritt, oder nie. Beim Neubeginn schreibt der Agent eine Notiz über das bisherige Gespräch in sein Gedächtnis, und seine erste Runde erhält die bisherige Zusammenfassung und die letzten Nachrichten; die Nachrichten bleiben im Archiv und in der Suche. Gilt für Agenten ohne eigene Regel auf ihrer Karte; dort lässt sich für Gruppenchats eine eigene festlegen.
AIHUMMER_AGENT_SESSION_SCOPE
Agent: Wohin persönliche Gespräche gehen
enum: chat \\| per-channel-peer \\| per-peer
chat
sofort
«Eines pro Person» führt Telegram, die App und andere persönliche Chats derselben Person zu einem Gespräch zusammen. Gruppenchats behalten immer ihr eigenes. Gilt ab der nächsten Nachricht. Gilt für Agenten ohne eigene Einstellung auf ihrer Karte.
AIHUMMER_AGENT_SILENT_REPLY
Agent: darf schweigen
enum: groups \\| all \\| off
groups
sofort
In Gruppenchats darf der Agent schweigen, wenn eine Nachricht nicht an ihn gerichtet ist oder er nichts beizutragen hat; in privaten Chats antwortet er immer. Sie können Schweigen auch in privaten Chats erlauben oder es ausschalten. Ein stiller Durchlauf sendet nichts, die Gesprächskarte markiert ihn als „Der Agent hat geschwiegen“, und das Modell sieht ihn nicht im Verlauf. Wirkt ab dem nächsten Durchlauf.
AIHUMMER_AGENT_SKILLS_PROMPT_MAX_CHARS
Agent: max. Zeichen der Fähigkeitenliste im Prompt
int 1000…200000
18000
sofort
In jeder Runde sieht das Modell nicht die Texte der Fähigkeiten, sondern ihre Liste: Kennung, Name und wann sie anzuwenden ist; die Anleitung einer Fähigkeit lädt der Agent selbst, wenn die Aufgabe passt. Ist die Liste länger, entfallen zuerst die Beschreibungen, dann das Ende der Liste — den Rest findet der Agent auf Anfrage. 1000–200000.
AIHUMMER_AGENT_STALE_GAP_HOURS
Agent: Pause, nach der frühere Gespräche Geschichte sind (Stunden)
int 0…8760
12
sofort
Schreibt jemand nach einer längeren Pause, erhält der Agent einen Hinweis: Alles zuvor Besprochene ist Geschichte — es wird nicht nacherzählt und alte Aufgaben werden nicht ohne Bitte fortgesetzt. Jede Nachricht trägt ohnehin ihre Zeit und den Abstand zur vorherigen. 0 = kein Hinweis. 0–8760.
AIHUMMER_AGENT_TOOL_HISTORY_TURNS
Agent: Runden mit gespeicherten Werkzeugergebnissen
int 0…100
5
sofort
In wie vielen letzten Runden das Modell Werkzeugaufrufe und ihre Ergebnisse vollständig sieht (ein Ergebnis wird bis 16 KB gespeichert). Ältere Runden behalten den Aufruf und den Anfang des Ergebnisses. So weiß der Agent, was er gefunden und getan hat, statt Werkzeuge erneut aufzurufen. 0 = Ergebnisse nicht in spätere Runden übernehmen. 0–100; ein Agent kann den Wert überschreiben.
AIHUMMER_APPROVAL_TOOLS
Tools, die eine Genehmigung erfordern
multiselect
—
sofort
Kommagetrennte Liste der Werkzeuge, deren Aufrufe vor der Ausführung eine manuelle Bestätigung durch den Betreiber erfordern. Leer = keine Bestätigung erforderlich. Wirkt sofort, kein Neustart nötig.
AIHUMMER_SUBAGENT_MAX_DEPTH
Maximale Tiefe des Subagenten
int 0…10
2
sofort
Maximale Verschachtelungstiefe von Subagenten (ein Agent, der einen Agenten startet). Standard 2 — Schutz vor endloser Rekursion.
AIHUMMER_SUBAGENT_TIMEOUT_SEC
Timeout des Subagenten (Sekunden)
int 0…86400
180
sofort
Maximale Zeit für die Ausführung eines einzelnen Subagenten in Sekunden.
AIHUMMER_TOOL_SEARCH
Verzögertes Laden von Werkzeugen
bool
false
sofort
Zeigt den Arbeitskern der Werkzeuge direkt an und verbirgt den Rest eines großen Katalogs hinter einem Suchwerkzeug, das jedes verborgene Werkzeug nennt. Lohnt sich nur bei großen Katalogen (Dutzende Plugin-, MCP- oder OpenAPI-Werkzeuge): unterhalb der Größenschwelle werden alle Werkzeuge direkt gezeigt, weil ein zusätzlicher Modellaufruf zur Suche mehr kostet als die Schemata. Wirkt ab dem nächsten Zug.
AIHUMMER_TOOL_SEARCH_CORE
Verzögertes Laden von Werkzeugen: Immer verfügbare Werkzeuge
Werkzeuge, die im verzögerten Modus immer direkt sichtbar sind. Standard ist der Arbeitskern: Websuche, Seitenabruf, Gedächtnis, Gesprächsverlauf, Wissensbasis, Code, Dateien, Nachrichten, Zeitpläne und App-Kopplung. Die Suche in Gedächtnis und Wissensbasis (memory_search, memory_get, search_knowledge) ist immer sichtbar, egal was in dieser Liste steht. Eine leere Liste stellt diesen Kern wieder her.
AIHUMMER_TOOL_SEARCH_MIN_POOL_TOKENS
Verzögertes Laden von Werkzeugen: Mindestgröße verborgener Werkzeuge (Token)
int 0…1000000
4000
sofort
Werkzeuge nur verbergen, wenn die Schemata außerhalb des Kerns zusammen mindestens so viele Token umfassen (etwa 4 Zeichen je Token). Darunter werden alle Werkzeuge direkt gezeigt: ein zusätzlicher Modellaufruf zur Werkzeugsuche kostet mehr als die Schemata.
AIHUMMER_TOOL_SEARCH_THRESHOLD
Verzögertes Laden von Werkzeugen: Min. aufzuschiebende Werkzeuge
int 0…1000
12
sofort
Nur verschieben, wenn mehr als diese viele Tools den Profilfilter des Agenten überleben.
Agent · Reasoning
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_AGENT_BEST_OF_N
Bester von N: Anzahl der Kandidaten
int 0…8
0
sofort
Der Agent erstellt so viele Antwortkandidaten und behält den besten. 0 oder 1 – aus, ab 2 – an. Jeder Kandidat kostet so viel wie eine eigene Antwort.
AIHUMMER_AGENT_DEBATE_JUDGE_PROMPT
Debatte: Richteraufforderung (Überschreibung)
text
—
sofort
Überschreibt die Eingabeaufforderung des Debattierrichters (leer = integriert).
AIHUMMER_AGENT_DEBATE_N
Debatte: Anzahl der Antwortkandidaten
int 0…8
0
sofort
Der Agent erstellt so viele Antwortkandidaten, vergleicht sie und liefert den besten. 0 oder 1 – aus, ab 2 – an. Jeder Kandidat kostet so viel wie eine eigene Antwort.
AIHUMMER_AGENT_DEBATE_PROMPT
Debatte: Kandidatenaufforderung (Überschreibung)
text
—
sofort
Überschreibt die Eingabeaufforderung für den Debattenkandidaten (leer = integriert).
AIHUMMER_AGENT_DEBATE_ROUNDS
Debatte: Runden
int 1…10
1
sofort
Anzahl der Debattenrunden für das Kandidatengremium.
AIHUMMER_AGENT_JUDGE_PROMPT
Best-of-N-Jury-Eingabeaufforderung (Override)
text
—
sofort
Überschreibt die Best-of-N-Richteraufforderung (leer = integriert).
AIHUMMER_AGENT_PLAN_PROMPT
Planner-Eingabeaufforderung (Override)
text
—
sofort
Überschreibt die Planer-Eingabeaufforderung (leer = integriert).
AIHUMMER_AGENT_PLAN_STEPS
Planner-Executor: maximale Planschritte (0=aus)
int 0…32
0
sofort
⟩0 führt einen separaten Planer→Ausführer→Synthesedurchlauf aus (gut für komplexe mehrstufige Aufgaben). 0 deaktiviert. Typischerweise 4–8.
AIHUMMER_AGENT_PLAN_STEP_ITERS
Planer: Tool-Iterationen pro Schritt (0=Standard)
int 0…64
0
sofort
Begrenzt Tool-Aufruf-Iterationen pro Planschritt. 0 = integrierte Standardeinstellung (4).
AIHUMMER_AGENT_REFLECT
Selbstkritik bestanden
bool
0
sofort
Fügt einen Reflexions-/Selbstkritikdurchlauf vor der endgültigen Antwort hinzu.
AIHUMMER_AGENT_REFLECT_PROMPT
Reflection-Eingabeaufforderung (Override)
text
—
sofort
Überschreibt die Selbstkritikaufforderung (leer = integriert).
AIHUMMER_AGENT_SELF_HEAL
Selbstreparatur-Werkzeugfehler wiederholt (0=off)
int 0…10
0
sofort
⟩0 wiederholt fehlgeschlagene Toolaufrufe mit einem Korrekturhinweis, bis zu dieser Grenze.
Standardhinweis für Antwortsprache/Gebietsschema, z. B. ru-RU. Persona-/Operator-Anweisungen haben Vorrang.
AIHUMMER_TIMEZONE
Zeitzone
text
UTC
sofort
IANA-Zeitzone für das aktuelle Datum des Agenten und für Zeitpläne ohne eigene Zeitzone, z. B. Europe/Moscow. Standard UTC.
Channels
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_CHANNEL_FAILURE_NOTICE
Gesprächspartner über fehlgeschlagene Antworten informieren
enum: always \\| once \\| off
always
sofort
Was eine Person im Kanal (Telegram und andere) erhält, wenn der Agent nicht antworten konnte: „Jedes Mal“ – eine kurze Nachricht in ihrer Sprache; „Höchstens alle 4 Stunden einmal“ – eine Nachricht pro Gespräch innerhalb von 4 Stunden; „Nicht mitteilen“ – nichts. Die Nachricht enthält keine Fehlercodes oder Anbieternamen; Details sehen Sie unter „Sitzungen“ und in Benachrichtigungen.
AIHUMMER_CHANNEL_FAILURE_TEXT_BLOCKED
Fehlermeldung: die Instanz ist gesperrt
text
—
sofort
Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort.
AIHUMMER_CHANNEL_FAILURE_TEXT_BUDGET
Fehlermeldung: das Budget des Inhabers ist erschöpft
text
—
sofort
Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort.
AIHUMMER_CHANNEL_FAILURE_TEXT_BUSY
Fehlermeldung: das Gateway ist überlastet
text
—
sofort
Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort.
AIHUMMER_CHANNEL_FAILURE_TEXT_CONFIG
Fehlermeldung: die Modellverbindung braucht den Inhaber
text
—
sofort
Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort.
AIHUMMER_CHANNEL_FAILURE_TEXT_FAILED
Fehlermeldung: sonstiger Fehler
text
—
sofort
Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort.
AIHUMMER_CHANNEL_FAILURE_TEXT_QUOTA
Fehlermeldung: das Nutzungslimit des Modells ist erschöpft
text
—
sofort
Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort.
AIHUMMER_CHANNEL_FAILURE_TEXT_STEP_LIMIT
Fehlermeldung: die Aufgabe passte nicht in eine Antwort
text
—
sofort
Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort.
AIHUMMER_CHANNEL_FAILURE_TEXT_TOO_LONG
Fehlermeldung: das Gespräch ist zu lang für das Modell
text
—
sofort
Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort.
AIHUMMER_CHANNEL_FAILURE_TEXT_UNAVAILABLE
Fehlermeldung: das Modell ist vorübergehend nicht erreichbar
text
—
sofort
Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort.
AIHUMMER_CONFIDENTIAL_PERSONA
Vertrauliche Web-Persona
bool
0
sofort
Wenn diese Option aktiviert ist, gibt der Web-Chat-Agent seine Persona-/Identitätsdetails nicht preis und behält sie nicht bei und behält die Antworten auf die jeweilige Aufgabe bei – verwenden Sie ihn für anonyme oder datenschutzrelevante Webbereitstellungen. Wirkt sofort, kein Neustart nötig.
AIHUMMER_INBOUND_COALESCE_MS
Zeitfenster zum Bündeln von Nachrichten (ms)
int
500
sofort
Mehrere Nachrichten, die eine Person nacheinander in denselben Chat schickt (kurze Nachrichten, ein Fotoalbum, eine schnelle Korrektur), erhalten EINE Antwort, wenn die Pause dazwischen kürzer als dieses Zeitfenster ist. Nachrichten, die eintreffen, während eine Antwort vorbereitet wird, werden direkt danach beantwortet, nie parallel. Standard 500 ms; 0 = kein Warten zwischen einzelnen Nachrichten; ein Fotoalbum wird trotzdem gesammelt (Pausen bis 3 s, höchstens 20 s), damit es eine Antwort bekommt. Das Zusammenfassen wirkt in Telegram; Slack, WhatsApp, VK, E-Mail und andere Konnektoren, die auf eine Antwort zu jeder Nachricht warten (und Integrationen über /v1/inbound/generic), erhalten eine Antwort auf jede Nachricht — weiterhin nacheinander und in Reihenfolge. Wirkt sofort.
AIHUMMER_INBOUND_EDIT_MODE
Wenn jemand eine bereits beantwortete Nachricht bearbeitet
enum: correct \\| history
correct
sofort
correct — der Bot antwortet erneut und weiß, dass es eine Korrektur ist („vorher / jetzt“); history — die Bearbeitung korrigiert nur den Gesprächsverlauf, keine neue Antwort (praktisch bei Tippfehlern). Die Bearbeitung einer noch nicht beantworteten Nachricht ersetzt immer nur ihren Text. Funktioniert dort, wo der Kanal Bearbeitungen meldet (Telegram). Wirkt sofort.
AIHUMMER_INBOUND_QUEUE_MODE
Nachrichten, die geschrieben werden, während der Agent arbeitet
enum: steer \\| collect \\| followup
steer
sofort
Was mit einer Nachricht geschieht, die dieselbe Person schreibt, während der Agent noch an einer Antwort arbeitet (sucht, Werkzeuge ausführt): steer (Standard) — der Agent sieht sie vor seinem nächsten Schritt und berücksichtigt sie in derselben Antwort; collect — sie wird mit der nächsten Antwort beantwortet. followup — jede solche Nachricht erhält der Reihe nach eine eigene Antwort. Fotos, Dateien, Antworten auf eine Nachricht und Weiterleitungen warten immer auf die nächste Antwort. Wirkt sofort.
AIHUMMER_INBOUND_REQUIRE_BINDING
Nur bereitgestellten Benutzern antworten
bool
true
sofort
true = der Bot ignoriert jeden Kanalsender, der NOT ein bereitgestellter AiHummer-Benutzer ist (ein Benutzer mit einer Rollenbindung) – zufällige Chat-Mitglieder und Gastaufrufe erhalten keine Antwort. false (Standard) = allen antworten.
Integrations
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_A2A_PUBLISH
Agent über Agent2Agent veröffentlichen (A2A)
bool
0
nach Neustart
Veröffentlichen Sie den Agenten als A2A-Server (Agent Card +). POST /a2a/message). Wird beim Start/nach dem Neustart angewendet.
AIHUMMER_MCP_EXPORT_TOOLS
Für externe Assistenten freigegebene Werkzeuge
multiselect
—
nach Neustart
Eine explizite Liste von Toolnamen, die für externe MCP-Clients zulässig sind, getrennt durch Kommas. Leer = keine Tools veröffentlichen. Gefährliche Klassen auf Hostebene werden zusätzlich durch die integrierte Richtlinie verboten, selbst wenn sie aufgeführt sind. Gilt beim Start/nach dem Neustart.
AIHUMMER_MCP_PUBLISH
Tools über MCP veröffentlichen
bool
0
nach Neustart
Erlaubt externen Assistenten (z. B. Claude Desktop), die Werkzeuge Ihrer Agenten zu nutzen. Welche Werkzeuge freigegeben werden, wählen Sie in der benachbarten Einstellung: Solange die Liste leer ist, wird keines freigegeben.
AIHUMMER_MODULE_CPU_QUOTA
CPU-Limit je Plugin
text
75%
sofort
Welchen Anteil des Prozessors jedes Plugin nutzen darf (systemd CPUQuota): 75 % sind drei Viertel eines Kerns, 150 % anderthalb Kerne. Ein Plugin erhält den neuen Wert bei seiner nächsten Installation, Aktualisierung oder beim Speichern seiner Einstellungen; laufende Plugins behalten bis dahin das bisherige Limit.
AIHUMMER_MODULE_MEMORY_MAX
Speicherlimit je Plugin
text
512M
sofort
Wie viel Arbeitsspeicher jedes Plugin belegen darf (systemd MemoryMax): eine Größe wie 512M, 1G oder 2048M (mindestens 64M) oder infinity für kein Limit. Ein Plugin, das es überschreitet, wird vom System beendet. Ein Plugin erhält den neuen Wert bei seiner nächsten Installation, Aktualisierung oder beim Speichern seiner Einstellungen; laufende Plugins behalten bis dahin das bisherige Limit.
Knowledge connectors
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_KB_SYNC_INTERVAL
Wie oft die Wissensdatenbank aus Quellen aktualisiert wird
text
—
sofort
Wie oft der Server Änderungen aus verbundenen Wissensquellen selbst abholt. Zum Beispiel: 30m – alle 30 Minuten, 6h – alle 6 Stunden. Leer oder 0 – nur manuell. Erneutes Laden erzeugt keine Duplikate. Ein Slack-Export wird manuell hochgeladen.
LLM
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_AUX_FALLBACK_MODELS
Hilfsaufgaben: Ersatzmodelle
list
—
sofort
Kommagetrennte Modelle, die der Reihe nach versucht werden, wenn das Hilfsmodell ausfällt (Kontingent, Störung). Das Hauptmodell wird immer zuletzt versucht, damit keine Zusammenfassung verloren geht. Jeder Wechsel wird protokolliert. Wirkt sofort.
AIHUMMER_AUX_MODEL
Modell für Hilfsaufgaben (Zusammenfassungen, Notizen, Titel)
text
—
sofort
Modell für Hintergrundaufgaben: Zusammenfassen alter Verläufe, die Gedächtnisnotiz vor der Komprimierung, Gesprächstitel, Faktenextraktion, Umformulierung von Suchanfragen und Übersetzung. Leer = automatisch: ein günstigeres Modell desselben Anbieters (Claude → claude-haiku-4-5, Codex → gpt-…-luna/mini); gibt es keines, das Hauptmodell. “main” = immer das Hauptmodell. Wirkt sofort.
AIHUMMER_CASCADE_MIN_CHARS
Kaskade: Mindestanzahl an zu eskalierenden Zeichen
int
0
sofort
Anforderungslängenschwellenwert (Zeichen), bei dem das stärkere Kaskadenmodell einsetzt. 0 = Standard.
AIHUMMER_CASCADE_STRONG_MODEL
Kaskade: stärkeres Fallback-Modell
text
—
sofort
Modell zur Kaskadierung für lange/komplexe Anfragen (leer = aus).
AIHUMMER_CLAUDE_AUTH_URL
Claude-Abo: Adresse der Anmeldeseite
text
—
sofort
Die Seite, auf der Sie die Verbindung des Claude-Abos erlauben. Leer – Standardadresse; nur ändern, wenn der Support darum bittet.
AIHUMMER_CLAUDE_CLIENT_ID
Claude-Abonnement: OAuth-Client-ID
text
—
sofort
Die App-Kennung für die Anmeldung mit einem Claude-Abo. Leer – Standard; nur ändern, wenn der Support darum bittet.
AIHUMMER_CLAUDE_EFFORT
Claude: Denktiefe
enum: low \\| medium \\| high \\| xhigh \\| max
medium
sofort
Wie gründlich Claude-Modelle vor der Antwort nachdenken, wenn der Agent es nicht festlegt. Höher ist bei schwierigen Aufgaben genauer, aber langsamer und verbraucht mehr Kontingent; niedriger ist schneller und günstiger. Ein Modell, das die gewählte Stufe nicht kennt, erhält die nächstniedrigere; Haiku 4.5 und ältere Modelle unterstützen kein Nachdenken. Die beim Agenten festgelegte Tiefe hat Vorrang. Gilt ab der nächsten Runde.
AIHUMMER_CLAUDE_MAX_TOKENS
Claude: maximale Antwortlänge (Tokens)
int
16000
sofort
Wie viele Tokens eine Claude-Antwort belegen darf – per Abo und per Schlüssel. Das Nachdenken des Modells zählt zum selben Limit: Ein zu kleiner Wert bricht die Antwort mitten im Satz ab oder liefert eine leere Antwort. Hat ein Agent eine eigene Antwortlänge, gilt diese.
AIHUMMER_CLAUDE_REDIRECT_URI
Claude-Abonnement: Umleitungs-URI
text
—
sofort
Beim Lieferanten registrierte Rücksendeadresse. Muss mit der Konfiguration auf seiner Seite übereinstimmen, andernfalls wird der Codeaustausch abgelehnt.
AIHUMMER_CLAUDE_TOKEN_URL
Claude-Abo: Zugriffsadresse
text
—
sofort
Die Adresse, unter der der Server den Zugriff auf das Claude-Abo erhält und verlängert. Leer – Standardadresse; nur ändern, wenn der Support darum bittet.
AIHUMMER_CODEX_BASE_URL
Codex-Basis URL
text
—
teilweise nach Neustart
Basis des Codex-Transports (ChatGPT-Abonnement). Wird beim Start/nach dem Neustart angewendet.
AIHUMMER_CODEX_MAX_OUTPUT_TOKENS
Max. Ausgabetokens (0 = keine Obergrenze)
int
0
sofort
Die max_output_tokens-Obergrenze für eine Chat-Runde. 0 = keine Obergrenze. Bei Reasoning-Modellen werden auch die Reasoning-Tokens auf dieses Budget angerechnet, sodass ein zu kleiner Wert zu einer leeren „unvollständigen: max_output_tokens“-Antwort führt. Wird im laufenden Betrieb angewendet (kein Neustart).
AIHUMMER_CODEX_MODEL
Modell-ID (Codex / gpt-5.5-Transport)
text
gpt-5.5
teilweise nach Neustart
Modell-ID des primären Codex/ChatGPT-Transports (z. B. gpt-5.5, gpt-5.5-codex). Wird beim Start/nach dem Neustart angewendet.
AIHUMMER_CODEX_REASONING_EFFORT
Begründungsaufwand
enum: none \\| low \\| medium \\| high \\| xhigh
medium
sofort
Wie gründlich das ChatGPT-Modell (Codex) vor der Antwort nachdenkt, wenn der Agent es nicht festlegt. Standard – „Mittel“. Höher ist genauer, aber langsamer und teurer.
AIHUMMER_LLM_CALL_TIMEOUT_S
Timeout pro Anruf (Sekunden)
int
120
sofort
Wie viele Sekunden auf die Antwort des Modells auf eine Anfrage gewartet wird. Schweigt das Modell länger, wird die Anfrage abgebrochen und die Antwort geht an das nächste Modell der Liste. Bei Claude zählt die Pause im Antwortstrom, nicht die ganze Antwort: Eine lange, laufende Antwort wird nicht abgeschnitten. 0 – kein Limit.
AIHUMMER_LLM_FALLBACK_MODELS
Ausweichmodelle (alle Agenten)
text
auto
sofort
Wer antwortet, wenn das Hauptmodell und die übrigen Anbieter ausfallen (Nutzungslimit erreicht, Störung, zu viele Anfragen). auto — das günstigere Modell jedes Anbieters als letzte Rückfallebene (Claude: claude-haiku-4-5, Codex: gpt-…-luna/mini); eine kommagetrennte Liste — eigene Reihenfolge, jedes Modell geht an Anbieter seines Herstellers; off — keine Ausweichmodelle. Das eigene Ausweichmodell eines Agenten hat Vorrang. Wirkt sofort.
AIHUMMER_LLM_GATEWAY_URL
LLM-Gateway URL
text
—
teilweise nach Neustart
Basis URL des OpenAI-kompatiblen Modellendpunkts, den der Agent aufruft (Ihr lokaler llama.cpp/vLLM/Ollama-Server oder ein gehostetes Gateway). Lassen Sie das Feld leer, um den Standardendpunkt des Anbieters zu verwenden.
AIHUMMER_LLM_MODEL
LLM Modell
text
—
teilweise nach Neustart
Der Modellname/die Modell-ID, der bei jedem Schritt an den Anbieter gesendet wird (das Modell, das Ihr Endpunkt bedient). Muss mit einem Modell übereinstimmen, das der Endpunkt tatsächlich bereitstellt.
AIHUMMER_LLM_PAUSE_AUTH_MIN
Pause nach abgelehnten Zugangsdaten, min
int
10
sofort
Wie viele Minuten ein Anbieter, der die Zugangsdaten abgelehnt hat, nicht gefragt wird. Jede Wiederholung verdoppelt die Pause, höchstens bis zum Sechsfachen. Ein erfolgreicher Verbindungstest oder die Schaltfläche „Jetzt fortsetzen“ holt ihn sofort zurück. Gilt ab dem nächsten Fehlschlag.
AIHUMMER_LLM_PAUSE_MODEL_MIN
Pause eines vom Anbieter nicht bedienten Modells, min
int
60
sofort
Wie viele Minuten einem Anbieter ein Modell nicht angeboten wird, das er nach eigener Aussage nicht bedient; seine anderen Modelle werden wie gewohnt gefragt. Gilt ab dem nächsten Fehlschlag.
AIHUMMER_LLM_PAUSE_QUOTA_MIN
Pause nach erschöpftem Limit, min
int
300
sofort
Wie viele Minuten das Modell (oder das ganze Konto, wenn das Kontolimit erschöpft ist – Codex, ein OpenAI-Schlüssel, Zahlung) nicht gefragt wird, wenn sein Nutzungslimit erschöpft ist und der Anbieter keinen Rücksetzzeitpunkt nennt. Jede Wiederholung verdoppelt die Pause, höchstens bis zu einem Tag. Eine vom Anbieter genannte Frist hat Vorrang. Gilt ab dem nächsten Fehlschlag.
AIHUMMER_LLM_PAUSE_SHORT_S
Anbieterpause nach einer Störung, s
int
30
sofort
Wie viele Sekunden ein Anbieter nach einer Störung, einem Verbindungsabbruch oder „zu vielen Anfragen“ nicht gefragt wird. Ein zweiter Fehlschlag in Folge verdoppelt die Pause, der dritte und alle weiteren verzehnfachen sie. Nennt der Anbieter selbst eine Frist, gilt diese. Gilt ab dem nächsten Fehlschlag.
AIHUMMER_LLM_PROVIDER
LLM Anbieter
text
—
teilweise nach Neustart
Welches Modell-Backend verwendet werden soll (ein OpenAI-kompatibler Endpunkt oder der Codex/ChatGPT-Abonnementtransport). Entscheidet, wie Anfragen gesendet und authentifiziert werden.
AIHUMMER_LLM_RETRIES
LLM erneute Versuche bei vorübergehendem Fehler
int
3
sofort
Anzahl der LLM Anforderungswiederholungen bei einem vorübergehenden Fehler.
AIHUMMER_LLM_TEMPERATURE
Temperatur
text
—
sofort
Wie abwechslungsreich das Modell antwortet (0–2), wenn der Agent es nicht festlegt: niedriger ist genauer und vorhersehbarer, höher lebendiger. Leer – das Modell entscheidet. Denkende Modelle (ChatGPT/Codex, Claude Generation 5) akzeptieren den Wert nicht – lassen Sie das Feld für sie leer.
AIHUMMER_LLM_TOP_P
Top-p (Kernprobenahme)
text
—
sofort
Eine weitere Möglichkeit, Antworten abwechslungsreicher zu machen (0–1), wenn der Agent es nicht festlegt. Leer – das Modell entscheidet. Meist setzt man nur eines: Temperatur oder diesen Wert; denkende Modelle akzeptieren ihn nicht.
AIHUMMER_MODEL_GUARD_INTERVAL_MIN
Agentenmodell-Prüfung: Intervall, Min
int
60
sofort
Wie oft geprüft wird, ob das Modell jedes Agenten von einem aktivierten Anbieter bereitgestellt wird. Das Modell des Agenten wird nie geändert: Solange niemand es bereitstellt, antwortet das erste nicht pausierte Modell der Antwortreihenfolge, und eine Benachrichtigung nennt die Agenten — eine weitere, sobald ihr Modell zurück ist. Die Prüfung läuft immer beim Start des Gateways, und 0 schaltet nur die Wiederholung ab. Ein neuer Abstand gilt innerhalb einer Minute.
AIHUMMER_OPENAI_API
OpenAI API-Stil (Chat | Antworten)
enum: \\| chat \\| responses
—
teilweise nach Neustart
chat = /chat/completions, Responses = /responses. Leer = automatisch/Standard. Wird beim Start/nach dem Neustart angewendet.
Ihr OpenAI-Kontoschlüssel für die native OpenAI-Schleife (wenn Sie OpenAI als Standardanbieter verwenden). Nicht zu verwechseln mit BYOK pro Arbeitsbereich auf der Seite „Modelle“. Wird beim Start/nach dem Neustart angewendet.
AIHUMMER_OPENAI_BASE_URL
Native OpenAI-Basis URL
text
—
nach Neustart
Basis des OpenAI-kompatiblen API (z. B. https://api.openai.com/v1). Wird beim Start/nach dem Neustart angewendet.
AIHUMMER_OPENAI_MODEL
Natives OpenAI-Modell
text
—
nach Neustart
Modell für die native OpenAI-Schleife (wenn AIHUMMER_OPENAI_API_KEY festgelegt ist). Wird beim Start/nach dem Neustart angewendet.
AIHUMMER_ROUTER_COMPLEX_MODEL
Router: Modell für komplexe Abbiegevorgänge
text
—
sofort
Modell für komplexe Anfragen eines Agenten ohne eigenes Modell (leer = Stufe aus). Gilt ab dem nächsten Zug.
AIHUMMER_ROUTER_SIMPLE_MODEL
Router: Modell für einfache Abbiegevorgänge
text
—
sofort
Modell für einfache Anfragen eines Agenten ohne eigenes Modell (leer = Stufe aus). Gilt ab dem nächsten Zug.
AIHUMMER_ROUTER_STANDARD_MODEL
Router: Modell für Standardabbiegevorgänge
text
—
sofort
Modell für gewöhnliche Anfragen eines Agenten ohne eigenes Modell (leer = Stufe aus). Gilt ab dem nächsten Zug.
AIHUMMER_SUBSCRIPTION_QUOTA_REFRESH_MIN
Abo-Kontingente: Abfrageintervall, Min.
int
15
sofort
Wie oft das Panel ChatGPT (Codex) nach den Kontingentfenstern des Abos fragt: höchstens einmal pro Zeitraum, nicht öfter als alle 5 Minuten und nur, solange die Kontingente geöffnet sind; dazwischen wird die gespeicherte Kopie gezeigt. Claude wird nie gefragt: seine Limits sind unsere Schätzung. Wirkt beim nächsten Öffnen der Kontingente.
Media
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_DEEPGRAM_API_KEY
Deepgram API Schlüssel
text
—
sofort
Der Schlüssel des Dienstes Deepgram – nötig, wenn Deepgram Sprachnachrichten erkennt. Leer – der gemeinsame Spracherkennungsschlüssel aus der benachbarten Einstellung wird verwendet. Gilt sofort.
AIHUMMER_DEEPGRAM_DETECT_LANGUAGE
Deepgram-Spracherkennung
bool
0
sofort
Sprache erkennen, statt eine feste Sprache zu senden. Wirkt sofort.
AIHUMMER_DEEPGRAM_MODEL
Deepgram-Modell
text
nova-2
sofort
Deepgram-Modell (z. B. nova-2, nova-3, base). Hängt vom Zugriff des Projekts auf den Schlüssel ab. Wirkt sofort.
AIHUMMER_DEEPGRAM_PUNCTUATE
Deepgram-Zeichensetzung
bool
1
sofort
Satzzeichen und Großschreibung ergänzen. Wirkt sofort.
AIHUMMER_DEEPGRAM_SMART_FORMAT
Intelligente Deepgram-Formatierung
bool
1
sofort
Erkannte Zahlen und Datumsangaben formatieren. Wirkt sofort.
Die größte Datei (Foto, Sprachnachricht, Video), die auf einmal hochgeladen werden kann, in Megabyte. Schützt die Serverfestplatte vor dem Volllaufen. Standard 256. Gilt sofort.
AIHUMMER_SIDECAR_STT
Spracherkennung auf diesem Server (faster-whisper)
bool
0
sofort
Lokale Spracherkennung (faster-whisper). NICHT im Paket enthalten: „Enable“ lädt das signierte Add-on herunter (~620 MiB für alle Versionen von Python) und installiert den Dienst auf dem Host. 🔴 Das Add-on wird durch eine separate Herstellerentscheidung veröffentlicht (seine Pakete unterliegen ffmpeg der GPL); Wenn es nicht für Ihre Veröffentlichung veröffentlicht wird, wird es ehrlich sein und nichts kaputt machen. Cloud-Plan: Die Erkennung wird vom Anbieter konfiguriert.
AIHUMMER_SIDECAR_TTS
Sprachausgabe der Antworten (edge-tts)
bool
0
sofort
Sprachsynthese (edge-tts, Stimmen Microsoft Edge). NICHT im Paket enthalten: Durch die Aktivierung wird das signierte Add-on heruntergeladen (~26 MiB) und der Dienst auf dem Host installiert. Die Synthese selbst geht zur Abstimmung online – „offline“ bezieht sich hier auf die Installation des Pakets, die nicht funktioniert.
AIHUMMER_STT_API_KEY
STT API Schlüssel (optional)
text
—
sofort
Zugangsschlüssel für den Spracherkennungsdienst, falls er einen verlangt. Für einen Dienst auf diesem Server setzt ihn das Installationsprogramm – keine Änderung nötig. Gilt sofort.
AIHUMMER_STT_ENGINE
STT-Engine
enum: auto \\| faster-whisper \\| deepgram \\| codex \\| off
auto
sofort
Womit Sprachnachrichten transkribiert werden. Auto (Standard): Deepgram, wenn sein Schlüssel gesetzt ist, sonst der lokale Dienst, wenn er installiert ist (Schalter oben), sonst nichts – und der Bot sagt dem Absender ehrlich, dass er noch nicht zuhören kann. faster-whisper: der lokale Dienst oder ein kompatibler externer /v1/audio/transcriptions. deepgram: Deepgram in der Cloud mit eigenem Schlüssel. codex: das verbundene ChatGPT-Abo (Modelle → ChatGPT verbinden), verbraucht dessen Kontingent. off: nicht transkribieren. Wirkt sofort.
AIHUMMER_STT_LANGUAGE
STT Sprache
text
—
sofort
Erkennungssprache (BCP-47, z. B. ru/en). Wird von der Deepgram-Engine (Modell nova-2) verwendet. Leer = automatische Erkennung/Engine-Standardeinstellung. Wirkt sofort.
AIHUMMER_STT_MODEL
STT Modell
text
Systran/faster-whisper-small
sofort
Schneller-Whisper-Modell (z. B. small/medium/large-v3 oder Systran/faster-whisper-⟨size⟩). Wirkt sofort.
AIHUMMER_TTS_API_KEY
TTS API Schlüssel (Edge-tts)
text
—
teilweise nach Neustart
Zugangsschlüssel für den Sprachausgabedienst. Wird bei der Installation automatisch gesetzt – keine Änderung nötig.
AIHUMMER_TTS_ENABLED
Text-to-Speech aktiviert
bool
1
teilweise nach Neustart
Erlaubt dem Agenten, per Sprache zu antworten. Dafür wird der Sprachausgabedienst gebraucht – installieren Sie ihn oben im Bereich „Zusätzliche Dienste“.
AIHUMMER_TTS_MODEL
TTS Modell
text
—
teilweise nach Neustart
Modellname für den Edge-TTS-Dienst. Wird beim Start/nach dem Neustart angewendet.
Standardmäßige Edge-TTS-Stimme (mehrsprachig, inkl. Russisch). Wird beim Start/nach dem Neustart angewendet.
AIHUMMER_VIDEO_API_KEY
Videoanalyse API Schlüssel
text
—
sofort
Zugangsschlüssel für den Videoanalysedienst, falls er einen verlangt. Leer – der Dienst wird ohne Schlüssel genutzt.
Media · Voice
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_TTS_AUTO_REPLY
Automatische Sprachantworten
enum: off \\| always \\| inbound \\| tagged
inbound
sofort
Aus, immer, bei eingehender Audionachricht oder ausdrücklicher Markierung. Pro Gespräch überschreibbar.
AIHUMMER_TTS_MAX_CHARS
Zeichenlimit für Sprachantworten
int
0
sofort
0: vollständiger Text; 100–10000: Zeichenlimit für die Sprachausgabe. Die vollständige Antwort bleibt im Verlauf.
AIHUMMER_TTS_SUMMARIZE
Lange Sprachantworten zusammenfassen
bool
1
sofort
Lange Antworten für die Sprachausgabe zusammenfassen. Bei einem Fehler wird der Anfang innerhalb des Limits vorgelesen.
AIHUMMER_VOICE_AEC
Echounterdrückung (AEC)
bool
1
sofort
Entfernt Echo: Die eigene Stimme des Agenten aus dem Lautsprecher gelangt nicht zurück ins Mikrofon und unterbricht das Gespräch nicht. Nur ausschalten, wenn die Stimme im Headset verzerrt klingt.
AIHUMMER_VOICE_AGC
Auto Gewinnkontrolle
bool
1
sofort
Automatische Verstärkungsregelung des Mikrofons (WebRTC autoGainControl) im Sprachmodus verlangen.
AIHUMMER_VOICE_BARGEIN_FRAMES
Agent unterbrechen: wie lange sprechen
int
5
sofort
Wie lange Sie sprechen müssen (in 20-ms-Rahmen), damit der Agent verstummt und zuhört. Standard 5 – etwa 0,1 Sekunden.
AIHUMMER_VOICE_DUPLEX
Live-Vollduplex-Sprache
bool
0
sofort
Aktiviert den Live-Vollduplex-Modus (Streaming + VAD + Barge-in). Wirkt sofort.
AIHUMMER_VOICE_NOISE_SUPPRESSION
Rauschunterdrückung
bool
1
sofort
Rauschunterdrückung bei der Mikrofonaufnahme (WebRTC noiseSuppression) im Sprachmodus verlangen.
AIHUMMER_VOICE_VAD_THRESHOLD
Stimmempfindlichkeit (0–1)
text
0.02
sofort
Ab welcher Lautstärke ein Geräusch als Sprache gilt. Niedriger – empfindlicher: Der Agent hört leise Sprache, aber auch Nebengeräusche. Standard 0.02.
Memory
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_EMBEDDER_DIM
Dimension des Bedeutungssuchmodells
int
768
nach Neustart
Vektordimension – muss mit dem Modell übereinstimmen (multilingual-e5-base=768, bge-m3=1024).
AIHUMMER_EMBEDDER_KEEPALIVE
Embedder bleibt am Leben
text
5m
nach Neustart
Wie lange das Bedeutungssuchmodell nach der letzten Anfrage geladen bleibt (nur im Modus „Nach Bedeutung“). Standard 5m – 5 Minuten: danach wird das Modell entladen und gibt Speicher und CPU frei. Dauerhaft halten (-1) wird nicht empfohlen: Ein hängendes Modell kann tagelang einen CPU-Kern belegen. Format: 30s, 5m, 1h.
AIHUMMER_EMBEDDER_MODEL
Modell für Bedeutungssuche
text
yxchia/multilingual-e5-base
nach Neustart
Das Modell für die Bedeutungssuche im Gedächtnis. Standard multilingual-e5-base versteht Russisch, ist leicht und läuft schnell auf einer normalen CPU. Für bessere Qualität auf einer Grafikkarte eignet sich bge-m3 – setzen Sie dann die benachbarte Dimensionseinstellung auf 1024: Die Zahl muss zum Modell passen.
AIHUMMER_EMBEDDER_PASSAGE_PREFIX
Präfix der Embedder-Passage
text
—
nach Neustart
Überschreiben Sie das Präfix des gespeicherten Dokuments (e5-Modelle verwenden automatisch „passage:“). Lassen Sie das Feld leer, um die automatische Erkennung anhand des Modellnamens vorzunehmen.
AIHUMMER_EMBEDDER_QUERY_PREFIX
Embedder-Abfragepräfix
text
—
nach Neustart
Überschreiben Sie das Präfix „retrieval-query“ (e5-Modelle verwenden automatisch „query:“). Lassen Sie das Feld leer, um die automatische Erkennung anhand des Modellnamens durchzuführen.
AIHUMMER_EMBEDDER_THREADS
CPU-Threads des Embedders
int 0…256
0
nach Neustart
Wie viele Prozessor-Threads das Modell für die Bedeutungssuche pro Anfrage nutzt. 0 — automatisch: die Hälfte der Threads des Servers, aber mindestens 2. Ohne Grenze belegte die Neuberechnung der Vektoren der Wissensbasis auf einem schwachen Server stundenlang den ganzen Prozessor und bremste die Antworten der Agenten. Mehr — schnellere Neuberechnung, aber höhere Last.
AIHUMMER_MEMORY_AGENT_WRITES
Fakten, die der Agent selbst speichert
enum: strangers \\| immediate \\| review
strangers
sofort
Was mit dem geschieht, was sich der Agent selbst merkt – etwa auf die Bitte „merk dir das“. „Direkt ins Gedächtnis; von Fremden — zur Prüfung“ (Standard) – direkt ins Gedächtnis, wenn der Eigentümer oder der Vertrauenskreis des Agenten es gesagt hat; von allen anderen – zur Prüfung. „Direkt ins Gedächtnis“ – der Agent findet es sofort. „Zur Prüfung“ – zuerst in die Warteschlange Gedächtnis → Prüfung; in Antworten erst nach Ihrer Freigabe. Auf der Agentenkarte (Gedächtnis → Einstellungen) lässt sich ein eigener Modus wählen.
AIHUMMER_MEMORY_AUTOREPAIR
Automatische Gedächtnisreparatur
bool
1
sofort
Nach der Selbstprüfung das Gedächtnis reparieren: Duplikate zusammenführen, Widersprüche mit eindeutigem Gewinner schließen (von einem Menschen bestätigt, späteres Ereignisdatum, gewichtigere Quelle), als bestätigt markierte Fakten, die kein Mensch bestätigt hat, an ihren Quellen nachprüfen (unbestätigte gehen zur Prüfung, nichts wird gelöscht). Strittiges kommt nur in die Warteschlange. Jede Korrektur wird mit einer Schaltfläche zum Rückgängigmachen protokolliert; findet das Gedächtnis danach schlechter, macht sich der Durchlauf selbst rückgängig und Sie erhalten eine Benachrichtigung. Wirkt sofort, kein Neustart nötig.
AIHUMMER_MEMORY_CAPTURE
Speichererfassungsmodus
enum: auto \\| review \\| off
review
sofort
Was mit Fakten geschieht, die der Agent nach jeder Antwort selbst im Gespräch bemerkt. „Zur Prüfung“ legt sie in die Warteschlange Gedächtnis → Prüfung: In Antworten landen sie erst nach Ihrer Freigabe. „Direkt ins Gedächtnis“ ohne Prüfung: schneller, aber mehr Rauschen. „Nicht speichern“ entnimmt Gesprächen nichts. Was sich der Agent auf Bitte merkt, wird separat eingestellt.
AIHUMMER_MEMORY_CONTEXT_TIMEOUT
Zeitüberschreitung bei der Speicherhydrierung
text
3s
sofort
Wie lange der Agent auf passende Erinnerungen wartet, bevor er antwortet. Ist die Suche zu langsam, antwortet der Agent ohne sie, statt zu hängen. Zum Beispiel: 2s – 2 Sekunden, 1500ms – 1,5 Sekunden. 0 – so lange warten wie nötig.
AIHUMMER_MEMORY_DIARY_BOOT
Agententagebuch zu Sitzungsbeginn
bool
1
sofort
Das Tagebuch des Agenten von heute und gestern bei jedem Zug einer Sitzung auf jedem Kanal im Blick behalten: Notizen früherer Sitzungen, die nächtliche Zusammenfassung und eigene Einträge des Agenten. Es werden nur Einträge über die aktuelle Gesprächsperson und die gemeinsamen (Ihre, hochgeladene) gezeigt — ein Kunde sieht nie die eines anderen. Höchstens ~6000 Zeichen; den Rest liest der Agent selbst (memory_get). Wirkt sofort, kein Neustart nötig.
AIHUMMER_MEMORY_DIARY_HOUR
Stunde der nächtlichen Zusammenfassung
int
3
sofort
Nach welcher Stunde (0–23, Zeitzone der Instanz) die Zusammenfassung des vergangenen Tages geschrieben wird. Standard 3 — nachts, wenn die Gespräche des Tages vorbei sind. Wirkt sofort, kein Neustart nötig.
AIHUMMER_MEMORY_DIARY_NIGHTLY
Nächtliche Tageszusammenfassung im Agententagebuch
bool
1
sofort
Einmal täglich eine Zusammenfassung des vergangenen Tages in das Tagebuch des Agenten schreiben — getrennt für jede Person, mit der er gesprochen hat (alle Kanäle dieser Person zusammen): was erbeten und erledigt wurde, Absprachen, Aufgaben mit Datum. Ein Aufruf des Modells für Hilfsaufgaben pro Agent und Person, höchstens 3 pro Durchlauf alle 10 Minuten; verpasste Tage werden bis zu einer Woche rückwirkend nachgeholt. Gespräche mit „nicht merken“ werden ausgelassen. Wird nicht geschrieben, solange die Gedächtniserfassung aus ist. Das Ergebnis des letzten Durchlaufs steht in der Agentenkarte → Gedächtnis → Tagebuch. Wirkt sofort, kein Neustart nötig.
AIHUMMER_MEMORY_DREAM_INTERVAL
Dream-Pass-Intervall
string
1h
sofort
Wie oft überprüft der selbstverwaltende Dream Pass überprüfte Ansprüche auf Widersprüche in allen Bereichen (Go-Dauer, z. B. 30 Min./1 Std./6 Std.). Zum Deaktivieren auf 0 setzen. Wirkt sofort, kein Neustart nötig.
AIHUMMER_MEMORY_EXTRACT
LLM Faktenextraktion
bool
1
sofort
Extrahieren Sie normalisierte Subjekt-/Prädikat-/Objektfakten über LLM (Standardeinstellung EIN), anstatt rohe Satzfragmente zu speichern – erforderlich, damit die Graph-/Widerspruchs-/Traummaschinerie ausgelöst wird. Fügt einen LLM-Aufruf pro erfasster Nachricht hinzu; Machen Sie sich auf den Weg, um den Anruf zu speichern. Wirkt sofort, kein Neustart nötig.
AIHUMMER_MEMORY_MEANING_TIMEOUT
Zeitlimit der Bedeutungssuche
text
4s
sofort
Wie lange eine Suche im Gedächtnis und in der Wissensbasis auf die Bedeutungssuche wartet. Ist das Bedeutungsmodell beschäftigt (zum Beispiel beim Berechnen von Vektoren nach einem Import) und antwortet nicht rechtzeitig, erhält der Agent sofort das nach Wörtern Gefundene mit einem Hinweis, statt Dutzende Sekunden zu warten. Zum Beispiel: 4s – 4 Sekunden, 1500ms – 1,5 Sekunden. 0 – so lange warten wie nötig. Wirkt sofort, kein Neustart nötig.
AIHUMMER_MEMORY_QUALITY_CHECK
Tägliche Selbstprüfung des Gedächtnisses
bool
1
sofort
Einmal täglich stellt sich das Gedächtnis Kontrollfragen zu seinen bestätigten Fakten (bis zu 60 Fakten, jeden Tag dieselben Fragen) sowie Fragen ohne Antwort, schickt sie durch die Gedächtnissuche und das automatische Einblenden und misst Trefferquote, Genauigkeit, MRR und falsche Einblendungen. Ergebnis und Tagesverlauf: Gedächtnis → Gedächtnisqualität. Fragen zu neuen Fakten schreibt einmalig das Dienstmodell (dasselbe, das Fakten aus Unterhaltungen gewinnt; ohne es – nach Vorlage); die Ergebnisse bleiben auf der Instanz. Wirkt sofort, kein Neustart nötig.
AIHUMMER_MEMORY_RECALL
Automatischer Gedächtnisabruf
enum: strong \\| always \\| off
strong
sofort
Ob Gefundenes aus dem Gedächtnis automatisch zur Antwort hinzukommt. „Nur starke Treffer“ – ein Fakt muss mindestens zwei wichtige Wörter mit der Nachricht teilen; Grüße und „ok“ ziehen nichts heran. „Alles Ähnliche“ – alles, was irgendwie passte, plus verknüpfte Einträge: mehr Rauschen. „Nicht hinzufügen“ – der Agent sucht selbst im Gedächtnis, wenn er es für nötig hält.
AIHUMMER_MEMORY_RECALL_MAX
Fakten pro Antwort
int
5
sofort
Höchstzahl der Gedächtnisfakten, die in eine Antwort einfließen (Standard 5). Umformulierungen desselben Fakts zählen als einer. Wirkt sofort, kein Neustart nötig.
AIHUMMER_MEMORY_RECALL_MIN_SCORE
Mindestübereinstimmung für automatischen Abruf, %
int
10
sofort
Welchen Anteil der bedeutungstragenden Wörter der Nachricht (nach Seltenheit gewichtet) ein Fakt abdecken muss, um automatisch eingefügt zu werden, in Prozent. Standard 10 – an echten Unterhaltungen abgestimmt. Höher = seltener und präziser, niedriger = häufiger und mit mehr Rauschen. Wirkt sich nicht auf die explizite Suche memory_search aus. 0 = keine Schwelle: zwei übereinstimmende bedeutungstragende Wörter genügen. Wirkt sofort, kein Neustart nötig.
AIHUMMER_MEMORY_RECALL_MIN_SIMILARITY
Mindestbedeutungsähnlichkeit für automatisches Einblenden, %
int
86
sofort
Nur für die Gedächtnissuche nach Bedeutung (Embedder): wie nah ein Fakt der Nachricht inhaltlich sein muss, um automatisch eingeblendet zu werden, in Prozent Ähnlichkeit. Standard 86 – für das Modell multilingual-e5-base an echtem Gedächtnis abgestimmt: darunter werden fast jeder Nachricht fremde Fakten beigefügt. Andere Modelle (z. B. bge-m3) messen Ähnlichkeit anders – wählen Sie einen Wert mit „Gedächtnis fragen“ in der Agentenkarte. 0 = keine Schwelle. Wirkt sich nicht auf die explizite Suche memory_search aus. Wirkt sofort, kein Neustart nötig.
AIHUMMER_MEMORY_RETRIEVAL
Speicherabrufmodus
enum: fulltext \\| embedding
fulltext
nach Neustart
Wie der Agent im Gedächtnis sucht. „Nach Wörtern“ ist normale Textsuche: funktioniert sofort und belastet den Server nicht. „Nach Bedeutung“ findet Sinnverwandtes, auch anders formuliert, braucht aber das Bedeutungssuchmodell (Bereich „Zusätzliche Dienste“) und spürbare CPU-Last.
AIHUMMER_QDRANT_API_KEY
Qdrant API Schlüssel
text
—
nach Neustart
Qdrant-API-Schlüssel, falls der Vektorspeicher eine Autorisierung verlangt. Nur nötig, wenn eine Qdrant-Adresse gesetzt ist. Wird beim Start/nach dem Neustart angewendet.
AIHUMMER_QDRANT_URL
Qdrant URL (dauerhafter Vektorspeicher)
text
—
nach Neustart
Adresse des Qdrant-Speichers für die Bedeutungssuche. Leer – Suchdaten liegen im Arbeitsspeicher und gehen beim Serverneustart verloren; für dauerhaften Betrieb eine Adresse angeben.
AIHUMMER_RAG_QUERY_EXPANSION
Wissensdatenbank-Anfragen vom Modell umformulieren lassen
bool
0
sofort
Vor der Suche in der Wissensdatenbank das Modell für Hilfsaufgaben um 3 Umformulierungen der Anfrage bitten und mit allen suchen. Findet manchmal mehr, kostet aber bei JEDER Suche einen zusätzlichen Modellaufruf (Kontingent und Verzögerung); schlägt das Modell fehl, wird nur mit der ursprünglichen Formulierung gesucht, und der Fehler erscheint im Protokoll und im Suchergebnis. Standardmäßig aus: Wörter werden ohnehin per Volltextsuche gefunden. Wirkt sofort, kein Neustart nötig.
AIHUMMER_RERANKER_URL
RAG Reranker-Sidecar URL
text
—
nach Neustart
HTTP URL des Cross-Encoder-Sidecars zum Neuranking der Hybridsuche. Leer = Neueinstufung aus. Wird beim Start/nach dem Neustart angewendet.
Moderation
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_MODERATION
Eingabemoderation
bool
1
sofort
“off” deaktiviert den eingebauten Schutz gegen Jailbreak/Prompt-Injection. Jeder andere Wert = aktiviert. Wirkt sofort, kein Neustart nötig.
AIHUMMER_MODERATION_REFUSAL
Moderationsablehnungsnachricht
text
—
sofort
Ablehnungstext, der zurückgegeben wird, wenn der Moderator eine Anfrage blockiert (leer = integriert). Wirkt sofort, kein Neustart nötig.
Network
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_OUTBOUND_PROXY_CUSTOM_URL
Ausgehender Proxy: eigene Adresse
text
—
sofort
HTTPS-Proxy-URL; HTTP nur auf Loopback, ohne Pfad, Abfrage oder Fragment. Adresse vor der Auswahl von custom speichern. In der API maskiert; in den Anwendungseinstellungen gespeichert.
AIHUMMER_OUTBOUND_PROXY_MODE
Ausgehender Proxy für ausländische Modellanbieter
enum: auto \\| off \\| custom
auto
sofort
Wie der Server ausländische Modellanbieter erreicht. „Wie beim Anbieter“ – wie im Konto des Anbieters eingestellt; „Direkt, ohne Proxy“ – ohne Vermittler; „Über eigenen Proxy“ – über die unten gespeicherte Adresse. Ob das funktioniert, hängt von den Regeln des jeweiligen Anbieters ab.
AIHUMMER_RUSSIAN_TRUSTED_EXTRA_HOSTS
Hosts jenseits von .ru für die Wurzelzertifikate des russischen Ministeriums für digitale Entwicklung
list
—
nach Neustart
Durch Kommas getrennte Liste der Hosts, die anhand der Wurzeln von russischen Ministeriums für digitale Entwicklung ÜBER russischen Domains (.ru/.su/.рф – bereits enthalten) überprüft werden dürfen. Wird benötigt, wenn sich Ihr Knoten mit dem russischen Ministeriums für digitale Entwicklung-Zertifikat in einer anderen Domäne befindet. Übereinstimmung nach Name oder Subdomain-Grenze: example.com deckt api.example.com ab. Leer = nur russische Domains. Gilt beim Start/nach dem Neustart.
Performance
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_CHANNEL_TURN_QUEUE_WAIT_SEC
Wartezeit in der Warteschlange: Kanalnachricht (Sekunden)
int 10…1200
600
sofort
Wie lange eine Kanalnachricht (Telegram und andere) auf einen freien Platz wartet, wenn alle Plätze für Runden belegt sind. Bekommt sie rechtzeitig keinen, erfährt die Person, dass der Server ausgelastet ist und sie erneut schreiben kann. Die Wartezeit zählt zum 30-Minuten-Limit der Runde. 10–1200. Wirkt sofort.
AIHUMMER_MAX_ACTIVE_TURNS
Gleichzeitig laufende Agentenrunden (ganzer Server)
int 1…512
32
sofort
Wie viele Agentenrunden (Antworten in Kanälen und im Webchat, Zeitpläne) der Server gleichzeitig ausführt. Der Rest wartet in einer Warteschlange so lange, wie die Einstellungen „Wartezeit in der Warteschlange“ unten erlauben, und die Person sieht „Server ausgelastet, in der Warteschlange“. Höher bedeutet weniger Warten, aber mehr Speicher, Datenbankverbindungen und gleichzeitige Modellanfragen. Die Hälfte dieses Werts begrenzt gleichzeitige Hilfsaufrufe des Modells (Gedächtnisauszug, Zusammenfassungen). 1–512. Wirkt sofort.
AIHUMMER_SYNC_INBOUND_QUEUE_WAIT_SEC
Wartezeit in der Warteschlange: synchroner Integrationsaufruf (Sekunden)
int 1…120
10
sofort
Wie lange ein Aufruf einer Integration, die im selben Request auf die Antwort wartet, auf einen freien Platz wartet, wenn alle Plätze für Runden belegt sind. Bekommt er keinen, erhält die Integration „Server ausgelastet“ mit dem Hinweis, nach derselben Anzahl Sekunden zu wiederholen; eine Wiederholung mit derselben Nachrichtennummer speichert die Nachricht nicht doppelt. 1–120. Wirkt sofort.
AIHUMMER_WEB_TURN_QUEUE_WAIT_SEC
Wartezeit in der Warteschlange: Webchat-Nachricht (Sekunden)
int 10…1200
180
sofort
Wie lange eine Webchat-Nachricht auf einen freien Platz wartet, wenn alle Plätze für Runden belegt sind. Währenddessen zeigt der Chat „Server ausgelastet, in der Warteschlange“; bekommt sie rechtzeitig keinen, wird die Antwort mit der Schaltfläche „Wiederholen“ abgelehnt, die auch nach dem Neuladen der Seite im Verlauf bleibt. 10–1200. Wirkt sofort.
Public access
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_PUBLIC_URL
Öffentliche Serveradresse
text
—
teilweise nach Neustart
Die Adresse, unter der Verwaltung und Apps aus dem Internet erreichbar sind, z. B. https://ai.example.com. Leiten Sie sie über Ihren Proxy (nginx, Caddy) auf den Server-Port – standardmäßig 8780.
AIHUMMER_WIDGET_ALLOWED_ORIGINS
Web-Widget: zulässige Website-Origins
list
—
sofort
Kommagetrennte Liste der Browser-Origins, die das Webchat-Widget einbetten dürfen, z. B. https://example.com,https://www.example.com. Schema und Port müssen exakt übereinstimmen. Leer = keine externe Website darf das Widget verwenden. Ein *-Eintrag wird absichtlich ignoriert, da sonst jede Seite im Internet das Budget dieser Instanz verbrauchen könnte.
POCKET_AGENT_GATEWAY_BASE_URL
Öffentliches Pocket-Agent-Gateway URL
text
—
sofort
Proxy → der Pocket-Agent-Gateway-Port (POCKET_AGENT_PORT, Standard 8080). Der Remote-Agent wählt diesen über ein einmaliges Ticket.
TELEGRAM_PUBLIC_URL
Telegram Webhook öffentlich URL
text
—
sofort
Nur Webhook-Modus – Proxy → der Telegram-Connector-Port (Standard 8091). public URL erforderlich).
SSO (LDAP/AD)
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_LDAP_BASE_DN
Benutzersuchbasis-DN
text
—
nach Neustart
Suchstammverzeichnis, z. B. OU=Users,DC=corp,DC=example.
AIHUMMER_LDAP_BIND_DN
Dienstbindungs-DN
text
—
nach Neustart
Konto, das für die anfängliche Suchbindung verwendet wird, z. B. CN=svc-aihummer,OU=Service,DC=corp,DC=example. Leer = anonyme Suche.
Rolle gewährt, wenn keine Gruppe mit einer Zuordnung übereinstimmt. Leer = keine Rolle.
AIHUMMER_LDAP_ENABLED
LDAP/AD-Anmeldung aktivieren
bool
0
nach Neustart
Wenn diese Option aktiviert ist, greifen Administratoranmeldungen auf das Verzeichnis zurück. Das Bind-Passwort befindet sich in Secrets (Bereich ldap, Name bind_password).
AIHUMMER_LDAP_GROUP_ATTR
Gruppenattribut (Standard memberOf)
text
—
nach Neustart
Attribut im Benutzereintrag, der die Gruppen-DNs auflistet. Leer deaktiviert die Gruppen→Rollenzuordnung.
AIHUMMER_LDAP_ROLE_MAPPINGS
LDAP: Gruppe→Rollenzuordnungen (JSON)
text
—
nach Neustart
JSON Objekt des Gruppen-DN (oder nackten CN) → Rolle, z. B. {“CN=Admins,OU=Groups,DC=corp,DC=example”:“admin”,“Operators”:“operator”}.
AIHUMMER_LDAP_SKIP_TLS_VERIFY
TLS-Überprüfung überspringen (nur Labor, 1/0)
bool
0
nach Neustart
Deaktiviert die Überprüfung des Verzeichniszertifikats. Niemals in der Produktion aktivieren.
AIHUMMER_LDAP_URL
Verzeichnis URL
text
—
nach Neustart
z.B. ldaps://ad.corp.example:636 (TLS) oder ldap://dc1.corp.example:389.
AIHUMMER_LDAP_USER_ATTR
Anmeldeattribut (Standard sAMAccountName)
text
—
nach Neustart
Das LDAP/Active Directory-Attribut wurde mit dem Login abgeglichen, das der Benutzer eingibt (Standard: sAMAccountName; UID für OpenLDAP, userPrincipalName für Logins im UPN-Stil).
AIHUMMER_LDAP_USER_FILTER
Benutzersuchfilter
text
—
nach Neustart
Muss %s für die Anmeldung enthalten. AD: (sAMAccountName=%s); OpenLDAP: (uid=%s).
SSO (OIDC)
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_OIDC_AUDIENCE
OIDC Zielgruppe
text
—
nach Neustart
Erwarteter aud-Anspruch – legen Sie dies auf die Zielgruppe der Ressource THIS fest, um Token abzulehnen, die für eine andere vertrauende Partei geprägt wurden. Der aud-Anspruch ist jetzt standardmäßig REQUIRED für jeden Token (ein Token ohne aud wird abgelehnt); Wenn dies festgelegt ist, muss aud es auch enthalten. In der Produktion dringend empfohlen.
AIHUMMER_OIDC_ISSUER
OIDC-Emittent URL
text
—
nach Neustart
Der IdP-Aussteller (z. B. https://login.example.com). Aktiviert OIDC JWT Authentifizierung, wenn festgelegt.
AIHUMMER_OIDC_JWKS_URL
OIDC-JWKS-URL
text
—
nach Neustart
JSON Web Key Set-Endpunkt zur Überprüfung von Tokensignaturen.
AIHUMMER_OIDC_TENANT_CLAIM
OIDC Workspace-Anspruch
text
—
nach Neustart
JWT-Claim mit der Workspace-ID (z. B. tenant_id / org).
Rolle gewährt, wenn keine bestätigten Wertzuordnungen vorhanden sind. Leer = keine Rolle.
AIHUMMER_SAML_ENABLED
Aktivieren SAML 2.0 SSO
bool
0
nach Neustart
Macht /saml/metadata, /saml/acs, /saml/login verfügbar. Der private SP-Schlüssel befindet sich in Secrets (Bereich saml, Name sp_key).
AIHUMMER_SAML_ENTITY_ID
SP-Entitäts-ID
text
—
nach Neustart
SP-Entitäts-ID (standardmäßig ⟨root⟩/saml/metadata, wenn leer).
AIHUMMER_SAML_IDP_METADATA
IdP-Metadaten XML
text
—
nach Neustart
Fügen Sie das SAML-Metadatendokument des IdP ein (Okta/Azure AD/ADFS).
AIHUMMER_SAML_ROLE_ATTRIBUTE
Rollen-/Gruppenattribut (Standardgruppen)
text
—
nach Neustart
Assertionsattribut, das Gruppen-/Rollenwerte trägt.
AIHUMMER_SAML_ROLE_MAPPINGS
SAML: Gruppe→Rollenzuordnungen (JSON)
text
—
nach Neustart
JSON Objekt des bestätigten Werts → Rolle, z. B. {“AdminGroup”:“admin”,“Ops”:“operator”}.
AIHUMMER_SAML_ROOT_URL
SP-Stamm URL
text
—
nach Neustart
Extern erreichbare Basis URL dieses Gateways, z.B. https://app.example.com. ACS = ⟨root⟩/saml/acs.
AIHUMMER_SAML_SP_CERT
SP-Zertifikat (PEM)
text
—
nach Neustart
Öffentliches SP-Signaturzertifikat (PEM). Der passende private Schlüssel geht in Secrets (Geltungsbereich saml, Name sp_key).
Schedules
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_SCHEDULE_AGENT_MAX_ACTIVE
Agent: Obergrenze aktiver Zeitpläne
int
20
sofort
Wie viele aktive Zeitpläne ein Agent haben darf, wenn er selbst einen Zeitplan anlegt oder einschaltet (mit seinen Zeitplan-Werkzeugen). Im Panel angelegte Zeitpläne zählen mit, das Panel wird aber nie abgewiesen. An der Grenze wird der Agent aufgefordert, zuerst einen anzuhalten oder zu löschen. Wirkt sofort.
AIHUMMER_SCHEDULE_AGENT_MAX_FIRES_PER_DAY
Agent: Zeitplan-Läufe pro Tag
int
288
sofort
Wie oft pro Tag (UTC) alle Zeitpläne eines Agenten zusammen laufen dürfen, einschließlich im Panel angelegter Zeitpläne und manueller Läufe. Läufe über der Grenze werden übersprungen und im Ausführungsprotokoll angezeigt. Wirkt sofort.
AIHUMMER_SCHEDULE_AGENT_MIN_INTERVAL_MINUTES
Agent: kürzester Zeitplan-Abstand, Minuten
int
5
sofort
Der kürzeste Abstand zwischen zwei Läufen eines wiederkehrenden Zeitplans, den ein Agent selbst anlegt oder ändert. Ein häufigerer Zeitplan wird abgelehnt. Im Panel angelegte Zeitpläne sind davon nicht betroffen. Wirkt sofort.
AIHUMMER_SCHEDULE_COMMANDS
Befehle auf dem Server in Zeitplänen
bool
0
sofort
Erlaubt einem Zeitplan, ein Programm auf diesem Server auszuführen — einen Sammler, einen Bericht, eine Sicherungsprüfung. Standardmäßig aus. Es laufen nur Befehle aus «Erlaubte Befehle», genau wie eingetragen; es gibt keine Shell. Die Ausgabe geht an den Agenten oder direkt in einen Chat, jeder Lauf steht im Ausführungsprotokoll des Zeitplans. Wirkt sofort.
AIHUMMER_SCHEDULE_COMMANDS_ALLOWLIST
Erlaubte Befehle
argvlist
—
sofort
Die genauen Befehle, die ein Zeitplan ausführen darf: das Programm (ein Name wie df oder ein vollständiger Pfad) und seine Argumente. Ein Zeitplan führt nur einen Befehl aus, der einem Eintrag genau entspricht, einschließlich der Argumente. Ein entfernter Befehl stoppt die Zeitpläne, die ihn nutzen, und ihre Läufe nennen den Grund. Wirkt sofort.
AIHUMMER_SCHEDULE_COMMANDS_MAX_OUTPUT_KB
Ausgabelimit für Zeitplanbefehle, KB
int 1…1024
64
sofort
Wie viel der Ausgabe eines Befehls (1–1024 KB) im Ausführungsprotokoll bleibt und an den Agenten oder Chat geht; der Rest wird abgeschnitten, und das Protokoll sagt es. Wirkt sofort.
AIHUMMER_SCHEDULE_COMMANDS_SANDBOX
Zeitplanbefehle in der Betriebssystem-Sandbox ausführen
bool
1
sofort
Ein: Ein Befehl läuft wie die Codeausführung in der Betriebssystem-Sandbox — die Geheimnisse der Installation und SSH-Schlüssel sind verborgen, geschrieben wird nur in den eigenen temporären Ordner. Ohne Sandbox (bubblewrap) auf dem Server läuft der Befehl nicht, und das Ausführungsprotokoll nennt den Grund. Aus: Er läuft mit den Rechten des Gateways. Wirkt sofort.
AIHUMMER_SCHEDULE_FAILURE_ADMIN
Fehlgeschlagene Aufgaben an den Administrator melden
bool
1
sofort
Wenn eine geplante Aufgabe fehlschlägt oder nicht starten kann, erscheint in der Benachrichtigungsglocke des Admin-Panels eine Meldung mit ihrem Namen, dem Grund und der Stelle, an der es sich beheben lässt, und dasselbe geht in die eigenen Kanal-Chats der Eigentümer (höchstens einmal alle 6 Stunden pro Aufgabe). Das kommt zur Nachricht an den Empfänger der Aufgabe hinzu. Aus: Der Administrator erfährt von Fehlern nur aus dem Ausführungsprotokoll. Wirkt sofort.
AIHUMMER_SCHEDULE_FAILURE_NOTIFY
Empfänger über fehlgeschlagene Aufgaben informieren
bool
1
sofort
Schlägt eine geplante Aufgabe fehl, erhält derselbe Empfänger eine kurze Nachricht (nach dem ersten Fehler, höchstens alle 6 Stunden). Aus: Fehler stehen nur im Ausführungsprotokoll. Eine Aufgabe kann dies in ihrem Formular für sich abschalten. Wirkt sofort.
Security
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_AIRGAPPED
Isolierter Modus (ohne Internet)
bool
0
sofort
Verhindert, dass Agenten ins Internet gehen: Websuche, Seitenabruf und Anfragen erreichen nur interne Adressen und solche auf den Freigabelisten. Einschalten für geschlossene Netze ohne Außenzugang.
AIHUMMER_AUDIT_RETENTION_DAYS
Wie viele Tage das Aktionsprotokoll aufbewahrt wird
int
0
nach Neustart
Einträge im Überwachungsprotokoll und im Änderungsverlauf der Einstellungen, die älter sind, werden einmal täglich gelöscht. 0 oder leer – für immer aufbewahren.
AIHUMMER_CORS_ORIGINS
Zulässige CORS-Ursprünge
list
—
nach Neustart
Komma-getrennte Liste der zulässigen Ursprünge. Leer = CORS nicht zulässig (nur gleicher Ursprung). Wird beim Start/nach dem Neustart angewendet.
AIHUMMER_CSP
Content-Security-Policy-Header (Überschreibung)
text
—
nach Neustart
Überschreibt den Header CSP. Leer = eine sichere Standardeinstellung. Wird beim Start/nach dem Neustart angewendet.
AIHUMMER_INBOUND_SECRET
Schlüssel der Kanal-Plugins zum Server
text
—
nach Neustart
Verbundene Kanäle (Telegram, VK und andere) belegen damit, dass Nachrichten wirklich von ihnen stammen. Wird bei der Installation automatisch gesetzt – keine Änderung nötig. Ist er leer, lehnt der Server alle Kanäle ab, bis ein Schlüssel gesetzt ist.
Ein gemeinsamer Schlüssel für Programme, die sich wie mit einem OpenAI-kompatiblen Dienst verbinden. Leer – der gemeinsame Schlüssel ist aus; Programme können persönliche Schlüssel von der Seite „API-Schlüssel“ verwenden.
AIHUMMER_OPENAI_COMPAT_WORKSPACE
OpenAI-kompatibler Eingang: Arbeitsbereichs-ID
text
—
nach Neustart
Arbeitsbereichs-ID, der die statische OpenAI-kompatible Authentifizierung zugeordnet ist. Leer = AIHUMMER_DEFAULT_WORKSPACE_ID. Wird beim Start/nach dem Neustart angewendet.
AIHUMMER_REQUIRE_2FA
2FA erforderlich für Operatoren
bool
0
sofort
Erfordert einen zweiten Faktor (TOTP/passkey) für Operatoren. Wenn diese Option aktiviert ist, werden Betreiber ohne 2FA aufgefordert, diese sofort beim Anmelden einzurichten (ohne Blockierung, sodass der Eigentümer niemals ausgesperrt wird). Sofort angewendet.
AIHUMMER_REQUIRE_SECURE
Nur sichere (HTTPS/WSS) Verbindungen akzeptieren
bool
0
nach Neustart
Wenn diese Option aktiviert ist, werden einfache HTTP-Anfragen an HTTPS (für GET/HEAD) umgeleitet oder abgelehnt (403); Der Zugriff auf den lokalen Host ist immer gestattet, sodass der Betreiber nie ausgegrenzt wird. Berücksichtigt X-Forwarded-Proto von einem TLS-terminierenden Reverse-Proxy. Wird beim Start/nach dem Neustart angewendet.
AIHUMMER_TRUSTED_PROXIES
Vertrauenswürdige Proxys
list
—
sofort
Steht ein Proxy (nginx, Caddy, Load Balancer) vor dem Server, tragen Sie seine Adresse oder sein Netz kommagetrennt ein, z. B. 10.0.0.0/8. Dann sehen Aktionsprotokoll, IP-Freigabeliste und Schutz vor Passwortraten die echte Adresse des Besuchers. Leer – es zählt nur die Adresse der direkten Verbindung, und sie lässt sich nicht fälschen.
Tools
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_BROWSER_ALLOWED_HOSTNAMES
Browser: Ausnahmen für private Hosts
list
—
sofort
Exakte Hostnamen, durch Kommas getrennt, ohne Platzhalter, URLs oder Ports. Zusätzliche private Ausnahmen für natives CDP auf eigenen Servern, getrennt von web_fetch.
AIHUMMER_BROWSER_ALLOW_PRIVATE_NETWORK
Browser: privates Netzwerk erlauben
bool
—
sofort
Leer behält die bisherige Regel; true oder false aktiviert geprüftes natives CDP. Privatzugriff nur auf eigenen Servern. Loopback, Link-Local und Metadaten bleiben gesperrt.
AIHUMMER_BROWSER_PROFILE_SOCKET
Steuerungssocket für Browserprofile
text
—
sofort
Optional. Leer lassen – das Gateway findet managed-profiles.sock des Browserdienstes selbst am Standardinstallationsort. Profile mit Website-Anmeldungen legen Sie unter Verbindungen → Browserprofile an. Keine URL und kein Pfad zu einem Quellprofil.
AIHUMMER_CODE_EXEC
Codeausführung durch den Agenten
enum: off \\| host \\| sandbox
off
sofort
Das Werkzeug des Agenten zur Codeausführung (code_exec). Standard ist «Aus». «Auf diesem Server»: Befehle laufen auf dem Server des Gateways; die Betriebssystem-Sandbox (bubblewrap) verbirgt die Geheimnisse der Installation, aber ein Agent im Modus «Keine Einschränkungen» sieht SSH-Schlüssel und kann außerhalb seines Ordners schreiben — nur für einen vertrauenswürdigen Server. «Nur in einer Sandbox»: immer in der Betriebssystem-Sandbox — Geheimnisse und Schlüssel sind verborgen, geschrieben wird nur in den Ordner des Agenten; ohne bubblewrap (oder ein Container-Abbild) lässt sich dieser Modus nicht speichern. Was jeder Agent ausführen darf, wird beim Agenten festgelegt: Agenten → Profil → Werkzeuge.
AIHUMMER_CODE_EXEC_INTERPRETERS
Code-exec-Interpreter (JSON)
text
—
sofort
JSON Objekt {language: path_to_binary}, z. B. {“python”:“/usr/bin/python3”}. Leer = automatische Erkennung.
AIHUMMER_CODE_EXEC_NET_PORTS
Für Agentencode offene Netzwerkports
list
53,80,443
sofort
TCP-Ports, zu denen Agentencode in der Betriebssystem-Sandbox (Codeausführung und Zeitplanbefehle) Verbindungen aufbauen darf, durch Kommas getrennt. Standardmäßig 53, 80 und 443: DNS und Websites. Andere Dienste dieses Servers und seines lokalen Netzes (Datenbank, Admin-Panel, Browser, adb, lokale Modelle, Home Assistant) bleiben für Agentencode geschlossen. Ein aufgeführter Port ist an jeder Adresse offen, auch an diesem Server; fügen Sie also nur hinzu, was der Code braucht, etwa 22 für SSH. Schreiben Sie any, um die Beschränkung aufzuheben. Agenten im Modus «Keine Einschränkungen» sind nicht beschränkt. Erfordert Linux 6.7 oder neuer; ohne das gilt die Beschränkung nicht, und Agenten → Werkzeuge weist darauf hin. Gilt sofort.
AIHUMMER_CODE_EXEC_READ_DIRS
Für Agentencode lesbare Ordner
list
—
sofort
Ordner auf diesem Server, die Agentencode lesen darf: Codeausführung und Zeitplanbefehle in der Betriebssystem-Sandbox. Durch Kommas getrennt oder einer pro Zeile, zum Beispiel ~/reports. Sie können auch eine einzelne Datei angeben, zum Beispiel ~/scripts/report.py. Was hier geöffnet wird, sieht der Code aller Agenten; öffnen Sie also nur, was der Code braucht. Standardmäßig leer: In der Sandbox sieht Code nur den Ordner seines Agenten und die Systemordner; das Home-Verzeichnis des Gateway-Benutzers, die Daten der Installation, Ordner anderer Agenten, Schlüssel und Befehlsverlauf bleiben verborgen. Das Wurzelverzeichnis, das ganze Home-Verzeichnis, die Daten der Installation und Orte mit Schlüsseln können nicht geöffnet werden. Code kann in diese Ordner nicht schreiben. Gilt sofort.
AIHUMMER_CODE_EXEC_SANDBOX_IMAGE
Code-exec-Sandbox-Image
text
—
sofort
Optional, nur für «Nur in einer Sandbox»: ein Docker-Container-Abbild statt der Betriebssystem-Sandbox (kein Netzwerk, schreibgeschütztes Root, Limits); benötigt Docker auf dem Server. Leer = die Betriebssystem-Sandbox (bubblewrap).
AIHUMMER_CODE_EXEC_TIMEOUT_SECONDS
Zeitlimit für Codeausführung (Sekunden)
int
1800
sofort
Wie lange ein Agentenbefehl laufen darf, Hintergrundbefehle eingeschlossen: 10 Sekunden bis 24 Stunden. Ein Befehl, der nach 30 Sekunden nicht geantwortet hat, wird nicht abgebrochen, sondern läuft im Hintergrund weiter; der Agent prüft ihn mit dem Werkzeug process. Der Agent kann ein kürzeres Limit verlangen, nie ein längeres.
AIHUMMER_DB_QUERY_DSN
Datenbankverbindung für das Werkzeug „Datenbankabfrage“
text
—
sofort
Verbindungszeichenfolge zu einer Datenbank, die der Agent lesen darf (nur lesen), z. B. postgres://reader:passwort@host/db. Verwenden Sie einen Benutzer mit minimalen Rechten – nicht den Eigentümer der Datenbank. Leer – das Werkzeug ist aus.
AIHUMMER_FS_ROOT
Dateisystem-Tool-Stamm
text
—
sofort
Der Ordner, in dem der Agent Serverdateien liest (filesystem_read; Agenten können keine Dateien schreiben). Leer = der ganze Server mit den Rechten des Gateway-Benutzers, außer seinen Geheimnissen: Installationseinstellungen (gateway.env), SSH/GPG-Schlüssel und Prozessumgebungen. Geben Sie einen Ordner an, um den Zugriff einzuschränken.
AIHUMMER_HTTP_ALLOWLIST
Adressen für HTTP-Anfragen des Agenten
list
—
sofort
Kommagetrennte Liste der Hosts, die das Werkzeug http_request erreichen darf. Leer = alle sind erlaubt, außer internen und privaten Adressen.
AIHUMMER_HTTP_AUTH_JSON
http_request-Authentifizierung (JSON)
text
—
sofort
JSON-Zuordnung von Host zu Autorisierungs-Headern für das Werkzeug http_request, damit Token nicht im Prompt gespeichert werden. Leer = ohne Autorisierung.
AIHUMMER_MCP_SERVERS
MCP Server (JSON)
text
—
sofort
JSON-Beschreibung der externen MCP-Server, deren Werkzeuge dem Agenten hinzugefügt werden. Leer = keine externen MCP.
AIHUMMER_PROJECT_STUDIOS_PUBLIC_NETWORK
Projektstudios: öffentliches Netzwerk
bool
false
sofort
Öffentliches HTTP(S) für gewählte Anbieter und ausdrücklich gestartete Modelldownloads erlauben. Private, lokale und Metadatenadressen bleiben gesperrt. Der Offlinebetrieb hat Vorrang. Wirkt sofort.
AIHUMMER_SIDECAR_CLOAKBROWSER
Browser für den Agenten (CloakBrowser)
bool
0
sofort
Anti-Erkennungs-Browser (CloakBrowser-, browser/computer-Tools). Was NICHT im Lieferumfang enthalten ist: Die Inclusion lädt das signierte Add-on herunter (~477 MiB, davon Chromium ~207 MiB) und installiert den Dienst auf dem Host. Der schwerste Sidecar – nur aktivieren, wenn der Agent Websites öffnen muss.
AIHUMMER_SIDECAR_SEARXNG
Websuche (SearXNG)
bool
0
sofort
Websuche (SearXNG-, web_search-Tool). NICHT im Paket enthalten: Durch Aktivieren wird das signierte Add-on heruntergeladen (~154 MiB) und der Dienst auf dem Host installiert. Durch Deaktivieren wird er gestoppt und Speicherplatz freigegeben. Die Installation erfolgt im Hintergrund und dauert einige Minuten; Der Status hier zeigt, was sich tatsächlich auf dem Server befindet.
AIHUMMER_WEBFETCH_ALLOWLIST
Websites, die der Agent öffnen darf
list
—
sofort
Kommagetrennte Liste der Domains, die das Werkzeug web_fetch erreichen darf. Leer = alle sind erlaubt, außer internen und privaten Adressen.
AIHUMMER_WEB_SEARCH_LANGUAGE
Websuche: Standardsprache der Ergebnisse
text
auto
sofort
Sprache der Ergebnisse, wenn der Agent keine angibt: ein Code wie ru, en oder de, oder auto, um sie aus der Anfrage zu erkennen (passt fast immer). Der Agent kann für eine einzelne Suche eine andere Sprache wählen.
AIHUMMER_WEB_SEARCH_RESULTS
Websuche: Ergebnisse pro Suche
int
5
sofort
Wie viele Ergebnisse eine Suche liefert, wenn der Agent keine Anzahl verlangt: 1 bis 10. Mehr Ergebnisse ergeben eine vollständigere Antwort, aber einen längeren Kontext.
AIHUMMER_WEB_SEARCH_SOURCE
Quelle der Websuche
enum: auto \\| searxng \\| provider
auto
sofort
Wo der Agent im Internet sucht (Werkzeug web_search). auto — SearXNG, wenn installiert, sonst die integrierte Suche des Modellanbieters. searxng — nur SearXNG: ohne es gibt es keine Suche. provider — die integrierte Suche des Anbieters, wo vorhanden, und SearXNG für andere Modelle. Integrierte Suche gibt es bei Codex (ChatGPT-Abo) und OpenAI (api.openai.com); GigaChat, YandexGPT und andere OpenAI-kompatible Modelle haben keine – ohne SearXNG suchen Agenten auf diesen Modellen nicht. Claude (api.anthropic.com und das Claude-Abo) nutzt die integrierte Suche von Anthropic; lehnt das Konto sie ab, schreibt das Gateway das ins Protokoll und bietet dem Agenten danach nur SearXNG an. Welche Agenten suchen dürfen, wird wie bisher in der Agentenkarte festgelegt. Gilt ab dem nächsten Zug.
AIHUMMER_WEB_SEARCH_TIMEOUT_SECONDS
Zeitlimit der Websuche (Sekunden)
int
30
sofort
1–600 Sekunden je Suche. Eine kürzere Aufgabenfrist gilt weiterhin.
Updates
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_RESTART_APPLY
Einstellungen anwenden, die einen Neustart brauchen
enum: quiet \\| manual
quiet
sofort
quiet (Standard) — gespeicherte Einstellungen, die erst mit einem neuen Start des Gateways wirken, werden von selbst angewendet: Das Gateway startet im nächsten ruhigen Moment neu, wenn die Agenten nichts tun und die Menschen mindestens das Stillefenster lang schweigen. manual — nur die Markierung „wartet auf Neustart“ und die Schaltfläche. Ein Neustart dauert wenige Sekunden; Gespräche und Aufgaben gehen nicht verloren. Wirkt sofort.
AIHUMMER_RESTART_QUIET_MINUTES
Ruhiger Moment: Minuten Stille vor einem automatischen Neustart
int 0…1440
10
sofort
Wie viele Minuten Menschen schweigen (und Agenten untätig sein) müssen, bevor das Gateway sich selbst neu startet, um gespeicherte Einstellungen anzuwenden. 0 — sobald die Agenten ihre laufende Arbeit beendet haben. 0–1440. Wirkt sofort.
Web UI (separate port)
Schlüssel
Name
Typ
Standard
Wirksam ab
Wirkung
AIHUMMER_WEBUI_API_BASE
Serveradresse für eine separat gehostete Verwaltung
text
—
nach Neustart
Nur nötig, wenn die Verwaltung von einer anderen Adresse als der Server selbst geöffnet wird. Geben Sie die Adresse an, unter der der Browser den Server erreicht, z. B. https://api.example.com. Leer – die öffentliche Serveradresse wird verwendet, sonst die lokale.
AIHUMMER_WEBUI_ENABLED
Verwaltung auf eigenem Port
bool
1
nach Neustart
Ein – die Verwaltung öffnet sich auf einem eigenen internen Port, den Sie vom Internet abschotten können; der öffentliche Port bedient nur Apps und Kanäle. Ausschalten, um die Verwaltung ganz unerreichbar zu machen.
AIHUMMER_WEBUI_ORIGIN
Adresse, unter der die Verwaltung geöffnet wird
text
—
nach Neustart
Ausfüllen, wenn die Verwaltung über einen Proxy oder einen Namen geöffnet wird, der von der Portadresse abweicht, z. B. https://admin.example.com. Der Server erlaubt dann einem Browser von dieser Adresse den Zugriff. Leer – die Adresse des Verwaltungsports wird verwendet.
Für den Betreiber verfügbare Einstellungen: 237.
Hier sind alle Einstellungen aufgeführt, die der Betreiber auf einem AiHummer-Server ändern kann. Die Seite wird aus dem Katalog des Produkts selbst erzeugt und stimmt deshalb mit Ihrem Server überein.
Der Wert wird in der Weboberfläche oder mit dem Befehl `aihummer settings set KEY VALUE` gesetzt ([Befehlszeile](/de/v1.4/reference/cli/)). Die Spalte mit dem Standardwert zeigt, was der Server verwendet, solange kein eigener Wert gesetzt ist.
> [!NOTE]
> Geheime Werte werden hier nie gedruckt, und Dienstschlüssel des Herstellers werden überhaupt nicht aufgeführt — das Produkt blendet sie aus allen Listen aus. Ein Gedankenstrich bedeutet einen leeren Wert oder eine Erläuterung, die nur in der Weboberfläche erscheint.
## API
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_PERSONAL_API_KEYS` | Persönliche API-Schlüssel für OpenAI-Kompatibilität | `bool` | `1` | nach Neustart | "off" deaktiviert die Authentifizierung mit persönlichem Schlüssel auf dem OpenAI-kompatiblen Endpunkt = aktiviert beim Start/nach dem Neustart. |
## Agent
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AGENT_ANNOUNCE_SLOW_TOOLS` | Agent: vor langen Aktionen sagen, was er tut | `bool` | `1` | sofort | Vor einer langen Aktion (ein Bild, eine tiefe Recherche, ein Video, ein Auftrag an einen Subagenten) schreibt der Agent kurz, was er tut, damit das Warten nicht stumm ist. Ausschalten, wenn solche Nachrichten stören. |
| `AIHUMMER_AGENT_COMPACT_AT_PCT` | Agent: Verlauf komprimieren ab, % seines Budgets | `int 50…99` | `85` | sofort | Füllt der Verlauf einer Unterhaltung diesen Anteil seines Platzes im Modellfenster, werden ältere Nachrichten zu einer Zusammenfassung verdichtet – im Hintergrund, nach der Antwort; die Runde wartet nicht. Niedriger – häufiger komprimieren, aber das Modell behält weniger wörtlich; höher – seltener, aber die Runden werden schwerer. 50–99; ein Agent kann den Wert überschreiben. |
| `AIHUMMER_AGENT_COMPACT_TO_PCT` | Agent: nach Komprimierung behalten, % des Verlaufsbudgets | `int 10…90` | `50` | sofort | Wie viel vom Platz des Verlaufs nach der Komprimierung wörtlich bleibt; alles Ältere geht in die Zusammenfassung. Muss unter der Komprimierungsschwelle liegen: Der Abstand bestimmt, wie viele Runden bis zur nächsten Komprimierung vergehen. 10–90; ein Agent kann den Wert überschreiben. |
| `AIHUMMER_AGENT_HISTORY_TURNS` | Agent: wörtlich behaltene Dialogrunden | `int 1…1000` | `30` | sofort | Wie viele letzte Runden einer Unterhaltung das Modell wörtlich sieht (bis zu 10 mehr, bis die Komprimierung fällig ist). Ältere Nachrichten werden im Hintergrund zusammengefasst; die Unterhaltung selbst wird nie gelöscht. Das Kontextfenster des Modells wird automatisch berücksichtigt. 1–1000; ein Agent kann den Wert überschreiben. |
| `AIHUMMER_AGENT_MAX_ITERATIONS` | Agent: max. Werkzeugschritte pro Runde | `int 1…256` | `25` | sofort | Wie oft ein Agent pro Runde Werkzeuge aufrufen darf, bevor er antwortet. Am Limit schlägt die Runde nicht fehl: Der Agent berichtet, was erledigt ist und was fehlt, und Sie können ihn bitten fortzufahren. Drei identische Aufrufe in Folge mit demselben Ergebnis beenden die Runde früher. 1–256; ein Agent kann den Wert überschreiben. |
| `AIHUMMER_AGENT_MEMORY_FLUSH` | Agent: Gedächtnisnotiz vor der Komprimierung speichern | `bool` | `1` | sofort | Bevor ältere Nachrichten zu einer Zusammenfassung verdichtet werden, speichert der Agent eine kurze Notiz zu Zielen, Entscheidungen und offenen Aufgaben im Gedächtnis. Ausschalten, um den Modellaufruf zu sparen. |
| `AIHUMMER_AGENT_MEMORY_FLUSH_PROMPT` | Agent: was die Notiz vor dem Verdichten festhält | `text` | — | sofort | Ihre eigene Aufgabe für die Notiz vor dem Verdichten: was aus den Nachrichten, die in die Zusammenfassung gehen, festgehalten wird (z. B. „nur Einkäufe, Fristen und Absprachen notieren“). Leer — eingebaut: Ziele, Entscheidungen, offene Aufgaben. Der Schutz lässt sich nicht abschalten: Der Gesprächstext bleibt Daten, keine Anweisungen, und Passwörter und Schlüssel werden nie gespeichert. Bis zu 4000 Zeichen; ein Agent kann eine eigene haben. |
| `AIHUMMER_AGENT_NEW_REMINDERS_MEMORY` | Neue Agenten: Erinnerungen und Speichern im Gedächtnis | `bool` | `1` | sofort | Ein von Hand erstellter neuer Agent (Einrichtungsassistent, „Agent erstellen“, API) legt ab dem ersten Zug seine EIGENEN Erinnerungen und Zeitpläne an, ändert und löscht sie und speichert Fakten in seinem eigenen Gedächtnis – wie die Vorlage des persönlichen Assistenten. Für einen einzelnen Agenten wird das in seiner Karte (Fähigkeiten) ausgeschaltet. Bibliotheksvorlagen legen es selbst fest, eine Kopie behält die Rechte des Originals, von einem anderen Agenten erstellte Agenten beginnen ohne sie; bestehende Agenten ändern sich nicht. Gilt für den nächsten erstellten Agenten. |
| `AIHUMMER_AGENT_PROMPT_PART_MAX_CHARS` | Agent: max. Zeichen pro Prompt-Teil | `int 1000…1000000` | `20000` | sofort | Wie viele Zeichen das Modell von EINEM Teil der Agenten-Persona erhält: einem Profilabschnitt, einem Prompt-Teil oder dem Hauptprompt. Bei einem längeren Teil bleiben Anfang (3/4) und Ende (1/4) mit einem Hinweis erhalten, wie viel gekürzt wurde; das ist in der Gesprächskarte und in der Prompt-Zusammensetzung des Agenten sichtbar. Name, Anrede und Persona-Einschränkungen werden nie gekürzt. 1000–1000000; ein Agent kann den Wert überschreiben. |
| `AIHUMMER_AGENT_PROMPT_TOTAL_MAX_CHARS` | Agent: max. Zeichen der gesamten Persona | `int 1000…2000000` | `60000` | sofort | Gesamtobergrenze der Agenten-Persona: alle Teile zusammen. Wird sie überschritten, geben zuerst die längsten Teile Platz ab, kurze bleiben vollständig. 1000–2000000; ein Agent kann den Wert überschreiben. |
| `AIHUMMER_AGENT_SELF_INTRO` | Agent: sich vorstellen | `enum: first_contact \\\| each_dialog \\\| never` | `first_contact` | sofort | „Einmal, beim ersten Kennenlernen“: Der Agent stellt sich im allerersten Gespräch mit einer Person kurz vor, außer sie möchte gleich zur Sache kommen; Bekannten stellt er sich nicht erneut vor und erwidert einen Gruß ganz natürlich. „Sich nie vorstellen“: Der Agent nennt sich nie von sich aus. „Zu Beginn jedes neuen Gesprächs“ — zu Beginn jedes neuen Gesprächs und nach einer langen Pause, kurz und ohne Zusammenfassung früherer Themen. Ein Agent kann auf seiner Karte («Kontext und Verhalten») anders wählen. |
| `AIHUMMER_AGENT_SESSION_IDLE_RESET_MINUTES` | Agent: Gespräch nach Stille neu beginnen (Minuten) | `int 0…525600` | `360` | sofort | Für „nach Stille“ und „jeden Tag und nach Stille“: Schreibt die Person nach einer längeren Stille als dieser, beginnt der Agent das Gespräch neu. Gilt für Agenten ohne eigenen Wert auf ihrer Karte. 0 – nicht nach Stille. 0–525600; 360 = 6 Stunden, 1440 = ein Tag. |
| `AIHUMMER_AGENT_SESSION_INDEX_MAX_ENTRIES` | Agent: Höchstens so viele Sitzungen in der Liste behalten | `int 0…100000` | `0` | sofort | Die ruhigsten verlassen die Liste zuerst; nichts wird gelöscht. 0 – ohne Grenze. 0–100000. Gilt für Agenten ohne eigene Einstellung auf ihrer Karte. |
| `AIHUMMER_AGENT_SESSION_INDEX_PRUNE_DAYS` | Agent: Nach so vielen Tagen Stille aus der Sitzungsliste entfernen | `int 0…3650` | `0` | sofort | Nichts wird gelöscht: Das Gespräch verlässt die Liste und kehrt mit einer neuen Nachricht zurück. 0 – behalten. 0–3650. Gilt für Agenten ohne eigene Einstellung auf ihrer Karte. |
| `AIHUMMER_AGENT_SESSION_RESET_AT_HOUR` | Agent: Stunde des täglichen Neubeginns | `int 0…23` | `4` | sofort | Für die Modi „täglich“: Ein Gespräch, das vor dieser Stunde begonnen hat, beginnt mit der nächsten Nachricht der Person neu. Die Stunde richtet sich nach der Zeitzone des Servers (Einstellung „Zeitzone“ unter System & Einstellungen). 0–23; 4 ist nachts, wenn kaum jemand schreibt. |
| `AIHUMMER_AGENT_SESSION_RESET_GROUP_IDLE_MINUTES` | Agent: Gruppenchat nach Stille neu beginnen (Minuten) | `int 0…525600` | `0` | sofort | Für Gruppenchats in den Modi „nach Stille“ und „jeden Tag und nach Stille“: die Minuten Stille, nach denen ein Gruppenchat neu beginnt. 0 bedeutet wie bei persönlichen Chats. 0–525600. |
| `AIHUMMER_AGENT_SESSION_RESET_GROUP_MODE` | Agent: wann ein Gruppenchat neu beginnt | `enum: inherit \\\| daily \\\| idle \\\| both \\\| none` | `inherit` | sofort | Eine eigene Regel für Gruppenchats (Telegram-Gruppen, VK-Unterhaltungen, MAX-Chats und andere): wie bei persönlichen Chats, jeden Tag zur Rücksetzstunde, nach Stille, was zuerst eintritt, oder nie. Die Rücksetzstunde ist gemeinsam. Gilt für Agenten ohne eigene Regel auf ihrer Karte. |
| `AIHUMMER_AGENT_SESSION_RESET_MODE` | Agent: wann ein Gespräch neu beginnt | `enum: idle \\\| daily \\\| both \\\| none` | `idle` | sofort | Wann der Agent ein Gespräch neu beginnt: jeden Tag zur Rücksetzstunde (in der Zeitzone der Instanz), nach einer Stille, was zuerst eintritt, oder nie. Beim Neubeginn schreibt der Agent eine Notiz über das bisherige Gespräch in sein Gedächtnis, und seine erste Runde erhält die bisherige Zusammenfassung und die letzten Nachrichten; die Nachrichten bleiben im Archiv und in der Suche. Gilt für Agenten ohne eigene Regel auf ihrer Karte; dort lässt sich für Gruppenchats eine eigene festlegen. |
| `AIHUMMER_AGENT_SESSION_SCOPE` | Agent: Wohin persönliche Gespräche gehen | `enum: chat \\\| per-channel-peer \\\| per-peer` | `chat` | sofort | «Eines pro Person» führt Telegram, die App und andere persönliche Chats derselben Person zu einem Gespräch zusammen. Gruppenchats behalten immer ihr eigenes. Gilt ab der nächsten Nachricht. Gilt für Agenten ohne eigene Einstellung auf ihrer Karte. |
| `AIHUMMER_AGENT_SILENT_REPLY` | Agent: darf schweigen | `enum: groups \\\| all \\\| off` | `groups` | sofort | In Gruppenchats darf der Agent schweigen, wenn eine Nachricht nicht an ihn gerichtet ist oder er nichts beizutragen hat; in privaten Chats antwortet er immer. Sie können Schweigen auch in privaten Chats erlauben oder es ausschalten. Ein stiller Durchlauf sendet nichts, die Gesprächskarte markiert ihn als „Der Agent hat geschwiegen“, und das Modell sieht ihn nicht im Verlauf. Wirkt ab dem nächsten Durchlauf. |
| `AIHUMMER_AGENT_SKILLS_PROMPT_MAX_CHARS` | Agent: max. Zeichen der Fähigkeitenliste im Prompt | `int 1000…200000` | `18000` | sofort | In jeder Runde sieht das Modell nicht die Texte der Fähigkeiten, sondern ihre Liste: Kennung, Name und wann sie anzuwenden ist; die Anleitung einer Fähigkeit lädt der Agent selbst, wenn die Aufgabe passt. Ist die Liste länger, entfallen zuerst die Beschreibungen, dann das Ende der Liste — den Rest findet der Agent auf Anfrage. 1000–200000. |
| `AIHUMMER_AGENT_STALE_GAP_HOURS` | Agent: Pause, nach der frühere Gespräche Geschichte sind (Stunden) | `int 0…8760` | `12` | sofort | Schreibt jemand nach einer längeren Pause, erhält der Agent einen Hinweis: Alles zuvor Besprochene ist Geschichte — es wird nicht nacherzählt und alte Aufgaben werden nicht ohne Bitte fortgesetzt. Jede Nachricht trägt ohnehin ihre Zeit und den Abstand zur vorherigen. 0 = kein Hinweis. 0–8760. |
| `AIHUMMER_AGENT_TOOL_HISTORY_TURNS` | Agent: Runden mit gespeicherten Werkzeugergebnissen | `int 0…100` | `5` | sofort | In wie vielen letzten Runden das Modell Werkzeugaufrufe und ihre Ergebnisse vollständig sieht (ein Ergebnis wird bis 16 KB gespeichert). Ältere Runden behalten den Aufruf und den Anfang des Ergebnisses. So weiß der Agent, was er gefunden und getan hat, statt Werkzeuge erneut aufzurufen. 0 = Ergebnisse nicht in spätere Runden übernehmen. 0–100; ein Agent kann den Wert überschreiben. |
| `AIHUMMER_APPROVAL_TOOLS` | Tools, die eine Genehmigung erfordern | `multiselect` | — | sofort | Kommagetrennte Liste der Werkzeuge, deren Aufrufe vor der Ausführung eine manuelle Bestätigung durch den Betreiber erfordern. Leer = keine Bestätigung erforderlich. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_SUBAGENT_MAX_DEPTH` | Maximale Tiefe des Subagenten | `int 0…10` | `2` | sofort | Maximale Verschachtelungstiefe von Subagenten (ein Agent, der einen Agenten startet). Standard 2 — Schutz vor endloser Rekursion. |
| `AIHUMMER_SUBAGENT_TIMEOUT_SEC` | Timeout des Subagenten (Sekunden) | `int 0…86400` | `180` | sofort | Maximale Zeit für die Ausführung eines einzelnen Subagenten in Sekunden. |
| `AIHUMMER_TOOL_SEARCH` | Verzögertes Laden von Werkzeugen | `bool` | `false` | sofort | Zeigt den Arbeitskern der Werkzeuge direkt an und verbirgt den Rest eines großen Katalogs hinter einem Suchwerkzeug, das jedes verborgene Werkzeug nennt. Lohnt sich nur bei großen Katalogen (Dutzende Plugin-, MCP- oder OpenAPI-Werkzeuge): unterhalb der Größenschwelle werden alle Werkzeuge direkt gezeigt, weil ein zusätzlicher Modellaufruf zur Suche mehr kostet als die Schemata. Wirkt ab dem nächsten Zug. |
| `AIHUMMER_TOOL_SEARCH_CORE` | Verzögertes Laden von Werkzeugen: Immer verfügbare Werkzeuge | `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` | sofort | Werkzeuge, die im verzögerten Modus immer direkt sichtbar sind. Standard ist der Arbeitskern: Websuche, Seitenabruf, Gedächtnis, Gesprächsverlauf, Wissensbasis, Code, Dateien, Nachrichten, Zeitpläne und App-Kopplung. Die Suche in Gedächtnis und Wissensbasis (memory_search, memory_get, search_knowledge) ist immer sichtbar, egal was in dieser Liste steht. Eine leere Liste stellt diesen Kern wieder her. |
| `AIHUMMER_TOOL_SEARCH_MIN_POOL_TOKENS` | Verzögertes Laden von Werkzeugen: Mindestgröße verborgener Werkzeuge (Token) | `int 0…1000000` | `4000` | sofort | Werkzeuge nur verbergen, wenn die Schemata außerhalb des Kerns zusammen mindestens so viele Token umfassen (etwa 4 Zeichen je Token). Darunter werden alle Werkzeuge direkt gezeigt: ein zusätzlicher Modellaufruf zur Werkzeugsuche kostet mehr als die Schemata. |
| `AIHUMMER_TOOL_SEARCH_THRESHOLD` | Verzögertes Laden von Werkzeugen: Min. aufzuschiebende Werkzeuge | `int 0…1000` | `12` | sofort | Nur verschieben, wenn mehr als diese viele Tools den Profilfilter des Agenten überleben. |
## Agent · Reasoning
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AGENT_BEST_OF_N` | Bester von N: Anzahl der Kandidaten | `int 0…8` | `0` | sofort | Der Agent erstellt so viele Antwortkandidaten und behält den besten. 0 oder 1 – aus, ab 2 – an. Jeder Kandidat kostet so viel wie eine eigene Antwort. |
| `AIHUMMER_AGENT_DEBATE_JUDGE_PROMPT` | Debatte: Richteraufforderung (Überschreibung) | `text` | — | sofort | Überschreibt die Eingabeaufforderung des Debattierrichters (leer = integriert). |
| `AIHUMMER_AGENT_DEBATE_N` | Debatte: Anzahl der Antwortkandidaten | `int 0…8` | `0` | sofort | Der Agent erstellt so viele Antwortkandidaten, vergleicht sie und liefert den besten. 0 oder 1 – aus, ab 2 – an. Jeder Kandidat kostet so viel wie eine eigene Antwort. |
| `AIHUMMER_AGENT_DEBATE_PROMPT` | Debatte: Kandidatenaufforderung (Überschreibung) | `text` | — | sofort | Überschreibt die Eingabeaufforderung für den Debattenkandidaten (leer = integriert). |
| `AIHUMMER_AGENT_DEBATE_ROUNDS` | Debatte: Runden | `int 1…10` | `1` | sofort | Anzahl der Debattenrunden für das Kandidatengremium. |
| `AIHUMMER_AGENT_JUDGE_PROMPT` | Best-of-N-Jury-Eingabeaufforderung (Override) | `text` | — | sofort | Überschreibt die Best-of-N-Richteraufforderung (leer = integriert). |
| `AIHUMMER_AGENT_PLAN_PROMPT` | Planner-Eingabeaufforderung (Override) | `text` | — | sofort | Überschreibt die Planer-Eingabeaufforderung (leer = integriert). |
| `AIHUMMER_AGENT_PLAN_STEPS` | Planner-Executor: maximale Planschritte (0=aus) | `int 0…32` | `0` | sofort | ⟩0 führt einen separaten Planer→Ausführer→Synthesedurchlauf aus (gut für komplexe mehrstufige Aufgaben). 0 deaktiviert. Typischerweise 4–8. |
| `AIHUMMER_AGENT_PLAN_STEP_ITERS` | Planer: Tool-Iterationen pro Schritt (0=Standard) | `int 0…64` | `0` | sofort | Begrenzt Tool-Aufruf-Iterationen pro Planschritt. 0 = integrierte Standardeinstellung (4). |
| `AIHUMMER_AGENT_REFLECT` | Selbstkritik bestanden | `bool` | `0` | sofort | Fügt einen Reflexions-/Selbstkritikdurchlauf vor der endgültigen Antwort hinzu. |
| `AIHUMMER_AGENT_REFLECT_PROMPT` | Reflection-Eingabeaufforderung (Override) | `text` | — | sofort | Überschreibt die Selbstkritikaufforderung (leer = integriert). |
| `AIHUMMER_AGENT_SELF_HEAL` | Selbstreparatur-Werkzeugfehler wiederholt (0=off) | `int 0…10` | `0` | sofort | ⟩0 wiederholt fehlgeschlagene Toolaufrufe mit einem Korrekturhinweis, bis zu dieser Grenze. |
## Agent · System prompt
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_LOCALE` | Standardgebietsschema | `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` | sofort | Standardhinweis für Antwortsprache/Gebietsschema, z. B. ru-RU. Persona-/Operator-Anweisungen haben Vorrang. |
| `AIHUMMER_TIMEZONE` | Zeitzone | `text` | `UTC` | sofort | IANA-Zeitzone für das aktuelle Datum des Agenten und für Zeitpläne ohne eigene Zeitzone, z. B. Europe/Moscow. Standard UTC. |
## Channels
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_CHANNEL_FAILURE_NOTICE` | Gesprächspartner über fehlgeschlagene Antworten informieren | `enum: always \\\| once \\\| off` | `always` | sofort | Was eine Person im Kanal (Telegram und andere) erhält, wenn der Agent nicht antworten konnte: „Jedes Mal“ – eine kurze Nachricht in ihrer Sprache; „Höchstens alle 4 Stunden einmal“ – eine Nachricht pro Gespräch innerhalb von 4 Stunden; „Nicht mitteilen“ – nichts. Die Nachricht enthält keine Fehlercodes oder Anbieternamen; Details sehen Sie unter „Sitzungen“ und in Benachrichtigungen. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_BLOCKED` | Fehlermeldung: die Instanz ist gesperrt | `text` | — | sofort | Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_BUDGET` | Fehlermeldung: das Budget des Inhabers ist erschöpft | `text` | — | sofort | Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_BUSY` | Fehlermeldung: das Gateway ist überlastet | `text` | — | sofort | Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_CONFIG` | Fehlermeldung: die Modellverbindung braucht den Inhaber | `text` | — | sofort | Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_FAILED` | Fehlermeldung: sonstiger Fehler | `text` | — | sofort | Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_QUOTA` | Fehlermeldung: das Nutzungslimit des Modells ist erschöpft | `text` | — | sofort | Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_STEP_LIMIT` | Fehlermeldung: die Aufgabe passte nicht in eine Antwort | `text` | — | sofort | Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_TOO_LONG` | Fehlermeldung: das Gespräch ist zu lang für das Modell | `text` | — | sofort | Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort. |
| `AIHUMMER_CHANNEL_FAILURE_TEXT_UNAVAILABLE` | Fehlermeldung: das Modell ist vorübergehend nicht erreichbar | `text` | — | sofort | Leer lassen, um die eingebaute Meldung in der Sprache der Person zu senden. Ihr Text wird so gesendet, wie er geschrieben ist, in der Sprache, in der Sie ihn schreiben; {ref} fügt den Code der Antwort ein, mit dem Sie den Durchlauf unter Sitzungen finden. Wirkt sofort. |
| `AIHUMMER_CONFIDENTIAL_PERSONA` | Vertrauliche Web-Persona | `bool` | `0` | sofort | Wenn diese Option aktiviert ist, gibt der Web-Chat-Agent seine Persona-/Identitätsdetails nicht preis und behält sie nicht bei und behält die Antworten auf die jeweilige Aufgabe bei – verwenden Sie ihn für anonyme oder datenschutzrelevante Webbereitstellungen. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_INBOUND_COALESCE_MS` | Zeitfenster zum Bündeln von Nachrichten (ms) | `int` | `500` | sofort | Mehrere Nachrichten, die eine Person nacheinander in denselben Chat schickt (kurze Nachrichten, ein Fotoalbum, eine schnelle Korrektur), erhalten EINE Antwort, wenn die Pause dazwischen kürzer als dieses Zeitfenster ist. Nachrichten, die eintreffen, während eine Antwort vorbereitet wird, werden direkt danach beantwortet, nie parallel. Standard 500 ms; 0 = kein Warten zwischen einzelnen Nachrichten; ein Fotoalbum wird trotzdem gesammelt (Pausen bis 3 s, höchstens 20 s), damit es eine Antwort bekommt. Das Zusammenfassen wirkt in Telegram; Slack, WhatsApp, VK, E-Mail und andere Konnektoren, die auf eine Antwort zu jeder Nachricht warten (und Integrationen über /v1/inbound/generic), erhalten eine Antwort auf jede Nachricht — weiterhin nacheinander und in Reihenfolge. Wirkt sofort. |
| `AIHUMMER_INBOUND_EDIT_MODE` | Wenn jemand eine bereits beantwortete Nachricht bearbeitet | `enum: correct \\\| history` | `correct` | sofort | correct — der Bot antwortet erneut und weiß, dass es eine Korrektur ist („vorher / jetzt“); history — die Bearbeitung korrigiert nur den Gesprächsverlauf, keine neue Antwort (praktisch bei Tippfehlern). Die Bearbeitung einer noch nicht beantworteten Nachricht ersetzt immer nur ihren Text. Funktioniert dort, wo der Kanal Bearbeitungen meldet (Telegram). Wirkt sofort. |
| `AIHUMMER_INBOUND_QUEUE_MODE` | Nachrichten, die geschrieben werden, während der Agent arbeitet | `enum: steer \\\| collect \\\| followup` | `steer` | sofort | Was mit einer Nachricht geschieht, die dieselbe Person schreibt, während der Agent noch an einer Antwort arbeitet (sucht, Werkzeuge ausführt): steer (Standard) — der Agent sieht sie vor seinem nächsten Schritt und berücksichtigt sie in derselben Antwort; collect — sie wird mit der nächsten Antwort beantwortet. followup — jede solche Nachricht erhält der Reihe nach eine eigene Antwort. Fotos, Dateien, Antworten auf eine Nachricht und Weiterleitungen warten immer auf die nächste Antwort. Wirkt sofort. |
| `AIHUMMER_INBOUND_REQUIRE_BINDING` | Nur bereitgestellten Benutzern antworten | `bool` | `true` | sofort | true = der Bot ignoriert jeden Kanalsender, der NOT ein bereitgestellter AiHummer-Benutzer ist (ein Benutzer mit einer Rollenbindung) – zufällige Chat-Mitglieder und Gastaufrufe erhalten keine Antwort. false (Standard) = allen antworten. |
## Integrations
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_A2A_PUBLISH` | Agent über Agent2Agent veröffentlichen (A2A) | `bool` | `0` | nach Neustart | Veröffentlichen Sie den Agenten als A2A-Server (Agent Card +). POST /a2a/message). Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_MCP_EXPORT_TOOLS` | Für externe Assistenten freigegebene Werkzeuge | `multiselect` | — | nach Neustart | Eine explizite Liste von Toolnamen, die für externe MCP-Clients zulässig sind, getrennt durch Kommas. Leer = keine Tools veröffentlichen. Gefährliche Klassen auf Hostebene werden zusätzlich durch die integrierte Richtlinie verboten, selbst wenn sie aufgeführt sind. Gilt beim Start/nach dem Neustart. |
| `AIHUMMER_MCP_PUBLISH` | Tools über MCP veröffentlichen | `bool` | `0` | nach Neustart | Erlaubt externen Assistenten (z. B. Claude Desktop), die Werkzeuge Ihrer Agenten zu nutzen. Welche Werkzeuge freigegeben werden, wählen Sie in der benachbarten Einstellung: Solange die Liste leer ist, wird keines freigegeben. |
| `AIHUMMER_MODULE_CPU_QUOTA` | CPU-Limit je Plugin | `text` | `75%` | sofort | Welchen Anteil des Prozessors jedes Plugin nutzen darf (systemd CPUQuota): 75 % sind drei Viertel eines Kerns, 150 % anderthalb Kerne. Ein Plugin erhält den neuen Wert bei seiner nächsten Installation, Aktualisierung oder beim Speichern seiner Einstellungen; laufende Plugins behalten bis dahin das bisherige Limit. |
| `AIHUMMER_MODULE_MEMORY_MAX` | Speicherlimit je Plugin | `text` | `512M` | sofort | Wie viel Arbeitsspeicher jedes Plugin belegen darf (systemd MemoryMax): eine Größe wie 512M, 1G oder 2048M (mindestens 64M) oder infinity für kein Limit. Ein Plugin, das es überschreitet, wird vom System beendet. Ein Plugin erhält den neuen Wert bei seiner nächsten Installation, Aktualisierung oder beim Speichern seiner Einstellungen; laufende Plugins behalten bis dahin das bisherige Limit. |
## Knowledge connectors
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_KB_SYNC_INTERVAL` | Wie oft die Wissensdatenbank aus Quellen aktualisiert wird | `text` | — | sofort | Wie oft der Server Änderungen aus verbundenen Wissensquellen selbst abholt. Zum Beispiel: 30m – alle 30 Minuten, 6h – alle 6 Stunden. Leer oder 0 – nur manuell. Erneutes Laden erzeugt keine Duplikate. Ein Slack-Export wird manuell hochgeladen. |
## LLM
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AUX_FALLBACK_MODELS` | Hilfsaufgaben: Ersatzmodelle | `list` | — | sofort | Kommagetrennte Modelle, die der Reihe nach versucht werden, wenn das Hilfsmodell ausfällt (Kontingent, Störung). Das Hauptmodell wird immer zuletzt versucht, damit keine Zusammenfassung verloren geht. Jeder Wechsel wird protokolliert. Wirkt sofort. |
| `AIHUMMER_AUX_MODEL` | Modell für Hilfsaufgaben (Zusammenfassungen, Notizen, Titel) | `text` | — | sofort | Modell für Hintergrundaufgaben: Zusammenfassen alter Verläufe, die Gedächtnisnotiz vor der Komprimierung, Gesprächstitel, Faktenextraktion, Umformulierung von Suchanfragen und Übersetzung. Leer = automatisch: ein günstigeres Modell desselben Anbieters (Claude → claude-haiku-4-5, Codex → gpt-…-luna/mini); gibt es keines, das Hauptmodell. "main" = immer das Hauptmodell. Wirkt sofort. |
| `AIHUMMER_CASCADE_MIN_CHARS` | Kaskade: Mindestanzahl an zu eskalierenden Zeichen | `int` | `0` | sofort | Anforderungslängenschwellenwert (Zeichen), bei dem das stärkere Kaskadenmodell einsetzt. 0 = Standard. |
| `AIHUMMER_CASCADE_STRONG_MODEL` | Kaskade: stärkeres Fallback-Modell | `text` | — | sofort | Modell zur Kaskadierung für lange/komplexe Anfragen (leer = aus). |
| `AIHUMMER_CLAUDE_AUTH_URL` | Claude-Abo: Adresse der Anmeldeseite | `text` | — | sofort | Die Seite, auf der Sie die Verbindung des Claude-Abos erlauben. Leer – Standardadresse; nur ändern, wenn der Support darum bittet. |
| `AIHUMMER_CLAUDE_CLIENT_ID` | Claude-Abonnement: OAuth-Client-ID | `text` | — | sofort | Die App-Kennung für die Anmeldung mit einem Claude-Abo. Leer – Standard; nur ändern, wenn der Support darum bittet. |
| `AIHUMMER_CLAUDE_EFFORT` | Claude: Denktiefe | `enum: low \\\| medium \\\| high \\\| xhigh \\\| max` | `medium` | sofort | Wie gründlich Claude-Modelle vor der Antwort nachdenken, wenn der Agent es nicht festlegt. Höher ist bei schwierigen Aufgaben genauer, aber langsamer und verbraucht mehr Kontingent; niedriger ist schneller und günstiger. Ein Modell, das die gewählte Stufe nicht kennt, erhält die nächstniedrigere; Haiku 4.5 und ältere Modelle unterstützen kein Nachdenken. Die beim Agenten festgelegte Tiefe hat Vorrang. Gilt ab der nächsten Runde. |
| `AIHUMMER_CLAUDE_MAX_TOKENS` | Claude: maximale Antwortlänge (Tokens) | `int` | `16000` | sofort | Wie viele Tokens eine Claude-Antwort belegen darf – per Abo und per Schlüssel. Das Nachdenken des Modells zählt zum selben Limit: Ein zu kleiner Wert bricht die Antwort mitten im Satz ab oder liefert eine leere Antwort. Hat ein Agent eine eigene Antwortlänge, gilt diese. |
| `AIHUMMER_CLAUDE_REDIRECT_URI` | Claude-Abonnement: Umleitungs-URI | `text` | — | sofort | Beim Lieferanten registrierte Rücksendeadresse. Muss mit der Konfiguration auf seiner Seite übereinstimmen, andernfalls wird der Codeaustausch abgelehnt. |
| `AIHUMMER_CLAUDE_TOKEN_URL` | Claude-Abo: Zugriffsadresse | `text` | — | sofort | Die Adresse, unter der der Server den Zugriff auf das Claude-Abo erhält und verlängert. Leer – Standardadresse; nur ändern, wenn der Support darum bittet. |
| `AIHUMMER_CODEX_BASE_URL` | Codex-Basis URL | `text` | — | teilweise nach Neustart | Basis des Codex-Transports (ChatGPT-Abonnement). Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_CODEX_MAX_OUTPUT_TOKENS` | Max. Ausgabetokens (0 = keine Obergrenze) | `int` | `0` | sofort | Die max_output_tokens-Obergrenze für eine Chat-Runde. 0 = keine Obergrenze. Bei Reasoning-Modellen werden auch die Reasoning-Tokens auf dieses Budget angerechnet, sodass ein zu kleiner Wert zu einer leeren „unvollständigen: max_output_tokens“-Antwort führt. Wird im laufenden Betrieb angewendet (kein Neustart). |
| `AIHUMMER_CODEX_MODEL` | Modell-ID (Codex / gpt-5.5-Transport) | `text` | `gpt-5.5` | teilweise nach Neustart | Modell-ID des primären Codex/ChatGPT-Transports (z. B. gpt-5.5, gpt-5.5-codex). Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_CODEX_REASONING_EFFORT` | Begründungsaufwand | `enum: none \\\| low \\\| medium \\\| high \\\| xhigh` | `medium` | sofort | Wie gründlich das ChatGPT-Modell (Codex) vor der Antwort nachdenkt, wenn der Agent es nicht festlegt. Standard – „Mittel“. Höher ist genauer, aber langsamer und teurer. |
| `AIHUMMER_LLM_CALL_TIMEOUT_S` | Timeout pro Anruf (Sekunden) | `int` | `120` | sofort | Wie viele Sekunden auf die Antwort des Modells auf eine Anfrage gewartet wird. Schweigt das Modell länger, wird die Anfrage abgebrochen und die Antwort geht an das nächste Modell der Liste. Bei Claude zählt die Pause im Antwortstrom, nicht die ganze Antwort: Eine lange, laufende Antwort wird nicht abgeschnitten. 0 – kein Limit. |
| `AIHUMMER_LLM_FALLBACK_MODELS` | Ausweichmodelle (alle Agenten) | `text` | `auto` | sofort | Wer antwortet, wenn das Hauptmodell und die übrigen Anbieter ausfallen (Nutzungslimit erreicht, Störung, zu viele Anfragen). auto — das günstigere Modell jedes Anbieters als letzte Rückfallebene (Claude: claude-haiku-4-5, Codex: gpt-…-luna/mini); eine kommagetrennte Liste — eigene Reihenfolge, jedes Modell geht an Anbieter seines Herstellers; off — keine Ausweichmodelle. Das eigene Ausweichmodell eines Agenten hat Vorrang. Wirkt sofort. |
| `AIHUMMER_LLM_GATEWAY_URL` | LLM-Gateway URL | `text` | — | teilweise nach Neustart | Basis URL des OpenAI-kompatiblen Modellendpunkts, den der Agent aufruft (Ihr lokaler llama.cpp/vLLM/Ollama-Server oder ein gehostetes Gateway). Lassen Sie das Feld leer, um den Standardendpunkt des Anbieters zu verwenden. |
| `AIHUMMER_LLM_MODEL` | LLM Modell | `text` | — | teilweise nach Neustart | Der Modellname/die Modell-ID, der bei jedem Schritt an den Anbieter gesendet wird (das Modell, das Ihr Endpunkt bedient). Muss mit einem Modell übereinstimmen, das der Endpunkt tatsächlich bereitstellt. |
| `AIHUMMER_LLM_PAUSE_AUTH_MIN` | Pause nach abgelehnten Zugangsdaten, min | `int` | `10` | sofort | Wie viele Minuten ein Anbieter, der die Zugangsdaten abgelehnt hat, nicht gefragt wird. Jede Wiederholung verdoppelt die Pause, höchstens bis zum Sechsfachen. Ein erfolgreicher Verbindungstest oder die Schaltfläche „Jetzt fortsetzen“ holt ihn sofort zurück. Gilt ab dem nächsten Fehlschlag. |
| `AIHUMMER_LLM_PAUSE_MODEL_MIN` | Pause eines vom Anbieter nicht bedienten Modells, min | `int` | `60` | sofort | Wie viele Minuten einem Anbieter ein Modell nicht angeboten wird, das er nach eigener Aussage nicht bedient; seine anderen Modelle werden wie gewohnt gefragt. Gilt ab dem nächsten Fehlschlag. |
| `AIHUMMER_LLM_PAUSE_QUOTA_MIN` | Pause nach erschöpftem Limit, min | `int` | `300` | sofort | Wie viele Minuten das Modell (oder das ganze Konto, wenn das Kontolimit erschöpft ist – Codex, ein OpenAI-Schlüssel, Zahlung) nicht gefragt wird, wenn sein Nutzungslimit erschöpft ist und der Anbieter keinen Rücksetzzeitpunkt nennt. Jede Wiederholung verdoppelt die Pause, höchstens bis zu einem Tag. Eine vom Anbieter genannte Frist hat Vorrang. Gilt ab dem nächsten Fehlschlag. |
| `AIHUMMER_LLM_PAUSE_SHORT_S` | Anbieterpause nach einer Störung, s | `int` | `30` | sofort | Wie viele Sekunden ein Anbieter nach einer Störung, einem Verbindungsabbruch oder „zu vielen Anfragen“ nicht gefragt wird. Ein zweiter Fehlschlag in Folge verdoppelt die Pause, der dritte und alle weiteren verzehnfachen sie. Nennt der Anbieter selbst eine Frist, gilt diese. Gilt ab dem nächsten Fehlschlag. |
| `AIHUMMER_LLM_PROVIDER` | LLM Anbieter | `text` | — | teilweise nach Neustart | Welches Modell-Backend verwendet werden soll (ein OpenAI-kompatibler Endpunkt oder der Codex/ChatGPT-Abonnementtransport). Entscheidet, wie Anfragen gesendet und authentifiziert werden. |
| `AIHUMMER_LLM_RETRIES` | LLM erneute Versuche bei vorübergehendem Fehler | `int` | `3` | sofort | Anzahl der LLM Anforderungswiederholungen bei einem vorübergehenden Fehler. |
| `AIHUMMER_LLM_TEMPERATURE` | Temperatur | `text` | — | sofort | Wie abwechslungsreich das Modell antwortet (0–2), wenn der Agent es nicht festlegt: niedriger ist genauer und vorhersehbarer, höher lebendiger. Leer – das Modell entscheidet. Denkende Modelle (ChatGPT/Codex, Claude Generation 5) akzeptieren den Wert nicht – lassen Sie das Feld für sie leer. |
| `AIHUMMER_LLM_TOP_P` | Top-p (Kernprobenahme) | `text` | — | sofort | Eine weitere Möglichkeit, Antworten abwechslungsreicher zu machen (0–1), wenn der Agent es nicht festlegt. Leer – das Modell entscheidet. Meist setzt man nur eines: Temperatur oder diesen Wert; denkende Modelle akzeptieren ihn nicht. |
| `AIHUMMER_MODEL_GUARD_INTERVAL_MIN` | Agentenmodell-Prüfung: Intervall, Min | `int` | `60` | sofort | Wie oft geprüft wird, ob das Modell jedes Agenten von einem aktivierten Anbieter bereitgestellt wird. Das Modell des Agenten wird nie geändert: Solange niemand es bereitstellt, antwortet das erste nicht pausierte Modell der Antwortreihenfolge, und eine Benachrichtigung nennt die Agenten — eine weitere, sobald ihr Modell zurück ist. Die Prüfung läuft immer beim Start des Gateways, und 0 schaltet nur die Wiederholung ab. Ein neuer Abstand gilt innerhalb einer Minute. |
| `AIHUMMER_OPENAI_API` | OpenAI API-Stil (Chat \| Antworten) | `enum: \\\| chat \\\| responses` | — | teilweise nach Neustart | chat = /chat/completions, Responses = /responses. Leer = automatisch/Standard. Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_OPENAI_API_KEY` | Nativer OpenAI API-Schlüssel (Bereitstellungsstandard) | `text` | — | teilweise nach Neustart | Ihr OpenAI-Kontoschlüssel für die native OpenAI-Schleife (wenn Sie OpenAI als Standardanbieter verwenden). Nicht zu verwechseln mit BYOK pro Arbeitsbereich auf der Seite „Modelle“. Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_OPENAI_BASE_URL` | Native OpenAI-Basis URL | `text` | — | nach Neustart | Basis des OpenAI-kompatiblen API (z. B. https://api.openai.com/v1). Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_OPENAI_MODEL` | Natives OpenAI-Modell | `text` | — | nach Neustart | Modell für die native OpenAI-Schleife (wenn AIHUMMER_OPENAI_API_KEY festgelegt ist). Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_ROUTER_COMPLEX_MODEL` | Router: Modell für komplexe Abbiegevorgänge | `text` | — | sofort | Modell für komplexe Anfragen eines Agenten ohne eigenes Modell (leer = Stufe aus). Gilt ab dem nächsten Zug. |
| `AIHUMMER_ROUTER_SIMPLE_MODEL` | Router: Modell für einfache Abbiegevorgänge | `text` | — | sofort | Modell für einfache Anfragen eines Agenten ohne eigenes Modell (leer = Stufe aus). Gilt ab dem nächsten Zug. |
| `AIHUMMER_ROUTER_STANDARD_MODEL` | Router: Modell für Standardabbiegevorgänge | `text` | — | sofort | Modell für gewöhnliche Anfragen eines Agenten ohne eigenes Modell (leer = Stufe aus). Gilt ab dem nächsten Zug. |
| `AIHUMMER_SUBSCRIPTION_QUOTA_REFRESH_MIN` | Abo-Kontingente: Abfrageintervall, Min. | `int` | `15` | sofort | Wie oft das Panel ChatGPT (Codex) nach den Kontingentfenstern des Abos fragt: höchstens einmal pro Zeitraum, nicht öfter als alle 5 Minuten und nur, solange die Kontingente geöffnet sind; dazwischen wird die gespeicherte Kopie gezeigt. Claude wird nie gefragt: seine Limits sind unsere Schätzung. Wirkt beim nächsten Öffnen der Kontingente. |
## Media
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_DEEPGRAM_API_KEY` | Deepgram API Schlüssel | `text` | — | sofort | Der Schlüssel des Dienstes Deepgram – nötig, wenn Deepgram Sprachnachrichten erkennt. Leer – der gemeinsame Spracherkennungsschlüssel aus der benachbarten Einstellung wird verwendet. Gilt sofort. |
| `AIHUMMER_DEEPGRAM_DETECT_LANGUAGE` | Deepgram-Spracherkennung | `bool` | `0` | sofort | Sprache erkennen, statt eine feste Sprache zu senden. Wirkt sofort. |
| `AIHUMMER_DEEPGRAM_MODEL` | Deepgram-Modell | `text` | `nova-2` | sofort | Deepgram-Modell (z. B. nova-2, nova-3, base). Hängt vom Zugriff des Projekts auf den Schlüssel ab. Wirkt sofort. |
| `AIHUMMER_DEEPGRAM_PUNCTUATE` | Deepgram-Zeichensetzung | `bool` | `1` | sofort | Satzzeichen und Großschreibung ergänzen. Wirkt sofort. |
| `AIHUMMER_DEEPGRAM_SMART_FORMAT` | Intelligente Deepgram-Formatierung | `bool` | `1` | sofort | Erkannte Zahlen und Datumsangaben formatieren. Wirkt sofort. |
| `AIHUMMER_DEEPGRAM_URL` | Deepgram-Basis URL | `text` | — | sofort | Deepgram API Basis. Leer = https://api.deepgram.com. Wirkt sofort. |
| `AIHUMMER_IMAGE_BASE_URL` | Bild API Basis URL (OpenAI-Fallback) | `text` | — | sofort | Basis der /images API beim Arbeiten mit einem OpenAI-Schlüssel (leer = https://api.openai.com/v1). |
| `AIHUMMER_IMAGE_MODEL` | Bildgenerierung Modell | `text` | — | sofort | Modell für image_generate (Standard gpt-image-2). |
| `AIHUMMER_MEDIA_MAX_UPLOAD_MB` | Maximale Medien-Upload-Größe (MB) | `int` | `256` | sofort | Die größte Datei (Foto, Sprachnachricht, Video), die auf einmal hochgeladen werden kann, in Megabyte. Schützt die Serverfestplatte vor dem Volllaufen. Standard 256. Gilt sofort. |
| `AIHUMMER_SIDECAR_STT` | Spracherkennung auf diesem Server (faster-whisper) | `bool` | `0` | sofort | Lokale Spracherkennung (faster-whisper). NICHT im Paket enthalten: „Enable“ lädt das signierte Add-on herunter (~620 MiB für alle Versionen von Python) und installiert den Dienst auf dem Host. 🔴 Das Add-on wird durch eine separate Herstellerentscheidung veröffentlicht (seine Pakete unterliegen ffmpeg der GPL); Wenn es nicht für Ihre Veröffentlichung veröffentlicht wird, wird es ehrlich sein und nichts kaputt machen. Cloud-Plan: Die Erkennung wird vom Anbieter konfiguriert. |
| `AIHUMMER_SIDECAR_TTS` | Sprachausgabe der Antworten (edge-tts) | `bool` | `0` | sofort | Sprachsynthese (edge-tts, Stimmen Microsoft Edge). NICHT im Paket enthalten: Durch die Aktivierung wird das signierte Add-on heruntergeladen (~26 MiB) und der Dienst auf dem Host installiert. Die Synthese selbst geht zur Abstimmung online – „offline“ bezieht sich hier auf die Installation des Pakets, die nicht funktioniert. |
| `AIHUMMER_STT_API_KEY` | STT API Schlüssel (optional) | `text` | — | sofort | Zugangsschlüssel für den Spracherkennungsdienst, falls er einen verlangt. Für einen Dienst auf diesem Server setzt ihn das Installationsprogramm – keine Änderung nötig. Gilt sofort. |
| `AIHUMMER_STT_ENGINE` | STT-Engine | `enum: auto \\\| faster-whisper \\\| deepgram \\\| codex \\\| off` | `auto` | sofort | Womit Sprachnachrichten transkribiert werden. Auto (Standard): Deepgram, wenn sein Schlüssel gesetzt ist, sonst der lokale Dienst, wenn er installiert ist (Schalter oben), sonst nichts – und der Bot sagt dem Absender ehrlich, dass er noch nicht zuhören kann. faster-whisper: der lokale Dienst oder ein kompatibler externer /v1/audio/transcriptions. deepgram: Deepgram in der Cloud mit eigenem Schlüssel. codex: das verbundene ChatGPT-Abo (Modelle → ChatGPT verbinden), verbraucht dessen Kontingent. off: nicht transkribieren. Wirkt sofort. |
| `AIHUMMER_STT_LANGUAGE` | STT Sprache | `text` | — | sofort | Erkennungssprache (BCP-47, z. B. ru/en). Wird von der Deepgram-Engine (Modell nova-2) verwendet. Leer = automatische Erkennung/Engine-Standardeinstellung. Wirkt sofort. |
| `AIHUMMER_STT_MODEL` | STT Modell | `text` | `Systran/faster-whisper-small` | sofort | Schneller-Whisper-Modell (z. B. small/medium/large-v3 oder Systran/faster-whisper-⟨size⟩). Wirkt sofort. |
| `AIHUMMER_TTS_API_KEY` | TTS API Schlüssel (Edge-tts) | `text` | — | teilweise nach Neustart | Zugangsschlüssel für den Sprachausgabedienst. Wird bei der Installation automatisch gesetzt – keine Änderung nötig. |
| `AIHUMMER_TTS_ENABLED` | Text-to-Speech aktiviert | `bool` | `1` | teilweise nach Neustart | Erlaubt dem Agenten, per Sprache zu antworten. Dafür wird der Sprachausgabedienst gebraucht – installieren Sie ihn oben im Bereich „Zusätzliche Dienste“. |
| `AIHUMMER_TTS_MODEL` | TTS Modell | `text` | — | teilweise nach Neustart | Modellname für den Edge-TTS-Dienst. Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_TTS_VOICE` | TTS Stimme | `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` | teilweise nach Neustart | Standardmäßige Edge-TTS-Stimme (mehrsprachig, inkl. Russisch). Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_VIDEO_API_KEY` | Videoanalyse API Schlüssel | `text` | — | sofort | Zugangsschlüssel für den Videoanalysedienst, falls er einen verlangt. Leer – der Dienst wird ohne Schlüssel genutzt. |
## Media · Voice
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_TTS_AUTO_REPLY` | Automatische Sprachantworten | `enum: off \\\| always \\\| inbound \\\| tagged` | `inbound` | sofort | Aus, immer, bei eingehender Audionachricht oder ausdrücklicher Markierung. Pro Gespräch überschreibbar. |
| `AIHUMMER_TTS_MAX_CHARS` | Zeichenlimit für Sprachantworten | `int` | `0` | sofort | 0: vollständiger Text; 100–10000: Zeichenlimit für die Sprachausgabe. Die vollständige Antwort bleibt im Verlauf. |
| `AIHUMMER_TTS_SUMMARIZE` | Lange Sprachantworten zusammenfassen | `bool` | `1` | sofort | Lange Antworten für die Sprachausgabe zusammenfassen. Bei einem Fehler wird der Anfang innerhalb des Limits vorgelesen. |
| `AIHUMMER_VOICE_AEC` | Echounterdrückung (AEC) | `bool` | `1` | sofort | Entfernt Echo: Die eigene Stimme des Agenten aus dem Lautsprecher gelangt nicht zurück ins Mikrofon und unterbricht das Gespräch nicht. Nur ausschalten, wenn die Stimme im Headset verzerrt klingt. |
| `AIHUMMER_VOICE_AGC` | Auto Gewinnkontrolle | `bool` | `1` | sofort | Automatische Verstärkungsregelung des Mikrofons (WebRTC autoGainControl) im Sprachmodus verlangen. |
| `AIHUMMER_VOICE_BARGEIN_FRAMES` | Agent unterbrechen: wie lange sprechen | `int` | `5` | sofort | Wie lange Sie sprechen müssen (in 20-ms-Rahmen), damit der Agent verstummt und zuhört. Standard 5 – etwa 0,1 Sekunden. |
| `AIHUMMER_VOICE_DUPLEX` | Live-Vollduplex-Sprache | `bool` | `0` | sofort | Aktiviert den Live-Vollduplex-Modus (Streaming + VAD + Barge-in). Wirkt sofort. |
| `AIHUMMER_VOICE_NOISE_SUPPRESSION` | Rauschunterdrückung | `bool` | `1` | sofort | Rauschunterdrückung bei der Mikrofonaufnahme (WebRTC noiseSuppression) im Sprachmodus verlangen. |
| `AIHUMMER_VOICE_VAD_THRESHOLD` | Stimmempfindlichkeit (0–1) | `text` | `0.02` | sofort | Ab welcher Lautstärke ein Geräusch als Sprache gilt. Niedriger – empfindlicher: Der Agent hört leise Sprache, aber auch Nebengeräusche. Standard 0.02. |
## Memory
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_EMBEDDER_DIM` | Dimension des Bedeutungssuchmodells | `int` | `768` | nach Neustart | Vektordimension – muss mit dem Modell übereinstimmen (multilingual-e5-base=768, bge-m3=1024). |
| `AIHUMMER_EMBEDDER_KEEPALIVE` | Embedder bleibt am Leben | `text` | `5m` | nach Neustart | Wie lange das Bedeutungssuchmodell nach der letzten Anfrage geladen bleibt (nur im Modus „Nach Bedeutung“). Standard 5m – 5 Minuten: danach wird das Modell entladen und gibt Speicher und CPU frei. Dauerhaft halten (-1) wird nicht empfohlen: Ein hängendes Modell kann tagelang einen CPU-Kern belegen. Format: 30s, 5m, 1h. |
| `AIHUMMER_EMBEDDER_MODEL` | Modell für Bedeutungssuche | `text` | `yxchia/multilingual-e5-base` | nach Neustart | Das Modell für die Bedeutungssuche im Gedächtnis. Standard multilingual-e5-base versteht Russisch, ist leicht und läuft schnell auf einer normalen CPU. Für bessere Qualität auf einer Grafikkarte eignet sich bge-m3 – setzen Sie dann die benachbarte Dimensionseinstellung auf 1024: Die Zahl muss zum Modell passen. |
| `AIHUMMER_EMBEDDER_PASSAGE_PREFIX` | Präfix der Embedder-Passage | `text` | — | nach Neustart | Überschreiben Sie das Präfix des gespeicherten Dokuments (e5-Modelle verwenden automatisch „passage:“). Lassen Sie das Feld leer, um die automatische Erkennung anhand des Modellnamens vorzunehmen. |
| `AIHUMMER_EMBEDDER_QUERY_PREFIX` | Embedder-Abfragepräfix | `text` | — | nach Neustart | Überschreiben Sie das Präfix „retrieval-query“ (e5-Modelle verwenden automatisch „query:“). Lassen Sie das Feld leer, um die automatische Erkennung anhand des Modellnamens durchzuführen. |
| `AIHUMMER_EMBEDDER_THREADS` | CPU-Threads des Embedders | `int 0…256` | `0` | nach Neustart | Wie viele Prozessor-Threads das Modell für die Bedeutungssuche pro Anfrage nutzt. 0 — automatisch: die Hälfte der Threads des Servers, aber mindestens 2. Ohne Grenze belegte die Neuberechnung der Vektoren der Wissensbasis auf einem schwachen Server stundenlang den ganzen Prozessor und bremste die Antworten der Agenten. Mehr — schnellere Neuberechnung, aber höhere Last. |
| `AIHUMMER_MEMORY_AGENT_WRITES` | Fakten, die der Agent selbst speichert | `enum: strangers \\\| immediate \\\| review` | `strangers` | sofort | Was mit dem geschieht, was sich der Agent selbst merkt – etwa auf die Bitte „merk dir das“. „Direkt ins Gedächtnis; von Fremden — zur Prüfung“ (Standard) – direkt ins Gedächtnis, wenn der Eigentümer oder der Vertrauenskreis des Agenten es gesagt hat; von allen anderen – zur Prüfung. „Direkt ins Gedächtnis“ – der Agent findet es sofort. „Zur Prüfung“ – zuerst in die Warteschlange Gedächtnis → Prüfung; in Antworten erst nach Ihrer Freigabe. Auf der Agentenkarte (Gedächtnis → Einstellungen) lässt sich ein eigener Modus wählen. |
| `AIHUMMER_MEMORY_AUTOREPAIR` | Automatische Gedächtnisreparatur | `bool` | `1` | sofort | Nach der Selbstprüfung das Gedächtnis reparieren: Duplikate zusammenführen, Widersprüche mit eindeutigem Gewinner schließen (von einem Menschen bestätigt, späteres Ereignisdatum, gewichtigere Quelle), als bestätigt markierte Fakten, die kein Mensch bestätigt hat, an ihren Quellen nachprüfen (unbestätigte gehen zur Prüfung, nichts wird gelöscht). Strittiges kommt nur in die Warteschlange. Jede Korrektur wird mit einer Schaltfläche zum Rückgängigmachen protokolliert; findet das Gedächtnis danach schlechter, macht sich der Durchlauf selbst rückgängig und Sie erhalten eine Benachrichtigung. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_MEMORY_CAPTURE` | Speichererfassungsmodus | `enum: auto \\\| review \\\| off` | `review` | sofort | Was mit Fakten geschieht, die der Agent nach jeder Antwort selbst im Gespräch bemerkt. „Zur Prüfung“ legt sie in die Warteschlange Gedächtnis → Prüfung: In Antworten landen sie erst nach Ihrer Freigabe. „Direkt ins Gedächtnis“ ohne Prüfung: schneller, aber mehr Rauschen. „Nicht speichern“ entnimmt Gesprächen nichts. Was sich der Agent auf Bitte merkt, wird separat eingestellt. |
| `AIHUMMER_MEMORY_CONTEXT_TIMEOUT` | Zeitüberschreitung bei der Speicherhydrierung | `text` | `3s` | sofort | Wie lange der Agent auf passende Erinnerungen wartet, bevor er antwortet. Ist die Suche zu langsam, antwortet der Agent ohne sie, statt zu hängen. Zum Beispiel: 2s – 2 Sekunden, 1500ms – 1,5 Sekunden. 0 – so lange warten wie nötig. |
| `AIHUMMER_MEMORY_DIARY_BOOT` | Agententagebuch zu Sitzungsbeginn | `bool` | `1` | sofort | Das Tagebuch des Agenten von heute und gestern bei jedem Zug einer Sitzung auf jedem Kanal im Blick behalten: Notizen früherer Sitzungen, die nächtliche Zusammenfassung und eigene Einträge des Agenten. Es werden nur Einträge über die aktuelle Gesprächsperson und die gemeinsamen (Ihre, hochgeladene) gezeigt — ein Kunde sieht nie die eines anderen. Höchstens ~6000 Zeichen; den Rest liest der Agent selbst (memory_get). Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_MEMORY_DIARY_HOUR` | Stunde der nächtlichen Zusammenfassung | `int` | `3` | sofort | Nach welcher Stunde (0–23, Zeitzone der Instanz) die Zusammenfassung des vergangenen Tages geschrieben wird. Standard 3 — nachts, wenn die Gespräche des Tages vorbei sind. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_MEMORY_DIARY_NIGHTLY` | Nächtliche Tageszusammenfassung im Agententagebuch | `bool` | `1` | sofort | Einmal täglich eine Zusammenfassung des vergangenen Tages in das Tagebuch des Agenten schreiben — getrennt für jede Person, mit der er gesprochen hat (alle Kanäle dieser Person zusammen): was erbeten und erledigt wurde, Absprachen, Aufgaben mit Datum. Ein Aufruf des Modells für Hilfsaufgaben pro Agent und Person, höchstens 3 pro Durchlauf alle 10 Minuten; verpasste Tage werden bis zu einer Woche rückwirkend nachgeholt. Gespräche mit „nicht merken“ werden ausgelassen. Wird nicht geschrieben, solange die Gedächtniserfassung aus ist. Das Ergebnis des letzten Durchlaufs steht in der Agentenkarte → Gedächtnis → Tagebuch. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_MEMORY_DREAM_INTERVAL` | Dream-Pass-Intervall | `string` | `1h` | sofort | Wie oft überprüft der selbstverwaltende Dream Pass überprüfte Ansprüche auf Widersprüche in allen Bereichen (Go-Dauer, z. B. 30 Min./1 Std./6 Std.). Zum Deaktivieren auf 0 setzen. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_MEMORY_EXTRACT` | LLM Faktenextraktion | `bool` | `1` | sofort | Extrahieren Sie normalisierte Subjekt-/Prädikat-/Objektfakten über LLM (Standardeinstellung EIN), anstatt rohe Satzfragmente zu speichern – erforderlich, damit die Graph-/Widerspruchs-/Traummaschinerie ausgelöst wird. Fügt einen LLM-Aufruf pro erfasster Nachricht hinzu; Machen Sie sich auf den Weg, um den Anruf zu speichern. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_MEMORY_MEANING_TIMEOUT` | Zeitlimit der Bedeutungssuche | `text` | `4s` | sofort | Wie lange eine Suche im Gedächtnis und in der Wissensbasis auf die Bedeutungssuche wartet. Ist das Bedeutungsmodell beschäftigt (zum Beispiel beim Berechnen von Vektoren nach einem Import) und antwortet nicht rechtzeitig, erhält der Agent sofort das nach Wörtern Gefundene mit einem Hinweis, statt Dutzende Sekunden zu warten. Zum Beispiel: 4s – 4 Sekunden, 1500ms – 1,5 Sekunden. 0 – so lange warten wie nötig. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_MEMORY_QUALITY_CHECK` | Tägliche Selbstprüfung des Gedächtnisses | `bool` | `1` | sofort | Einmal täglich stellt sich das Gedächtnis Kontrollfragen zu seinen bestätigten Fakten (bis zu 60 Fakten, jeden Tag dieselben Fragen) sowie Fragen ohne Antwort, schickt sie durch die Gedächtnissuche und das automatische Einblenden und misst Trefferquote, Genauigkeit, MRR und falsche Einblendungen. Ergebnis und Tagesverlauf: Gedächtnis → Gedächtnisqualität. Fragen zu neuen Fakten schreibt einmalig das Dienstmodell (dasselbe, das Fakten aus Unterhaltungen gewinnt; ohne es – nach Vorlage); die Ergebnisse bleiben auf der Instanz. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_MEMORY_RECALL` | Automatischer Gedächtnisabruf | `enum: strong \\\| always \\\| off` | `strong` | sofort | Ob Gefundenes aus dem Gedächtnis automatisch zur Antwort hinzukommt. „Nur starke Treffer“ – ein Fakt muss mindestens zwei wichtige Wörter mit der Nachricht teilen; Grüße und „ok“ ziehen nichts heran. „Alles Ähnliche“ – alles, was irgendwie passte, plus verknüpfte Einträge: mehr Rauschen. „Nicht hinzufügen“ – der Agent sucht selbst im Gedächtnis, wenn er es für nötig hält. |
| `AIHUMMER_MEMORY_RECALL_MAX` | Fakten pro Antwort | `int` | `5` | sofort | Höchstzahl der Gedächtnisfakten, die in eine Antwort einfließen (Standard 5). Umformulierungen desselben Fakts zählen als einer. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_MEMORY_RECALL_MIN_SCORE` | Mindestübereinstimmung für automatischen Abruf, % | `int` | `10` | sofort | Welchen Anteil der bedeutungstragenden Wörter der Nachricht (nach Seltenheit gewichtet) ein Fakt abdecken muss, um automatisch eingefügt zu werden, in Prozent. Standard 10 – an echten Unterhaltungen abgestimmt. Höher = seltener und präziser, niedriger = häufiger und mit mehr Rauschen. Wirkt sich nicht auf die explizite Suche memory_search aus. 0 = keine Schwelle: zwei übereinstimmende bedeutungstragende Wörter genügen. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_MEMORY_RECALL_MIN_SIMILARITY` | Mindestbedeutungsähnlichkeit für automatisches Einblenden, % | `int` | `86` | sofort | Nur für die Gedächtnissuche nach Bedeutung (Embedder): wie nah ein Fakt der Nachricht inhaltlich sein muss, um automatisch eingeblendet zu werden, in Prozent Ähnlichkeit. Standard 86 – für das Modell multilingual-e5-base an echtem Gedächtnis abgestimmt: darunter werden fast jeder Nachricht fremde Fakten beigefügt. Andere Modelle (z. B. bge-m3) messen Ähnlichkeit anders – wählen Sie einen Wert mit „Gedächtnis fragen“ in der Agentenkarte. 0 = keine Schwelle. Wirkt sich nicht auf die explizite Suche memory_search aus. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_MEMORY_RETRIEVAL` | Speicherabrufmodus | `enum: fulltext \\\| embedding` | `fulltext` | nach Neustart | Wie der Agent im Gedächtnis sucht. „Nach Wörtern“ ist normale Textsuche: funktioniert sofort und belastet den Server nicht. „Nach Bedeutung“ findet Sinnverwandtes, auch anders formuliert, braucht aber das Bedeutungssuchmodell (Bereich „Zusätzliche Dienste“) und spürbare CPU-Last. |
| `AIHUMMER_QDRANT_API_KEY` | Qdrant API Schlüssel | `text` | — | nach Neustart | Qdrant-API-Schlüssel, falls der Vektorspeicher eine Autorisierung verlangt. Nur nötig, wenn eine Qdrant-Adresse gesetzt ist. Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_QDRANT_URL` | Qdrant URL (dauerhafter Vektorspeicher) | `text` | — | nach Neustart | Adresse des Qdrant-Speichers für die Bedeutungssuche. Leer – Suchdaten liegen im Arbeitsspeicher und gehen beim Serverneustart verloren; für dauerhaften Betrieb eine Adresse angeben. |
| `AIHUMMER_RAG_QUERY_EXPANSION` | Wissensdatenbank-Anfragen vom Modell umformulieren lassen | `bool` | `0` | sofort | Vor der Suche in der Wissensdatenbank das Modell für Hilfsaufgaben um 3 Umformulierungen der Anfrage bitten und mit allen suchen. Findet manchmal mehr, kostet aber bei JEDER Suche einen zusätzlichen Modellaufruf (Kontingent und Verzögerung); schlägt das Modell fehl, wird nur mit der ursprünglichen Formulierung gesucht, und der Fehler erscheint im Protokoll und im Suchergebnis. Standardmäßig aus: Wörter werden ohnehin per Volltextsuche gefunden. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_RERANKER_URL` | RAG Reranker-Sidecar URL | `text` | — | nach Neustart | HTTP URL des Cross-Encoder-Sidecars zum Neuranking der Hybridsuche. Leer = Neueinstufung aus. Wird beim Start/nach dem Neustart angewendet. |
## Moderation
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_MODERATION` | Eingabemoderation | `bool` | `1` | sofort | "off" deaktiviert den eingebauten Schutz gegen Jailbreak/Prompt-Injection. Jeder andere Wert = aktiviert. Wirkt sofort, kein Neustart nötig. |
| `AIHUMMER_MODERATION_REFUSAL` | Moderationsablehnungsnachricht | `text` | — | sofort | Ablehnungstext, der zurückgegeben wird, wenn der Moderator eine Anfrage blockiert (leer = integriert). Wirkt sofort, kein Neustart nötig. |
## Network
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_OUTBOUND_PROXY_CUSTOM_URL` | Ausgehender Proxy: eigene Adresse | `text` | — | sofort | HTTPS-Proxy-URL; HTTP nur auf Loopback, ohne Pfad, Abfrage oder Fragment. Adresse vor der Auswahl von custom speichern. In der API maskiert; in den Anwendungseinstellungen gespeichert. |
| `AIHUMMER_OUTBOUND_PROXY_MODE` | Ausgehender Proxy für ausländische Modellanbieter | `enum: auto \\\| off \\\| custom` | `auto` | sofort | Wie der Server ausländische Modellanbieter erreicht. „Wie beim Anbieter“ – wie im Konto des Anbieters eingestellt; „Direkt, ohne Proxy“ – ohne Vermittler; „Über eigenen Proxy“ – über die unten gespeicherte Adresse. Ob das funktioniert, hängt von den Regeln des jeweiligen Anbieters ab. |
| `AIHUMMER_RUSSIAN_TRUSTED_EXTRA_HOSTS` | Hosts jenseits von .ru für die Wurzelzertifikate des russischen Ministeriums für digitale Entwicklung | `list` | — | nach Neustart | Durch Kommas getrennte Liste der Hosts, die anhand der Wurzeln von russischen Ministeriums für digitale Entwicklung ÜBER russischen Domains (.ru/.su/.рф – bereits enthalten) überprüft werden dürfen. Wird benötigt, wenn sich Ihr Knoten mit dem russischen Ministeriums für digitale Entwicklung-Zertifikat in einer anderen Domäne befindet. Übereinstimmung nach Name oder Subdomain-Grenze: example.com deckt api.example.com ab. Leer = nur russische Domains. Gilt beim Start/nach dem Neustart. |
## Performance
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_CHANNEL_TURN_QUEUE_WAIT_SEC` | Wartezeit in der Warteschlange: Kanalnachricht (Sekunden) | `int 10…1200` | `600` | sofort | Wie lange eine Kanalnachricht (Telegram und andere) auf einen freien Platz wartet, wenn alle Plätze für Runden belegt sind. Bekommt sie rechtzeitig keinen, erfährt die Person, dass der Server ausgelastet ist und sie erneut schreiben kann. Die Wartezeit zählt zum 30-Minuten-Limit der Runde. 10–1200. Wirkt sofort. |
| `AIHUMMER_MAX_ACTIVE_TURNS` | Gleichzeitig laufende Agentenrunden (ganzer Server) | `int 1…512` | `32` | sofort | Wie viele Agentenrunden (Antworten in Kanälen und im Webchat, Zeitpläne) der Server gleichzeitig ausführt. Der Rest wartet in einer Warteschlange so lange, wie die Einstellungen „Wartezeit in der Warteschlange“ unten erlauben, und die Person sieht „Server ausgelastet, in der Warteschlange“. Höher bedeutet weniger Warten, aber mehr Speicher, Datenbankverbindungen und gleichzeitige Modellanfragen. Die Hälfte dieses Werts begrenzt gleichzeitige Hilfsaufrufe des Modells (Gedächtnisauszug, Zusammenfassungen). 1–512. Wirkt sofort. |
| `AIHUMMER_SYNC_INBOUND_QUEUE_WAIT_SEC` | Wartezeit in der Warteschlange: synchroner Integrationsaufruf (Sekunden) | `int 1…120` | `10` | sofort | Wie lange ein Aufruf einer Integration, die im selben Request auf die Antwort wartet, auf einen freien Platz wartet, wenn alle Plätze für Runden belegt sind. Bekommt er keinen, erhält die Integration „Server ausgelastet“ mit dem Hinweis, nach derselben Anzahl Sekunden zu wiederholen; eine Wiederholung mit derselben Nachrichtennummer speichert die Nachricht nicht doppelt. 1–120. Wirkt sofort. |
| `AIHUMMER_WEB_TURN_QUEUE_WAIT_SEC` | Wartezeit in der Warteschlange: Webchat-Nachricht (Sekunden) | `int 10…1200` | `180` | sofort | Wie lange eine Webchat-Nachricht auf einen freien Platz wartet, wenn alle Plätze für Runden belegt sind. Währenddessen zeigt der Chat „Server ausgelastet, in der Warteschlange“; bekommt sie rechtzeitig keinen, wird die Antwort mit der Schaltfläche „Wiederholen“ abgelehnt, die auch nach dem Neuladen der Seite im Verlauf bleibt. 10–1200. Wirkt sofort. |
## Public access
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_PUBLIC_URL` | Öffentliche Serveradresse | `text` | — | teilweise nach Neustart | Die Adresse, unter der Verwaltung und Apps aus dem Internet erreichbar sind, z. B. https://ai.example.com. Leiten Sie sie über Ihren Proxy (nginx, Caddy) auf den Server-Port – standardmäßig 8780. |
| `AIHUMMER_WIDGET_ALLOWED_ORIGINS` | Web-Widget: zulässige Website-Origins | `list` | — | sofort | Kommagetrennte Liste der Browser-Origins, die das Webchat-Widget einbetten dürfen, z. B. https://example.com,https://www.example.com. Schema und Port müssen exakt übereinstimmen. Leer = keine externe Website darf das Widget verwenden. Ein `*`-Eintrag wird absichtlich ignoriert, da sonst jede Seite im Internet das Budget dieser Instanz verbrauchen könnte. |
| `POCKET_AGENT_GATEWAY_BASE_URL` | Öffentliches Pocket-Agent-Gateway URL | `text` | — | sofort | Proxy → der Pocket-Agent-Gateway-Port (POCKET_AGENT_PORT, Standard 8080). Der Remote-Agent wählt diesen über ein einmaliges Ticket. |
| `TELEGRAM_PUBLIC_URL` | Telegram Webhook öffentlich URL | `text` | — | sofort | Nur Webhook-Modus – Proxy → der Telegram-Connector-Port (Standard 8091). public URL erforderlich). |
## SSO (LDAP/AD)
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_LDAP_BASE_DN` | Benutzersuchbasis-DN | `text` | — | nach Neustart | Suchstammverzeichnis, z. B. OU=Users,DC=corp,DC=example. |
| `AIHUMMER_LDAP_BIND_DN` | Dienstbindungs-DN | `text` | — | nach Neustart | Konto, das für die anfängliche Suchbindung verwendet wird, z. B. CN=svc-aihummer,OU=Service,DC=corp,DC=example. Leer = anonyme Suche. |
| `AIHUMMER_LDAP_DEFAULT_ROLE` | LDAP: Standardrolle (keine Gruppenübereinstimmung) | `text` | — | nach Neustart | Rolle gewährt, wenn keine Gruppe mit einer Zuordnung übereinstimmt. Leer = keine Rolle. |
| `AIHUMMER_LDAP_ENABLED` | LDAP/AD-Anmeldung aktivieren | `bool` | `0` | nach Neustart | Wenn diese Option aktiviert ist, greifen Administratoranmeldungen auf das Verzeichnis zurück. Das Bind-Passwort befindet sich in Secrets (Bereich ldap, Name bind_password). |
| `AIHUMMER_LDAP_GROUP_ATTR` | Gruppenattribut (Standard memberOf) | `text` | — | nach Neustart | Attribut im Benutzereintrag, der die Gruppen-DNs auflistet. Leer deaktiviert die Gruppen→Rollenzuordnung. |
| `AIHUMMER_LDAP_ROLE_MAPPINGS` | LDAP: Gruppe→Rollenzuordnungen (JSON) | `text` | — | nach Neustart | JSON Objekt des Gruppen-DN (oder nackten CN) → Rolle, z. B. {"CN=Admins,OU=Groups,DC=corp,DC=example":"admin","Operators":"operator"}. |
| `AIHUMMER_LDAP_SKIP_TLS_VERIFY` | TLS-Überprüfung überspringen (nur Labor, 1/0) | `bool` | `0` | nach Neustart | Deaktiviert die Überprüfung des Verzeichniszertifikats. Niemals in der Produktion aktivieren. |
| `AIHUMMER_LDAP_URL` | Verzeichnis URL | `text` | — | nach Neustart | z.B. ldaps://ad.corp.example:636 (TLS) oder ldap://dc1.corp.example:389. |
| `AIHUMMER_LDAP_USER_ATTR` | Anmeldeattribut (Standard sAMAccountName) | `text` | — | nach Neustart | Das LDAP/Active Directory-Attribut wurde mit dem Login abgeglichen, das der Benutzer eingibt (Standard: sAMAccountName; UID für OpenLDAP, userPrincipalName für Logins im UPN-Stil). |
| `AIHUMMER_LDAP_USER_FILTER` | Benutzersuchfilter | `text` | — | nach Neustart | Muss %s für die Anmeldung enthalten. AD: (sAMAccountName=%s); OpenLDAP: (uid=%s). |
## SSO (OIDC)
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_OIDC_AUDIENCE` | OIDC Zielgruppe | `text` | — | nach Neustart | Erwarteter `aud`-Anspruch – legen Sie dies auf die Zielgruppe der Ressource THIS fest, um Token abzulehnen, die für eine andere vertrauende Partei geprägt wurden. Der `aud`-Anspruch ist jetzt standardmäßig REQUIRED für jeden Token (ein Token ohne aud wird abgelehnt); Wenn dies festgelegt ist, muss aud es auch enthalten. In der Produktion dringend empfohlen. |
| `AIHUMMER_OIDC_ISSUER` | OIDC-Emittent URL | `text` | — | nach Neustart | Der IdP-Aussteller (z. B. https://login.example.com). Aktiviert OIDC JWT Authentifizierung, wenn festgelegt. |
| `AIHUMMER_OIDC_JWKS_URL` | OIDC-JWKS-URL | `text` | — | nach Neustart | JSON Web Key Set-Endpunkt zur Überprüfung von Tokensignaturen. |
| `AIHUMMER_OIDC_TENANT_CLAIM` | OIDC Workspace-Anspruch | `text` | — | nach Neustart | JWT-Claim mit der Workspace-ID (z. B. tenant_id / org). |
## SSO (SAML)
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_SAML_DEFAULT_ROLE` | SAML: Standardrolle (keine Gruppe). Übereinstimmung) | `text` | — | nach Neustart | Rolle gewährt, wenn keine bestätigten Wertzuordnungen vorhanden sind. Leer = keine Rolle. |
| `AIHUMMER_SAML_ENABLED` | Aktivieren SAML 2.0 SSO | `bool` | `0` | nach Neustart | Macht /saml/metadata, /saml/acs, /saml/login verfügbar. Der private SP-Schlüssel befindet sich in Secrets (Bereich saml, Name sp_key). |
| `AIHUMMER_SAML_ENTITY_ID` | SP-Entitäts-ID | `text` | — | nach Neustart | SP-Entitäts-ID (standardmäßig ⟨root⟩/saml/metadata, wenn leer). |
| `AIHUMMER_SAML_IDP_METADATA` | IdP-Metadaten XML | `text` | — | nach Neustart | Fügen Sie das SAML-Metadatendokument des IdP ein (Okta/Azure AD/ADFS). |
| `AIHUMMER_SAML_ROLE_ATTRIBUTE` | Rollen-/Gruppenattribut (Standardgruppen) | `text` | — | nach Neustart | Assertionsattribut, das Gruppen-/Rollenwerte trägt. |
| `AIHUMMER_SAML_ROLE_MAPPINGS` | SAML: Gruppe→Rollenzuordnungen (JSON) | `text` | — | nach Neustart | JSON Objekt des bestätigten Werts → Rolle, z. B. {"AdminGroup":"admin","Ops":"operator"}. |
| `AIHUMMER_SAML_ROOT_URL` | SP-Stamm URL | `text` | — | nach Neustart | Extern erreichbare Basis URL dieses Gateways, z.B. https://app.example.com. ACS = ⟨root⟩/saml/acs. |
| `AIHUMMER_SAML_SP_CERT` | SP-Zertifikat (PEM) | `text` | — | nach Neustart | Öffentliches SP-Signaturzertifikat (PEM). Der passende private Schlüssel geht in Secrets (Geltungsbereich saml, Name sp_key). |
## Schedules
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_SCHEDULE_AGENT_MAX_ACTIVE` | Agent: Obergrenze aktiver Zeitpläne | `int` | `20` | sofort | Wie viele aktive Zeitpläne ein Agent haben darf, wenn er selbst einen Zeitplan anlegt oder einschaltet (mit seinen Zeitplan-Werkzeugen). Im Panel angelegte Zeitpläne zählen mit, das Panel wird aber nie abgewiesen. An der Grenze wird der Agent aufgefordert, zuerst einen anzuhalten oder zu löschen. Wirkt sofort. |
| `AIHUMMER_SCHEDULE_AGENT_MAX_FIRES_PER_DAY` | Agent: Zeitplan-Läufe pro Tag | `int` | `288` | sofort | Wie oft pro Tag (UTC) alle Zeitpläne eines Agenten zusammen laufen dürfen, einschließlich im Panel angelegter Zeitpläne und manueller Läufe. Läufe über der Grenze werden übersprungen und im Ausführungsprotokoll angezeigt. Wirkt sofort. |
| `AIHUMMER_SCHEDULE_AGENT_MIN_INTERVAL_MINUTES` | Agent: kürzester Zeitplan-Abstand, Minuten | `int` | `5` | sofort | Der kürzeste Abstand zwischen zwei Läufen eines wiederkehrenden Zeitplans, den ein Agent selbst anlegt oder ändert. Ein häufigerer Zeitplan wird abgelehnt. Im Panel angelegte Zeitpläne sind davon nicht betroffen. Wirkt sofort. |
| `AIHUMMER_SCHEDULE_COMMANDS` | Befehle auf dem Server in Zeitplänen | `bool` | `0` | sofort | Erlaubt einem Zeitplan, ein Programm auf diesem Server auszuführen — einen Sammler, einen Bericht, eine Sicherungsprüfung. Standardmäßig aus. Es laufen nur Befehle aus «Erlaubte Befehle», genau wie eingetragen; es gibt keine Shell. Die Ausgabe geht an den Agenten oder direkt in einen Chat, jeder Lauf steht im Ausführungsprotokoll des Zeitplans. Wirkt sofort. |
| `AIHUMMER_SCHEDULE_COMMANDS_ALLOWLIST` | Erlaubte Befehle | `argvlist` | — | sofort | Die genauen Befehle, die ein Zeitplan ausführen darf: das Programm (ein Name wie df oder ein vollständiger Pfad) und seine Argumente. Ein Zeitplan führt nur einen Befehl aus, der einem Eintrag genau entspricht, einschließlich der Argumente. Ein entfernter Befehl stoppt die Zeitpläne, die ihn nutzen, und ihre Läufe nennen den Grund. Wirkt sofort. |
| `AIHUMMER_SCHEDULE_COMMANDS_MAX_OUTPUT_KB` | Ausgabelimit für Zeitplanbefehle, KB | `int 1…1024` | `64` | sofort | Wie viel der Ausgabe eines Befehls (1–1024 KB) im Ausführungsprotokoll bleibt und an den Agenten oder Chat geht; der Rest wird abgeschnitten, und das Protokoll sagt es. Wirkt sofort. |
| `AIHUMMER_SCHEDULE_COMMANDS_SANDBOX` | Zeitplanbefehle in der Betriebssystem-Sandbox ausführen | `bool` | `1` | sofort | Ein: Ein Befehl läuft wie die Codeausführung in der Betriebssystem-Sandbox — die Geheimnisse der Installation und SSH-Schlüssel sind verborgen, geschrieben wird nur in den eigenen temporären Ordner. Ohne Sandbox (bubblewrap) auf dem Server läuft der Befehl nicht, und das Ausführungsprotokoll nennt den Grund. Aus: Er läuft mit den Rechten des Gateways. Wirkt sofort. |
| `AIHUMMER_SCHEDULE_FAILURE_ADMIN` | Fehlgeschlagene Aufgaben an den Administrator melden | `bool` | `1` | sofort | Wenn eine geplante Aufgabe fehlschlägt oder nicht starten kann, erscheint in der Benachrichtigungsglocke des Admin-Panels eine Meldung mit ihrem Namen, dem Grund und der Stelle, an der es sich beheben lässt, und dasselbe geht in die eigenen Kanal-Chats der Eigentümer (höchstens einmal alle 6 Stunden pro Aufgabe). Das kommt zur Nachricht an den Empfänger der Aufgabe hinzu. Aus: Der Administrator erfährt von Fehlern nur aus dem Ausführungsprotokoll. Wirkt sofort. |
| `AIHUMMER_SCHEDULE_FAILURE_NOTIFY` | Empfänger über fehlgeschlagene Aufgaben informieren | `bool` | `1` | sofort | Schlägt eine geplante Aufgabe fehl, erhält derselbe Empfänger eine kurze Nachricht (nach dem ersten Fehler, höchstens alle 6 Stunden). Aus: Fehler stehen nur im Ausführungsprotokoll. Eine Aufgabe kann dies in ihrem Formular für sich abschalten. Wirkt sofort. |
## Security
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_AIRGAPPED` | Isolierter Modus (ohne Internet) | `bool` | `0` | sofort | Verhindert, dass Agenten ins Internet gehen: Websuche, Seitenabruf und Anfragen erreichen nur interne Adressen und solche auf den Freigabelisten. Einschalten für geschlossene Netze ohne Außenzugang. |
| `AIHUMMER_AUDIT_RETENTION_DAYS` | Wie viele Tage das Aktionsprotokoll aufbewahrt wird | `int` | `0` | nach Neustart | Einträge im Überwachungsprotokoll und im Änderungsverlauf der Einstellungen, die älter sind, werden einmal täglich gelöscht. 0 oder leer – für immer aufbewahren. |
| `AIHUMMER_CORS_ORIGINS` | Zulässige CORS-Ursprünge | `list` | — | nach Neustart | Komma-getrennte Liste der zulässigen Ursprünge. Leer = CORS nicht zulässig (nur gleicher Ursprung). Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_CSP` | Content-Security-Policy-Header (Überschreibung) | `text` | — | nach Neustart | Überschreibt den Header CSP. Leer = eine sichere Standardeinstellung. Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_INBOUND_SECRET` | Schlüssel der Kanal-Plugins zum Server | `text` | — | nach Neustart | Verbundene Kanäle (Telegram, VK und andere) belegen damit, dass Nachrichten wirklich von ihnen stammen. Wird bei der Installation automatisch gesetzt – keine Änderung nötig. Ist er leer, lehnt der Server alle Kanäle ab, bis ein Schlüssel gesetzt ist. |
| `AIHUMMER_OPENAI_COMPAT_KEY` | OpenAI-kompatibler Eingang: statischer API-Schlüssel | `text` | — | nach Neustart | Ein gemeinsamer Schlüssel für Programme, die sich wie mit einem OpenAI-kompatiblen Dienst verbinden. Leer – der gemeinsame Schlüssel ist aus; Programme können persönliche Schlüssel von der Seite „API-Schlüssel“ verwenden. |
| `AIHUMMER_OPENAI_COMPAT_WORKSPACE` | OpenAI-kompatibler Eingang: Arbeitsbereichs-ID | `text` | — | nach Neustart | Arbeitsbereichs-ID, der die statische OpenAI-kompatible Authentifizierung zugeordnet ist. Leer = AIHUMMER_DEFAULT_WORKSPACE_ID. Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_REQUIRE_2FA` | 2FA erforderlich für Operatoren | `bool` | `0` | sofort | Erfordert einen zweiten Faktor (TOTP/passkey) für Operatoren. Wenn diese Option aktiviert ist, werden Betreiber ohne 2FA aufgefordert, diese sofort beim Anmelden einzurichten (ohne Blockierung, sodass der Eigentümer niemals ausgesperrt wird). Sofort angewendet. |
| `AIHUMMER_REQUIRE_SECURE` | Nur sichere (HTTPS/WSS) Verbindungen akzeptieren | `bool` | `0` | nach Neustart | Wenn diese Option aktiviert ist, werden einfache HTTP-Anfragen an HTTPS (für GET/HEAD) umgeleitet oder abgelehnt (403); Der Zugriff auf den lokalen Host ist immer gestattet, sodass der Betreiber nie ausgegrenzt wird. Berücksichtigt X-Forwarded-Proto von einem TLS-terminierenden Reverse-Proxy. Wird beim Start/nach dem Neustart angewendet. |
| `AIHUMMER_TRUSTED_PROXIES` | Vertrauenswürdige Proxys | `list` | — | sofort | Steht ein Proxy (nginx, Caddy, Load Balancer) vor dem Server, tragen Sie seine Adresse oder sein Netz kommagetrennt ein, z. B. 10.0.0.0/8. Dann sehen Aktionsprotokoll, IP-Freigabeliste und Schutz vor Passwortraten die echte Adresse des Besuchers. Leer – es zählt nur die Adresse der direkten Verbindung, und sie lässt sich nicht fälschen. |
## Tools
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_BROWSER_ALLOWED_HOSTNAMES` | Browser: Ausnahmen für private Hosts | `list` | — | sofort | Exakte Hostnamen, durch Kommas getrennt, ohne Platzhalter, URLs oder Ports. Zusätzliche private Ausnahmen für natives CDP auf eigenen Servern, getrennt von web_fetch. |
| `AIHUMMER_BROWSER_ALLOW_PRIVATE_NETWORK` | Browser: privates Netzwerk erlauben | `bool` | — | sofort | Leer behält die bisherige Regel; true oder false aktiviert geprüftes natives CDP. Privatzugriff nur auf eigenen Servern. Loopback, Link-Local und Metadaten bleiben gesperrt. |
| `AIHUMMER_BROWSER_PROFILE_SOCKET` | Steuerungssocket für Browserprofile | `text` | — | sofort | Optional. Leer lassen – das Gateway findet managed-profiles.sock des Browserdienstes selbst am Standardinstallationsort. Profile mit Website-Anmeldungen legen Sie unter Verbindungen → Browserprofile an. Keine URL und kein Pfad zu einem Quellprofil. |
| `AIHUMMER_CODE_EXEC` | Codeausführung durch den Agenten | `enum: off \\\| host \\\| sandbox` | `off` | sofort | Das Werkzeug des Agenten zur Codeausführung (code_exec). Standard ist «Aus». «Auf diesem Server»: Befehle laufen auf dem Server des Gateways; die Betriebssystem-Sandbox (bubblewrap) verbirgt die Geheimnisse der Installation, aber ein Agent im Modus «Keine Einschränkungen» sieht SSH-Schlüssel und kann außerhalb seines Ordners schreiben — nur für einen vertrauenswürdigen Server. «Nur in einer Sandbox»: immer in der Betriebssystem-Sandbox — Geheimnisse und Schlüssel sind verborgen, geschrieben wird nur in den Ordner des Agenten; ohne bubblewrap (oder ein Container-Abbild) lässt sich dieser Modus nicht speichern. Was jeder Agent ausführen darf, wird beim Agenten festgelegt: Agenten → Profil → Werkzeuge. |
| `AIHUMMER_CODE_EXEC_INTERPRETERS` | Code-exec-Interpreter (JSON) | `text` | — | sofort | JSON Objekt {language: path_to_binary}, z. B. {"python":"/usr/bin/python3"}. Leer = automatische Erkennung. |
| `AIHUMMER_CODE_EXEC_NET_PORTS` | Für Agentencode offene Netzwerkports | `list` | `53,80,443` | sofort | TCP-Ports, zu denen Agentencode in der Betriebssystem-Sandbox (Codeausführung und Zeitplanbefehle) Verbindungen aufbauen darf, durch Kommas getrennt. Standardmäßig 53, 80 und 443: DNS und Websites. Andere Dienste dieses Servers und seines lokalen Netzes (Datenbank, Admin-Panel, Browser, adb, lokale Modelle, Home Assistant) bleiben für Agentencode geschlossen. Ein aufgeführter Port ist an jeder Adresse offen, auch an diesem Server; fügen Sie also nur hinzu, was der Code braucht, etwa 22 für SSH. Schreiben Sie any, um die Beschränkung aufzuheben. Agenten im Modus «Keine Einschränkungen» sind nicht beschränkt. Erfordert Linux 6.7 oder neuer; ohne das gilt die Beschränkung nicht, und Agenten → Werkzeuge weist darauf hin. Gilt sofort. |
| `AIHUMMER_CODE_EXEC_READ_DIRS` | Für Agentencode lesbare Ordner | `list` | — | sofort | Ordner auf diesem Server, die Agentencode lesen darf: Codeausführung und Zeitplanbefehle in der Betriebssystem-Sandbox. Durch Kommas getrennt oder einer pro Zeile, zum Beispiel ~/reports. Sie können auch eine einzelne Datei angeben, zum Beispiel ~/scripts/report.py. Was hier geöffnet wird, sieht der Code aller Agenten; öffnen Sie also nur, was der Code braucht. Standardmäßig leer: In der Sandbox sieht Code nur den Ordner seines Agenten und die Systemordner; das Home-Verzeichnis des Gateway-Benutzers, die Daten der Installation, Ordner anderer Agenten, Schlüssel und Befehlsverlauf bleiben verborgen. Das Wurzelverzeichnis, das ganze Home-Verzeichnis, die Daten der Installation und Orte mit Schlüsseln können nicht geöffnet werden. Code kann in diese Ordner nicht schreiben. Gilt sofort. |
| `AIHUMMER_CODE_EXEC_SANDBOX_IMAGE` | Code-exec-Sandbox-Image | `text` | — | sofort | Optional, nur für «Nur in einer Sandbox»: ein Docker-Container-Abbild statt der Betriebssystem-Sandbox (kein Netzwerk, schreibgeschütztes Root, Limits); benötigt Docker auf dem Server. Leer = die Betriebssystem-Sandbox (bubblewrap). |
| `AIHUMMER_CODE_EXEC_TIMEOUT_SECONDS` | Zeitlimit für Codeausführung (Sekunden) | `int` | `1800` | sofort | Wie lange ein Agentenbefehl laufen darf, Hintergrundbefehle eingeschlossen: 10 Sekunden bis 24 Stunden. Ein Befehl, der nach 30 Sekunden nicht geantwortet hat, wird nicht abgebrochen, sondern läuft im Hintergrund weiter; der Agent prüft ihn mit dem Werkzeug process. Der Agent kann ein kürzeres Limit verlangen, nie ein längeres. |
| `AIHUMMER_DB_QUERY_DSN` | Datenbankverbindung für das Werkzeug „Datenbankabfrage“ | `text` | — | sofort | Verbindungszeichenfolge zu einer Datenbank, die der Agent lesen darf (nur lesen), z. B. postgres://reader:passwort@host/db. Verwenden Sie einen Benutzer mit minimalen Rechten – nicht den Eigentümer der Datenbank. Leer – das Werkzeug ist aus. |
| `AIHUMMER_FS_ROOT` | Dateisystem-Tool-Stamm | `text` | — | sofort | Der Ordner, in dem der Agent Serverdateien liest (filesystem_read; Agenten können keine Dateien schreiben). Leer = der ganze Server mit den Rechten des Gateway-Benutzers, außer seinen Geheimnissen: Installationseinstellungen (gateway.env), SSH/GPG-Schlüssel und Prozessumgebungen. Geben Sie einen Ordner an, um den Zugriff einzuschränken. |
| `AIHUMMER_HTTP_ALLOWLIST` | Adressen für HTTP-Anfragen des Agenten | `list` | — | sofort | Kommagetrennte Liste der Hosts, die das Werkzeug http_request erreichen darf. Leer = alle sind erlaubt, außer internen und privaten Adressen. |
| `AIHUMMER_HTTP_AUTH_JSON` | http_request-Authentifizierung (JSON) | `text` | — | sofort | JSON-Zuordnung von Host zu Autorisierungs-Headern für das Werkzeug http_request, damit Token nicht im Prompt gespeichert werden. Leer = ohne Autorisierung. |
| `AIHUMMER_MCP_SERVERS` | MCP Server (JSON) | `text` | — | sofort | JSON-Beschreibung der externen MCP-Server, deren Werkzeuge dem Agenten hinzugefügt werden. Leer = keine externen MCP. |
| `AIHUMMER_PROJECT_STUDIOS_PUBLIC_NETWORK` | Projektstudios: öffentliches Netzwerk | `bool` | `false` | sofort | Öffentliches HTTP(S) für gewählte Anbieter und ausdrücklich gestartete Modelldownloads erlauben. Private, lokale und Metadatenadressen bleiben gesperrt. Der Offlinebetrieb hat Vorrang. Wirkt sofort. |
| `AIHUMMER_SIDECAR_CLOAKBROWSER` | Browser für den Agenten (CloakBrowser) | `bool` | `0` | sofort | Anti-Erkennungs-Browser (CloakBrowser-, browser/computer-Tools). Was NICHT im Lieferumfang enthalten ist: Die Inclusion lädt das signierte Add-on herunter (~477 MiB, davon Chromium ~207 MiB) und installiert den Dienst auf dem Host. Der schwerste Sidecar – nur aktivieren, wenn der Agent Websites öffnen muss. |
| `AIHUMMER_SIDECAR_SEARXNG` | Websuche (SearXNG) | `bool` | `0` | sofort | Websuche (SearXNG-, web_search-Tool). NICHT im Paket enthalten: Durch Aktivieren wird das signierte Add-on heruntergeladen (~154 MiB) und der Dienst auf dem Host installiert. Durch Deaktivieren wird er gestoppt und Speicherplatz freigegeben. Die Installation erfolgt im Hintergrund und dauert einige Minuten; Der Status hier zeigt, was sich tatsächlich auf dem Server befindet. |
| `AIHUMMER_WEBFETCH_ALLOWLIST` | Websites, die der Agent öffnen darf | `list` | — | sofort | Kommagetrennte Liste der Domains, die das Werkzeug web_fetch erreichen darf. Leer = alle sind erlaubt, außer internen und privaten Adressen. |
| `AIHUMMER_WEB_SEARCH_LANGUAGE` | Websuche: Standardsprache der Ergebnisse | `text` | `auto` | sofort | Sprache der Ergebnisse, wenn der Agent keine angibt: ein Code wie ru, en oder de, oder auto, um sie aus der Anfrage zu erkennen (passt fast immer). Der Agent kann für eine einzelne Suche eine andere Sprache wählen. |
| `AIHUMMER_WEB_SEARCH_RESULTS` | Websuche: Ergebnisse pro Suche | `int` | `5` | sofort | Wie viele Ergebnisse eine Suche liefert, wenn der Agent keine Anzahl verlangt: 1 bis 10. Mehr Ergebnisse ergeben eine vollständigere Antwort, aber einen längeren Kontext. |
| `AIHUMMER_WEB_SEARCH_SOURCE` | Quelle der Websuche | `enum: auto \\\| searxng \\\| provider` | `auto` | sofort | Wo der Agent im Internet sucht (Werkzeug web_search). auto — SearXNG, wenn installiert, sonst die integrierte Suche des Modellanbieters. searxng — nur SearXNG: ohne es gibt es keine Suche. provider — die integrierte Suche des Anbieters, wo vorhanden, und SearXNG für andere Modelle. Integrierte Suche gibt es bei Codex (ChatGPT-Abo) und OpenAI (api.openai.com); GigaChat, YandexGPT und andere OpenAI-kompatible Modelle haben keine – ohne SearXNG suchen Agenten auf diesen Modellen nicht. Claude (api.anthropic.com und das Claude-Abo) nutzt die integrierte Suche von Anthropic; lehnt das Konto sie ab, schreibt das Gateway das ins Protokoll und bietet dem Agenten danach nur SearXNG an. Welche Agenten suchen dürfen, wird wie bisher in der Agentenkarte festgelegt. Gilt ab dem nächsten Zug. |
| `AIHUMMER_WEB_SEARCH_TIMEOUT_SECONDS` | Zeitlimit der Websuche (Sekunden) | `int` | `30` | sofort | 1–600 Sekunden je Suche. Eine kürzere Aufgabenfrist gilt weiterhin. |
## Updates
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_RESTART_APPLY` | Einstellungen anwenden, die einen Neustart brauchen | `enum: quiet \\\| manual` | `quiet` | sofort | quiet (Standard) — gespeicherte Einstellungen, die erst mit einem neuen Start des Gateways wirken, werden von selbst angewendet: Das Gateway startet im nächsten ruhigen Moment neu, wenn die Agenten nichts tun und die Menschen mindestens das Stillefenster lang schweigen. manual — nur die Markierung „wartet auf Neustart“ und die Schaltfläche. Ein Neustart dauert wenige Sekunden; Gespräche und Aufgaben gehen nicht verloren. Wirkt sofort. |
| `AIHUMMER_RESTART_QUIET_MINUTES` | Ruhiger Moment: Minuten Stille vor einem automatischen Neustart | `int 0…1440` | `10` | sofort | Wie viele Minuten Menschen schweigen (und Agenten untätig sein) müssen, bevor das Gateway sich selbst neu startet, um gespeicherte Einstellungen anzuwenden. 0 — sobald die Agenten ihre laufende Arbeit beendet haben. 0–1440. Wirkt sofort. |
## Web UI (separate port)
| Schlüssel | Name | Typ | Standard | Wirksam ab | Wirkung |
| --- | --- | --- | --- | --- | --- |
| `AIHUMMER_WEBUI_API_BASE` | Serveradresse für eine separat gehostete Verwaltung | `text` | — | nach Neustart | Nur nötig, wenn die Verwaltung von einer anderen Adresse als der Server selbst geöffnet wird. Geben Sie die Adresse an, unter der der Browser den Server erreicht, z. B. https://api.example.com. Leer – die öffentliche Serveradresse wird verwendet, sonst die lokale. |
| `AIHUMMER_WEBUI_ENABLED` | Verwaltung auf eigenem Port | `bool` | `1` | nach Neustart | Ein – die Verwaltung öffnet sich auf einem eigenen internen Port, den Sie vom Internet abschotten können; der öffentliche Port bedient nur Apps und Kanäle. Ausschalten, um die Verwaltung ganz unerreichbar zu machen. |
| `AIHUMMER_WEBUI_ORIGIN` | Adresse, unter der die Verwaltung geöffnet wird | `text` | — | nach Neustart | Ausfüllen, wenn die Verwaltung über einen Proxy oder einen Namen geöffnet wird, der von der Portadresse abweicht, z. B. https://admin.example.com. Der Server erlaubt dann einem Browser von dieser Adresse den Zugriff. Leer – die Adresse des Verwaltungsports wird verwendet. |
Für den Betreiber verfügbare Einstellungen: 237.