NODE_ENV=production
PORT=3000
DATABASE_URL=postgres://boocode:CHANGE_ME@boocode_db:5432/boochat
LLAMA_SWAP_URL=http://100.101.41.16:8401
# Multi-provider local registry (optional; falls back to LLAMA_SWAP_URL when absent)
#LLAMA_PROVIDERS_PATH=/data/llama-providers.json
PROJECT_ROOT_WHITELIST=/opt
BOOTSTRAP_ROOT=/opt/projects
DEFAULT_MODEL=qwen3.6-35b-a3b-mxfp4
POSTGRES_PASSWORD=CHANGE_ME
# v1.11.8: SearXNG JSON endpoint for the web_search / web_fetch tools.
# Internal Tailscale address that bypasses Authelia. Override if you
# point BooCode at a different SearXNG instance.
SEARXNG_URL=http://100.114.205.53:8888

# Path to the MCP server config (data/mcp.json). BooChat (Docker) defaults to
# /data/mcp.json (the container bind-mount). BooCoder (host service) must set
# this to the absolute host path: /opt/boocode/data/mcp.json
# MCP_CONFIG_PATH=/opt/boocode/data/mcp.json

# Context7 MCP key. Referenced from data/mcp.json as "{env:CONTEXT7_API_KEY}"
# ({env:VAR} substitution, opencode-compatible). Leave unset to send no key.
# CONTEXT7_API_KEY=ctx7sk-...

# Task model: lightweight model for auto-naming, search rewrite, etc.
# Direct llama-server instance (NOT llama-swap). Falls back to LLAMA_SWAP_URL
# with FAST_MODEL when unset.
# TASK_MODEL_URL=http://100.90.172.55:7995

# DeepSeek API key. When set, models with IDs starting with 'deepseek-'
# (e.g. deepseek-chat, deepseek-reasoner, deepseek-v4-flash) route through
# DeepSeek's API instead of llama-swap. Requires a DeepSeek Platform API key.
# DEEPSEEK_API_KEY=sk-...
# DEEPSEEK_BASE_URL=https://api.deepseek.com
# DEEPSEEK_BETA_BASE_URL=https://api.deepseek.com/beta

# v1.13.15-tools: BOOCODE_TOOLS narrows the tool whitelist sent to the LLM.
# Unset (default) → all tools (~21k schema). Useful primarily for single-purpose
# sessions where the model only needs read-only filesystem access.
#
# core      → view_file, list_dir, grep, find_files                       (~2k)
# standard  → core + web_*, git_status, boocontext MCP tools               (~10k)
# all       → every tool in ALL_TOOLS                                     (~21k)
# BOOCODE_TOOLS=all
