config: add env schema and localization foundation
This commit is contained in:
+63
-3
@@ -31,25 +31,85 @@ ONLY_FOR_CREATOR_MODE=false
|
||||
# Use user names in AI prompts
|
||||
USE_NAMES_IN_PROMPT=true
|
||||
|
||||
# Custom system prompt for AI (or put it into data/SYSTEM_PROMPT.md)
|
||||
SYSTEM_PROMPT=
|
||||
|
||||
# Maximum photo size in pixels
|
||||
MAX_PHOTO_SIZE=1280
|
||||
|
||||
# Directory with localization JSON files
|
||||
LOCALES_DIR=locales
|
||||
|
||||
# ============================================
|
||||
# AI MODELS CONFIGURATION (Optional)
|
||||
# ============================================
|
||||
|
||||
# Google Gemini
|
||||
GEMINI_API_KEY=
|
||||
# google: official Gemini API via @google/genai; openai: OpenAI-compatible Gemini endpoint; auto: infer from GEMINI_BASE_URL
|
||||
GEMINI_API_MODE=google
|
||||
GEMINI_MODEL=gemini-2.5-flash
|
||||
GEMINI_IMAGE_MODEL=gemini-2.5-flash-image
|
||||
GEMINI_TRANSCRIPTION_MODEL=gemini-2.5-flash
|
||||
GEMINI_TTS_MODEL=gemini-2.5-flash-preview-tts
|
||||
GEMINI_TTS_VOICE=Kore
|
||||
GEMINI_MAX_CONCURRENT_REQUESTS=3
|
||||
|
||||
# Mistral AI
|
||||
MISTRAL_API_KEY=
|
||||
MISTRAL_MODEL=mistral-small-latest
|
||||
MISTRAL_TRANSCRIPTION_MODEL=voxtral-mini-latest
|
||||
MISTRAL_TTS_MODEL=
|
||||
MISTRAL_TTS_VOICE_ID=
|
||||
MISTRAL_MAX_CONCURRENT_REQUESTS=3
|
||||
|
||||
# Ollama (Local AI Model)
|
||||
OLLAMA_ADDRESS=
|
||||
OLLAMA_MODEL=
|
||||
OLLAMA_CHAT_MODEL=
|
||||
OLLAMA_IMAGE_MODEL=
|
||||
OLLAMA_THINK_MODEL=
|
||||
OLLAMA_AUDIO_MODEL=gemma4:e2b
|
||||
OLLAMA_API_KEY=
|
||||
OLLAMA_EMBEDDING_MODEL=nomic-embed-text
|
||||
OLLAMA_RAG_CHUNK_SIZE=1400
|
||||
OLLAMA_RAG_CHUNK_OVERLAP=220
|
||||
OLLAMA_RAG_TOP_K=8
|
||||
OLLAMA_RAG_MAX_CONTEXT_CHARS=14000
|
||||
OLLAMA_RAG_MIN_SCORE=0.12
|
||||
OLLAMA_RAG_MAX_ARCHIVE_FILES=200
|
||||
OLLAMA_RAG_MAX_ARCHIVE_BYTES=52428800
|
||||
OLLAMA_RAG_MAX_ARCHIVE_DEPTH=2
|
||||
OLLAMA_MAX_CONCURRENT_REQUESTS=1
|
||||
|
||||
# Custom system prompt for AI
|
||||
SYSTEM_PROMPT=
|
||||
# OpenAI
|
||||
OPENAI_API_KEY=
|
||||
OPENAI_BASE_URL=
|
||||
OPENAI_MODEL=gpt-4.1-nano
|
||||
OPENAI_IMAGE_MODEL=gpt-image-1-mini
|
||||
OPENAI_TRANSCRIPTION_MODEL=gpt-4o-mini-transcribe
|
||||
OPENAI_TTS_MODEL=gpt-4o-mini-tts
|
||||
OPENAI_TTS_VOICE=alloy
|
||||
OPENAI_TTS_INSTRUCTIONS=
|
||||
OPENAI_MAX_CONCURRENT_REQUESTS=3
|
||||
|
||||
# Per-capability AI endpoint overrides
|
||||
# Pattern:
|
||||
# <PROVIDER>_<CAPABILITY>_MODEL=
|
||||
# <PROVIDER>_<CAPABILITY>_BASE_URL=
|
||||
# <PROVIDER>_<CAPABILITY>_API_KEY=
|
||||
#
|
||||
# Providers: OLLAMA, GEMINI, MISTRAL, OPENAI
|
||||
# Capabilities: CHAT, VISION, OCR, THINKING, EXTENDED_THINKING, TOOLS, AUDIO,
|
||||
# DOCUMENTS, OUTPUT_IMAGES, SPEECH_TO_TEXT, TEXT_TO_SPEECH
|
||||
# Endpoint aliases are also supported: *_ENDPOINT and *_ADDRESS.
|
||||
# Provider-wide fallback endpoints: OPENAI_BASE_URL, MISTRAL_BASE_URL,
|
||||
# GEMINI_BASE_URL, OLLAMA_ADDRESS or OLLAMA_BASE_URL.
|
||||
# Capability aliases are also supported: IMAGE, THINK, RAG, EMBEDDING,
|
||||
# TRANSCRIPTION, STT, TTS.
|
||||
#
|
||||
# Examples:
|
||||
# OPENAI_SPEECH_TO_TEXT_MODEL=gpt-4o-mini-transcribe
|
||||
# OPENAI_SPEECH_TO_TEXT_BASE_URL=https://api.openai.com/v1
|
||||
# OPENAI_SPEECH_TO_TEXT_API_KEY=
|
||||
# MISTRAL_TTS_BASE_URL=
|
||||
# OLLAMA_DOCUMENTS_ADDRESS=http://localhost:11434
|
||||
|
||||
Reference in New Issue
Block a user