Files
hope-voice-api/.env.example
T
snowspeeder 360e3276b0
Rebuild & Deploy / rebuild (push) Successful in 3m18s
feat: switch LLM to OpenWebUI with live model selection
- Point the agent at OpenWebUI's OpenAI-compatible API (LLM_BASE_URL,
  LLM_API_KEY, LLM_MODEL) with GEMMA_* env fallbacks
- Add list_available_models() fetching {base_url}/models, filtering
  non-chat ids (embedding/reranker)
- Rename GemmaLLM -> HopeLLM with update_options(model=...) for runtime
  model switching (mutates _opts.model) and instance-based compaction
- Data channel: agent publishes {type: models} after connect and on
  get_models; set_model switches live and acks model_changed
- Web UI: Brain section in the settings sheet with a model picker that
  persists the choice in localStorage
- Update tests, CI workflow env, and docs for the new endpoint
2026-08-29 12:09:03 -04:00

35 lines
1.4 KiB
Bash

# Azure Speech (required)
AZURE_SPEECH_KEY=your-azure-speech-key
AZURE_SPEECH_REGION=eastus
# Default TTS voice (Azure Dragon HD Omni; supports inline delivery markers)
AZURE_TTS_VOICE=en-US-Ava:DragonHDOmniLatestNeural
# LLM (OpenWebUI on xNAS, OpenAI-compatible; also serves the local llama.cpp
# models. The model can be switched live from the web UI settings sheet.)
LLM_BASE_URL=http://192.168.86.2:3005/api
LLM_MODEL=gemma-4-e4b
LLM_API_KEY=sk-your-openwebui-api-key
# LiveKit (generated in livekit.yaml, referenced here for the agent)
LIVEKIT_URL=http://localhost:7880
LIVEKIT_API_KEY=devkey
LIVEKIT_API_SECRET=hopevoice-devsecret-2026-lan-only
# Web UI port (9178 avoids the existing Unraid service on 8090)
WEB_PORT=9178
# ── Web access (MCP tools: web_search + web_scrape) ────────────────────────
# Backed by the self-hosted Firecrawl stack on xNAS.
WEB_MCP_ENABLED=true
FIRECRAWL_BASE=http://192.168.86.2:3002
# Only needed if your Firecrawl instance requires an API key
# FIRECRAWL_API_KEY=
# Per-user memory profiles and Bearer tokens live in config/users.json.
VOICE_DEFAULT_USER=shane
# Extra MCP servers (optional). JSON list of {url, transport} objects.
# transport: "sse" | "streamable_http" | omit for auto-detect
# EXTRA_MCP_SERVERS=[{"url":"http://192.168.86.2:3001/mcp","transport":"streamable_http"}]