Skip to content

kumulativ Docs

kumulativ documentation What kumulativ is: three desktop apps that share one local model, and where to start.

kumulativ documentation

kumulativ is a family of three desktop apps for macOS and Windows, each built around a model that runs on your own machine:

  • smartreader — read a PDF, EPUB, Word file or plain text, highlight the passage that lost you, and have it explained.
  • smartwriter — say what you want to write and be questioned, given directions, read back against your own intent, or handed a draft.
  • smartdiary — a private diary in one book, activities you tag as you go, companions that answer from your own words, and mentors that count what you said you wanted to do.

They share one thing besides a design language: the model runtime. One store of weights and engines under your user config directory, one llama-server started by whichever app first needs it, at most one model resident across all of them, asleep after a quiet minute. Install a second app and it finds the model already there.

What never happens

  • Nothing you read, write or record leaves the machine. The apps make two outbound requests, ever: the inference engine from GitHub and the model weights from Hugging Face, once each. After that they work with the network off.
  • There are no accounts. Nothing to sign into, nothing to leak.
  • There is no telemetry. No analytics, no crash pings, no first-run beacon.
  • There is no cloud model option. Not switched off — absent.

First run, in every app

  1. The app detects the machine — NVIDIA VRAM via nvidia-smi, unified memory on Apple silicon, otherwise system RAM.
  2. It picks the Qwen3.5 size that answers quickly on that hardware: the 9B where it fits, the 4B where it would not. A size already on disk is never downloaded again.
  3. It downloads the pinned llama.cpp release — the CUDA build on NVIDIA Windows machines, the CPU build elsewhere, with an automatic CPU fallback if the GPU engine will not start — and the weights, resumably, into the shared store.
  4. From then on the model loads on the first question and sleeps after a quiet minute.

Where things live

<UserConfigDir>/
  kumulativ/      the shared store: models/, engines/, run/
  smartreader/    the library index, extracted books, notes, settings
  smartwriter/    pieces, sources, conversations, settings
  smartdiary/     the sealed journal, its unlock parameters, images

<UserConfigDir> is ~/Library/Application Support on macOS and %AppData% on Windows.

Environment variables shared by every app

Variable Effect
KUMULATIV_HOME Move the shared store (portable installs, tests)
KUMULATIV_BIN_DIR Look for a staged llama-server here first
KUMULATIV_IDLE_UNLOAD_MIN Minutes of quiet before the server sleeps a model (default 1; 0 = never)
KUMULATIV_LLAMA_ASSET / KUMULATIV_LLAMA_RELEASE Pin a different llama.cpp asset or release
KUMULATIV_LLAMA_EXTRA_ARGS Extra flags appended to the server command line
KUMULATIV_FORCE_CPU Never use the CUDA build
KUMULATIV_NO_ENGINE_FETCH Refuse to download an engine
KUMULATIV_DEBUG Forward the server’s output to stderr

Each app also has <APP>_CONFIG_DIR to move its own data and <APP>_GGUF to point it at a specific weights file.