MemRosetta -- Lokale Long-Term-Memory-Engine für AI-Tools
(github.com/obst2580)Wenn man AI-Coding-Tools wie Claude Code, Cursor, Codex oder Gemini nutzt, geht beim Wechsel der Sitzung jedes Mal der Kontext verloren.
Die gestern getroffene Architekturentscheidung, die Debugging-Ergebnisse der letzten Woche, mein bevorzugter Coding-Stil – all das muss man jedes Mal erneut erklären.
MemRosetta ist eine lokale Long-Term-Memory-Engine, die genau dieses Problem lösen soll.
Installation in einer Zeile:
npm install -g memrosetta && memrosetta init --claude-code
So funktioniert es
Alle Erinnerungen werden in einer lokalen SQLite-Datei (~/.memrosetta/memories.db) gespeichert. Claude Code, Cursor,
Codex und Gemini teilen sich dieselbe DB, sodass sich in einem Tool gespeicherte Erinnerungen auch in einem anderen Tool abrufen lassen.
Anders als bei klassischem RAG, bei dem Dokumente in Textstücke (Chunks) zerlegt werden, speichert MemRosetta auf Ebene atomarer Erinnerungen.
Eine einzelne Tatsache entspricht genau einem Record.
// Montagssitzung — Claude ruft während des Gesprächs automatisch MCP auf
store({
"content": "인증은 OAuth2 + PKCE로 결정",
"memoryType": "decision",
"keywords": ["auth", "oauth2", "pkce"]
})
// Neue Sitzung am Dienstag — Claude sucht per MCP
search({ "query": "auth" })
→ [0.95] 인증은 OAuth2 + PKCE로 결정 (decision, 2026-03-31)
→ [0.82] API rate limit은 유저당 100req/min (fact, 2026-03-31)
→ [0.41] 로그인 페이지 UI 완성 (event, 2026-03-28)
Selbst wenn sich 100 Erinnerungen angesammelt haben, werden mithilfe von Keyword-Matching + semantischer Ähnlichkeit + ACT-R-Aktivierungsscore nur die fünf relevantesten zurückgegeben. Das entspricht der Art, wie das menschliche Gehirn relevante Erinnerungen abruft – häufig aufgerufene Erinnerungen lassen sich leichter wiederfinden, lange nicht genutzte verblassen auf natürliche Weise, verschwinden aber nicht.
Wichtige Merkmale
- Hybridsuche: FTS5-Keyword-Matching + semantische Vektorähnlichkeit + Convex-Combination-Fusion
- Widerspruchserkennung: Ein lokales NLI-Modell (71 MB) erkennt Widersprüche zwischen neuen Fakten und vorhandenen Erinnerungen automatisch und verknüpft sie als Beziehung
- Adaptives Vergessen: Basiert auf dem ACT-R-Modell aus der Kognitionswissenschaft. Häufig abgefragte Erinnerungen erhalten einen höheren Aktivierungsscore, ungenutzte Erinnerungen verblassen auf natürliche Weise (werden aber nicht gelöscht)
- Zeitmodell: Jede Erinnerung hat vier Zeitstempel – wann sie gespeichert wurde, wann das Gespräch stattfand, wann das tatsächliche Ereignis war und wann sie ungültig wurde
- Beziehungsgraph:
updates,extends,derives,contradicts,supports– Verknüpfungen zwischen Erinnerungen - Kein LLM erforderlich: Die Core-Engine läuft lokal ohne externe API-Aufrufe. Sowohl Embeddings (33 MB) als auch NLI (71 MB) laufen lokal
Integration je Tool
memrosetta init --claude-code # Claude Code: hooks + CLAUDE.md + MCP
memrosetta init --cursor # Cursor: MCP + .cursorrules
memrosetta init --codex # Codex: config.toml + AGENTS.md
memrosetta init --gemini # Gemini: settings.json + GEMINI.md
Über MCP (Model Context Protocol) speichert und durchsucht die AI Erinnerungen direkt während einer Sitzung. Bei Claude Code speichert Claude während der Sitzung direkt per MCP (höchste Qualität, Kosten $0), und beim Sitzungsende ergänzt ein Stop Hook als Sicherheitsnetz alles, was dabei übersehen wurde.
Vergleich mit Konkurrenzprodukten
Bestehende AI-Memory-Lösungen wie Mem0, Zep oder Letta sind Cloud-basiert und abhängig von LLMs. MemRosetta läuft mit einer einzigen lokalen SQLite-Datei, und Funktionen wie Widerspruchserkennung, ACT-R-Vergessensmodell, Zeitmodell und Beziehungsgraph fehlen bei bestehenden Lösungen.
- GitHub: https://github.com/obst2580/memrosetta
- Homepage: https://memrosetta.liliplanet.net
- npm:
npm install -g memrosetta - 696+ Tests, MIT-Lizenz
1 Kommentare
Hallo, ich halte das für eine gute Idee.
Haben Sie vielleicht vor, das auch nach Projekten zu trennen?