cortex
memem
Dauerhaftes, sich selbst entwickelndes Gedächtnis für Claude Code. Hören Sie auf, Ihr Projekt in jeder Sitzung neu zu erklären.
Für die Entdeckung von LLM/KI-Tools siehe llms.txt.
███╗ ███╗███████╗███╗ ███╗███████╗███╗ ███╗
████╗ ████║██╔════╝████╗ ████║██╔════╝████╗ ████║
██╔████╔██║█████╗ ██╔████╔██║█████╗ ██╔████╔██║
██║╚██╔╝██║██╔══╝ ██║╚██╔╝██║██╔══╝ ██║╚██╔╝██║
██║ ╚═╝ ██║███████╗██║ ╚═╝ ██║███████╗██║ ╚═╝ ██║
╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
persistent memory for Claude CodeWas ist memem?
memem ist ein Claude Code-Plugin, das Claude einen dauerhaften Speicher über Sitzungen hinweg verleiht. Ein Hintergrund-Miner extrahiert dauerhafte Lektionen (Entscheidungen, Konventionen, Fehlerbehebungen, Präferenzen) aus Ihren abgeschlossenen Sitzungen, speichert sie als Markdown in einem Obsidian-Vault und blendet automatisch relevante Informationen zu Beginn jeder neuen Sitzung über ein abfrageorientiertes Briefing ein.
Es ist Local-First: keine Cloud-Dienste, keine API-Schlüssel erforderlich, kein Vendor-Lock-in. Alles befindet sich unter ~/obsidian-brain/memem/memories/ als menschenlesbares Markdown.
Wann sollte ich memem verwenden?
Verwenden Sie memem, wenn:
Sie Claude Code täglich nutzen und Ihr Projekt in jeder neuen Sitzung immer wieder neu erklären müssen
Sie ein dauerhaftes Gedächtnis wünschen, das Sie als Markdown durchsuchen und bearbeiten können
Sie Local-First-Tools ohne Vendor-Lock-in mögen
Sie bereits Obsidian verwenden (memem lässt sich direkt in Ihren Vault integrieren)
Überspringen Sie memem, wenn:
CLAUDE.mdfür Sie gut funktioniert und Sie keinen Hintergrund-Daemon möchtenSie einen Cloud-synchronisierten Speicher über mehrere Geräte hinweg benötigen (memem ist nur lokal)
Sie Python < 3.11 verwenden
Wie unterscheidet sich memem von CLAUDE.md?
CLAUDE.md ist eine einzelne, manuell bearbeitete Datei pro Projekt. memem bietet Ihnen:
Automatische Extraktion — kein manuelles Notieren, der Miner erfasst Lektionen aus jeder abgeschlossenen Sitzung
Abfragebewusster Kontext — nur die für Ihre aktuelle Frage relevanten Erinnerungen werden eingefügt, kein statischer Dump
Selbstentwicklung — Erinnerungen werden automatisch zusammengeführt, aktualisiert und als veraltet markiert, während sich Ihr Projekt weiterentwickelt
Projektübergreifend — funktioniert über jedes Claude Code-Projekt hinweg, das Sie verwenden, nicht auf ein Repo beschränkt
Sicherheitsscan — jeder Schreibvorgang wird auf Prompt-Injection und das Abfließen von Anmeldedaten gescannt
Durchsuchbar — Obsidian-Vault mit Graph-Ansicht und Backlinks kostenlos inklusive
Wie installiere ich memem?
/plugin marketplace add TT-Wang/memem
/plugin install mememDas ist alles. Beim ersten Ausführen repariert sich bootstrap.sh selbst:
Überprüft Python ≥ 3.11
Installiert
uv, falls es fehlt (über den offiziellen Astral-Installer)Synchronisiert Abhängigkeiten in ein Plugin-lokales
.venv(hash-gecached gegenuv.lock)Erstellt und testet
~/.memem/und~/obsidian-brain/Schreibt
~/.memem/.capabilities(verwendet für Entscheidungen im eingeschränkten Modus)Führt den eigentlichen MCP-Server aus
Erster Durchlauf: ~5 Sekunden. Jeder weitere Durchlauf: ~100ms. Kein separater pip install-Schritt erforderlich.
Was passiert bei meiner ersten Claude Code-Sitzung?
Sie geben Ihre erste Nachricht ein. Der UserPromptSubmit-Hook wird ausgelöst und sieht keine Erinnerungen (da Sie es gerade erst installiert haben), also fügt er ein Willkommensbanner in Claudes Kontext ein. Claude liest das Banner, teilt Ihnen mit, dass memem aktiv ist, und bietet an – falls Sie bereits frühere Claude Code-Sitzungen haben –, diese über /memem-mine-history zu minen.
Sie arbeiten normal weiter. Der Miner-Daemon läuft im Hintergrund. Wenn Ihre Sitzung endet und 5 Minuten inaktiv bleibt, extrahiert der Miner Erinnerungen aus dem Transkript mithilfe von Claude Haiku und schreibt sie in Ihren Vault.
Ab Sitzung 2: Der Hook sendet Ihre erste Nachricht an context_assemble, was Haiku die relevanten Erinnerungen gibt und es bittet, ein maßgeschneidertes Briefing zu erstellen. Sie sehen ein Statusbanner wie [memem] 12 memories · miner OK · assembly OK, gefolgt vom Briefing. Claude beginnt mit vollem Kontext – kein erneutes Erklären.
Was speichert memem?
Es speichert dauerhaftes Wissen, keine Sitzungsprotokolle:
Architekturentscheidungen mit Begründung („wir verwenden RS256 JWTs, weil …“)
Konventionen („Tests gehören in
tests/nichtspec/“)Fehlerbehebungen, die Sie vergessen könnten („bcrypt.compare ist asynchron – muss
awaitverwendet werden“)Benutzerpräferenzen („bevorzuge einzelne Commits, keine gestapelten PRs“)
Bekannte Probleme („JWT_SECRET ist standardmäßig 'secret', wenn nicht gesetzt – nachverfolgt in #123“)
Es speichert NICHT:
Rohe Sitzungstranskripte (diese sind über
transcript_searchdurchsuchbar, nicht als Erinnerungen gespeichert)Triviale oder offensichtliche Fakten
Sitzungsergebnisse („heute habe ich an X gearbeitet“)
Wo speichert memem meine Erinnerungen?
Speicher | Pfad | Zweck |
Erinnerungen |
| Quelle der Wahrheit (menschenlesbares Markdown) |
Playbooks |
| Projektbezogene kuratierte Briefings |
Such-DB |
| SQLite FTS5-Index (maschinenschnelle Suche) |
Telemetrie |
| Zugriffsverfolgung (atomare Schreibvorgänge) |
Ereignisprotokoll |
| Nur-Anhängen-Audit-Trail |
Fähigkeiten |
| Flags für den eingeschränkten Modus, geschrieben durch Bootstrap |
Bootstrap-Log |
| Diagnose beim ersten Start |
Sie können memem über die Umgebungsvariablen MEMEM_DIR und MEMEM_OBSIDIAN_VAULT auf andere Pfade verweisen.
Welche MCP-Tools kann Claude aufrufen?
Tool | Was es tut |
| Speichert eine Lektion. Sicherheitsgeprüft auf Prompt-Injection und Datenabfluss vor dem Schreiben. |
| Durchsucht Erinnerungen. FTS5 + zeitlicher Zerfall + Zugriffshäufigkeit + Wichtigkeitsgewichtung. |
| Listet alle Erinnerungen mit Statistiken auf, gruppiert nach Projekt. |
| Massenimport aus Dateien, Verzeichnissen oder Chat-Exporten. |
| Durchsucht rohe Claude Code-Sitzungs-JSONL-Logs (nicht die geminten Erinnerungen). |
| On-Demand abfrageorientiertes Briefing aus Playbooks + Erinnerungen + Transkripten. |
Welche Slash-Befehle fügt memem hinzu?
/memem— Willkommen, Status, Hilfe/memem-status— Anzahl der Erinnerungen, Projekte, Größe der Such-DB, Miner-Status/memem-doctor— Gesundheitscheck vor dem Start mit Anweisungen zur Fehlerbehebung bei Blockern/memem-mine— Startet den Miner-Daemon manuell (startet normalerweise automatisch)/memem-mine-history— Opt-in: Mint alle Ihre Claude Code-Sitzungen vor der Installation
Was ist, wenn die claude CLI nicht in meinem PATH ist?
memem wechselt in den eingeschränkten Modus – es funktioniert weiterhin, nur ohne Haiku-gestützte Kontextzusammenstellung und intelligente Erinnerung. Sie erhalten stattdessen nur eine FTS-basierte Stichwortsuche anstelle von abfrageorientierten Briefings. Jede Sitzung zeigt oben im Kontext [memem] N memories · miner OK · assembly degraded (claude CLI missing — FTS-only recall) an, damit Sie wissen, warum.
Dies ist beabsichtigt: Fehlende optionale Abhängigkeiten sollten zu einer Verschlechterung der Funktionalität führen, nicht zum Absturz.
Wie diagnostiziere ich Probleme?
Führen Sie /memem-doctor aus. Es führt denselben Preflight-Check aus wie das Bootstrap-Shim (Python-Version, mcp importierbar, claude CLI im PATH, Verzeichnisschreibrechte, uv verfügbar) und gibt dann einen Bericht aus, der als HEALTHY, DEGRADED oder FAILING gekennzeichnet ist, mit expliziten Anweisungen zur Fehlerbehebung für jeden Blocker.
Für tiefergehende Fehlerbehebung:
tail -f ~/.memem/bootstrap.log # first-run shim log
tail -f ~/.memem/miner.log # miner daemon log
cat ~/.memem/events.jsonl # memory operation audit trail
python3 -m memem.server --status # detailed status dumpWie funktioniert die Mining-Pipeline?
Session ends → miner daemon sees the JSONL file in ~/.claude/projects/
→ Waits 5 minutes for the file to "settle" (no more writes)
→ Filters to human messages + assistant prose (strips tool calls, system reminders)
→ One Haiku call with the full context: "extract durable lessons"
→ Haiku returns JSON array of memory candidates
→ Each candidate runs: security scan → dedup check → contradiction detection → save
→ Index rebuilt, per-project playbooks grown and refined
→ Session marked COMPLETE in ~/.memem/.mined_sessionsWie funktioniert die Recall-Pipeline?
First message in a new session → auto-recall.sh hook fires
→ Reads ~/.memem/.capabilities for status banner
→ If claude CLI is available → sends (message, memories) to Haiku
→ Haiku synthesizes a focused briefing (300-800 tokens usually)
→ Brief injected into Claude's context as "memem context briefing"
→ If claude CLI is missing → falls back to FTS-only keyword recall
→ Either way, Claude starts its reply with relevant context already loadedArchitektur
memem ist in kleine, fokussierte Module unterteilt:
models.py— Datentypen, Pfadkonstantensecurity.py— Prompt-Injection + Scan auf Anmeldedatenabflusstelemetry.py— Zugriffsverfolgung, Ereignisprotokoll (atomare Schreibvorgänge, fcntl-gesperrt)search_index.py— SQLite FTS5-Indexobsidian_store.py— Speicher-I/O, Deduplizierungs-Scoring, Widerspruchserkennungplaybook.py— Wachstum + Verfeinerung von projektbezogenen Playbooksassembly.py— Kontextzusammenstellung via Haikucapabilities.py— Laufzeit-Funktionserkennung für den eingeschränkten Modusstorage.py— Hilfsprogramme für den Server-Lebenszyklus (PID-Management, Miner-Autostart)server.py— Schlanker MCP-Einstiegspunkt (FastMCP wird verzögert importiert)cli.py— Befehls-Dispatcher für Nicht-MCP-Einstiegspunktemining.py— Sitzungs-Mining-Pipeline
Multi-Signal-Recall-Scoring:
50% FTS-Relevanz
15% Aktualität (0.995^Stunden Zerfall)
15% Zugriffshistorie (Nutzungsverstärkung)
20% Wichtigkeit (1-5 Skala von Haiku)
Speicherschema (Markdown-Frontmatter):
---
id: uuid
schema_version: 1
title: "descriptive title"
project: project-name
tags: [mined, project-name]
related: [id1, id2, id3]
created: 2026-04-13
updated: 2026-04-13
source_type: mined | user | import
source_session: abc12345
importance: 1-5
status: active | deprecated
valid_to: # set when deprecated
contradicts: [id1] # flagged conflicts
---Konfiguration
Umgebungsvariable | Standard | Zweck |
|
| Zustandsverzeichnis (PID-Dateien, Such-DB, Logs) |
|
| Vault-Speicherort |
| (keine) | Doppelpunkt-getrennte zusätzliche Sitzungsverzeichnisse zum Minen |
|
| Sekunden Wartezeit vor dem Minen einer abgeschlossenen Sitzung |
|
| Bootstrap überspringt |
Obsidian einrichten (optional, empfohlen)
memem funktioniert auch ohne Obsidian – es schreibt einfach Markdown. Aber Obsidian bietet Ihnen kostenlos eine Graph-Ansicht und Backlinks:
Download: https://obsidian.md (kostenlos)
Öffnen Sie
~/obsidian-brainals VaultErinnerungen erscheinen in
memem/memories/, Playbooks inmemem/playbooks/Verwenden Sie die Graph-Ansicht, um zu sehen, wie Erinnerungen über das Feld
relatedverknüpft sind
Anforderungen
Claude Code
Python ≥ 3.11
uv(wird beim ersten Ausführen automatisch durch bootstrap.sh installiert)claudeCLI im PATH (optional – erforderlich für Haiku-gestützte Zusammenstellung; eingeschränkter Modus funktioniert auch ohne)
Entwicklung
git clone https://github.com/TT-Wang/memem.git
cd memem
pip install -e ".[dev]"
pytest # 54 tests
ruff check . # lint
mypy memem # type check (strict)Siehe CONTRIBUTING.md für den PR-Prozess und CHANGELOG.md für die Versionshistorie.
Lizenz
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TT-Wang/cortex-plugin'
If you have feedback or need assistance with the MCP directory API, please join our Discord server