Cette page énumère tous les paramètres que l’opérateur peut modifier sur un serveur AiHummer. Elle est générée à partir du catalogue du produit lui-même et correspond donc exactement à votre serveur.
La valeur se définit dans l’interface web ou avec la commande aihummer settings set KEY VALUE (Ligne de commande). La colonne de la valeur par défaut indique ce qu’utilise le serveur tant qu’aucune valeur propre n’est définie.
[!NOTE]
Les valeurs secrètes ne sont jamais imprimées ici et les clés de service de l’éditeur ne sont pas listées du tout : le produit les masque de toutes les listes. Un tiret signifie une valeur vide ou une explication affichée uniquement dans l’interface web.
API
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_PERSONAL_API_KEYS
Clés personnelles API pour OpenAI-compat
bool
1
“off” désactive l’authentification par clé personnelle sur le point de terminaison compatible OpenAI. Toute autre valeur = activé. Appliqué au démarrage/après le redémarrage.
Agent
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_APPROVAL_TOOLS
Outils nécessitant une approbation
text
—
—
AIHUMMER_SUBAGENT_MAX_DEPTH
Profondeur maximale du sous-agent
int
2
—
AIHUMMER_SUBAGENT_TIMEOUT_SEC
Délai d’expiration du sous-agent (secondes)
int
180
Durée maximale d’exécution d’un seul sous-agent, en secondes. Appliqué au démarrage/après redémarrage.
AIHUMMER_TOOL_SEARCH
Chargement paresseux des outils (tool_search)
bool
false
Annoncez uniquement les outils de base ainsi qu’un méta-outil de recherche et révélez le reste à la demande. Accélère les tours et réduit les coûts lorsque de nombreux outils sont installés, avec un faible risque que le modèle néglige un outil rarement utilisé.
AIHUMMER_TOOL_SEARCH_CORE
Chargement paresseux des outils : outils toujours actifs
text
—
Les noms d’outils séparés par des virgules sont annoncés dès le départ, même dans mode paresseux.
AIHUMMER_TOOL_SEARCH_THRESHOLD
Chargement paresseux des outils : minimum d’outils à différer
int
12
Différer uniquement lorsque plus d’outils survivent au filtre de profil de l’agent.
Agent · Reasoning
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_AGENT_BEST_OF_N
Échantillons Best-of-N (0/1=off, ≥2=on) ≥2=on)
int
0
≥2 échantillonne N candidats et juge les meilleurs. Coûte N× génération.
AIHUMMER_AGENT_DEBATE_JUDGE_PROMPT
Débat : invite du juge (remplacement)
text
—
Remplace l’invite du juge de débat (vide = intégré). Appliqué au démarrage/après redémarrage.
AIHUMMER_AGENT_DEBATE_N
Taille du panel de débat (0/1=off, ≥2=on)
int
0
≥2 anime un panel de débat de N candidats + juge. Coûte N× génération.
AIHUMMER_AGENT_DEBATE_PROMPT
Débat : invite du candidat (remplacement)
text
—
Remplace l’invite du candidat au débat (vide = intégré). Appliqué au démarrage/après redémarrage.
AIHUMMER_AGENT_DEBATE_ROUNDS
Débat : tours
int
1
Nombre de tours de débat pour le panel de candidats. Appliqué au démarrage/après le redémarrage.
AIHUMMER_AGENT_JUDGE_PROMPT
Invite de juge du meilleur des N (remplacement)
text
—
Remplace l’invite du juge best-of-N (vide = intégré). Appliqué au démarrage/après le redémarrage.
AIHUMMER_AGENT_PLAN_PROMPT
Invite du planificateur (remplacement)
text
—
Remplace l’invite du planificateur (vide = intégré). Appliqué au démarrage/après le redémarrage.
AIHUMMER_AGENT_PLAN_STEPS
Planificateur-exécuteur : étapes maximales du plan (0=éteint)
int
0
⟩0 exécute une passe distincte de planificateur → exécuteur → synthèse (idéale pour les tâches complexes en plusieurs étapes). 0 désactive. Typiquement 4 à 8.
AIHUMMER_AGENT_PLAN_STEP_ITERS
Planificateur : itérations de l’outil par étape (0=par défaut)
int
0
Limite les itérations d’appel d’outils par étape du plan. 0 = valeur par défaut intégrée (4).
AIHUMMER_AGENT_REFLECT
Réussite d’autocritique
bool
0
Ajoute une passe de réflexion/autocritique avant la réponse finale.
AIHUMMER_AGENT_REFLECT_PROMPT
Invite de réflexion (remplacement)
text
—
Remplace l’invite d’autocritique (vide = intégré). Appliqué au démarrage/après le redémarrage.
AIHUMMER_AGENT_SELF_HEAL
Nouvelles tentatives d’erreur de l’outil d’auto-réparation (0=off)
int
0
⟩0 nouvelle tentative d’appel d’outil ayant échoué avec un indice correctif, jusqu’à cette limite.
Agent · System prompt
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_LOCALE
Paramètres régionaux par défaut
text
ru-RU
Langue de réponse/indication locale par défaut, par ex. ru-RU. Les instructions du personnage/de l’opérateur remplacent.
AIHUMMER_TIMEZONE
Fuseau horaire
text
UTC
IANA fuseau horaire pour l’injection de date, par ex. Europe/Moscou. Par défaut UTC.
Channels
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_CONFIDENTIAL_PERSONA
Personnage Web confidentiel
bool
0
Lorsque cette option est activée, l’agent de chat Web ne divulguera pas ou ne conservera pas ses détails de personnalité/identité et conservera les réponses à la tâche en cours : utilisez-le pour des déploiements Web anonymes ou sensibles à la confidentialité. Appliqué au démarrage/après le redémarrage.
AIHUMMER_INBOUND_REQUIRE_BINDING
Répondre uniquement aux utilisateurs provisionnés
text
true
true = le bot ignore tout expéditeur de canal qui est NOT un utilisateur AiHummer provisionné (un utilisateur avec une liaison de rôle) — les membres aléatoires du chat et les invocations d’invités ne reçoivent aucune réponse. false (par défaut) = réponse à tout le monde.
Integrations
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_A2A_PUBLISH
Publier l’agent sur Agent2Agent (A2A)
bool
0
Publiez l’agent en tant que serveur A2A (Agent Card + POST /a2a/message). Appliqué au démarrage/après redémarrage.
AIHUMMER_MCP_EXPORT_TOOLS
—
text
—
—
AIHUMMER_MCP_PUBLISH
Publiez des outils sur MCP
bool
0
Publiez les outils en tant que serveur MCP sur POST /v1/mcp. Appliqué au démarrage/après le redémarrage.
Knowledge connectors
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_KB_SYNC_INTERVAL
Planifié intervalle de resynchronisation du connecteur (0/vide = désactivé)
text
—
Durée (par exemple 6 h, 30 min) pour la resynchronisation automatique en arrière-plan de chaque connecteur de connaissances configuré dans tous les espaces de travail. Vide/0 = désactivé. La resynchronisation est idempotente (remplacement par source, pas de doublons). slack_export est exclu (son zip est téléchargé manuellement). Appliqué au démarrage/après le redémarrage.
LLM
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_CASCADE_MIN_CHARS
Cascade : min de caractères à escalader
int
0
Seuil de longueur de requête (caractères) auquel le modèle de cascade le plus puissant entre en jeu. 0 = par défaut. Appliqué au démarrage/après le redémarrage.
AIHUMMER_CASCADE_STRONG_MODEL
Cascade : modèle de secours plus puissant
text
—
Modèle vers lequel cascader pour les requêtes longues/complexes (vide = désactivé). Appliqué au démarrage/après le redémarrage.
AIHUMMER_CODEX_BASE_URL
Base Codex URL
text
—
Base du transport Codex (abonnement ChatGPT). Appliqué au démarrage/après le redémarrage.
AIHUMMER_CODEX_MAX_OUTPUT_TOKENS
Jetons de sortie maximum (0 = pas de plafond)
int
0
Le plafond max_output_tokens pour un tour de discussion. 0 = pas de plafond. Sur les modèles de raisonnement, les jetons de raisonnement comptent également dans ce budget, donc une valeur trop petite donne une réponse vide « incomplète : max_output_tokens ». Appliqué à la volée (pas de redémarrage).
AIHUMMER_CODEX_MODEL
Identifiant du modèle (transport Codex / gpt-5.5)
text
gpt-5.5
ID de modèle du transport Codex/ChatGPT principal (par exemple gpt-5.5, gpt-5.5-codex). Appliqué au démarrage/après le redémarrage.
AIHUMMER_CODEX_REASONING_EFFORT
Effort de raisonnement
enum: none \| low \| medium \| high \| xhigh
low
La profondeur de raisonnement du modèle pour le chat change lorsque les paramètres de l’agent ne la définissent pas. Valeurs gpt-5.5 valides : aucune, faible, moyenne, élevée, xélevée (NOT minimale – gpt-5.5 le rejette avec HTTP 400). Plus élevé = meilleure qualité mais plus lent/plus cher. Une valeur non valide est forcée à un niveau bas en toute sécurité. Appliqué à la volée (pas de redémarrage).
AIHUMMER_LLM_CALL_TIMEOUT_S
Délai d’expiration par appel (secondes)
int
120
Budget de temps pour un appel de modèle SINGLE (anti-décrochage : gpt-5.5 peut « penser » indéfiniment et maintenir le tour ouvert). À l’expiration, l’appel échoue avec ErrCallTimeout sans nouvelle tentative. 0 = aucune limite. Appliqué à la volée (pas de redémarrage).
AIHUMMER_LLM_GATEWAY_URL
LLM passerelle URL
text
—
Base URL du point de terminaison du modèle compatible OpenAI que l’agent appelle (votre serveur local lama.cpp/vLLM/Ollama ou une passerelle hébergée). Laissez vide pour utiliser le point de terminaison par défaut du fournisseur.
AIHUMMER_LLM_MODEL
LLM modèle
text
—
Le nom/identifiant du modèle envoyé au fournisseur à chaque tour (le modèle servi par votre point de terminaison). Doit correspondre à un modèle que le point de terminaison expose réellement.
AIHUMMER_LLM_PROVIDER
LLM fournisseur
text
—
Quel modèle de backend utiliser (un point de terminaison compatible OpenAI ou le transport d’abonnement Codex/ChatGPT). Décide de la manière dont les requêtes sont envoyées et authentifiées.
AIHUMMER_LLM_RETRIES
LLM nouvelles tentatives en cas d’erreur transitoire
int
3
Nombre de tentatives de requête LLM sur une erreur passagère. Appliqué au démarrage/après redémarrage.
AIHUMMER_LLM_TEMPERATURE
Température
text
—
Température d’échantillonnage (0..2) lorsque les paramètres de l’agent ne la définissent pas. Vide = ne pas envoyer. NOTE : les modèles de raisonnement gpt-5.5 (Codex) rejettent la température — laissez le champ vide pour eux ; définissez-le uniquement lorsque vous utilisez un backend sans raisonnement. Appliqué à la volée (pas de redémarrage).
AIHUMMER_LLM_TOP_P
Top-p (échantillonnage du noyau)
text
—
Seuil d’échantillonnage du noyau (0..1) lorsque les paramètres de l’agent ne le définissent pas. Vide = ne pas envoyer. Comme la température, le raisonnement gpt-5.5 le rejette – définissez-le uniquement pour les backends sans raisonnement. Appliqué à la volée (pas de redémarrage).
AIHUMMER_OPENAI_API
Style OpenAI API (chat | réponses)
enum: \| chat \| responses
—
chat = /chat/completions, réponses = /responses. Vide = automatique/par défaut. Appliqué au démarrage/après le redémarrage.
AIHUMMER_OPENAI_API_KEY
Clé OpenAI native API (déploiement par défaut)
text
—
Votre clé de compte OpenAI pour la boucle OpenAI native (si vous utilisez OpenAI comme fournisseur par défaut). À ne pas confondre avec BYOK par espace de travail sur la page Modèles. Appliqué au démarrage/après le redémarrage.
AIHUMMER_OPENAI_BASE_URL
Base OpenAI native URL
text
—
Base du API compatible OpenAI (par exemple https://api.openai.com/v1). Appliqué au démarrage/après le redémarrage.
AIHUMMER_OPENAI_MODEL
Modèle OpenAI natif
text
—
Modèle pour la boucle OpenAI native (lorsque AIHUMMER_OPENAI_API_KEY est défini). Appliqué au démarrage/après le redémarrage.
AIHUMMER_ROUTER_COMPLEX_MODEL
Routeur : modèle pour virages complexes
text
—
Modèle pour requêtes complexes (vide = bande désactivée). Appliqué au démarrage/après redémarrage.
AIHUMMER_ROUTER_SIMPLE_MODEL
Routeur : modèle pour virages simples
text
—
Modèle pour requêtes simples (vide = bande désactivée). Appliqué au démarrage/après redémarrage.
AIHUMMER_ROUTER_STANDARD_MODEL
Routeur : modèle pour virages standards
text
—
Modèle pour les requêtes standards (vide = bande désactivée). Appliqué au démarrage/après le redémarrage.
Media
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_DEEPGRAM_API_KEY
Clé Deepgram API
text
—
Clé Deepgram API (moteur STT = deepgram). Tiré d’ici ou de AIHUMMER_STT_API_KEY. Appliqué au démarrage/après redémarrage.
AIHUMMER_DEEPGRAM_MODEL
Modèle Deepgram
text
nova-2
Modèle Deepgram (par exemple nova-2, nova-3, base). Cela dépend de l’accès du projet à la clé. Appliqué au démarrage/après redémarrage.
Base des /images API lorsque vous travaillez via une clé OpenAI (vierge = https://api.openai.com/v1). Appliqué au démarrage/après le redémarrage.
AIHUMMER_IMAGE_MODEL
Génération d’images modèle
text
—
Modèle pour image_generate (gpt-image-2 par défaut). Appliqué au démarrage/après le redémarrage.
AIHUMMER_MEDIA_MAX_UPLOAD_MB
Taille maximale de téléchargement du média (Mo)
int
256
Taille maximale d’un seul téléchargement de média (PUT /v1/media/{id}/content), en mégaoctets. Limite les écritures sur le disque via le port public (protection contre les débordements). Par défaut 256. Appliqué au démarrage/après redémarrage.
AIHUMMER_STT_API_KEY
STT API clé (facultatif)
text
—
Porteur facultatif si le side-car STT en nécessite un (install.sh peut le générer). Appliqué au démarrage/après redémarrage.
AIHUMMER_STT_CODEX_URL
STT codex-engine URL
text
—
Base des /v1/audio/transcriptions compatibles OpenAI pour le moteur codex (transcription via l’abonnement ChatGPT). Vide = la base du Codex. Le porteur est tiré de AIHUMMER_STT_API_KEY ou AIHUMMER_CODEX_ACCESS_TOKEN. Appliqué au démarrage/après redémarrage.
AIHUMMER_STT_ENGINE
Moteur STT
enum: faster-whisper \| deepgram \| off
faster-whisper
Moteur de reconnaissance vocale. plus rapide-whisper = side-car local gratuit (par défaut, livré prêt à l’emploi, URL = AIHUMMER_STT_URL, aucune charge sur les API tierces). deepgram = cloud Deepgram (rapide, clé AIHUMMER_DEEPGRAM_API_KEY, payé avec un niveau gratuit). off = reconnaissance désactivée. (L’abonnement Codex/ChatGPT NOT prend en charge la transcription audio.) Appliqué au démarrage/après le redémarrage.
AIHUMMER_STT_LANGUAGE
STT langue
text
—
Langage de reconnaissance (BCP-47, par exemple ru/en). Utilisé par le moteur deepgram (modèle nova-2). Vide = détection automatique / moteur par défaut. Appliqué au démarrage/après le redémarrage.
AIHUMMER_STT_MODEL
STT modèle
text
Systran/faster-whisper-small
modèle plus rapide (par exemple petit/moyen/grand-v3 ou Systran/faster-whisper-⟨size⟩). Appliqué au démarrage/après le redémarrage.
AIHUMMER_STT_URL
Speech-to-text (chuchotement plus rapide) URL
text
—
URL du side-car local à chuchotement plus rapide (compatible OpenAI /v1/audio/transcriptions). Vide = http://127.0.0.1:8001, par défaut automatique que install.sh se définit. Appliqué au démarrage/après le redémarrage.
AIHUMMER_TTS_API_KEY
TTS API clé (edge-tts)
text
—
Porteur entre la passerelle et le side-car edge-tts (install.sh le génère automatiquement). Appliqué au démarrage/après redémarrage.
AIHUMMER_TTS_ENABLED
Synthèse vocale activée
bool
1
Active la synthèse vocale (l’outil tts + mode vocal). Le side-car Edge-TTS est livré prêt à l’emploi. Appliqué au démarrage/après redémarrage.
AIHUMMER_TTS_MODEL
Modèle TTS
text
—
Nom du modèle pour le service edge-tts. Appliqué au démarrage/après redémarrage.
AIHUMMER_TTS_URL
Synthèse vocale (edge-tts) URL
text
—
URL du side-car edge-tts local (compatible OpenAI /v1/audio/speech). Vide = http://127.0.0.1:8002, par défaut automatique que install.sh se définit. Appliqué au démarrage/après redémarrage.
Voix Edge-tts par défaut (multilingue, y compris le russe). Appliqué au démarrage/après le redémarrage.
AIHUMMER_VIDEO_API_KEY
Clé d’analyse vidéo API
text
—
Clé d’accès au side-car d’analyse vidéo (si nécessaire). Appliqué au démarrage/après redémarrage.
AIHUMMER_VIDEO_URL
Analyse vidéo (ffmpeg) URL
text
—
URL du side-car d’analyse vidéo. Vide = désactivé. Appliqué au démarrage/après redémarrage.
Media · Voice
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_VOICE_AEC
Annulation d’écho (AEC)
bool
1
Exiger echoCancellation lors de la capture (WebRTC). Supprime l’écho TTS dans le microphone (Moltis #1129).
AIHUMMER_VOICE_AGC
Auto contrôle de gain
bool
1
—
AIHUMMER_VOICE_BARGEIN_FRAMES
Cadres d’intervention
int
5
Combien d’images vocales consécutives (≈20 ms) interrompent la lecture du robot.
AIHUMMER_VOICE_DUPLEX
Voix full-duplex en direct
bool
0
Active le mode full-duplex en direct (streaming + VAD + intervention). Appliqué au démarrage/après le redémarrage.
AIHUMMER_VOICE_NOISE_SUPPRESSION
Suppression du bruit
bool
1
—
AIHUMMER_VOICE_VAD_THRESHOLD
VAD seuil d’énergie (0..1)
text
0.02
Seuil d’énergie vocale pour le déclenchement VAD de la capture ; inférieur = plus sensible.
Memory
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_EMBEDDER_DIM
Dim du vecteur d’intégration
int
768
Dimension vectorielle : doit correspondre au modèle (multilingual-e5-base=768, bge-m3=1024).
AIHUMMER_EMBEDDER_KEEPALIVE
Maintenir la vie intégrée
text
5m
keep_alive pour l’intégration Ollama (uniquement lorsque AIHUMMER_MEMORY_RETRIEVAL=intégration). Par défaut 5 m — un modèle inactif est déchargé et un coureur ollama inactif bloqué se dégage. -1 (à conserver pour toujours) est NOT recommandé : en raison d’un bug ollama, un coureur bloqué peut ancrer un noyau CPU pendant des jours. Le démarrage à froid après le ralenti est compensé par un échauffement au démarrage de la passerelle. Appliqué au démarrage/après redémarrage.
AIHUMMER_EMBEDDER_MODEL
Modèle d’intégration
text
yxchia/multilingual-e5-base
Modèle d’intégration Ollama. Base multilingue-e5 par défaut — multilingue (y compris le russe), 768-dim, léger + rapide sur CPU (~ 1-2 s/intégration). Les préfixes de requête/passage e5 sont appliqués automatiquement. Pour une qualité maximale sur le matériel GPU, utilisez bge-m3 (définissez DIM=1024). Doit correspondre à AIHUMMER_EMBEDDER_DIM.
AIHUMMER_EMBEDDER_PASSAGE_PREFIX
Préfixe de passage d’intégration
text
—
Remplacez le préfixe du document stocké (les modèles e5 utilisent automatiquement “passage : “). Laissez vide pour une détection automatique par nom de modèle.
AIHUMMER_EMBEDDER_QUERY_PREFIX
Préfixe de requête d’intégration
text
—
Remplacez le préfixe de requête de récupération (les modèles e5 utilisent automatiquement “query:”). Laissez vide pour une détection automatique par nom de modèle.
AIHUMMER_EMBEDDER_URL
Intégration URL (compatible Ollama)
text
—
Véritables intégrations sémantiques. L’installateur provisionne un side-car Ollama et le configure automatiquement ; UNSET = intégrateur de hachage (lexical uniquement, rappel faible).
AIHUMMER_MEMORY_CAPTURE
Mode de capture de mémoire
enum: auto \| review \| off
auto
auto = mémorisation + rappel automatique ; révision = mémoriser en tant que candidats ayant besoin d’une approbation manuelle ; off = pas de capture.
AIHUMMER_MEMORY_CONTEXT_TIMEOUT
Délai d’hydratation de la mémoire
text
3s
Attente maximale d’hydratation de la mémoire au début d’une réponse (intégration de requête + recherche). Si l’intégrateur est surchargé et ne respecte pas le délai, la réponse continue WITHOUT le bloc de mémoire au lieu de se bloquer. Allez au format de durée (par exemple 2s, 1500ms). 0 = aucune limite. Appliqué au démarrage/après le redémarrage.
AIHUMMER_MEMORY_DREAM_INTERVAL
Intervalle de réussite des rêves
string
1h
À quelle fréquence les analyses de passe de rêve auto-entretenues ont examiné les réclamations pour détecter les contradictions dans toutes les portées (durée Go, par exemple 30 m/1h/6h). Définissez 0 pour désactiver.
AIHUMMER_MEMORY_EXTRACT
LLM extraction des faits
bool
1
Extraire les faits normalisés sur le sujet/prédicat/objet via LLM (activé par défaut) au lieu de stocker des fragments de phrases bruts - requis pour que la machinerie graphique/contradiction/rêve se déclenche. Ajoute un appel LLM par message capturé ; partez pour enregistrer l’appel.
AIHUMMER_MEMORY_RETRIEVAL
Mode de récupération de mémoire
enum: fulltext \| embedding
fulltext
Comment la mémoire est recherchée. fulltext (par défaut) = Recherche en texte intégral Postgres sur le texte des faits — AUCUN modèle d’intégration, pas de side-car, pas de charge CPU (comme le vieil einstein dans AiHummer). embedding = recherche de vecteur sémantique via un embedder (AIHUMMER_EMBEDDER_URL/ollama) — plus précis dans son sens, mais charge le CPU et nécessite un side-car. Appliqué au démarrage/après redémarrage.
AIHUMMER_MEMORY_TOKEN
Jeton de service de mémoire distante
text
—
Jeton de service à autoriser avec la récupération Einstein API (envoyé comme autorisation : porteur …). Nécessaire uniquement lorsque AIHUMMER_MEMORY_URL est défini. Vide = aucune autorisation (uniquement pour les installations de développement avec l’authentification de récupération désactivée).
AIHUMMER_MEMORY_URL
Mémoire distante URL (plug-in Einstein)
text
—
URL du plugin de mémoire Einstein autonome (contrat aihummer.memory.v1, par exemple http://127.0.0.1:8820). BLANK (par défaut) = le module de mémoire Go en cours. Lorsqu’elle est définie, l’hydratation du contexte de tour passe par HTTP vers le /context + /retrieval; on du plugin erreur/indisponibilité, il revient doucement au module intégré (pas de crash). Appliqué au démarrage/après le redémarrage.
AIHUMMER_QDRANT_API_KEY
Clé Qdrant API
text
—
—
AIHUMMER_QDRANT_URL
Qdrant URL (magasin de vecteurs durable)
text
—
UNSET = magasin en mémoire (vecteurs LOST au redémarrage). Défini pour la durabilité de la production.
AIHUMMER_RERANKER_URL
RAG side-car de reclassement URL
text
—
HTTP URL du side-car cross-encoder pour le reclassement de la recherche hybride. Vide = reclassement. Appliqué au démarrage/après redémarrage.
Moderation
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_MODERATION
Modération des entrées
bool
1
“off” désactive la protection intégrée contre le jailbreak/l’injection d’invite. Toute autre valeur = activée au démarrage/après le redémarrage.
AIHUMMER_MODERATION_REFUSAL
Message de refus de modération
text
—
Texte de refus renvoyé lorsque le modérateur bloque une requête (vide = intégré Appliqué). au démarrage/après le redémarrage.
Public access
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_PUBLIC_URL
Passerelle publique URL (interface utilisateur Web + clients)
text
—
Proxyez cet hôte → le port de la passerelle (AIHUMMER_GATEWAY_ADDR, par défaut :8780). Utilisé par l’interface Web et les clients iOS/web.
POCKET_AGENT_GATEWAY_BASE_URL
URL publique de la passerelle pocket-agent
text
—
Proxy → le port de passerelle de l’agent de poche (POCKET_AGENT_PORT, par défaut 8080).
TELEGRAM_PUBLIC_URL
Webhook Telegram public URL
text
—
Mode Webhook uniquement — proxy → le port du connecteur de télégramme (AIHUMMER_TELEGRAM_CONNECTOR_PORT, par défaut 8091). public URL nécessaire).
SSO (LDAP/AD)
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_LDAP_BASE_DN
DN de base de recherche d’utilisateur
text
—
Rechercher la racine, par ex. OU=Users,DC=corp,DC=example.
AIHUMMER_LDAP_BIND_DN
DN de liaison de service
text
—
Compte utilisé pour la liaison de recherche initiale, par ex. CN=svc-aihummer,OU=Service,DC=corp,DC=exemple. Vide = recherche anonyme.
AIHUMMER_LDAP_DEFAULT_ROLE
LDAP : rôle par défaut (aucune correspondance de groupe)
text
—
Rôle accordé lorsqu’aucun groupe ne correspond à un mappage. Vide = aucun rôle.
AIHUMMER_LDAP_ENABLED
Activer la connexion LDAP/AD
bool
0
Lorsque cette option est activée, les connexions d’administrateur reviennent au répertoire. Le mot de passe de liaison se trouve dans Secrets (portée ldap, nom bind_password).
AIHUMMER_LDAP_GROUP_ATTR
Attribut de groupe (par défaut memberOf)
text
—
Attribut sur les DN du groupe de liste d’entrées utilisateur. Le blanc désactive le mappage groupe → rôle.
AIHUMMER_LDAP_ROLE_MAPPINGS
LDAP : groupe → mappages de rôles (JSON)
text
—
JSON objet du DN du groupe (ou CN nu) → rôle, par ex. {“CN=Admins,OU=Groups,DC=corp,DC=example”:“admin”,“Operators”:“operator”}.
AIHUMMER_LDAP_SKIP_TLS_VERIFY
Ignorer la vérification TLS (laboratoire uniquement, 1/0)
bool
0
Désactive la vérification du certificat d’annuaire. Ne jamais activer en production.
AIHUMMER_LDAP_URL
Répertoire URL
text
—
par ex. ldaps://ad.corp.example:636 (TLS) ou ldap://dc1.corp.example:389.
AIHUMMER_LDAP_USER_ATTR
Attribut de connexion (sAMAccountName par défaut)
text
—
L’attribut LDAP/Active Directory correspond à la connexion que l’utilisateur tape (sAMAccountName par défaut ; uid pour OpenLDAP, userPrincipalName pour les connexions de style UPN).
AIHUMMER_LDAP_USER_FILTER
Filtre de recherche d’utilisateur
text
—
Doit contenir %s pour la connexion. AD : (sAMAccountName=%s); OpenLDAP : (uid=%s).
SSO (OIDC)
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_OIDC_AUDIENCE
OIDC audience
text
—
Réclamation aud attendue — définissez cette valeur sur l’audience de la ressource THIS pour rejeter les jetons émis pour une autre partie utilisatrice. La réclamation aud est désormais REQUIRED sur chaque jeton par défaut (un jeton sans aud est rejeté lorsque cela est défini, aud doit également le contenir) ; production.
AIHUMMER_OIDC_ISSUER
OIDC émetteur URL
text
—
L’émetteur IdP (par exemple, https://login.example.com). active l’authentification OIDC JWT lorsqu’il est défini.
AIHUMMER_OIDC_JWKS_URL
URL JWKS de l’OIDC
text
—
JSON Point de terminaison de l’ensemble de clés Web utilisé pour vérifier les signatures de jetons.
AIHUMMER_OIDC_TENANT_CLAIM
OIDC revendication d’espace de travail
text
—
JWT revendication portant l’identifiant de l’espace de travail (par exemple, tenant_id / org).
SSO (SAML)
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_SAML_DEFAULT_ROLE
SAML : rôle par défaut (aucun groupe correspondance)
text
—
Rôle accordé lorsqu’aucune valeur affirmée ne correspond. Vide = aucun rôle.
AIHUMMER_SAML_ENABLED
Activer SAML 2.0 SSO
bool
0
Expose /saml/metadata, /saml/acs, /saml/login. La clé privée du SP se trouve dans Secrets (portée saml, nom sp_key).
AIHUMMER_SAML_ENTITY_ID
ID d’entité SP
text
—
ID d’entité SP (par défaut ⟨root⟩/saml/metadata si vide).
AIHUMMER_SAML_IDP_METADATA
Métadonnées IdP XML
text
—
Collez le document de métadonnées SAML de l’IdP (Okta/Azure AD/ADFS).
AIHUMMER_SAML_ROLE_ATTRIBUTE
Attribut rôle/groupe (groupes par défaut)
text
—
Attribut d’assertion portant des valeurs de groupe/rôle.
AIHUMMER_SAML_ROLE_MAPPINGS
SAML : mappages groupe→rôle (JSON)
text
—
JSON objet de valeur affirmée → rôle, par ex. {“AdminGroup”:“admin”,“Ops”:“operator”}.
AIHUMMER_SAML_ROOT_URL
Racine SP URL
text
—
Base accessible de l’extérieur URL de cette passerelle, par ex. https://app.example.com. ACS = ⟨root⟩/saml/acs.
AIHUMMER_SAML_SP_CERT
Certificat SP (PEM)
text
—
Certificat de signature du SP public (PEM). La clé privée correspondante va dans Secrets (portée saml, nom sp_key).
Security
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_AIRGAPPED
Mode Air-gapped
bool
0
Bloque la sortie basée sur un modèle vers l’Internet public (hôtes internes/liste autorisée uniquement). Appliqué au démarrage/après le redémarrage.
AIHUMMER_AUDIT_RETENTION_DAYS
Conservation du journal d’audit (jours, 0 = pour toujours)
int
0
Combien de jours conserver le journal d’audit ; les entrées plus anciennes sont supprimées quotidiennement. 0/vide = conserver pour toujours. Appliqué au démarrage/après redémarrage.
AIHUMMER_CODE_EXEC_ALLOW_HOST
Autoriser code_exec sur l’hôte (PAS de sandbox)
bool
0
⚠️ Autoriser l’exécution de code directement sur l’hôte sans bac à sable. Pour un homelab de confiance uniquement. Il est plus sûr de définir AIHUMMER_CODE_EXEC_SANDBOX_IMAGE. Appliqué au démarrage/après le redémarrage.
AIHUMMER_CORS_ORIGINS
Origines CORS autorisées (virgule)
text
—
Liste des origines autorisées, séparées par des virgules. Vide = CORS non autorisé (même origine uniquement). Appliqué au démarrage/après le redémarrage.
AIHUMMER_CSP
En-tête Content-Security-Policy (remplacement)
text
—
Remplace l’en-tête CSP. Vide = valeur par défaut sûre. Appliquée au démarrage/après redémarrage.
AIHUMMER_INBOUND_SECRET
Connecteur→passerelle partagée secret
text
—
Secret partagé authentifiant le connecteur→passerelle (doit correspondre à la valeur côté connecteur). Vide = le point de terminaison entrant est UNAUTHENTICATED. Appliqué au démarrage/après le redémarrage.
AIHUMMER_OPENAI_COMPAT_KEY
Entrant compatible OpenAI : clé API statique
text
—
Clé statique que les clients compatibles OpenAI utilisent pour s’authentifier auprès du point de terminaison /v1 intégré de la passerelle (passerelle domestique P8). Vide = authentification statique désactivée (les clés personnelles restent). Appliqué au démarrage/après le redémarrage.
AIHUMMER_OPENAI_COMPAT_WORKSPACE
Entrant compatible OpenAI : identifiant de l’espace de travail
text
—
Identifiant de l’espace de travail auquel l’authentification statique compatible OpenAI est mappée. Vide = AIHUMMER_DEFAULT_WORKSPACE_ID. Appliqué au démarrage/après redémarrage.
AIHUMMER_REQUIRE_2FA
Exiger 2FA pour les opérateurs
bool
0
Exiger un deuxième facteur (TOTP/passkey) pour les opérateurs. Lorsque cette option est activée, les opérateurs sans 2FA sont invités à le configurer immédiatement lors de la connexion (sans blocage, afin que le propriétaire ne soit jamais verrouillé). Appliqué immédiatement.
AIHUMMER_REQUIRE_SECURE
Accepter uniquement les connexions sécurisées (HTTPS/WSS)
bool
0
Lorsque cette option est activée, les requêtes simples HTTP sont redirigées vers HTTPS (pour GET/HEAD) ou rejetées (403) ; L’accès localhost est toujours autorisé afin que l’opérateur ne soit jamais clôturé. Honore X-Forwarded-Proto à partir d’un proxy inverse se terminant par TLS. Appliqué au démarrage/après redémarrage.
AIHUMMER_TRUSTED_PROXIES
CIDR de proxy inverse de confiance (virgule)
text
—
Liste de réseaux proxy inverses de confiance, séparés par des virgules (CIDR, par exemple 10.0.0.0/8,192.168.0.0/16, ou adresses IP uniques). Uniquement pour les requêtes COMING provenant de ces adresses, l’en-tête X-Forwarded-For est utilisé pour déterminer l’adresse IP du client (audit, liste blanche d’adresses IP, anti-force brute). Vide = faire confiance à ONLY la véritable adresse homologue (XFF ignorée, usurpation d’adresse IP impossible). Appliqué à la volée.
Tools
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_CODE_EXEC
Activer code_exec
bool
0
—
AIHUMMER_CODE_EXEC_INTERPRETERS
Interpréteurs d’exécution de code (JSON)
text
—
JSON objet {language: path_to_binary}, par ex. {“python”:“/usr/bin/python3”}. Vide = détection automatique. Appliqué au démarrage/après redémarrage.
AIHUMMER_CODE_EXEC_SANDBOX_IMAGE
Image sandbox d’exécution de code
text
—
Image de conteneur pour isoler code_exec (pas de réseau, rootfs en lecture seule, limites). Vide = host-exec (environnement de confiance). Appliqué au démarrage/après le redémarrage.
AIHUMMER_DB_QUERY_DSN
db_query DSN (utilisez un rôle de moindre privilège et non-propriétaire — les requêtes sont exécutées RLS avec une portée limitée à l’utilisateur agissant espace de travail)
text
—
—
AIHUMMER_FS_ROOT
Racine de l’outil de système de fichiers
text
—
—
AIHUMMER_HTTP_ALLOWLIST
liste autorisée http_request
text
—
—
AIHUMMER_HTTP_AUTH_JSON
http_request auth (JSON)
text
—
—
AIHUMMER_MCP_SERVERS
Serveurs MCP (JSON)
text
—
—
AIHUMMER_WEBFETCH_ALLOWLIST
liste autorisée web_fetch
text
—
—
Web UI (separate port)
Clé
Nom
Type
Par défaut
Rôle
AIHUMMER_WEBUI_API_BASE
API base URL les appels de l’interface utilisateur Web
text
—
Origine absolue (par exemple, https://api.example.com) les cibles SPA hébergées séparément pour les appels /v1/admin/*. Vide = revenir à la passerelle publique URL, puis à l’adresse de la passerelle locale. Doit être accessible depuis le navigateur de l’administrateur ; le API doit autoriser cette interface utilisateur Web. origine via CORS (ajouté automatiquement ci-dessous).
AIHUMMER_WEBUI_ENABLED
Servir l’interface utilisateur Web de l’administrateur sur son propre port
bool
1
Activé par défaut : l’administrateur SPA est servi au niveau du ROOT d’un écouteur distinct (AIHUMMER_WEBUI_ADDR) qui peut être lié à une interface uniquement interne. Le port de la passerelle principale conserve API + appairage + WS + SSE et NOT sert /admin/. Définissez sur 0 pour désactiver complètement l’écouteur de l’interface utilisateur Web.
AIHUMMER_WEBUI_ORIGIN
Origine du navigateur de l’interface utilisateur Web (CORS)
text
—
Origine du navigateur de l’interface utilisateur Web (par exemple, https://admin.example.com), ajouté automatiquement à la liste blanche API CORS avec les informations d’identification. Vide = dérivé de AIHUMMER_WEBUI_ADDR (http://host:port). Définissez cette valeur lorsque le navigateur atteint l’interface utilisateur Web via un proxy/nom d’hôte différent de l’adresse de liaison.
Paramètres accessibles à l’opérateur : 138.
Cette page énumère tous les paramètres que l'opérateur peut modifier sur un serveur AiHummer. Elle est générée à partir du catalogue du produit lui-même et correspond donc exactement à votre serveur.
La valeur se définit dans l'interface web ou avec la commande `aihummer settings set KEY VALUE` ([Ligne de commande](/fr/v1.0/reference/cli)). La colonne de la valeur par défaut indique ce qu'utilise le serveur tant qu'aucune valeur propre n'est définie.
> [!NOTE]
> Les valeurs secrètes ne sont jamais imprimées ici et les clés de service de l'éditeur ne sont pas listées du tout : le produit les masque de toutes les listes. Un tiret signifie une valeur vide ou une explication affichée uniquement dans l'interface web.
## API
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_PERSONAL_API_KEYS` | Clés personnelles API pour OpenAI-compat | bool | `1` | "off" désactive l'authentification par clé personnelle sur le point de terminaison compatible OpenAI. Toute autre valeur = activé. Appliqué au démarrage/après le redémarrage. |
## Agent
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_APPROVAL_TOOLS` | Outils nécessitant une approbation | text | — | — |
| `AIHUMMER_SUBAGENT_MAX_DEPTH` | Profondeur maximale du sous-agent | int | `2` | — |
| `AIHUMMER_SUBAGENT_TIMEOUT_SEC` | Délai d'expiration du sous-agent (secondes) | int | `180` | Durée maximale d'exécution d'un seul sous-agent, en secondes. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_TOOL_SEARCH` | Chargement paresseux des outils (tool_search) | bool | `false` | Annoncez uniquement les outils de base ainsi qu'un méta-outil de recherche et révélez le reste à la demande. Accélère les tours et réduit les coûts lorsque de nombreux outils sont installés, avec un faible risque que le modèle néglige un outil rarement utilisé. |
| `AIHUMMER_TOOL_SEARCH_CORE` | Chargement paresseux des outils : outils toujours actifs | text | — | Les noms d'outils séparés par des virgules sont annoncés dès le départ, même dans mode paresseux. |
| `AIHUMMER_TOOL_SEARCH_THRESHOLD` | Chargement paresseux des outils : minimum d'outils à différer | int | `12` | Différer uniquement lorsque plus d'outils survivent au filtre de profil de l'agent. |
## Agent · Reasoning
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_AGENT_BEST_OF_N` | Échantillons Best-of-N (0/1=off, ≥2=on) ≥2=on) | int | `0` | ≥2 échantillonne N candidats et juge les meilleurs. Coûte N× génération. |
| `AIHUMMER_AGENT_DEBATE_JUDGE_PROMPT` | Débat : invite du juge (remplacement) | text | — | Remplace l'invite du juge de débat (vide = intégré). Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_AGENT_DEBATE_N` | Taille du panel de débat (0/1=off, ≥2=on) | int | `0` | ≥2 anime un panel de débat de N candidats + juge. Coûte N× génération. |
| `AIHUMMER_AGENT_DEBATE_PROMPT` | Débat : invite du candidat (remplacement) | text | — | Remplace l'invite du candidat au débat (vide = intégré). Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_AGENT_DEBATE_ROUNDS` | Débat : tours | int | `1` | Nombre de tours de débat pour le panel de candidats. Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_AGENT_JUDGE_PROMPT` | Invite de juge du meilleur des N (remplacement) | text | — | Remplace l'invite du juge best-of-N (vide = intégré). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_AGENT_PLAN_PROMPT` | Invite du planificateur (remplacement) | text | — | Remplace l'invite du planificateur (vide = intégré). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_AGENT_PLAN_STEPS` | Planificateur-exécuteur : étapes maximales du plan (0=éteint) | int | `0` | ⟩0 exécute une passe distincte de planificateur → exécuteur → synthèse (idéale pour les tâches complexes en plusieurs étapes). 0 désactive. Typiquement 4 à 8. |
| `AIHUMMER_AGENT_PLAN_STEP_ITERS` | Planificateur : itérations de l'outil par étape (0=par défaut) | int | `0` | Limite les itérations d'appel d'outils par étape du plan. 0 = valeur par défaut intégrée (4). |
| `AIHUMMER_AGENT_REFLECT` | Réussite d'autocritique | bool | `0` | Ajoute une passe de réflexion/autocritique avant la réponse finale. |
| `AIHUMMER_AGENT_REFLECT_PROMPT` | Invite de réflexion (remplacement) | text | — | Remplace l'invite d'autocritique (vide = intégré). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_AGENT_SELF_HEAL` | Nouvelles tentatives d'erreur de l'outil d'auto-réparation (0=off) | int | `0` | ⟩0 nouvelle tentative d'appel d'outil ayant échoué avec un indice correctif, jusqu'à cette limite. |
## Agent · System prompt
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_LOCALE` | Paramètres régionaux par défaut | text | `ru-RU` | Langue de réponse/indication locale par défaut, par ex. ru-RU. Les instructions du personnage/de l'opérateur remplacent. |
| `AIHUMMER_TIMEZONE` | Fuseau horaire | text | `UTC` | IANA fuseau horaire pour l'injection de date, par ex. Europe/Moscou. Par défaut UTC. |
## Channels
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_CONFIDENTIAL_PERSONA` | Personnage Web confidentiel | bool | `0` | Lorsque cette option est activée, l'agent de chat Web ne divulguera pas ou ne conservera pas ses détails de personnalité/identité et conservera les réponses à la tâche en cours : utilisez-le pour des déploiements Web anonymes ou sensibles à la confidentialité. Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_INBOUND_REQUIRE_BINDING` | Répondre uniquement aux utilisateurs provisionnés | text | `true` | true = le bot ignore tout expéditeur de canal qui est NOT un utilisateur AiHummer provisionné (un utilisateur avec une liaison de rôle) — les membres aléatoires du chat et les invocations d'invités ne reçoivent aucune réponse. false (par défaut) = réponse à tout le monde. |
## Integrations
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_A2A_PUBLISH` | Publier l'agent sur Agent2Agent (A2A) | bool | `0` | Publiez l'agent en tant que serveur A2A (Agent Card + POST /a2a/message). Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_MCP_EXPORT_TOOLS` | — | text | — | — |
| `AIHUMMER_MCP_PUBLISH` | Publiez des outils sur MCP | bool | `0` | Publiez les outils en tant que serveur MCP sur POST /v1/mcp. Appliqué au démarrage/après le redémarrage. |
## Knowledge connectors
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_KB_SYNC_INTERVAL` | Planifié intervalle de resynchronisation du connecteur (0/vide = désactivé) | text | — | Durée (par exemple 6 h, 30 min) pour la resynchronisation automatique en arrière-plan de chaque connecteur de connaissances configuré dans tous les espaces de travail. Vide/0 = désactivé. La resynchronisation est idempotente (remplacement par source, pas de doublons). slack_export est exclu (son zip est téléchargé manuellement). Appliqué au démarrage/après le redémarrage. |
## LLM
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_CASCADE_MIN_CHARS` | Cascade : min de caractères à escalader | int | `0` | Seuil de longueur de requête (caractères) auquel le modèle de cascade le plus puissant entre en jeu. 0 = par défaut. Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_CASCADE_STRONG_MODEL` | Cascade : modèle de secours plus puissant | text | — | Modèle vers lequel cascader pour les requêtes longues/complexes (vide = désactivé). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_CODEX_BASE_URL` | Base Codex URL | text | — | Base du transport Codex (abonnement ChatGPT). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_CODEX_MAX_OUTPUT_TOKENS` | Jetons de sortie maximum (0 = pas de plafond) | int | `0` | Le plafond max_output_tokens pour un tour de discussion. 0 = pas de plafond. Sur les modèles de raisonnement, les jetons de raisonnement comptent également dans ce budget, donc une valeur trop petite donne une réponse vide « incomplète : max_output_tokens ». Appliqué à la volée (pas de redémarrage). |
| `AIHUMMER_CODEX_MODEL` | Identifiant du modèle (transport Codex / gpt-5.5) | text | `gpt-5.5` | ID de modèle du transport Codex/ChatGPT principal (par exemple gpt-5.5, gpt-5.5-codex). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_CODEX_REASONING_EFFORT` | Effort de raisonnement | enum: none \\\| low \\\| medium \\\| high \\\| xhigh | `low` | La profondeur de raisonnement du modèle pour le chat change lorsque les paramètres de l'agent ne la définissent pas. Valeurs gpt-5.5 valides : aucune, faible, moyenne, élevée, xélevée (NOT minimale – gpt-5.5 le rejette avec HTTP 400). Plus élevé = meilleure qualité mais plus lent/plus cher. Une valeur non valide est forcée à un niveau bas en toute sécurité. Appliqué à la volée (pas de redémarrage). |
| `AIHUMMER_LLM_CALL_TIMEOUT_S` | Délai d'expiration par appel (secondes) | int | `120` | Budget de temps pour un appel de modèle SINGLE (anti-décrochage : gpt-5.5 peut « penser » indéfiniment et maintenir le tour ouvert). À l'expiration, l'appel échoue avec ErrCallTimeout sans nouvelle tentative. 0 = aucune limite. Appliqué à la volée (pas de redémarrage). |
| `AIHUMMER_LLM_GATEWAY_URL` | LLM passerelle URL | text | — | Base URL du point de terminaison du modèle compatible OpenAI que l'agent appelle (votre serveur local lama.cpp/vLLM/Ollama ou une passerelle hébergée). Laissez vide pour utiliser le point de terminaison par défaut du fournisseur. |
| `AIHUMMER_LLM_MODEL` | LLM modèle | text | — | Le nom/identifiant du modèle envoyé au fournisseur à chaque tour (le modèle servi par votre point de terminaison). Doit correspondre à un modèle que le point de terminaison expose réellement. |
| `AIHUMMER_LLM_PROVIDER` | LLM fournisseur | text | — | Quel modèle de backend utiliser (un point de terminaison compatible OpenAI ou le transport d'abonnement Codex/ChatGPT). Décide de la manière dont les requêtes sont envoyées et authentifiées. |
| `AIHUMMER_LLM_RETRIES` | LLM nouvelles tentatives en cas d'erreur transitoire | int | `3` | Nombre de tentatives de requête LLM sur une erreur passagère. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_LLM_TEMPERATURE` | Température | text | — | Température d'échantillonnage (0..2) lorsque les paramètres de l'agent ne la définissent pas. Vide = ne pas envoyer. NOTE : les modèles de raisonnement gpt-5.5 (Codex) rejettent la température — laissez le champ vide pour eux ; définissez-le uniquement lorsque vous utilisez un backend sans raisonnement. Appliqué à la volée (pas de redémarrage). |
| `AIHUMMER_LLM_TOP_P` | Top-p (échantillonnage du noyau) | text | — | Seuil d'échantillonnage du noyau (0..1) lorsque les paramètres de l'agent ne le définissent pas. Vide = ne pas envoyer. Comme la température, le raisonnement gpt-5.5 le rejette – définissez-le uniquement pour les backends sans raisonnement. Appliqué à la volée (pas de redémarrage). |
| `AIHUMMER_OPENAI_API` | Style OpenAI API (chat \| réponses) | enum: \\\| chat \\\| responses | — | chat = /chat/completions, réponses = /responses. Vide = automatique/par défaut. Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_OPENAI_API_KEY` | Clé OpenAI native API (déploiement par défaut) | text | — | Votre clé de compte OpenAI pour la boucle OpenAI native (si vous utilisez OpenAI comme fournisseur par défaut). À ne pas confondre avec BYOK par espace de travail sur la page Modèles. Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_OPENAI_BASE_URL` | Base OpenAI native URL | text | — | Base du API compatible OpenAI (par exemple https://api.openai.com/v1). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_OPENAI_MODEL` | Modèle OpenAI natif | text | — | Modèle pour la boucle OpenAI native (lorsque AIHUMMER_OPENAI_API_KEY est défini). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_ROUTER_COMPLEX_MODEL` | Routeur : modèle pour virages complexes | text | — | Modèle pour requêtes complexes (vide = bande désactivée). Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_ROUTER_SIMPLE_MODEL` | Routeur : modèle pour virages simples | text | — | Modèle pour requêtes simples (vide = bande désactivée). Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_ROUTER_STANDARD_MODEL` | Routeur : modèle pour virages standards | text | — | Modèle pour les requêtes standards (vide = bande désactivée). Appliqué au démarrage/après le redémarrage. |
## Media
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_DEEPGRAM_API_KEY` | Clé Deepgram API | text | — | Clé Deepgram API (moteur STT = deepgram). Tiré d'ici ou de AIHUMMER_STT_API_KEY. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_DEEPGRAM_MODEL` | Modèle Deepgram | text | `nova-2` | Modèle Deepgram (par exemple nova-2, nova-3, base). Cela dépend de l'accès du projet à la clé. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_DEEPGRAM_URL` | Base Deepgram URL | text | — | Base Deepgram API. Vide = https://api.deepgram.com. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_IMAGE_BASE_URL` | Image API base URL (OpenAI repli) | text | — | Base des /images API lorsque vous travaillez via une clé OpenAI (vierge = https://api.openai.com/v1). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_IMAGE_MODEL` | Génération d'images modèle | text | — | Modèle pour image_generate (gpt-image-2 par défaut). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_MEDIA_MAX_UPLOAD_MB` | Taille maximale de téléchargement du média (Mo) | int | `256` | Taille maximale d'un seul téléchargement de média (PUT /v1/media/{id}/content), en mégaoctets. Limite les écritures sur le disque via le port public (protection contre les débordements). Par défaut 256. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_STT_API_KEY` | STT API clé (facultatif) | text | — | Porteur facultatif si le side-car STT en nécessite un (install.sh peut le générer). Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_STT_CODEX_URL` | STT codex-engine URL | text | — | Base des /v1/audio/transcriptions compatibles OpenAI pour le moteur codex (transcription via l'abonnement ChatGPT). Vide = la base du Codex. Le porteur est tiré de AIHUMMER_STT_API_KEY ou AIHUMMER_CODEX_ACCESS_TOKEN. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_STT_ENGINE` | Moteur STT | enum: faster-whisper \\\| deepgram \\\| off | `faster-whisper` | Moteur de reconnaissance vocale. plus rapide-whisper = side-car local gratuit (par défaut, livré prêt à l'emploi, URL = AIHUMMER_STT_URL, aucune charge sur les API tierces). deepgram = cloud Deepgram (rapide, clé AIHUMMER_DEEPGRAM_API_KEY, payé avec un niveau gratuit). off = reconnaissance désactivée. (L'abonnement Codex/ChatGPT NOT prend en charge la transcription audio.) Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_STT_LANGUAGE` | STT langue | text | — | Langage de reconnaissance (BCP-47, par exemple ru/en). Utilisé par le moteur deepgram (modèle nova-2). Vide = détection automatique / moteur par défaut. Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_STT_MODEL` | STT modèle | text | `Systran/faster-whisper-small` | modèle plus rapide (par exemple petit/moyen/grand-v3 ou Systran/faster-whisper-⟨size⟩). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_STT_URL` | Speech-to-text (chuchotement plus rapide) URL | text | — | URL du side-car local à chuchotement plus rapide (compatible OpenAI /v1/audio/transcriptions). Vide = http://127.0.0.1:8001, par défaut automatique que install.sh se définit. Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_TTS_API_KEY` | TTS API clé (edge-tts) | text | — | Porteur entre la passerelle et le side-car edge-tts (install.sh le génère automatiquement). Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_TTS_ENABLED` | Synthèse vocale activée | bool | `1` | Active la synthèse vocale (l'outil tts + mode vocal). Le side-car Edge-TTS est livré prêt à l'emploi. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_TTS_MODEL` | Modèle TTS | text | — | Nom du modèle pour le service edge-tts. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_TTS_URL` | Synthèse vocale (edge-tts) URL | text | — | URL du side-car edge-tts local (compatible OpenAI /v1/audio/speech). Vide = http://127.0.0.1:8002, par défaut automatique que install.sh se définit. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_TTS_VOICE` | Voix TTS (par défaut de-DE-FlorianMultilingualNeural) | text | `de-DE-FlorianMultilingualNeural` | Voix Edge-tts par défaut (multilingue, y compris le russe). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_VIDEO_API_KEY` | Clé d'analyse vidéo API | text | — | Clé d'accès au side-car d'analyse vidéo (si nécessaire). Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_VIDEO_URL` | Analyse vidéo (ffmpeg) URL | text | — | URL du side-car d'analyse vidéo. Vide = désactivé. Appliqué au démarrage/après redémarrage. |
## Media · Voice
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_VOICE_AEC` | Annulation d'écho (AEC) | bool | `1` | Exiger echoCancellation lors de la capture (WebRTC). Supprime l'écho TTS dans le microphone (Moltis #1129). |
| `AIHUMMER_VOICE_AGC` | Auto contrôle de gain | bool | `1` | — |
| `AIHUMMER_VOICE_BARGEIN_FRAMES` | Cadres d'intervention | int | `5` | Combien d'images vocales consécutives (≈20 ms) interrompent la lecture du robot. |
| `AIHUMMER_VOICE_DUPLEX` | Voix full-duplex en direct | bool | `0` | Active le mode full-duplex en direct (streaming + VAD + intervention). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_VOICE_NOISE_SUPPRESSION` | Suppression du bruit | bool | `1` | — |
| `AIHUMMER_VOICE_VAD_THRESHOLD` | VAD seuil d'énergie (0..1) | text | `0.02` | Seuil d'énergie vocale pour le déclenchement VAD de la capture ; inférieur = plus sensible. |
## Memory
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_EMBEDDER_DIM` | Dim du vecteur d'intégration | int | `768` | Dimension vectorielle : doit correspondre au modèle (multilingual-e5-base=768, bge-m3=1024). |
| `AIHUMMER_EMBEDDER_KEEPALIVE` | Maintenir la vie intégrée | text | `5m` | keep_alive pour l'intégration Ollama (uniquement lorsque AIHUMMER_MEMORY_RETRIEVAL=intégration). Par défaut 5 m — un modèle inactif est déchargé et un coureur ollama inactif bloqué se dégage. -1 (à conserver pour toujours) est NOT recommandé : en raison d'un bug ollama, un coureur bloqué peut ancrer un noyau CPU pendant des jours. Le démarrage à froid après le ralenti est compensé par un échauffement au démarrage de la passerelle. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_EMBEDDER_MODEL` | Modèle d'intégration | text | `yxchia/multilingual-e5-base` | Modèle d'intégration Ollama. Base multilingue-e5 par défaut — multilingue (y compris le russe), 768-dim, léger + rapide sur CPU (~ 1-2 s/intégration). Les préfixes de requête/passage e5 sont appliqués automatiquement. Pour une qualité maximale sur le matériel GPU, utilisez bge-m3 (définissez DIM=1024). Doit correspondre à AIHUMMER_EMBEDDER_DIM. |
| `AIHUMMER_EMBEDDER_PASSAGE_PREFIX` | Préfixe de passage d'intégration | text | — | Remplacez le préfixe du document stocké (les modèles e5 utilisent automatiquement "passage : "). Laissez vide pour une détection automatique par nom de modèle. |
| `AIHUMMER_EMBEDDER_QUERY_PREFIX` | Préfixe de requête d'intégration | text | — | Remplacez le préfixe de requête de récupération (les modèles e5 utilisent automatiquement "query:"). Laissez vide pour une détection automatique par nom de modèle. |
| `AIHUMMER_EMBEDDER_URL` | Intégration URL (compatible Ollama) | text | — | Véritables intégrations sémantiques. L'installateur provisionne un side-car Ollama et le configure automatiquement ; UNSET = intégrateur de hachage (lexical uniquement, rappel faible). |
| `AIHUMMER_MEMORY_CAPTURE` | Mode de capture de mémoire | enum: auto \\\| review \\\| off | `auto` | auto = mémorisation + rappel automatique ; révision = mémoriser en tant que candidats ayant besoin d'une approbation manuelle ; off = pas de capture. |
| `AIHUMMER_MEMORY_CONTEXT_TIMEOUT` | Délai d'hydratation de la mémoire | text | `3s` | Attente maximale d'hydratation de la mémoire au début d'une réponse (intégration de requête + recherche). Si l'intégrateur est surchargé et ne respecte pas le délai, la réponse continue WITHOUT le bloc de mémoire au lieu de se bloquer. Allez au format de durée (par exemple 2s, 1500ms). 0 = aucune limite. Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_MEMORY_DREAM_INTERVAL` | Intervalle de réussite des rêves | string | `1h` | À quelle fréquence les analyses de passe de rêve auto-entretenues ont examiné les réclamations pour détecter les contradictions dans toutes les portées (durée Go, par exemple 30 m/1h/6h). Définissez 0 pour désactiver. |
| `AIHUMMER_MEMORY_EXTRACT` | LLM extraction des faits | bool | `1` | Extraire les faits normalisés sur le sujet/prédicat/objet via LLM (activé par défaut) au lieu de stocker des fragments de phrases bruts - requis pour que la machinerie graphique/contradiction/rêve se déclenche. Ajoute un appel LLM par message capturé ; partez pour enregistrer l'appel. |
| `AIHUMMER_MEMORY_RETRIEVAL` | Mode de récupération de mémoire | enum: fulltext \\\| embedding | `fulltext` | Comment la mémoire est recherchée. fulltext (par défaut) = Recherche en texte intégral Postgres sur le texte des faits — AUCUN modèle d'intégration, pas de side-car, pas de charge CPU (comme le vieil einstein dans AiHummer). embedding = recherche de vecteur sémantique via un embedder (AIHUMMER_EMBEDDER_URL/ollama) — plus précis dans son sens, mais charge le CPU et nécessite un side-car. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_MEMORY_TOKEN` | Jeton de service de mémoire distante | text | — | Jeton de service à autoriser avec la récupération Einstein API (envoyé comme autorisation : porteur …). Nécessaire uniquement lorsque AIHUMMER_MEMORY_URL est défini. Vide = aucune autorisation (uniquement pour les installations de développement avec l'authentification de récupération désactivée). |
| `AIHUMMER_MEMORY_URL` | Mémoire distante URL (plug-in Einstein) | text | — | URL du plugin de mémoire Einstein autonome (contrat aihummer.memory.v1, par exemple http://127.0.0.1:8820). BLANK (par défaut) = le module de mémoire Go en cours. Lorsqu'elle est définie, l'hydratation du contexte de tour passe par HTTP vers le /context + /retrieval; on du plugin erreur/indisponibilité, il revient doucement au module intégré (pas de crash). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_QDRANT_API_KEY` | Clé Qdrant API | text | — | — |
| `AIHUMMER_QDRANT_URL` | Qdrant URL (magasin de vecteurs durable) | text | — | UNSET = magasin en mémoire (vecteurs LOST au redémarrage). Défini pour la durabilité de la production. |
| `AIHUMMER_RERANKER_URL` | RAG side-car de reclassement URL | text | — | HTTP URL du side-car cross-encoder pour le reclassement de la recherche hybride. Vide = reclassement. Appliqué au démarrage/après redémarrage. |
## Moderation
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_MODERATION` | Modération des entrées | bool | `1` | "off" désactive la protection intégrée contre le jailbreak/l'injection d'invite. Toute autre valeur = activée au démarrage/après le redémarrage. |
| `AIHUMMER_MODERATION_REFUSAL` | Message de refus de modération | text | — | Texte de refus renvoyé lorsque le modérateur bloque une requête (vide = intégré Appliqué). au démarrage/après le redémarrage. |
## Public access
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_PUBLIC_URL` | Passerelle publique URL (interface utilisateur Web + clients) | text | — | Proxyez cet hôte → le port de la passerelle (AIHUMMER_GATEWAY_ADDR, par défaut :8780). Utilisé par l'interface Web et les clients iOS/web. |
| `POCKET_AGENT_GATEWAY_BASE_URL` | URL publique de la passerelle pocket-agent | text | — | Proxy → le port de passerelle de l'agent de poche (POCKET_AGENT_PORT, par défaut 8080). |
| `TELEGRAM_PUBLIC_URL` | Webhook Telegram public URL | text | — | Mode Webhook uniquement — proxy → le port du connecteur de télégramme (AIHUMMER_TELEGRAM_CONNECTOR_PORT, par défaut 8091). public URL nécessaire). |
## SSO (LDAP/AD)
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_LDAP_BASE_DN` | DN de base de recherche d'utilisateur | text | — | Rechercher la racine, par ex. OU=Users,DC=corp,DC=example. |
| `AIHUMMER_LDAP_BIND_DN` | DN de liaison de service | text | — | Compte utilisé pour la liaison de recherche initiale, par ex. CN=svc-aihummer,OU=Service,DC=corp,DC=exemple. Vide = recherche anonyme. |
| `AIHUMMER_LDAP_DEFAULT_ROLE` | LDAP : rôle par défaut (aucune correspondance de groupe) | text | — | Rôle accordé lorsqu'aucun groupe ne correspond à un mappage. Vide = aucun rôle. |
| `AIHUMMER_LDAP_ENABLED` | Activer la connexion LDAP/AD | bool | `0` | Lorsque cette option est activée, les connexions d'administrateur reviennent au répertoire. Le mot de passe de liaison se trouve dans Secrets (portée ldap, nom bind_password). |
| `AIHUMMER_LDAP_GROUP_ATTR` | Attribut de groupe (par défaut memberOf) | text | — | Attribut sur les DN du groupe de liste d'entrées utilisateur. Le blanc désactive le mappage groupe → rôle. |
| `AIHUMMER_LDAP_ROLE_MAPPINGS` | LDAP : groupe → mappages de rôles (JSON) | text | — | JSON objet du DN du groupe (ou CN nu) → rôle, par ex. {"CN=Admins,OU=Groups,DC=corp,DC=example":"admin","Operators":"operator"}. |
| `AIHUMMER_LDAP_SKIP_TLS_VERIFY` | Ignorer la vérification TLS (laboratoire uniquement, 1/0) | bool | `0` | Désactive la vérification du certificat d'annuaire. Ne jamais activer en production. |
| `AIHUMMER_LDAP_URL` | Répertoire URL | text | — | par ex. ldaps://ad.corp.example:636 (TLS) ou ldap://dc1.corp.example:389. |
| `AIHUMMER_LDAP_USER_ATTR` | Attribut de connexion (sAMAccountName par défaut) | text | — | L'attribut LDAP/Active Directory correspond à la connexion que l'utilisateur tape (sAMAccountName par défaut ; uid pour OpenLDAP, userPrincipalName pour les connexions de style UPN). |
| `AIHUMMER_LDAP_USER_FILTER` | Filtre de recherche d'utilisateur | text | — | Doit contenir %s pour la connexion. AD : (sAMAccountName=%s); OpenLDAP : (uid=%s). |
## SSO (OIDC)
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_OIDC_AUDIENCE` | OIDC audience | text | — | Réclamation `aud` attendue — définissez cette valeur sur l'audience de la ressource THIS pour rejeter les jetons émis pour une autre partie utilisatrice. La réclamation `aud` est désormais REQUIRED sur chaque jeton par défaut (un jeton sans aud est rejeté lorsque cela est défini, aud doit également le contenir) ; production. |
| `AIHUMMER_OIDC_ISSUER` | OIDC émetteur URL | text | — | L'émetteur IdP (par exemple, https://login.example.com). active l'authentification OIDC JWT lorsqu'il est défini. |
| `AIHUMMER_OIDC_JWKS_URL` | URL JWKS de l'OIDC | text | — | JSON Point de terminaison de l'ensemble de clés Web utilisé pour vérifier les signatures de jetons. |
| `AIHUMMER_OIDC_TENANT_CLAIM` | OIDC revendication d'espace de travail | text | — | JWT revendication portant l'identifiant de l'espace de travail (par exemple, tenant_id / org). |
## SSO (SAML)
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_SAML_DEFAULT_ROLE` | SAML : rôle par défaut (aucun groupe correspondance) | text | — | Rôle accordé lorsqu'aucune valeur affirmée ne correspond. Vide = aucun rôle. |
| `AIHUMMER_SAML_ENABLED` | Activer SAML 2.0 SSO | bool | `0` | Expose /saml/metadata, /saml/acs, /saml/login. La clé privée du SP se trouve dans Secrets (portée saml, nom sp_key). |
| `AIHUMMER_SAML_ENTITY_ID` | ID d'entité SP | text | — | ID d'entité SP (par défaut ⟨root⟩/saml/metadata si vide). |
| `AIHUMMER_SAML_IDP_METADATA` | Métadonnées IdP XML | text | — | Collez le document de métadonnées SAML de l'IdP (Okta/Azure AD/ADFS). |
| `AIHUMMER_SAML_ROLE_ATTRIBUTE` | Attribut rôle/groupe (groupes par défaut) | text | — | Attribut d'assertion portant des valeurs de groupe/rôle. |
| `AIHUMMER_SAML_ROLE_MAPPINGS` | SAML : mappages groupe→rôle (JSON) | text | — | JSON objet de valeur affirmée → rôle, par ex. {"AdminGroup":"admin","Ops":"operator"}. |
| `AIHUMMER_SAML_ROOT_URL` | Racine SP URL | text | — | Base accessible de l'extérieur URL de cette passerelle, par ex. https://app.example.com. ACS = ⟨root⟩/saml/acs. |
| `AIHUMMER_SAML_SP_CERT` | Certificat SP (PEM) | text | — | Certificat de signature du SP public (PEM). La clé privée correspondante va dans Secrets (portée saml, nom sp_key). |
## Security
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_AIRGAPPED` | Mode Air-gapped | bool | `0` | Bloque la sortie basée sur un modèle vers l'Internet public (hôtes internes/liste autorisée uniquement). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_AUDIT_RETENTION_DAYS` | Conservation du journal d'audit (jours, 0 = pour toujours) | int | `0` | Combien de jours conserver le journal d'audit ; les entrées plus anciennes sont supprimées quotidiennement. 0/vide = conserver pour toujours. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_CODE_EXEC_ALLOW_HOST` | Autoriser code_exec sur l'hôte (PAS de sandbox) | bool | `0` | ⚠️ Autoriser l'exécution de code directement sur l'hôte sans bac à sable. Pour un homelab de confiance uniquement. Il est plus sûr de définir AIHUMMER_CODE_EXEC_SANDBOX_IMAGE. Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_CORS_ORIGINS` | Origines CORS autorisées (virgule) | text | — | Liste des origines autorisées, séparées par des virgules. Vide = CORS non autorisé (même origine uniquement). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_CSP` | En-tête Content-Security-Policy (remplacement) | text | — | Remplace l'en-tête CSP. Vide = valeur par défaut sûre. Appliquée au démarrage/après redémarrage. |
| `AIHUMMER_INBOUND_SECRET` | Connecteur→passerelle partagée secret | text | — | Secret partagé authentifiant le connecteur→passerelle (doit correspondre à la valeur côté connecteur). Vide = le point de terminaison entrant est UNAUTHENTICATED. Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_OPENAI_COMPAT_KEY` | Entrant compatible OpenAI : clé API statique | text | — | Clé statique que les clients compatibles OpenAI utilisent pour s'authentifier auprès du point de terminaison /v1 intégré de la passerelle (passerelle domestique P8). Vide = authentification statique désactivée (les clés personnelles restent). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_OPENAI_COMPAT_WORKSPACE` | Entrant compatible OpenAI : identifiant de l'espace de travail | text | — | Identifiant de l'espace de travail auquel l'authentification statique compatible OpenAI est mappée. Vide = AIHUMMER_DEFAULT_WORKSPACE_ID. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_REQUIRE_2FA` | Exiger 2FA pour les opérateurs | bool | `0` | Exiger un deuxième facteur (TOTP/passkey) pour les opérateurs. Lorsque cette option est activée, les opérateurs sans 2FA sont invités à le configurer immédiatement lors de la connexion (sans blocage, afin que le propriétaire ne soit jamais verrouillé). Appliqué immédiatement. |
| `AIHUMMER_REQUIRE_SECURE` | Accepter uniquement les connexions sécurisées (HTTPS/WSS) | bool | `0` | Lorsque cette option est activée, les requêtes simples HTTP sont redirigées vers HTTPS (pour GET/HEAD) ou rejetées (403) ; L'accès localhost est toujours autorisé afin que l'opérateur ne soit jamais clôturé. Honore X-Forwarded-Proto à partir d’un proxy inverse se terminant par TLS. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_TRUSTED_PROXIES` | CIDR de proxy inverse de confiance (virgule) | text | — | Liste de réseaux proxy inverses de confiance, séparés par des virgules (CIDR, par exemple 10.0.0.0/8,192.168.0.0/16, ou adresses IP uniques). Uniquement pour les requêtes COMING provenant de ces adresses, l'en-tête X-Forwarded-For est utilisé pour déterminer l'adresse IP du client (audit, liste blanche d'adresses IP, anti-force brute). Vide = faire confiance à ONLY la véritable adresse homologue (XFF ignorée, usurpation d'adresse IP impossible). Appliqué à la volée. |
## Tools
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_CODE_EXEC` | Activer code_exec | bool | `0` | — |
| `AIHUMMER_CODE_EXEC_INTERPRETERS` | Interpréteurs d'exécution de code (JSON) | text | — | JSON objet {language: path_to_binary}, par ex. {"python":"/usr/bin/python3"}. Vide = détection automatique. Appliqué au démarrage/après redémarrage. |
| `AIHUMMER_CODE_EXEC_SANDBOX_IMAGE` | Image sandbox d'exécution de code | text | — | Image de conteneur pour isoler code_exec (pas de réseau, rootfs en lecture seule, limites). Vide = host-exec (environnement de confiance). Appliqué au démarrage/après le redémarrage. |
| `AIHUMMER_DB_QUERY_DSN` | db_query DSN (utilisez un rôle de moindre privilège et non-propriétaire — les requêtes sont exécutées RLS avec une portée limitée à l'utilisateur agissant espace de travail) | text | — | — |
| `AIHUMMER_FS_ROOT` | Racine de l'outil de système de fichiers | text | — | — |
| `AIHUMMER_HTTP_ALLOWLIST` | liste autorisée http_request | text | — | — |
| `AIHUMMER_HTTP_AUTH_JSON` | http_request auth (JSON) | text | — | — |
| `AIHUMMER_MCP_SERVERS` | Serveurs MCP (JSON) | text | — | — |
| `AIHUMMER_WEBFETCH_ALLOWLIST` | liste autorisée web_fetch | text | — | — |
## Web UI (separate port)
| Clé | Nom | Type | Par défaut | Rôle |
| --- | --- | --- | --- | --- |
| `AIHUMMER_WEBUI_API_BASE` | API base URL les appels de l'interface utilisateur Web | text | — | Origine absolue (par exemple, https://api.example.com) les cibles SPA hébergées séparément pour les appels /v1/admin/*. Vide = revenir à la passerelle publique URL, puis à l'adresse de la passerelle locale. Doit être accessible depuis le navigateur de l'administrateur ; le API doit autoriser cette interface utilisateur Web. origine via CORS (ajouté automatiquement ci-dessous). |
| `AIHUMMER_WEBUI_ENABLED` | Servir l'interface utilisateur Web de l'administrateur sur son propre port | bool | `1` | Activé par défaut : l'administrateur SPA est servi au niveau du ROOT d'un écouteur distinct (AIHUMMER_WEBUI_ADDR) qui peut être lié à une interface uniquement interne. Le port de la passerelle principale conserve API + appairage + WS + SSE et NOT sert /admin/. Définissez sur 0 pour désactiver complètement l'écouteur de l'interface utilisateur Web. |
| `AIHUMMER_WEBUI_ORIGIN` | Origine du navigateur de l'interface utilisateur Web (CORS) | text | — | Origine du navigateur de l'interface utilisateur Web (par exemple, https://admin.example.com), ajouté automatiquement à la liste blanche API CORS avec les informations d'identification. Vide = dérivé de AIHUMMER_WEBUI_ADDR (http://host:port). Définissez cette valeur lorsque le navigateur atteint l'interface utilisateur Web via un proxy/nom d'hôte différent de l'adresse de liaison. |
Paramètres accessibles à l'opérateur : 138.