-
-
Notifications
You must be signed in to change notification settings - Fork 7
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.
| Platform | Status |
|---|---|
| macOS — Apple Silicon | ✅ Supported |
| macOS — Intel | |
| 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 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 | full semantic + BM25 | |
| BM25 only (default if unset) | leave unset | none | 🔒 local | keyword only — no semantic matches |
Activating it: on macOS,
bastra installdetects Ollama and — if it's missing — offers to install it via Homebrew, pullembeddinggemma, and start it as a local login service. With no provider set, recall stays on BM25-only (no semantic matches), butbastra statusshows 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 offNotes: --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).
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.
| Plattform | Status |
|---|---|
| macOS — Apple Silicon | ✅ Unterstützt |
| macOS — Intel | |
| 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 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 | voll semantisch + BM25 | |
| Nur BM25 (Default, wenn nicht gesetzt) | nichts setzen | keine | 🔒 lokal | nur Stichwort — keine semantischen Treffer |
Aktivierung: Auf macOS erkennt
bastra installOllama und bietet — falls es fehlt — an, es via Homebrew zu installieren,embeddinggemmazu ziehen und als lokalen Login-Service zu starten. Ohne gesetzten Provider bleibt Recall im BM25-only-Modus (keine semantischen Treffer), aberbastra statuszeigt 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 offHinweise: --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).
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.