# ============================================ # WeLe Agentic AI — Environment # ============================================ # --- Server --- PORT=4000 NODE_ENV=development PUBLIC_BASE_URL=http://localhost:4000 # --- LLM providers & failover --- # Ordered chain of `provider:model`, tried left to right. If the first provider # is rate-limited, out of quota, or down, the next takes over mid-turn. # Providers: gmi | openrouter (both OpenAI-compatible) LLM_CHAIN_SUPERVISOR=gmi:MiniMaxAI/MiniMax-M3,openrouter:nvidia/nemotron-3-ultra-550b-a55b:free LLM_CHAIN_AGENT=gmi:MiniMaxAI/MiniMax-M3,openrouter:nvidia/nemotron-3-ultra-550b-a55b:free LLM_DEFAULT_PROVIDER=gmi # GMI Cloud — free MiniMax allocation (MiniMaxAI/MiniMax-M3, MiniMaxAI/MiniMax-M2.7) GMI_API_KEY= GMI_BASE_URL=https://api.gmi-serving.com/v1 # OpenRouter — fallback OPENROUTER_API_KEY= OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 LLM_MAX_TOKENS=4000 # --- MongoDB (shared with CRM — READ path) --- MONGODB_URI= # --- CRM REST API (WRITE path) --- CRM_API_BASE=http://localhost:3000 CRM_JWT_SECRET= # --- Redis (memory + cache; optional, falls back to in-memory) --- REDIS_ENABLED=true REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD= REDIS_PREFIX=agentic: # --- Session / memory --- SESSION_TTL_SECONDS=86400 CACHE_TTL_SECONDS=300 MAX_HISTORY_MESSAGES=12 # --- Guardrails --- REQUIRE_APPROVAL_FOR_WRITES=true MAX_TOOL_CALLS_PER_TURN=12 SUPERVISOR_RECURSION_LIMIT=14 AGENT_RECURSION_LIMIT=8 RATE_LIMIT_WINDOW_MS=60000 RATE_LIMIT_MAX=40 # --- Artifacts --- ARTIFACT_DIR=./storage/artifacts ARTIFACT_TTL_HOURS=72 # --- Voice (speech-to-speech, CPU, in-process) --- # Models are ONNX via Transformers.js — no GPU, no Python, no second service. # STT onnx-community/whisper-base Tamil + English + language detection # TTS assets/tts/mms-tts-tam exported locally; no public ONNX exists # TTS Xenova/mms-tts-eng from the Hub SPEECH_WARMUP=false STT_MODEL=onnx-community/whisper-base # Below this confidence, the user's preferred language beats the detector. DETECT_CONFIDENCE=0.6 # Endpointing VAD_SILENCE_MS=700 VAD_MIN_SPEECH_MS=250 VAD_PREFIX_MS=300