The SuperLocalMemory mascot flying between modes
Configuration

Three modes. One for every setup.

Pick how much language-model power your memory gets. Local Guardian (A) runs no language model at all. Smart Local (B) adds a model on your own machine. Full Power (C) uses your own endpoint or a cloud provider for the best recall. Switch any time with slm mode a|b|c; your memories stay put.

Read this first

Two kinds of model.
The modes change only one.

“Mode A has no model” means no language model. Search still needs a small model, and so do pictures. Here is the difference.

A language model

Writes text

It extracts facts, resolves entities, classifies kinds and can write answers from your memories. Modes B and C add one. Mode A has none.

An embedding model

Only reads

It turns text or a picture into numbers so search can find it, and never writes anything. Every mode has one, so search works from the first install.

Mode A · Local GuardianMode B · Smart LocalMode C · Full Power
Language modelNone at allOn your computer: Ollama, where Google Gemma 3 4B is the default and Gemma 4 is in the model picker, or any local OpenAI-compatible serverYour own endpoint or a cloud provider
Text search (embedding)A small local model, nomic-embed-text, on your computerThe same local embedding modelYour own endpoint or a cloud provider
Pictures and documentsYes, when turned onYes, when turned onYes, when turned on
Answer checkThe same in every mode: Laya on-device (on by default on Apple Silicon) or Jev online, only after you consent. Switching modes never changes it.
Leaves your computerNothing by defaultNothing while the model runs on this machineQueries and memory text go to the provider you chose

GooglePictures and documents work in every mode, Mode A included

Turn them on with slm media enable or in the dashboard’s Documents & Images pane. Google’s EmbeddingGemma 2 and OCR run on your computer: the picture model is an embedding model, so it reads your pictures and never writes. A description finds the image, every PDF page is indexed by its picture and its text, and every answer cites its file and page.

  • Needs 16 GB of memory and about 1.5 GB of downloads. Off until you turn it on.
  • Not supported on Intel Macs or Windows on ARM. Text memory works there as before.
  • An optional memory-engine upgrade re-reads every memory with the same model so text and pictures share one search space; it can be rolled back.

Pictures and documents guide → · Configuration guide → · Answer check guide →

DEFAULT · RECOMMENDED
A

Local Guardian.
No language model.

No language model runs and, by default, nothing leaves this device: the fastest and most private mode. Extraction uses deterministic rules, a local encoder embeds every memory, and a local cross-encoder reranks results. Remember and recall make no model-provider call (unless you turn on the online Jev answer check).

  • Embeddingnomic-embed-text-v1.5 · 768-dim · 8K context
  • StorageSQLite-backed core + derived indexes
  • GPUNot required
  • Language modelNone
  • Setup timeEnvironment-dependent
  • Published LoCoMo60.4% raw · 74.8% retrieval
Use when
  • Privacy-first orgs
  • CI/CD pipelines
  • Low-resource machines
  • Air-gapped environments
setup — Mode A
# Install SuperLocalMemory $ npm install -g superlocalmemory
# Run setup and select Mode A (default) $ slm setup
✓ Mode A active · local embedding path configured ✓ SQLite-backed core initialised ✓ Optimize cache remains opt-in
# Verify status $ slm status mode: A · core provider call: not required ✓ Review optional network features separately
SMART LOCAL
B

Smart Local.
A model on your machine.

llama.cpp · vLLM · LM Studio GoogleGemma 3 and Gemma 4 in the model picker

Everything in Mode A, plus a language model running on your own computer: Ollama by default (the model picker includes Google Gemma 3 and Gemma 4), or llama.cpp, vLLM, LM Studio or any OpenAI-compatible server. You get LLM-quality fact extraction, entity resolution, type classification and importance scoring, and the model can write answers from your memories, with nothing leaving the device while the model runs on this machine. slm models recommends models that fit this computer.

  • Language modelOn this machine (Ollama or any local server)
  • StorageSQLite-backed core + derived indexes
  • GPUDepends on the model you run
  • NetworkDepends on endpoint and model acquisition
  • Setup timeEnvironment-dependent
  • Published LoCoMoNo separate Mode B paper run
Use when
  • Better extraction without the cloud
  • Teams that run their own model server
  • Anyone already running Ollama or LM Studio
setup — Mode B
# Pull an embedding model via Ollama first $ ollama pull nomic-embed-text pulling nomic-embed-text:latest … done
# Switch the configured runtime to Mode B $ slm mode b
✓ Ollama detected · nomic-embed-text ready ✓ Local endpoint configured ✓ Optimize cache remains opt-in
# Test semantic recall $ slm recall "token expiry" ↳ JWT, refreshed every 15m · relevance 0.83 · stored confidence 0.99   answer confidence null · calibration uncalibrated
FULL POWER
C

