# Discord (required) DISCORD_TOKEN= DISCORD_CLIENT_ID= # Speech-to-text (transcription) # Default provider is the local faster-whisper sidecar at STT_URL. To use a # cloud Whisper API instead, set OPENAI_API_KEY below and pick the OpenAI # provider per-server in the dashboard's Settings (or `/setup stt_provider:openai`). STT_URL=http://127.0.0.1:8000 # Sidecar tuning (optional). Device/compute auto-detect (GPU when available, # else CPU); override with STT_DEVICE=cpu|cuda and STT_COMPUTE. Batched inference # is on by default (1.7-2.6x faster) — STT_BATCH_SIZE tunes the batch, 0 disables. # STT_DEVICE= # STT_COMPUTE= # STT_BATCH_SIZE= # Summarizer provider keys (only the one you use is required) GEMINI_API_KEY= # OPENAI_API_KEY is shared by the OpenAI summarizer and the OpenAI STT provider. OPENAI_API_KEY= OPENAI_BASE_URL=https://api.openai.com/v1 OPENCODE_API_KEY= # OPENCODE_BASE_URL=https://opencode.ai/zen/go/v1 OPENROUTER_API_KEY= # OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 OLLAMA_URL=http://127.0.0.1:11434 # Optional: persistent data dir (defaults to /data if present, else cwd) DATA_DIR= # Web dashboard (optional). WEB_UI=1 starts it with the bot. # Bind host stays 127.0.0.1 for safety; Docker overrides this to 0.0.0.0 and # maps the port to the host's localhost only. The UI requires a login — the # default account is admin / admin, and you must set a new password before the # dashboard unlocks. Set TRUSTED_PROXY if a non-loopback reverse proxy fronts it. WEB_UI= # Preferred port. If it's taken, the next free port is used (3001, 3002, …). WEB_UI_PORT=3000 WEB_UI_HOST=127.0.0.1