Skip to content

Variables de entorno

La plantilla canónica es .env.example en la raíz del repositorio. Tras clonar:

bash
cp .env.example .env

Edita .env para tu máquina; nunca commites secretos reales.

  • Docker Compose: los valores por defecto para Postgres y la app se definen en docker-compose.yml. Consulta la guía Docker para uso con contenedores.
  • Local pnpm dev: configura DATABASE_URL, OLLAMA_URL (normalmente http://localhost:11434) y WORKFLOW_LOCAL_DATA_DIR como se describe en .env.example.
  • Onboarding / primera ejecución: abre /setup en la app. El asistente (pasos de BD + proveedor) configura claves y crea el primer admin; no escribe .env por ti — sigue usando el .env.example de la raíz como plantilla y sincroniza valores manualmente si es necesario.

Selección de proveedor

Dos variables controlan qué proveedores de IA están activos. Si se omiten, el runtime detecta la primera API key presente.

VariableValoresDescripción
EMBEDDING_PROVIDERgemini openai voyage ollama-localProveedor de embeddings explícito. Sobreescribe la detección por clave.
LLM_PROVIDERanthropic openai mistral ollama-cloud ollama-localProveedor de chat/LLM explícito. Sobreescribe la detección por clave.

Proveedores de embedding

VariableProveedorDescripción
GOOGLE_API_KEYGeminiAPI key de Google AI Studio. Usa gemini-embedding-001 por defecto.
OPENAI_API_KEYOpenAIAPI key de OpenAI. Compartida con el LLM de OpenAI si ambos están configurados.
VOYAGE_API_KEYVoyage AIAPI key de Voyage AI. Usa voyage-3 por defecto.
OLLAMA_URLOllamaURL base, ej. http://localhost:11434. Se usa para embeddings y LLM.
OLLAMA_MODELOllamaNombre del modelo de embedding (por defecto: nomic-embed-text).
EMBEDDING_MODELtodosSobreescribe el modelo para el proveedor de embeddings activo.
EMBEDDING_DIMENSIONStodosTamaño del vector — debe coincidir con la columna pgvector (por defecto: 768).

Orden de fallback (cuando EMBEDDING_PROVIDER no está establecido): Gemini → OpenAI → Voyage → Ollama.


Proveedores LLM / chat

VariableProveedorDescripción
ANTHROPIC_API_KEYAnthropicAPI key de la consola de Anthropic.
ANTHROPIC_MODELAnthropicNombre del modelo (por defecto: claude-sonnet-4-6).
OPENAI_API_KEYOpenAICompartida con embedding si ambos están configurados.
OPENAI_LLM_MODELOpenAIModelo de chat (por defecto: gpt-4.1-mini).
MISTRAL_API_KEYMistralAPI key de la consola de Mistral.
MISTRAL_MODELMistralNombre del modelo (por defecto: mistral-medium-latest).
OLLAMA_API_KEYOllama CloudClave auth para Ollama Cloud.
OLLAMA_LLM_MODELOllamaModelo de chat (por defecto: tinyllama local / kimi-k2.5:cloud cloud).
OLLAMA_CHAT_TIMEOUT_MSOllamaTimeout de respuesta LLM en ms (por defecto: 180000).
OLLAMA_PLANNER_TIMEOUT_MSOllamaTimeout del planner/tool step en ms (por defecto: 60000).

Orden de fallback (cuando LLM_PROVIDER no está establecido): Anthropic → Mistral → OpenAI → Ollama.


Base de datos

VariableDescripción
DATABASE_URLCadena de conexión completa a Postgres. Obligatoria.

Ejemplo pgvector auto-hospedado:

DATABASE_URL=postgresql://postgres:password@localhost:5432/rag_db

Ejemplo Supabase Vector (directo):

DATABASE_URL=postgresql://postgres:password@db.<project-ref>.supabase.co:5432/postgres

Ejemplo Supabase Vector (transaction pooler — recomendado para serverless):

DATABASE_URL=postgresql://postgres.<project-ref>:password@aws-0-<region>.pooler.supabase.com:6543/postgres

El asistente de configuración (paso 2) puede ayudarte a elegir un estilo de conexión Postgres; aun así copia la cadena final a .env tú mismo.


Aplicación

VariablePor defectoDescripción
MEMORY_SCOPElocal_per_userlocal_per_user / global / disabled
MEMORY_PROACTIVEtrueGuardar automáticamente hechos del usuario en memoria
ADMIN_API_KEYClave opcional para proteger endpoints de admin
WORKFLOW_LOCAL_DATA_DIR./data/workflowDirectorio de estado del workflow durable

Para valores configurables en runtime almacenados en la base de datos (modelo, chunking, búsqueda, tunables RAG) consulta Settings. Todo lo que aparece en este archivo se lee una vez al arrancar desde el entorno.