# ── Application ────────────────────────────────────────────────────────────── ENV=dev # ── Database ────────────────────────────────────────────────────────────────── DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/adiuvai # ── Auth ────────────────────────────────────────────────────────────────────── JWT_SECRET=replace-with-a-long-random-secret JWT_ALGORITHM=HS256 JWT_ACCESS_TOKEN_EXPIRE_MINUTES=30 JWT_REFRESH_TOKEN_EXPIRE_DAYS=30 # ── LLM ─────────────────────────────────────────────────────────────────────── # LiteLLM model identifiers — change to swap providers without code changes. # Examples: gpt-4o, anthropic/claude-sonnet-4-20250514, gemini/gemini-pro, ollama/llama3 # # API keys — only the key(s) matching your chosen provider(s) are required. # The correct key is picked automatically from the model prefix (e.g. # "anthropic/..." → ANTHROPIC_API_KEY, "gemini/..." → GOOGLE_API_KEY). OPENAI_API_KEY= ANTHROPIC_API_KEY= GOOGLE_API_KEY= CEREBRAS_API_KEY= GROQ_API_KEY= DEEPSEEK_API_KEY= # Default model used by any agent that does not have a specific override below. LLM_MODEL=gpt-5-mini LLM_EMBED_MODEL=text-embedding-3-small # GitHub Copilot — leave empty to use the LiteLLM default token directory. # In Docker, point this to a named-volume path so tokens survive restarts. # GITHUB_COPILOT_TOKEN_DIR= # ── Per-agent model overrides ───────────────────────────────────────────────── # Leave a value empty to fall back to LLM_MODEL. # Each agent resolves its API key from the model prefix automatically. # # Intent classifier — routes user messages to the right domain agent. # A small/fast model (e.g. gpt-4o-mini) is usually sufficient here. LLM_MODEL_CLASSIFIER= # Home-agent — handles chat from the home screen (all tools available). LLM_MODEL_HOME_AGENT= # Floating-agent — handles contextual chat triggered from a task/project/note. LLM_MODEL_FLOATING_AGENT= # Unified-processor — processes local directory files (local agent runner). LLM_MODEL_UNIFIED_PROCESSOR= # Cloud-processor — fetches and processes data from cloud connectors. LLM_MODEL_CLOUD_PROCESSOR= # Brief-agent — produces home and project text briefs. # A small model (e.g. gpt-4o-mini) is sufficient. # LLM_MODEL_BRIEF_AGENT= # Setup-agent — guided journey to build an AgentConfig via WebSocket chat. LLM_MODEL_SETUP_AGENT= # Memory-extractor — Mem0-style extract/decide pipeline (Phase 2). # Defaults to gpt-4o-mini when empty (fast + cheap, temperature=0). LLM_MODEL_MEMORY_EXTRACTOR= # Memory-miner — proactive pattern mining from episodic history (Phase 5, Power+ only). # Defaults to gpt-4o-mini when empty. LLM_MODEL_MEMORY_MINER= # Memory-auditor — weekly contradiction scan + relation label canonicalization (Phase 7). # Defaults to LLM_MODEL when empty (a reasoning-capable model is recommended). LLM_MODEL_MEMORY_AUDITOR= # Scheduler — set to false to disable memory cron jobs (automatically false in tests). SCHEDULER_ENABLED=true # ── Stripe (leave empty to stub billing) ────────────────────────────────────── STRIPE_SECRET_KEY= STRIPE_WEBHOOK_SECRET= # ── Langfuse (leave empty to disable observability) ─────────────────────────── LANGFUSE_SECRET_KEY= LANGFUSE_PUBLIC_KEY= # LANGFUSE_BASE_URL=https://cloud.langfuse.com # EU (default) # LANGFUSE_BASE_URL=https://us.cloud.langfuse.com # US # LANGFUSE_BASE_URL=http://localhost:3000 # Self-hosted # ── CORS ────────────────────────────────────────────────────────────────────── # Comma-separated list parsed by Settings (override default if needed) # CORS_ORIGINS=["app://.","http://localhost:3000"]