# ═══════════════════════════════════════════════════════════════ # AI Town — Environment Configuration # ═══════════════════════════════════════════════════════════════ # Copy this file to .env.local and fill in your values. # # The system works with ANY OpenAI-compatible LLM provider. # Just set the base URL, API key, and model name. # ═══════════════════════════════════════════════════════════════ # ───────────────────────────────────────────────────────────── # LLM PROVIDER (Any OpenAI-compatible API) # ───────────────────────────────────────────────────────────── # Works with: # OpenAI: https://api.openai.com/v1 # Featherless: https://api.featherless.ai/v1 # Together: https://api.together.xyz/v1 # Groq: https://api.groq.com/openai/v1 # DeepSeek: https://api.deepseek.com/v1 # OpenRouter: https://openrouter.ai/api/v1 # Mistral: https://api.mistral.ai/v1 # Ollama: http://localhost:11434/v1 # LM Studio: http://localhost:1234/v1 # vLLM: http://localhost:8000/v1 # Any custom: https://your-server.com/v1 LLM_BASE_URL=https://api.openai.com/v1 LLM_API_KEY=sk-your-key-here LLM_MODEL=gpt-4o-mini # ───────────────────────────────────────────────────────────── # EMBEDDINGS PROVIDER (for memory vector search) # ───────────────────────────────────────────────────────────── # If your LLM provider also supports embeddings, use same base URL. # Otherwise, use OpenAI or a dedicated embedding service. # # Supported models: # OpenAI: text-embedding-3-small (1536 dim) # Together: togethercomputer/m2-bert-80M-8k-retrieval # Ollama: nomic-embed-text # HuggingFace: sentence-transformers/all-MiniLM-L6-v2 EMBEDDING_BASE_URL=https://api.openai.com/v1 EMBEDDING_API_KEY=sk-your-key-here EMBEDDING_MODEL=text-embedding-3-small EMBEDDING_DIMENSIONS=1536 # ───────────────────────────────────────────────────────────── # CONVEX (Backend) # ───────────────────────────────────────────────────────────── # Set after running: npx convex init CONVEX_DEPLOYMENT=your-deployment-name # ───────────────────────────────────────────────────────────── # CLERK (Authentication) — Optional # ───────────────────────────────────────────────────────────── CLERK_PUBLISHABLE_KEY= CLERK_SECRET_KEY=