-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
All settings are edited in Settings inside the app, and persisted as JSON at:
%APPDATA%\com.virgi.sensetree\settings.json
The file is written atomically and is tolerant: if it ever becomes corrupted, SenseTree logs a warning and falls back to defaults instead of refusing to start. Unknown/missing fields fall back to sensible defaults (forward/backward compatible).
settings.json has five sections: embedding, reasoning, vision, indexing, prompts.
| Field | Type | Meaning |
|---|---|---|
mode |
"local" | "openai"
|
local = built-in ONNX engine (fastembed). openai = an OpenAI-compatible /v1/embeddings endpoint. |
model |
string | fastembed model id (local) or remote model name (openai). |
base_url |
string | Server base URL in openai mode (e.g. http://localhost:11434/v1). |
api_key |
string | Optional bearer token (empty for most local servers). |
dimensions |
number | Vector size — must match the model (e.g. 384, 768, 1024). |
use_gpu |
bool | Try CUDA for the local engine, with graceful CPU fallback. |
Defaults: local multilingual-e5-small, 384-d, CPU.
Both are OpenAI-compatible chat endpoints with the same shape:
| Field | Type | Meaning |
|---|---|---|
base_url |
string | e.g. http://localhost:11434/v1 (Ollama), http://localhost:1234/v1 (LM Studio), or a LAN IP. |
model |
string | Model name as the server expects it. |
api_key |
string | Optional bearer token. |
enabled |
bool | Turn the slot on/off. |
Defaults: reasoning llama3.1:8b (enabled); vision moondream (disabled — vision is opt-in because a multimodal model is often absent by default).
| Field | Type | Default | Meaning |
|---|---|---|---|
roots |
string[] | [] |
Folders watched and indexed. |
chunk_size |
number | 1000 | Target characters per text chunk. |
overlap |
number | 200 | Overlap between consecutive chunks. |
batch_size |
number | 32 | Embedding batch size (throughput vs. memory). |
max_file_mb |
number | 50 | Files larger than this are indexed by context only (not fully extracted). |
block_bias |
number (0–1) | 0.5 | Folder classification tendency: 0 = very recursive (explore everything), 1 = very block (aggressively group technical folders). See Indexing Pipeline. |
Seven overridable system prompts. Leave a field empty to use the built-in default. This is how you tune the "extraction of meaning" without recompiling — see the dedicated Prompts page. The fields are: folder_classify, folder_describe, file_extract, vision_caption, vision_ocr, chat_system, reorganize.
-
Changing the embedding model or its
dimensionsinvalidates existing vectors (different models produce incompatible vector spaces). SenseTree detects this on save and performs a full re-index: it updates the vector dimension, clears the vector store, resets the index, and re-scans the roots. -
Changing the
block_biasslider or thefolder_classifyprompt makes SenseTree forget prior folder classifications so your new preference actually takes effect on the next scan (it clears folder profiles and re-scans). - Changing reasoning/vision takes effect immediately for new chat/description/caption calls — no re-index needed.
| Runner | Typical base_url
|
Notes |
|---|---|---|
| Ollama | http://localhost:11434/v1 |
Pull models with ollama pull <name>; the catalog resolves hf.co/... GGUF names for you. |
| LM Studio | http://localhost:1234/v1 |
Enable the local server; the catalog resolves lms get install names. |
| Home server / LAN | http://192.168.x.y:11434/v1 |
Any OpenAI-compatible server on your network. |
| External API | provider URL | Set api_key. Note this sends content off your machine. |
More detail, plus per-hardware model recommendations, in Models & Providers.
Getting started
Using it
- Configuration
- Models & Providers
- Semantic Search
- Image Search
- AI Chat & Agent
- Gardener
- Prompts
- MCP Servers
Under the hood