Skip to main content

Open WebUI

Chat interface for LLMs, backed by Hermes as the OpenAI-compatible endpoint and WhisperX for speech-to-text.

Enable​

Not part of Core — Core reaches the agent by voice (Home Assistant), from code-server's terminal (hermes "..."), and from decree routines. Turn this on when you want a chat window in a browser tab: it is offered by the Local AI Lab quest, or set it yourself:

EXIST_IS_AI_OPEN_WEBUI=true

Then ./existential.sh && docker compose up -d from the repo root. Admin credentials are generated into ai/open-webui/.env (OPEN_WEBUI_ADMIN_EMAIL / OPEN_WEBUI_ADMIN_PASSWORD).

Each tool in the stack has a distinct role:

ToolUse for
Hermes dashboardManaging sessions, skills, and agent configuration
Open WebUIDay-to-day conversations
decree routinesWork with nobody present — agent-task files the answer into workspace/ai/

Every surface points at the Hermes gateway (https://hermes-agent.<domain>/v1, HERMES_API_KEY as the API key), so they share the same models, skills and memory. Coding on the stack itself is not one of those surfaces — see Hermes is not a coding backend.

Backend Wiring​

Container env varValue
OPENAI_API_BASE_URLShttp://hermes-agent:8642/v1
OPENAI_API_KEYSOPEN_WEBUI_HERMES_API_KEY, itself EXIST_HERMES_API_KEY from .env.shared
AUDIO_STT_OPENAI_API_BASE_URLhttp://whisperx:8000/v1

Admin Account​

Set on first boot via ai/open-webui/.env:

OPEN_WEBUI_ADMIN_NAME
OPEN_WEBUI_ADMIN_EMAIL
OPEN_WEBUI_ADMIN_PASSWORD

These default to EXIST_USERNAME / EXIST_EMAIL / EXIST_PASSWORD from the root .env.shared.

Debugging​

docker compose logs open-webui