# Jarvis Voice Bot - Environment Variables # Copy this file to .env and fill in your actual values # ============================================================================ # Discord Bot (REQUIRED) # ============================================================================ # Get your bot token from: https://discord.com/developers/applications # 1. Create application → Bot → Copy token # 2. Enable Privileged Gateway Intents: Server Members, Message Content DISCORD_BOT_TOKEN=your_discord_bot_token_here # ============================================================================ # OpenClaw Gateway (REQUIRED) # ============================================================================ # Your OpenClaw Gateway WebSocket on Synology NAS # Format: ws://IP:PORT (default port is 18789) OPENCLAW_BASE_URL=ws://192.168.50.9:18789 OPENCLAW_AUTH_TOKEN=your_openclaw_gateway_token OPENCLAW_AGENT_ID=main # Agent ID for session keys (jarvis or main) # Cloud STT/TTS API Keys (for GPU-less deployment) DEEPGRAM_API_KEY=your_deepgram_api_key VENICE_API_KEY=your_venice_api_key # ============================================================================ # FastAPI Server # ============================================================================ SERVER_HOST=0.0.0.0 SERVER_PORT=8880 # ============================================================================ # Pipeline Configuration (OPTIONAL OVERRIDES) # ============================================================================ # These override values from config.yaml # Use environment variables for deployment-specific settings # Speech-to-Text # PIPELINE__STT__MODEL_SIZE=medium # tiny, base, small, medium, large-v3 # PIPELINE__STT__DEVICE=cuda # cuda or cpu # PIPELINE__STT__COMPUTE_TYPE=float16 # PIPELINE__STT__BEAM_SIZE=5 # Text-to-Speech # PIPELINE__TTS__ENGINE=chatterbox # chatterbox, coqui (fallback) # PIPELINE__TTS__DEVICE=cuda # PIPELINE__TTS__SAMPLE_RATE=24000 # Voice Activity Detection # PIPELINE__VAD__SILENCE_DURATION=0.3 # Seconds of silence to detect speech end # PIPELINE__VAD__CHUNK_SIZE=512 # Samples per VAD check # Smart Turn Detection # PIPELINE__TURN__COMPLETION_THRESHOLD=0.7 # Probability threshold (0.0-1.0) # PIPELINE__TURN__WAIT_TIMEOUT=3.0 # Max wait after silence # Relevance Filter # PIPELINE__RELEVANCE__DEFAULT_SENSITIVITY=medium # low, medium, high # PIPELINE__RELEVANCE__CACHE_SIZE=100 # Transcript Manager # PIPELINE__TRANSCRIPT__MAX_AGE_SECONDS=90.0 # PIPELINE__TRANSCRIPT__MAX_ENTRIES=20 # ============================================================================ # Logging # ============================================================================ # LOGGING__LEVEL=INFO # DEBUG, INFO, WARNING, ERROR # LOGGING__TRACK_LATENCY=true # ============================================================================ # Agent Configuration (OPTIONAL OVERRIDES) # ============================================================================ # AGENTS__DEFAULT=jarvis # jarvis or sage # ============================================================================ # Notes # ============================================================================ # - Keep this file (.env) out of version control (already in .gitignore) # - Never commit secrets to git # - Use separate .env files for development/production # - Environment variables override config.yaml settings # - Variable format: SECTION__SUBSECTION__KEY=value (double underscores)