Newer
Older
navi-1 / .env.navi_code.example
# ── 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=