Skip to content

Configuration

All configuration is via environment variables. Most are set once in .env and forgotten.

VarPurpose
BRAVE_API_KEYBrave Search API key. Get one at api.search.brave.com.
LLM_API_KEYOpenRouter / OpenAI-compatible provider key. Omit only when LLM_ENDPOINT points to an unauthenticated local server.
VarDefaultPurpose
LLM_JUDGE_ENABLEDfalseMaster switch. true to enable classification.
LLM_ENDPOINThttp://localhost:1234/v1Base URL of the chat-completions endpoint.
LLM_MODELgoogle/gemma-4-e4bModel identifier as the provider expects it.
LLM_TIMEOUT_MS15000Per-call timeout. Bump to 45000 for OpenRouter with auto-route + concurrency.
LLM_CONCURRENCY2Max in-flight LLM requests. 4-8 for hosted, 2 for single-GPU local.
LLM_THINKINGfalsePrepend a reasoning preamble and raise token budget. Useful for small local models only.
LLM_PROVIDER_ORDER(unset)OpenRouter-specific: comma-separated preferred providers (e.g., groq,cerebras). Auto-route is usually better.
VarPurpose
GOOGLE_SAFE_BROWSING_KEYGoogle Safe Browsing v4 API key. Omit to disable safety_flag.

Applied when the tool input doesn’t specify.

VarExamplePurpose
SIFT_DEFAULT_COUNTRYJPISO-2 uppercase.
SIFT_DEFAULT_SEARCH_LANGja2-3 char lowercase.
VarDefaultPurpose
SIFT_OBSERVATIONSonSet to off to disable local JSONL logging entirely.
VarDefaultPurpose
SIFT_OBSERVATION_SYNC_URL(unset)Base URL of an HTTP PUT-capable store. Unset = no remote sync.
SIFT_OBSERVATION_SYNC_AUTH(unset)Full Authorization header value (e.g., Bearer xxx).
SIFT_OBSERVATION_SYNC_PATHobservations/sift/Path prefix under the base URL.
SIFT_OBSERVATION_SYNC_INSECURE_TLSfalsetrue to skip TLS cert verification (needed for Obsidian’s self-signed cert).

See Learning loop for how to use the mirror.