Full Power.
Your endpoint or the cloud.

Azure OpenAI

Everything in Mode B, plus the strongest models you configure: your own OpenAI-compatible endpoint, or OpenAI, Anthropic, Azure OpenAI or OpenRouter. You get 3072-dimension embeddings, agentic multi-round retrieval and an optional cloud reranker for the best recall quality. Your queries and memory text leave the device, and the docs say exactly what goes.

  • ProviderYour endpoint, or OpenAI · Anthropic · Azure · OpenRouter
  • StorageSQLite-backed core + derived indexes
  • GPUNot required
  • InternetProvider calls and optional integrations
  • Setup timeEnvironment-dependent
  • Published LoCoMo87.7% · Conv-30 / 81 questions
Use when
  • Maximum recall quality
  • Agents that need multi-round retrieval
setup — Mode C
# Configure provider credentials using your secret manager $ export OPENAI_API_KEY=sk-...
# Switch to Mode C and select a provider $ slm mode c $ slm provider set openai
✓ Provider path configured ✓ Configured content may be sent to that provider ✓ Local core state remains operator-managed
# Inspect the complete configuration $ slm status ✓ Mode C active · review provider policy before use
Side by Side

Compare the three modes.

Every tradeoff, visible at a glance.

Feature Mode A Mode B Mode C
No internet required ✓ ✓ –
No GPU needed ✓ Depends on the model ✓
No API key ✓ ✓ –
Name Local Guardian Smart Local Full Power
Language model None On this machine Your endpoint or cloud
LLM extraction, entity resolution, classification – ✓ ✓
LLM-written answers – ✓ ✓
Agentic multi-round retrieval – – ✓
Reranker Local cross-encoder Local cross-encoder Local, or optional cloud
Embedding dimension 768 768 Up to 3072
Leaves the device Nothing by default (opt-ins are listed below) Nothing, while the model runs on this machine Queries and memory text, to your endpoint or provider
Setup time Environment-dependent Environment-dependent Environment-dependent
Published LoCoMo evidence 60.4% raw · 74.8% retrieval No separate paper run 87.7% · Conv-30 / 81
Embedding type nomic-embed-text-v1.5 Local encoder, 768-dim Up to 3072-dim, your provider
Storage backend SQLite-backed core SQLite-backed core SQLite-backed core
Recommended for Privacy · CI/CD · Default Better extraction, still private Best recall quality

Published architecture-paper evidence, not a fresh run of the current package.: Mode A results cover 10 conversations and 1,276 questions; the 74.8% retrieval result discloses GPT-4.1-mini answer synthesis. Mode C covers Conv-30 only (81 questions) with cloud embeddings and GPT-4.1-mini. Mode B has no separately published LoCoMo run.

The answer check works in every mode. Choose Laya (on your Apple Silicon Mac, nothing leaves the machine) or Jev (online, any computer, with your consent) in Settings → Answer check. It is separate from the mode, so switching modes never changes it.

Governance by mode

Each mode, mapped to its EU AI Act posture.

SuperLocalMemory ships a per-mode EU AI Act self-assessment. It is a technical-control map, not a legal certification — applicability depends on your deployment, data, and operator role.

Mode A · Local core
Memory processing stays local with no generative AI in the core path. Assessed as meeting requirements — the strongest fit for EU data-residency.
Mode B · Local model
Local Ollama enrichment keeps processing on the machine with no external provider. Assessed as meeting requirements.
Mode C · Provider-assisted
Sends configured content to an external provider. Flagged non-compliant by the checker; assess provider terms, international transfers, and legal basis.

Regardless of mode: GDPR access / erasure / portability, a hash-chained audit trail, per-workspace isolation, and role-based access. See Governance & EU AI Act controls →

Inspectable portability

Change mode any time — your memories persist.

Switching modes takes effect immediately and loses no data: every mode reads the same local memory database. Changing the embedding model is a separate step, slm embedder switch, which re-indexes every memory in the background while recall keeps working.

mode switch
# Show the current mode $ slm mode
# Switch: a, b or c. Takes effect immediately $ slm mode b
# Point Mode B at your own OpenAI-compatible server $ slm provider set custom --endpoint http://127.0.0.1:8080/v1 --mode b the save is followed by a connection test
# Separate re-index: change the embedding model $ slm embedder switch nomic-ai/nomic-embed-text-v1.5 $ slm embedder status
Common Questions

Questions about modes.

Read the guidesConfiguration · Getting started

★ Star on GitHub