NODE_ENV=production PORT=3000 DATABASE_URL=postgres://boocode:CHANGE_ME@boocode_db:5432/boochat LLAMA_SWAP_URL=http://100.101.41.16:8401 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 # 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 # 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, all 8 codecontext_* tools (~10k) # all → every tool in ALL_TOOLS (~21k) # BOOCODE_TOOLS=all