# ── LLM: Ollama (primary) ──────────────────────────────────────────────────── OLLAMA_HOST=http://localhost:11434 OLLAMA_API_KEY= OLLAMA_DEFAULT_MODEL=gemma4:26b-a4b-it-q4_K_M OLLAMA_NUM_CTX=65536 OLLAMA_THINK=true OLLAMA_REQUEST_TIMEOUT=30 # LLM routing: hosts + ordered backup chains (committed, no secrets inside). # When set, replaces OLLAMA_HOST / OLLAMA_API_KEY as the LLM config. # LLM_CONFIG_FILE=llm.json # A second Ollama Cloud account is just another variable, referenced by name # from llm.json as "api_key_env": "OLLAMA_API_KEY_2". # OLLAMA_API_KEY_2= # ── LLM: OpenAI (optional) ─────────────────────────────────────────────────── OPENAI_API_KEY= # OPENAI_MODEL=gpt-4 # OPENAI_BASE_URL=https://api.openai.com/v1 ANTHROPIC_API_KEY= # ── Database (PostgreSQL 15+ with pgvector) ────────────────────────────────── DATABASE_URL=postgresql://navi:navipass@localhost:5432/navidb # ── Embedding (Ollama) ───────────────────────────────────────────────────────── # When empty, falls back to OLLAMA_HOST. EMBEDDING_OLLAMA_HOST= EMBEDDING_OLLAMA_API_KEY= EMBEDDING_MODEL=nomic-embed-text:latest # ── Filesystem / Terminal / SSH ────────────────────────────────────────────── FS_ALLOWED_PATHS=* TERMINAL_ALLOWED_COMMANDS=* SSH_HOSTS_FILE=ssh_hosts.json # ── Session files ────────────────────────────────────────────────────────────── SESSION_FILES_DIR=session_files SESSION_FILES_MAX_SIZE_MB=200 # ── Context compression ──────────────────────────────────────────────────────── CONTEXT_COMPRESSION_ENABLED=true CONTEXT_COMPRESSION_THRESHOLD=0.70 CONTEXT_KEEP_RECENT=4 CONTEXT_SUMMARY_TEMPERATURE=0.3 CONTEXT_SUMMARY_MAX_TOKENS=3000 # ── Logging ──────────────────────────────────────────────────────────────────── LOG_LEVEL=INFO # ── Public URL (used by share_file for download links) ─────────────────────── PUBLIC_URL=http://localhost:8000 # ── Persona ───────────────────────────────────────────────────────────────────── # For Navi Code, we use the specialized persona file. NAVI_PERSONA_FILE=persona_navi_code.txt # NAVI_PERSONA="You are Navi, a loyal assistant..." # ── User tools ───────────────────────────────────────────────────────────────── TOOLS_DIR=tools # ── Eval system (optional) ───────────────────────────────────────────────────── # EVAL_DATA_DIR=debug/eval # ── Auth switch ────────────────────────────────────────────────────────────────── # Set to false for local terminal mode. Every request is then # treated as the anonymous admin user. NAVI_AUTH_ENABLED=false # ── Default Profile ────────────────────────────────────────────────────────────── # The profile used when no profile_id is specified during session creation. NAVI_DEFAULT_PROFILE_ID=navi_code # ── gnexus-auth OAuth ──────────────────────────────────────────────────────────── GNAUTH_BASE_URL=https://auth.your-domain.com GNAUTH_CLIENT_ID= GNAUTH_CLIENT_SECRET= GNAUTH_REDIRECT_URI=https://navi.your-domain.com/auth/callback # GNAUTH_PROFILE_PATH=/account/profile # path appended to base URL for profile links # ── Auth encryption ────────────────────────────────────────────────────────────── # Fernet key for encrypting tokens in DB. NAVI_AUTH_ENCRYPTION_KEY=