Settings File
LumiFind stores every user preference in a single JSON file: settings.json. This page documents every key LumiFind reads, its type, default value and purpose. So, you can safely review, back up or hand-tune your configuration (for example on headless servers running Console mode).
File Location
| Operating System | Path |
|---|---|
| Windows | %UserProfile%\.lumifind\settings.json |
| macOS / Linux | ~/.lumifind/settings.json |
The fastest way to open the folder is Settings → Open Settings Folder. For a full overview of the directory see Folders and Files.
Edit with care! Invalid values can prevent indexing or searching from working. Before editing: close LumiFind, keep a backup copy of the file, and run a validation afterwards (see Validating the file). Keys marked as managed are written automatically by the app and should not be edited by hand.
Structure Overview
{
"generic": { ... },
"model_info": { ... },
"indexing_settings": { ... },
"search_settings": { ... },
"visual_settings": { ... }
}
All five top-level sections are required; the validator complains if any of them is missing. A few extra keys (last_folder, last_updated) are added automatically by the app.
Section: generic
| Key | Type | Default | Description |
|---|---|---|---|
language |
string | "en" |
Interface language code. |
auto_detect |
boolean | true |
Detect and use the operating system language on first run. |
fallback_language |
string | "en" |
Fallback language for missing translations. |
auto_check_updates |
boolean | true |
Check for updates when the application starts. |
advanced_mode |
boolean | false |
Show advanced options in the Settings window. |
backup_include_thumbnails |
boolean | true |
Include thumbnails when creating settings backups. |
last_backup_date |
string | "" |
Managed. Timestamp of the last backup. |
Section: model_info
| Key | Type | Default | Description |
|---|---|---|---|
doc_model_enabled |
boolean | true |
Enable the document embedding model. |
doc_model_name |
string | sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 |
Hugging Face model used for document embeddings. See default models and custom models. |
image_model_enabled |
boolean | false |
Enable image search. |
image_model_name |
string | openai/clip-vit-base-patch32 |
Hugging Face model used for image embeddings. |
voice_model_enabled |
boolean | false |
Enable voice transcription and search. |
voice_model_name |
string | openai/whisper-tiny |
Hugging Face Whisper model used for transcription. |
video_model_enabled |
boolean | false |
Enable video search (audio track analysis). |
frame_model_enabled |
boolean | false |
Enable frame detection (object detection inside videos/images). |
frame_detector_type |
string | opencv_ssd_coco |
Object detector. Supported values include opencv_ssd_coco, detr, yolov8n, yolov8s. |
frame_model_size |
number | null | null |
Optional override of the estimated download size shown in the interface. |
whisper_language_code |
string | "" |
Force transcription language (e.g. "en", "tr"). Empty = auto-detect. |
hugging_face_token |
string | "" |
Access token for gated or private Hugging Face models. |
Feature switches are gated by your license. If a feature is not part of your license, enabling its switch has no effect.
Section: indexing_settings
Paths and files
| Key | Type | Default | Description |
|---|---|---|---|
index_folder |
path | ~/.lumifind/lumifind_db |
Root folder holding all analysis data. |
db_file |
path | ~/.lumifind/lumifind_db.sqlite3 |
SQLite database file tracking analyzed files. The GUI Setup Wizard may place it inside the index folder instead. |
thumbnail_folder |
path | ~/.lumifind/thumbnails |
Folder for thumbnail images. |
models_folder |
path | ~/.lumifind/models |
Folder where downloaded models are cached. |
image_cache_folder |
path | = index folder | Optional separate location for the image embedding cache. |
file_formats |
list of strings | (see example) | File extensions to analyze, e.g. ".pdf", ".jpg". |
Analysis parameters
| Key | Type | Default | Description |
|---|---|---|---|
doc_batch_size |
integer | 1000 |
Documents processed per batch. |
image_batch_size |
integer | 5 |
Images processed per batch (GUI wizard uses 10). |
chunk_size |
integer | 500 |
Text chunk size in characters. |
chunk_overlap |
integer | 50 |
Overlap between consecutive text chunks. |
voice_chunk_duration |
integer | 30 |
Audio chunk length in seconds. |
frame_sample_rate |
integer | 5 |
Analyze one frame every N seconds. Must be a positive integer (GUI wizard uses 25). |
frame_sampling_enabled |
boolean | true |
Enable frame sampling during video indexing. |
object_confidence_threshold |
number (0–1) | 0.5 |
Minimum confidence for detected objects (GUI wizard uses 0.25). |
Feature toggles
| Key | Type | Default | Description |
|---|---|---|---|
process_email_attachments |
boolean | true |
Index attachments found in email files. |
pdf_ocr_fallback |
boolean | false |
Use OCR when a PDF contains no extractable text. See Dealing with scanned documents. |
treat_images_as_documents |
boolean | false |
OCR images and index them as documents. See Dealing with documents as images. |
enable_exif_geocoding |
boolean | true |
Reverse-geocode GPS coordinates from EXIF metadata. |
enable_thumbnails |
boolean | true |
Generate thumbnails for analyzed images. |
auto_export_logs |
boolean | false |
Save session logs to the logs folder after each run. |
show_file_info |
boolean | false |
Show detailed file information in results. |
Maintenance and file watching
| Key | Type | Default | Description |
|---|---|---|---|
file_watching_enabled |
boolean | false |
Watch folders for changes and update the index automatically. |
file_watching_interval |
integer | 60 |
Polling interval in seconds. |
checkpoint_interval |
integer | 0 |
Save an indexing checkpoint every N files; 0 disables checkpoints. |
oldest_file_date |
date string | "1970-01-01" |
Skip files created before this date while indexing. |
Managed keys — do not edit: indexed_folders, excluded_folders, tracked_files (lists maintained by the app) and previous_doc_model (used internally during model changes).
Section: search_settings
| Key | Type | Default | Description |
|---|---|---|---|
max_results |
integer | 100 |
Maximum number of results returned per search. |
max_results_per_file |
integer | 1 |
Maximum matches returned per file. |
min_score |
number | 0 |
Discard results below this similarity score. |
use_metadata_mode |
integer | 0 |
How image search balances metadata against visual content: 0 = balanced (default), 1 = prioritize metadata filters, 2 = prioritize visual matching. |
image_top_k |
integer | 5 |
Number of candidate images considered per query stage. |
metadata_boost_weight |
number | 0.3 |
Weight given to metadata matches when ranking. |
min_file_size_mb |
number | 0.0 |
Ignore files smaller than this size. |
max_file_size_mb |
number | 100.0 |
Ignore files larger than this size (GUI wizard uses 250). |
oldest_file_date |
date string | "1970-01-01" |
Exclude files created before this date from results. |
file_formats |
list of strings | (mirror of indexing) | Restrict searches to these extensions. |
Section: visual_settings
| Key | Type | Default | Description |
|---|---|---|---|
log_level |
string | "INFO" |
Logging verbosity (e.g. DEBUG, INFO, WARNING). |
date_format |
string | "YYYY-MM-DD" |
Date display format (GUI wizard uses DD.MM.YYYY). |
time_format |
string | "HH:mm:ss" |
Time display format. |
file_size_unit |
string | "MB" |
Preferred unit for file sizes. |
show_thumbnails |
boolean | true |
Show thumbnails in result lists. |
show_original_images |
boolean | false |
Show original images instead of thumbnails where possible. |
add_timestamps |
boolean | true |
Display timestamps next to entries. |
Example: minimal settings.json
This is what Console mode's guided setup produces:
{
"generic": {
"language": "en"
},
"model_info": {
"hugging_face_token": "",
"doc_model_enabled": true,
"doc_model_name": "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2",
"image_model_enabled": false,
"image_model_name": "openai/clip-vit-base-patch32",
"voice_model_enabled": false,
"video_model_enabled": false,
"frame_model_enabled": false,
"frame_detector_type": "opencv_ssd_coco",
"frame_model_size": null
},
"indexing_settings": {
"index_folder": "~/.lumifind/lumifind_db",
"db_file": "~/.lumifind/lumifind_db.sqlite3",
"thumbnail_folder": "~/.lumifind/thumbnails",
"models_folder": "~/.lumifind/models",
"file_formats": [".txt", ".md", ".pdf", ".docx"],
"doc_batch_size": 1000,
"image_batch_size": 5,
"chunk_size": 500,
"chunk_overlap": 50,
"pdf_ocr_fallback": false,
"treat_images_as_documents": false,
"auto_export_logs": false,
"show_file_info": false,
"enable_exif_geocoding": true,
"frame_sample_rate": 5,
"object_confidence_threshold": 0.5
},
"search_settings": {
"max_results": 100,
"max_results_per_file": 1,
"min_score": 0,
"use_metadata_mode": 0,
"file_formats": [".txt", ".md", ".pdf", ".docx"],
"min_file_size_mb": 0.0,
"max_file_size_mb": 100.0
},
"visual_settings": {
"log_level": "INFO",
"date_format": "YYYY-MM-DD",
"file_size_unit": "MB"
}
}
Note: Paths may be written either absolute or starting with ~/; LumiFind expands both. The GUI Setup Wizard creates the same structure but may pick different initial values for a few keys (batch sizes, sampling rate and date format).
Validating the file
After editing, always validate:
lf --console --validate-config
The check reports:
- All five required sections exist.
generic.languageis a string;index_folder,db_fileare string paths;file_formatsis a list.frame_detector_typeis a string andframe_model_enabledis a boolean (when present).frame_sample_rateis a positive integer.object_confidence_thresholdis a number between 0 and 1.- The whole file is valid JSON and fully serializable.
Exit code 0 means valid, 1 means problems were found (details printed to the console).
Resetting to defaults
- Console mode: run
lf --console --setup, or choose menu option Settings (create/show) → Create/Reset. - GUI: re-run the Setup Wizard via
--welcome-wizardor reinstall/reset from Settings.
No comments to display
No comments to display