AiHummer docs
v1.0.x
RU EN

Environment Variables

v1.0.x · updated 2026-06-26

AiHummer is configured through AIHUMMER_* environment variables (plus a few tool-specific ones such as SEARXNG_URL). This page is the catalog, grouped by area. Most variables are also editable from the web admin UI.

Configuration model

Every setting is resolved in a fixed order:

database value  →  environment variable  →  built-in default

That means a value saved in the admin UI (stored in the database) overrides the environment, which overrides the built-in default. Bootstrap variables — the ones the gateway needs before it can read the database, such as AIHUMMER_DATABASE_URL and AIHUMMER_MASTER_KEY — stay environment-only.

The config file for a host-native install lives at:

# /home/.aihummer/etc/gateway.env
AIHUMMER_DATABASE_URL=postgres://...
AIHUMMER_MASTER_KEY=base64-32-bytes

[!TIP] Tunable, non-bootstrap knobs are best changed in the web admin UI so they take effect without editing files. Some changes (such as tool toggles and sub-agent depth) apply hot; others require a service restart.

Core & database

VariablePurpose
AIHUMMER_DATABASE_URLRequired. Postgres DSN. Without it the gateway runs in health-only mode.
AIHUMMER_DB_APP_URLRestricted-role DSN that activates Row-Level Security (set automatically for local installs).
AIHUMMER_GATEWAY_ADDRListen address (default :8765; the installer picks a free port).
AIHUMMER_DEFAULT_WORKSPACE_IDEnables the inbound dispatcher and the widget’s default workspace.
AIHUMMER_BLOB_DIREnables the media/file service (blob storage directory).
AIHUMMER_ADMIN_UI_DIRServes the admin SPA at /admin/.
AIHUMMER_WIDGET_DIRServes the web widget at /widget/.

Security & vault

VariablePurpose
AIHUMMER_MASTER_KEYbase64-encoded 32 bytes; enables secrets-at-rest, the vault and BYOK.
AIHUMMER_MEDIA_TOKEN_SECRETKeeps signed download URLs valid across restarts.
AIHUMMER_APPROVAL_TOOLSTools that require human-in-the-loop approval before they run.
AIHUMMER_AIRGAPPED1 blocks model-controlled public egress (air-gapped mode).
AIHUMMER_AUDIT_RETENTION_DAYSRetention window for the admin audit log.

Authentication & SSO

VariablePurpose
AIHUMMER_OIDC_ISSUERProtects /v1/admin/*. Without it (and without LDAP/SAML) admin trusts dev headers — never expose such an instance.

LDAP/AD and SAML are configured alongside OIDC for enterprise sign-in; SCIM provides automatic user provisioning. See Webhooks, SCIM & pairing.

Channels & inbound

VariablePurpose
AIHUMMER_INBOUND_SECRETHMAC shared secret for connector → gateway /v1/inbound/* calls.
AIHUMMER_INBOUND_URLConnector-side: the gateway inbound URL a connector posts to.

LLM & models

VariablePurpose
AIHUMMER_LLM_PROVIDERModel provider to use.
AIHUMMER_LLM_MODELModel name.
AIHUMMER_LLM_GATEWAY_URLEndpoint for an OpenAI-compatible LLM gateway.
AIHUMMER_OPENAI_API_KEYAPI key for an OpenAI-compatible provider.
AIHUMMER_SUBAGENT_MAX_DEPTHMaximum depth of spawned sub-agents.

[!NOTE] If no model is wired, the gateway falls back to a deterministic mock so the system still runs. No paid model API is ever required — free/local models and a Codex/ChatGPT-subscription transport are first-class.

Tools

VariablePurpose
SEARXNG_URLEnables the web_search tool (SearXNG instance URL).
CLOAKBROWSER_CDP_URLEnables the browser/computer tools (Chrome DevTools Protocol URL).
AIHUMMER_FS_ROOTEnables filesystem_read, sandboxed under this root.
AIHUMMER_DB_QUERY_DSNEnables db_query (read-only) against this DSN.
AIHUMMER_CODE_EXECToggles the code_exec tool (off by default on shared hosts).

See the full Tools catalog for what each tool does.

Voice & sidecars

VariablePurpose
AIHUMMER_STT_URLSpeech-to-text sidecar URL (auto-set by the installer).
AIHUMMER_TTS_URLText-to-speech sidecar URL (auto-set by the installer).
AIHUMMER_DIARIZE_URLSpeaker-diarization sidecar URL.
AIHUMMER_VOICECLONE_URLVoice-cloning sidecar URL.
AIHUMMER_VIDEO_URLVideo-understanding sidecar URL.

Sidecars are separate HTTP services; the gateway reaches them by URL.

Vectors & embeddings

VariablePurpose
AIHUMMER_QDRANT_URLReal vector store (Qdrant). Absent → in-memory store.
AIHUMMER_EMBEDDER_URLReal embedder service. Absent → hash embedder.

Bus & observability

VariablePurpose
AIHUMMER_NATS_URLOptional NATS bus for delivery.
AIHUMMER_OTEL_ENDPOINTOTLP endpoint for traces/metrics push.

[!WARNING] Observability is OTLP push only. AiHummer does not expose a Prometheus /metrics endpoint or /debug/pprof. Point AIHUMMER_OTEL_ENDPOINT at your collector instead.

Updates

VariablePurpose
AIHUMMER_DOWNLOAD_BASE_URLBase URL for release artifacts (self-update source).
AIHUMMER_UPDATE_CHANNELRelease channel to track.
AIHUMMER_AUTO_UPDATEUpdate mode: off, check or apply.

Key-gated install channels (alfa/beta/dev) additionally read AIHUMMER_CHANNEL_KEY / AIHUMMER_RELEASE_TOKEN at install time.

Marketplace & plugins

VariablePurpose
AIHUMMER_BLOB_DIRBlob-store directory. Besides media/files, it stores private (side-loaded) plugin artifacts under blob: refs that the deployer resolves.
AIHUMMER_PLUGIN_PUBKEYAn extra trusted public key (base64 ed25519) for verifying plugin signatures — in addition to the registry key pinned in core.
AIHUMMER_PLUGIN_DEV_UNSIGNED1 allows installing unsigned plugins. Local development only — never on an externally reachable instance.

The trust model (official → pinned key, private → trust store, unsigned → blocked) is described in Install & updates.

Protocol surfaces (opt-in)

VariablePurpose
AIHUMMER_MCP_PUBLISH1 enables the outward MCP server at POST /v1/mcp.
AIHUMMER_A2A_PUBLISH1 enables the A2A surface (/.well-known/agent.json, /a2a/message).

Where to next