Skip to main content

Console mode

Introduction

LumiFind offers a console mode for servers or remote computers such as Network Attached Storage (NAS). Most of these devices do not have a monitor, therefore, a graphical user interface (GUI) cannot be shown.

The console mode for LumiFind can work completely in the terminal. At the first startup, it asks you to register, then create the minimal settings file, then offers a set of options. The console mode is written in plain Python and can be expanded if you are comfortable with programming.

Features

Unfortunately, not every feature in the GUI version is available for the easy use, but the core functionalities can be used. Here are the features it has so far:

  • License Management: Activation, renewal, release, and validation of your LumiFind license.
  • Interactive Setup: Guided creation of a minimal settings file, gated by your license features.
  • Semantic Indexing: Analyze and index documents, images, voice, and video files (as permitted by your license).
  • Semantic Search: Search indexed data by content, supporting multiple data types.
  • Data Management: Clear analyzed data for any supported type.
  • Settings Management: Create, reset, show, and validate your configuration.
  • Non-Interactive Automation: Run indexing or search directly from the command line with flags.
  • Config Validation: Check your settings file for completeness and correctness.

Usage

LumiFind can be used in Linux and macOS devices in Console mode easily. On Linux installations the lf command is available; on macOS use the packaged application binary with the same flags.

Requirements

  • Internet access for license activation and model downloads.
  • Read/write access to ~/.lumifind/ for config and database files.

To start in console mode, on Linux and macOS, run:

lf --console

First Run Flow

  1. License Check: On startup, LumiFind checks your license. If missing or invalid, you are prompted to activate with your license key and email. If the check fails, the program exits with code 1.
  2. Settings Setup: If no settings file exists (or you use --setup), LumiFind guides you through creating a minimal configuration:
    • Index folder location
    • File formats to analyze
    • Log export preference
    • Feature enablement (Documents, Images, Voice, Video) based on your license
    • Model selection (with defaults, overridable). See default supported models, or how to use your own model.
  3. Main Menu: After setup, LumiFind presents an interactive menu for all major operations.
Auto-detected system language: English
===========================================
  Welcome to LumiFind Console Mode!
  Website: https://lumifind.midilli.tech
  Backend Version: 1.5.0
  Frontend Version: 1.5.0
  This software is copyrighted.
===========================================
🤖 Loading model: sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
📂 Found on device. Loading from cache.............
Model will run on: cpu
✅ Model loaded successfully!

📂 Found on device. Loading from cache...
🤖 Loading model: openai/clip-vit-base-patch32...
Model will run on: cpu
✅ Model loaded successfully!

Model will run on: cpu
🤖 Loading model: openai/whisper-small
📂 Found on device. Loading from cache...........
Model will run on: cpu
Database folder not found: ~/.lumifind/lumifind_db, will assume fresh installation

What do you want to do?
1. Analyze Documents
2. Search Documents
3. Clear Analyzed Data
4. License Manager
5. Settings (create/show)
q. Exit
Enter choice (1/2/3/4/5/q): 

The interactive menu also includes submenus for License Manager (renew / release / status) and Settings (create/reset / show current file).

Non-Interactive Flags

LumiFind supports automation via command-line flags. Append the flag after enabling the console mode:

lf --console --flaghere
Flag Description
--setup Run guided setup to create/reset your settings file.
--validate-config Validate your settings file for required sections, types, and JSON serializability. Exit code 0 = valid, 1 = problems found.
--index Start indexing using the actual settings immediately and exit.
--search "<query>" --type <n> Run a search for the given query and type, print results as a table, then exit.
--license-manager Open the graphical License Manager window on its own (useful for desktop automation).
--welcome-wizard Open the graphical Setup Wizard on its own. Cannot be combined with --license-manager (exit code 2).
--update Launch the built-in updater interface directly.

Search types

The --type flag accepts values 0–4:

Value Searches
0 Documents (default)
1 Images
2 Voice recordings
3 Video audio
4 Video frames

Note: The interactive menu prompt lists types 0–3 only, but type 4 (video frames) is fully valid when passed via --type 4. Example:

lf --console --search "sunset at the beach" --type 1

Exit codes

Code Meaning
0 Operation completed successfully.
1 License check failed, settings file missing, invalid configuration, or search error.
2 Incompatible flags combined (--license-manager together with --welcome-wizard).

Exit codes make the non-interactive flags safe to use in cron jobs, systemd timers or NAS scheduling tools — simply check whether the command returned 0.

Changing Settings

To get the most of the LumiFind, you can edit the settings file located under ~/.lumifind/settings.json. Each setting is documented on the Settings File page. After saving the changes do not forget to validate using --validate-config.

Extending LumiFind

The console mode is written in Python and can be extended for automation, integration, or custom workflows.
You can add new flags, automate menu actions, or integrate with other systems.