AiHummer-Konfiguration teilt sich auf in zwei strikt verschiedene Gruppen:
Bootstrap (gateway.env) — was das Tor wissen muss vor es kann
die Datenbank lesen: die Datenbank-DSN, Abhöradressen, statische Verzeichnisse,
der Generalschlüssel. Nur diese Schlüssel werden aus der Umgebung gelesen.
Einstellungen-Katalog (Datenbank) — jeden zweiten Knopf. Diese werden in der
Datenbank und in der Web-Admin-Benutzeroberfläche einstellen (Management → Einstellungen) oder mit
aihummer settings set <KEY> <VALUE>. Für diese
Tasten a gateway.env Wert ist absichtlich ignoriert — selbst wenn gesetzt, hat es
Keine Wirkung.
Konfigurationsmodell
gateway.env ist nur Bootstrap. Auflösungsreihenfolge:
Einstellungen-Katalogschlüssel: database value → built-in default
(die Umgebung wird ignoriert);
Bootstrap-Schlüssel: environment variable only.
Also ist die einzige zuverlässige Informationsquelle für einstellbare Regler die Datenbank (Web-Admin-UI / aihummer settings); die Umgebung enthält nur, was der Prozess zum Starten benötigt.
Die Konfigurationsdatei für eine host-native Installation befindet sich unter:
[!TIP]
Setzen Sie keine Einstellungs-Katalogknöpfe ein gateway.env — es hat keine Wirkung. Ändern
sie in der Web-Admin-Oberfläche (Verwaltung → Einstellungen, es gibt eine Suche) oder über
aihummer settings set. Einige Änderungen (wie Werkzeugumschalter und Unteragent
Tiefe) heiß anwenden; andere erfordern einen Neustart des Dienstes.
Bootstrap (gateway.env)
Die einzigen Schlüssel, die das Gateway tatsächlich aus der Umgebung liest.
Kern & Datenbank
Variable
Zweck
AIHUMMER_DATABASE_URL
Erforderlich. Postgres-DSN. Ohne ihn läuft das Gateway nur im Gesundheitsmodus.
AIHUMMER_DB_APP_URL
Eingeschränkte Rollen-DSN, die die Zeilenebenen-Sicherheit aktiviert (wird für lokale Installationen automatisch gesetzt).
AIHUMMER_GATEWAY_ADDR
Öffentliche Listen-Adresse (Standard :8780) — jeglicher externer Verkehr: API (/v1/*), Paarung, WS/SSE, eingehende Webhooks, die App/Pocket-Proxy und Gesundheitsprüfungen.
AIHUMMER_WEBUI_ADDR
Private Admin-Web-UI-Abhöradresse (Standard :8781), bereitgestellt am Stammverzeichnis /; idealerweise an eine interne Schnittstelle gebunden. Eingestellt auf 0 deaktivieren.
AIHUMMER_DEFAULT_WORKSPACE_ID
Wählt den Standardarbeitsbereich für konfigurierte eingehende Integrationen aus.
AIHUMMER_HOME_ROOT
Installationsstamm (normalerweise vom Binärpfad abgeleitet); verankert die Verzeichnisse admin-ui/blob/installer und die Schlüsseldateien.
AIHUMMER_BLOB_DIR
Aktiviert den Medien-/Dateidienst (Blob-Speicherverzeichnis). Es speichert auch private (seitlich geladene) Plugin-Artefakte unter blob: Referenzen, die der Bereitsteller auflöst.
AIHUMMER_ADMIN_UI_DIR
Dient der Admin-SPA bei /admin/.
Geheimnisse & Infrastruktur
Variable
Zweck
AIHUMMER_MASTER_KEY
Base64-codierte 32 Bytes; ermöglicht secrets-at-rest, den Tresor und BYOK.
AIHUMMER_MEDIA_TOKEN_SECRET
Hält signierte Download-URLs über Neustarts hinweg gültig.
AIHUMMER_OTEL_ENDPOINT
OTLP-Endpunkt für das Pushen von Traces/Metriken.
AIHUMMER_DOWNLOAD_BASE_URL
Basis-URL für Release-Artefakte (Quelle für Selbst-Update).
[!WARNING]
Beobachtbarkeit ist Nur OTLP-Push. AiHummer tut nicht einen Prometheus enthüllen
/metrics Endpunkt oder /debug/pprof. Punkt AIHUMMER_OTEL_ENDPOINT bei dir
stattdessen Sammler.
Einstellungs katalog (Datenbank — Web-Admin-Benutzeroberfläche oder aihummer settings)
Jeder untenstehende Schlüssel befindet sich in der Datenbank. Setzen Sie ihn in der Web-Admin-Oberfläche (Management → Einstellungen) oder so:
aihummer settings set AIHUMMER_LLM_PROVIDER openai
A gateway.env Wert für einen solchen Schlüssel ist ignoriert.
Sicherheit
Schlüssel
Zweck
AIHUMMER_APPROVAL_TOOLS
Werkzeuge, die eine Genehmigung durch den Menschen im Entscheidungsprozess benötigen, bevor sie ausgeführt werden.
Aufbewahrungszeitraum für das Admin-Auditprotokoll.
AIHUMMER_INBOUND_SECRET
HMAC-Shared-Secret für Connector → Gateway /v1/inbound/* Anrufe.
Authentifizierung & SSO
Schlüssel
Zweck
AIHUMMER_OIDC_ISSUER
Schützt /v1/admin/*. Ohne es (und ohne LDAP/SAML) vertraut der Administrator den Dev-Headern – eine solche Instanz niemals exponieren.
LDAP/AD und SAML sind zusammen mit OIDC für die Unternehmensanmeldung konfiguriert; SCIM bietet automatische Benutzerbereitstellung. Siehe Webhooks, SCIM & Kopplung.
LLM & Modelle
Schlüssel
Zweck
AIHUMMER_LLM_PROVIDER
Verwendeter Modellanbieter.
AIHUMMER_LLM_MODEL
Modellname.
AIHUMMER_LLM_GATEWAY_URL
Basis-URL eines OpenAI-kompatiblen LLM-Gateways/Endpunkts (die AIHUMMER_LLM_* Pfad; unterscheidet sich vom nativen AIHUMMER_OPENAI_BASE_URL). Siehe BYOK & Anbieter.
AIHUMMER_OPENAI_API_KEY
API-Schlüssel für einen OpenAI-kompatiblen Anbieter.
AIHUMMER_SUBAGENT_MAX_DEPTH
Maximale Tiefe der erzeugten Unteragenten.
[!NOTE]
Wenn kein Modell angeschlossen ist, fällt das Gateway auf ein deterministisches Mock also das
Das System läuft weiterhin. Eine kostenpflichtige Modell-API ist nie erforderlich — kostenlose/locale Modelle und ein
Der Transport von Codex/ChatGPT-Abonnements ist erstklassig.
Werkzeuge
Schlüssel
Zweck
AIHUMMER_FS_ROOT
Ermöglicht filesystem_read, unter dieser Wurzel sandboxed.
AIHUMMER_DB_QUERY_DSN
Ermöglicht db_query (schreibgeschützt) gegen diesen DSN.
AIHUMMER_CODE_EXEC
Schaltet die code_exec Werkzeug (standardmäßig auf gemeinsam genutzten Hosts deaktiviert).
AIHUMMER_BROWSER_PROFILE_SOCKET
Pfad zum privaten Socket managed-profiles.sock des Browserdienstes; leer — dauerhafte computer-Profile sind aus.
Websuche und Browser werden vom Installer verwaltet: Sie werden ab Werk
installiert, mit --no-search / --no-browser abgeschaltet und mit
--external-search=URL / --external-browser=URL auf eine vorhandene Instanz
gerichtet — es gibt für sie keine Betreiber-Einstellungen.
Wann eine fertige Antwort gesprochen wird: off, always, inbound (Standard), tagged.
AIHUMMER_TTS_MAX_CHARS
Grenze des gesprochenen Textes: 0 — die vollständige Antwort, sonst 100–10000 Zeichen.
AIHUMMER_TTS_SUMMARIZE
Eine lange Antwort für das Sprechen kürzen (standardmäßig an).
Sidecars sind separate HTTP-Dienste; das Gateway erreicht sie über eine URL.
Vektoren & Einbettungen
Schlüssel
Zweck
AIHUMMER_QDRANT_URL
Echter Vektorspeicher (Qdrant). Abwesend → In-Memory-Speicher.
AIHUMMER_EMBEDDER_URL
Echter Embedder-Dienst. Abwesend → Hash-Embedder.
Protokollflächen (freiwillige Teilnahme)
Schlüssel
Zweck
AIHUMMER_MCP_PUBLISH
Genau 1 öffnet den externen MCP-Server unter POST /v1/mcp. Für sich allein exportiert es kein einziges Werkzeug.
AIHUMMER_MCP_EXPORT_TOOLS
Exakte Werkzeugnamen, durch Komma getrennt, die der MCP-Client sieht. Leer (Voreinstellung) = NULL Werkzeuge werden exportiert.
AIHUMMER_A2A_PUBLISH
1 ermöglicht die A2A-Oberfläche (/.well-known/agent.json, /a2a/message).
Nur Dev-Builds
Variable
Zweck
AIHUMMER_PLUGIN_PUBKEY
Ein zusätzlich vertrauenswürdiger öffentlicher Schlüssel (Base64 ed25519) zur Überprüfung von Pluginsignaturen. Nur Dev-Builds — in Release-Builds ignoriert (der Registrierungsschlüssel ist in die Binärdatei eingefügt).
AIHUMMER_PLUGIN_DEV_UNSIGNED
1 ermöglicht die Installation vorzeichenlos Plugins. Nur für Entwickler-Builds — wird in Release-Builds ignoriert. Niemals auf einer extern erreichbaren Instanz.
[!WARNING]
In Release-Builds ist die Vertrauenswurzel des Plugins in die Binärdatei eingebettet und
kann nicht durch die Umgebung oder Einstellungen überschrieben werden – dies ist ein Manipulationsschutz
Garantie.
Das Vertrauensmodell (offiziell → festgelegter Schlüssel, privat → Trust-Store, unsigniert → blockiert) wird beschrieben in Installation & Updates.
Wohin als Nächstes
Sieh, welche Werkzeuge jeder Schlüssel freischaltet: Werkzeugkatalog.
AiHummer-Konfiguration teilt sich auf in **zwei strikt verschiedene Gruppen**:
1. **Bootstrap (`gateway.env`)** — was das Tor wissen muss **vor** es kann
die Datenbank lesen: die Datenbank-DSN, Abhöradressen, statische Verzeichnisse,
der Generalschlüssel. Nur diese Schlüssel werden aus der Umgebung gelesen.
2. **Einstellungen-Katalog (Datenbank)** — jeden zweiten Knopf. Diese werden in der
Datenbank und in der Web-Admin-Benutzeroberfläche einstellen (**Management → Einstellungen**) oder mit
[`aihummer settings set <KEY> <VALUE>`](/de/v1.0/reference/cli). Für diese
Tasten a `gateway.env` Wert ist **absichtlich ignoriert** — selbst wenn gesetzt, hat es
Keine Wirkung.
## Konfigurationsmodell
`gateway.env` ist **nur Bootstrap**. Auflösungsreihenfolge:
- **Einstellungen-Katalogschlüssel**: `database value → built-in default`
(die Umgebung wird ignoriert);
- **Bootstrap-Schlüssel**: `environment variable only`.
Also ist die einzige zuverlässige Informationsquelle für einstellbare Regler die Datenbank (Web-Admin-UI / `aihummer settings`); die Umgebung enthält nur, was der Prozess zum Starten benötigt.
Die Konfigurationsdatei für eine host-native Installation befindet sich unter:
```ini
# /home/.aihummer/etc/gateway.env
AIHUMMER_DATABASE_URL=postgres://...
AIHUMMER_MASTER_KEY=base64-32-bytes
```
> [!TIP]
> Setzen Sie keine Einstellungs-Katalogknöpfe ein `gateway.env` — es hat keine Wirkung. Ändern
> sie in der Web-Admin-Oberfläche (Verwaltung → Einstellungen, es gibt eine Suche) oder über
> `aihummer settings set`. Einige Änderungen (wie Werkzeugumschalter und Unteragent
> Tiefe) heiß anwenden; andere erfordern einen Neustart des Dienstes.
## Bootstrap (gateway.env)
Die einzigen Schlüssel, die das Gateway tatsächlich aus der Umgebung liest.
### Kern & Datenbank
| Variable | Zweck |
|---|---|
| `AIHUMMER_DATABASE_URL` | **Erforderlich.** Postgres-DSN. Ohne ihn läuft das Gateway nur im Gesundheitsmodus. |
| `AIHUMMER_DB_APP_URL` | Eingeschränkte Rollen-DSN, die die Zeilenebenen-Sicherheit aktiviert (wird für lokale Installationen automatisch gesetzt). |
| `AIHUMMER_GATEWAY_ADDR` | Öffentliche Listen-Adresse (Standard `:8780`) — jeglicher externer Verkehr: API (`/v1/*`), Paarung, WS/SSE, eingehende Webhooks, die App/Pocket-Proxy und Gesundheitsprüfungen. |
| `AIHUMMER_WEBUI_ADDR` | Private Admin-Web-UI-Abhöradresse (Standard `:8781`), bereitgestellt am Stammverzeichnis `/`; idealerweise an eine interne Schnittstelle gebunden. Eingestellt auf `0` deaktivieren. |
| `AIHUMMER_DEFAULT_WORKSPACE_ID` | Wählt den Standardarbeitsbereich für konfigurierte eingehende Integrationen aus. |
| `AIHUMMER_HOME_ROOT` | Installationsstamm (normalerweise vom Binärpfad abgeleitet); verankert die Verzeichnisse admin-ui/blob/installer und die Schlüsseldateien. |
| `AIHUMMER_BLOB_DIR` | Aktiviert den Medien-/Dateidienst (Blob-Speicherverzeichnis). Es speichert auch **private (seitlich geladene) Plugin-Artefakte** unter `blob:` Referenzen, die der Bereitsteller auflöst. |
| `AIHUMMER_ADMIN_UI_DIR` | Dient der Admin-SPA bei `/admin/`. |
### Geheimnisse & Infrastruktur
| Variable | Zweck |
|---|---|
| `AIHUMMER_MASTER_KEY` | Base64-codierte 32 Bytes; ermöglicht secrets-at-rest, den Tresor und BYOK. |
| `AIHUMMER_MEDIA_TOKEN_SECRET` | Hält signierte Download-URLs über Neustarts hinweg gültig. |
| `AIHUMMER_OTEL_ENDPOINT` | OTLP-Endpunkt für das Pushen von Traces/Metriken. |
| `AIHUMMER_DOWNLOAD_BASE_URL` | Basis-URL für Release-Artefakte (Quelle für Selbst-Update). |
> [!WARNING]
> Beobachtbarkeit ist **Nur OTLP-Push**. AiHummer tut **nicht** einen Prometheus enthüllen
> `/metrics` Endpunkt oder `/debug/pprof`. Punkt `AIHUMMER_OTEL_ENDPOINT` bei dir
> stattdessen Sammler.
## Einstellungs katalog (Datenbank — Web-Admin-Benutzeroberfläche oder `aihummer settings`)
Jeder untenstehende Schlüssel befindet sich in der Datenbank. Setzen Sie ihn in der Web-Admin-Oberfläche (**Management → Einstellungen**) oder so:
```bash
aihummer settings set AIHUMMER_LLM_PROVIDER openai
```
A `gateway.env` Wert für einen solchen Schlüssel ist **ignoriert**.
### Sicherheit
| Schlüssel | Zweck |
|---|---|
| `AIHUMMER_APPROVAL_TOOLS` | Werkzeuge, die eine Genehmigung durch den Menschen im Entscheidungsprozess benötigen, bevor sie ausgeführt werden. |
| `AIHUMMER_AIRGAPPED` | `1` blockiert modellgesteuerte öffentliche Ausgänge (air-gapped Modus). |
| `AIHUMMER_AUDIT_RETENTION_DAYS` | Aufbewahrungszeitraum für das Admin-Auditprotokoll. |
| `AIHUMMER_INBOUND_SECRET` | HMAC-Shared-Secret für Connector → Gateway `/v1/inbound/*` Anrufe. |
### Authentifizierung & SSO
| Schlüssel | Zweck |
|---|---|
| `AIHUMMER_OIDC_ISSUER` | Schützt `/v1/admin/*`. Ohne es (und ohne LDAP/SAML) vertraut der Administrator den Dev-Headern – eine solche Instanz niemals exponieren. |
LDAP/AD und SAML sind zusammen mit OIDC für die Unternehmensanmeldung konfiguriert; SCIM bietet automatische Benutzerbereitstellung. Siehe [Webhooks, SCIM & Kopplung](/de/v1.0/api/webhooks-scim-pairing).
### LLM & Modelle
| Schlüssel | Zweck |
|---|---|
| `AIHUMMER_LLM_PROVIDER` | Verwendeter Modellanbieter. |
| `AIHUMMER_LLM_MODEL` | Modellname. |
| `AIHUMMER_LLM_GATEWAY_URL` | Basis-URL eines OpenAI-kompatiblen LLM-Gateways/Endpunkts (die `AIHUMMER_LLM_*` Pfad; unterscheidet sich vom nativen `AIHUMMER_OPENAI_BASE_URL`). Siehe [BYOK & Anbieter](/de/v1.0/access/byok-providers). |
| `AIHUMMER_OPENAI_API_KEY` | API-Schlüssel für einen OpenAI-kompatiblen Anbieter. |
| `AIHUMMER_SUBAGENT_MAX_DEPTH` | Maximale Tiefe der erzeugten Unteragenten. |
> [!NOTE]
> Wenn kein Modell angeschlossen ist, fällt das Gateway auf ein **deterministisches Mock** also das
> Das System läuft weiterhin. Eine kostenpflichtige Modell-API ist nie erforderlich — kostenlose/locale Modelle und ein
> Der Transport von Codex/ChatGPT-Abonnements ist erstklassig.
### Werkzeuge
| Schlüssel | Zweck |
|---|---|
| `AIHUMMER_FS_ROOT` | Ermöglicht `filesystem_read`, unter dieser Wurzel sandboxed. |
| `AIHUMMER_DB_QUERY_DSN` | Ermöglicht `db_query` (schreibgeschützt) gegen diesen DSN. |
| `AIHUMMER_CODE_EXEC` | Schaltet die `code_exec` Werkzeug (standardmäßig auf gemeinsam genutzten Hosts deaktiviert). |
| `AIHUMMER_BROWSER_PROFILE_SOCKET` | Pfad zum privaten Socket `managed-profiles.sock` des Browserdienstes; leer — dauerhafte `computer`-Profile sind aus. |
| `AIHUMMER_BROWSER_PROFILE_BINDINGS` | JSON-Array ausdrücklicher Zuordnungen dauerhafter Browserprofile (`profile_id`, `tenant_id`, `user_id`, `agent_ids`, `conversation_ids`). |
Websuche und Browser werden vom Installer verwaltet: Sie werden ab Werk
installiert, mit `--no-search` / `--no-browser` abgeschaltet und mit
`--external-search=URL` / `--external-browser=URL` auf eine vorhandene Instanz
gerichtet — es gibt für sie keine Betreiber-Einstellungen.
Alles ansehen [Werkzeugkatalog](/de/v1.0/reference/tools-catalog) wofür jedes Werkzeug dient.
### Stimme & Beifahrzeuge
| Schlüssel | Zweck |
|---|---|
| `AIHUMMER_STT_URL` | Speech-to-Text-Sidecar-URL (vom Installer vorgegeben). |
| `AIHUMMER_TTS_URL` | Text-to-Speech-Sidecar-URL (vom Installer generiert). |
| `AIHUMMER_VIDEO_URL` | Video-Verständnis-Sidecar-URL. |
| `AIHUMMER_TTS_AUTO_REPLY` | Wann eine fertige Antwort gesprochen wird: `off`, `always`, `inbound` (Standard), `tagged`. |
| `AIHUMMER_TTS_MAX_CHARS` | Grenze des gesprochenen Textes: `0` — die vollständige Antwort, sonst `100`–`10000` Zeichen. |
| `AIHUMMER_TTS_SUMMARIZE` | Eine lange Antwort für das Sprechen kürzen (standardmäßig an). |
Sidecars sind separate HTTP-Dienste; das Gateway erreicht sie über eine URL.
### Vektoren & Einbettungen
| Schlüssel | Zweck |
|---|---|
| `AIHUMMER_QDRANT_URL` | Echter Vektorspeicher (Qdrant). Abwesend → In-Memory-Speicher. |
| `AIHUMMER_EMBEDDER_URL` | Echter Embedder-Dienst. Abwesend → Hash-Embedder. |
### Protokollflächen (freiwillige Teilnahme)
| Schlüssel | Zweck |
|---|---|
| `AIHUMMER_MCP_PUBLISH` | Genau `1` öffnet den externen MCP-Server unter `POST /v1/mcp`. Für sich allein exportiert es kein einziges Werkzeug. |
| `AIHUMMER_MCP_EXPORT_TOOLS` | Exakte Werkzeugnamen, durch Komma getrennt, die der MCP-Client sieht. Leer (Voreinstellung) = NULL Werkzeuge werden exportiert. |
| `AIHUMMER_A2A_PUBLISH` | `1` ermöglicht die A2A-Oberfläche (`/.well-known/agent.json`, `/a2a/message`). |
## Nur Dev-Builds
| Variable | Zweck |
|---|---|
| `AIHUMMER_PLUGIN_PUBKEY` | Ein zusätzlich vertrauenswürdiger öffentlicher Schlüssel (Base64 ed25519) zur Überprüfung von Pluginsignaturen. **Nur Dev-Builds — in Release-Builds ignoriert** (der Registrierungsschlüssel ist in die Binärdatei eingefügt). |
| `AIHUMMER_PLUGIN_DEV_UNSIGNED` | `1` ermöglicht die Installation **vorzeichenlos** Plugins. **Nur für Entwickler-Builds — wird in Release-Builds ignoriert.** Niemals auf einer extern erreichbaren Instanz. |
> [!WARNING]
> In Release-Builds ist die Vertrauenswurzel des Plugins **in die Binärdatei eingebettet** und
> kann nicht durch die Umgebung oder Einstellungen überschrieben werden – dies ist ein Manipulationsschutz
> Garantie.
Das Vertrauensmodell (offiziell → festgelegter Schlüssel, privat → Trust-Store, unsigniert → blockiert) wird beschrieben in [Installation & Updates](/de/v1.0/marketplace/install-updates#trust-model-and-the-pinned-key).
## Wohin als Nächstes
- Sieh, welche Werkzeuge jeder Schlüssel freischaltet: [Werkzeugkatalog](/de/v1.0/reference/tools-catalog).
- Bedienen Sie die Instanz täglich: [CLI-Referenz](/de/v1.0/reference/cli).