Skip to content

System Requirements

Daniel Nevoigt edited this page Jun 9, 2026 · 2 revisions

Bastra.Recall — System Requirements

What you need to run the local daemon, and how the embedding (semantic-recall) options trade off. Was du brauchst, um den lokalen Daemon zu betreiben, und wie die Embedding-Optionen (semantischer Recall) sich unterscheiden.


🇬🇧 English

Platforms

Platform Status
macOS — Apple Silicon ✅ Supported
macOS — Intel ⚠️ Untested
Windows 🛣️ Planned — see the Windows Support milestone (epic #86)
Linux ❌ Not yet (the daemon is Node, but the installer + autostart are macOS-only)

bastra-recall is macOS-only today: the daemon runs as a launchd LaunchAgent, config and vault live under ~/Library/Application Support, and the document/OCR path is darwin-only. Windows is on the roadmap — the port is broken down into a service manager, cross-platform paths, a Windows Ollama bundle, and a document/OCR backend (see the milestone).

Recall modes (embeddings)

Recall is hybrid: a lexical half (BM25) always works; a semantic half needs an embedding provider. You pick the provider with BASTRA_EMBEDDING_PROVIDER:

Mode Enable Local cost Privacy Recall quality
Ollama (local) — recommended BASTRA_EMBEDDING_PROVIDER=ollama (model embeddinggemma) tiny — see below 🔒 everything stays on your machine full semantic + BM25
OpenAI (cloud) BASTRA_EMBEDDING_PROVIDER=openai + OPENAI_API_KEY ~none ⚠️ vault text is sent to OpenAI full semantic + BM25
BM25 only (default if unset) leave unset none 🔒 local keyword only — no semantic matches

Activating it: on macOS, bastra install detects Ollama and — if it's missing — offers to install it via Homebrew, pull embeddinggemma, and start it as a local login service. With no provider set, recall stays on BM25-only (no semantic matches), but bastra status shows the active mode — it's never silently off.

Setup paths:

# Automatic (recommended) — detects, asks, installs via Homebrew, pulls, activates:
bastra install --ollama          # --no-ollama to skip

# Manual:
brew install ollama
ollama pull embeddinggemma        # ~621 MB, one time
bastra config set embedding.provider ollama

# Ollama runs at login by default; turn the service off with:
bastra config set ollama.autostart off

Notes: --yes does not trigger the Ollama download (use --ollama). The Pro Mac app bundles its own Ollama under ~/Library/Application Support/Bastra/ollama/; the OSS CLI instead delegates to Homebrew (it bundles no binary). Homebrew and the model come from third parties (Homebrew core, ollama.com).

Hardware (macOS)

The embedding model — Google's EmbeddingGemma (308M params) — is built for phones and laptops and stays under ~200 MB RAM when quantized. So the bar is low:

Minimum Comfortable
BM25 / OpenAI mode any Apple Silicon Mac, 8 GB RAM
Ollama (local embeddings) any Apple Silicon Mac, 8 GB RAM 16 GB if you also run other local models
  • Disk: ~621 MB for embeddinggemma + a few hundred MB for the bundled Ollama. The vault itself is plain Markdown (negligible).
  • CPU/GPU: Apple Silicon (Metal) is what makes local embeddings fast; Intel Macs are untested.

💡 Cold-start caveat: if the daemon went idle and has to reload the model, the first recall after a pause can stall — and on Claude Desktop that can surface as "no access to the MCP server" (#78). The fix is to keep the model and daemon warm (OLLAMA_KEEP_ALIVE=-1, and don't let the daemon self-terminate when it runs as a LaunchAgent). This is a load-time delay, not a RAM-pressure problem — EmbeddingGemma is small.


🇩🇪 Deutsch

Plattformen

Plattform Status
macOS — Apple Silicon ✅ Unterstützt
macOS — Intel ⚠️ Ungetestet
Windows 🛣️ Geplant — siehe Windows-Support-Milestone (Epic #86)
Linux ❌ Noch nicht (der Daemon ist Node, aber Installer + Autostart sind macOS-only)

bastra-recall ist heute macOS-only: Der Daemon läuft als launchd-LaunchAgent, Config und Vault liegen unter ~/Library/Application Support, und der Dokument-/OCR-Pfad ist darwin-only. Windows steht auf der Roadmap — der Port ist aufgeteilt in Service-Manager, plattformübergreifende Pfade, ein Windows-Ollama-Bundle und ein Dokument-/OCR-Backend (siehe Milestone).

Recall-Modi (Embeddings)

Recall ist hybrid: Die lexikalische Hälfte (BM25) funktioniert immer; die semantische Hälfte braucht einen Embedding-Provider. Den Provider wählst du mit BASTRA_EMBEDDING_PROVIDER:

Modus Aktivierung Lokale Last Privacy Recall-Qualität
Ollama (lokal) — empfohlen BASTRA_EMBEDDING_PROVIDER=ollama (Modell embeddinggemma) minimal — siehe unten 🔒 alles bleibt auf deiner Maschine voll semantisch + BM25
OpenAI (Cloud) BASTRA_EMBEDDING_PROVIDER=openai + OPENAI_API_KEY ~null ⚠️ Vault-Text geht an OpenAI voll semantisch + BM25
Nur BM25 (Default, wenn nicht gesetzt) nichts setzen keine 🔒 lokal nur Stichwort — keine semantischen Treffer

Aktivierung: Auf macOS erkennt bastra install Ollama und bietet — falls es fehlt — an, es via Homebrew zu installieren, embeddinggemma zu ziehen und als lokalen Login-Service zu starten. Ohne gesetzten Provider bleibt Recall im BM25-only-Modus (keine semantischen Treffer), aber bastra status zeigt den aktiven Modus — also nie still aus.

Einrichtungs-Wege:

# Automatisch (empfohlen) — erkennt, fragt, installiert via Homebrew, pullt, aktiviert:
bastra install --ollama          # --no-ollama überspringt

# Manuell:
brew install ollama
ollama pull embeddinggemma        # ~621 MB, einmalig
bastra config set embedding.provider ollama

# Ollama läuft per Default beim Login; Service abschalten mit:
bastra config set ollama.autostart off

Hinweise: --yes löst den Ollama-Download nicht aus (dafür --ollama). Die Pro-Mac-App bringt ihr eigenes Ollama unter ~/Library/Application Support/Bastra/ollama/ mit; die OSS-CLI delegiert stattdessen an Homebrew (bundlet kein Binary). Homebrew und das Modell kommen von Dritten (Homebrew Core, ollama.com).

Hardware (macOS)

Das Embedding-Modell — Googles EmbeddingGemma (308M Parameter) — ist für Handys und Laptops gebaut und bleibt quantisiert unter ~200 MB RAM. Die Hürde ist also niedrig:

Minimum Komfortabel
BM25- / OpenAI-Modus jeder Apple-Silicon-Mac, 8 GB RAM
Ollama (lokale Embeddings) jeder Apple-Silicon-Mac, 8 GB RAM 16 GB, wenn du nebenbei weitere lokale Modelle fährst
  • Disk: ~621 MB für embeddinggemma + ein paar hundert MB für das gebundlete Ollama. Der Vault selbst ist reines Markdown (vernachlässigbar).
  • CPU/GPU: Apple Silicon (Metal) macht lokale Embeddings schnell; Intel-Macs sind ungetestet.

💡 Cold-Start-Hinweis: Wenn der Daemon idle war und das Modell neu laden muss, kann der erste Recall nach einer Pause hängen — auf Claude Desktop äußert sich das als „kein Zugriff auf den MCP-Server" (#78). Der Fix: Modell und Daemon warm halten (OLLAMA_KEEP_ALIVE=-1, und den Daemon nicht self-terminaten lassen, wenn er als LaunchAgent läuft). Das ist eine Lade-Verzögerung, kein RAM-Druck-Problem — EmbeddingGemma ist klein.

Clone this wiki locally