# Praxis v0.1 — Environment Configuration # Copy to `.env` and fill in real values. See docs/latency-report.md for key-provisioning status. # At v0.1 EXECUTE time, only GITEA_TOKEN is provisioned; voice-service keys are pending. # ─── Voice services ────────────────────────────────────────────────────────── # Deepgram Nova-3 ASR (D-013). Get from https://console.deepgram.com/ DEEPGRAM_API_KEY= # Cartesia Sonic TTS (D-014, primary). Get from https://cartesia.ai/ CARTESIA_API_KEY= # Ollama Cloud direct API (D-020). Get from https://ollama.com/ → Settings → API Keys OLLAMA_API_KEY= # ─── TTS selection (D-014) ──────────────────────────────────────────────────── # cartesia (default, cloud, ~120ms first-audio) | piper (self-hosted, ~80ms, R4 mitigation) PRAXIS_TTS=cartesia # ─── Ollama Cloud endpoints (D-020) ─────────────────────────────────────────── # Direct API mode (no local daemon). Pipecat's OLLamaLLMService uses the OpenAI-compatible path. OLLAMA_BASE_URL=https://ollama.com/v1 OLLAMA_CHAT_URL=https://ollama.com/api/chat # Role-play fast path (256K ctx, low-latency) OLLAMA_ROLEPLAY_MODEL=gemma4:cloud # Debrief + branch classifier (1M ctx, no-think mode for latency) OLLAMA_DEBRIEF_MODEL=deepseek-v4-flash:cloud # ─── Server ─────────────────────────────────────────────────────────────────── PRAXIS_HOST=0.0.0.0 PRAXIS_PORT=8789 PRAXIS_DB_PATH=./praxis.db PRAXIS_SCENARIOS_DIR=./scenarios # ─── Deepgram live options (D-013) ──────────────────────────────────────────── DEEPGRAM_MODEL=nova-3 DEEPGRAM_LANGUAGE=en DEEPGRAM_REGION=na # ─── Cartesia voice (D-006 — one voice for role-play + mentor) ──────────────── CARTESIA_VOICE_ID=a3536a36-1d18-4efb-a95a-7c44b7b5e384 # ─── CI/Gitea (operational — not voice) ─────────────────────────────────────── # GITEA_TOKEN is provisioned in .ciagent/.env.secrets (not this file).