# LM Studio chat endpoint (OpenAI-compatible) LM_STUDIO_URL=http://localhost:1234/v1 # LM Studio API key — set this to whatever key you configured in # LM Studio → Developer → API Key. If you left it at the default, # use "lm-studio" (any non-empty string works in older versions). LM_STUDIO_API_KEY=lm-studio # Model identifier shown in LM Studio (the name it uses, or "local-model") CHAT_MODEL=local-model # Local Whisper model — downloaded once to ~/.cache/tars-agent/ on first run. # Smaller = faster but less accurate. English-only (.en) models are faster. # Xenova/whisper-tiny.en ~77 MB (default, fastest) # Xenova/whisper-base.en ~145 MB (better accuracy) # Xenova/whisper-small.en ~465 MB (best local accuracy) WHISPER_MODEL=Xenova/whisper-tiny.en # Set to "false" to disable voice input entirely (type-only mode) WHISPER_ENABLED=true # macOS voices: Fred (robotic), Zarvox (alien), Daniel (British), Alex (US male) TTS_VOICE=Fred # Set to "false" to mute TARS (text only) TTS_ENABLED=true # Qwen3-TTS voice-clone server — a separate local Python process, NOT LM Studio. # See tts-server/README.md to set it up. When disabled (default) or unreachable, # TARS speaks via the macOS `say` backend above instead. QWEN_TTS_ENABLED=false QWEN_TTS_URL=http://127.0.0.1:8008 QWEN_TTS_TIMEOUT_MS=30000 # Playback speed for the Qwen voice, applied via sox's pitch-preserving tempo # effect (the model itself has no native speed control). <1.0 slower, >1.0 # faster. Default nudged slightly below 1.0 since the default pace read fast. QWEN_TTS_SPEED=0.9 # TARS personality dials (0–100) TARS_HUMOR=75 TARS_HONESTY=90 # Personalize who TARS is talking to. A single name is always used; a # comma-separated list means one name is picked at random, re-rolled every # turn (so it won't stick to the same person all conversation). Leave unset # for no personalization at all. #PERSON=Michael #PERSON=Michael,Lynda,Olivia # Set to "false" to disable the proactive idle prompt (a trivia or fun # hypothetical/psychological question TARS asks after 5-10 minutes of # silence, addressed to PERSON above if set). IDLE_PROMPT_ENABLED=true