CTX: Speicher über Claude-Code-Sitzungen hinweg — Installation per `pip install` oder `/plugin install`
(github.com/jaytoone)Claude Code verliert beim Schließen einer Sitzung den gesamten Kontext. CTX löst dieses Problem mit Claude-Code-Hooks.
So funktioniert es: Beim UserPromptSubmit-Ereignis werden innerhalb von 1 ms automatisch drei Arten von Kontext eingefügt.
- G1: entscheidungsbezogene Timeline auf Basis von
git log(warum diese Entscheidung gestern getroffen wurde) - G2: BM25-Code-/Dokumentensuche (relevante Dateien werden automatisch eingefügt)
- CM: Vault früherer Gespräche (SQLite FTS5 + optionale Vektoren)
Gemessene Werte:
- Genauigkeit des Speicherabrufs: 0.880 [0.762, 0.944] (MAB N=50, Wilson-CI)
- Baseline (ohne): 0.00
- Nutzungsrate auf Basis von realen 10.000+ Turns: 39,6 %
Keine LLM-Aufrufe. Keine Cloud. Vollständig lokal.
Installation:
pip install ctx-retriever && ctx-install
oder in Claude Code: /plugin install ctx@jaytoone
9 Kommentare
Wenn man es mit
/plugininstalliert, erscheint Folgendes. ⎿ Marketplace "jaytoone" not foundIch fand diesen interessanten Ansatz wirklich gut. Die Idee, per Trigger-Klassifizierung zu routen, scheint mir eine sehr gute Idee zu sein.
Eine Frage hätte ich noch: Der Tokenizer der BM25-Schicht scheint im README nicht ausdrücklich genannt zu sein — wie wollt ihr die koreanische Sprachverarbeitung angehen? Wenn es der standardmäßige Whitespace-Tokenizer ist, werden „geomsaekhada“ und „geomsaekhaneun“ zu getrennten Tokens, wodurch der Recall bei der Suche in koreanischen Kommentaren und Docstrings wohl deutlich sinken würde.
Es gibt zwar ein
multilingual-e5-small-Fallback, aber mich würde interessieren, was ihr für die Verarbeitung von Koreanisch in der BM25-Schicht selbst plant (einschließlich CJK). (Ich habe beim Bauen einer LLM-Wiki-App namens seCall selbst Probleme mit der CJK-Suche gehabt und sie durch die Anbindung von Lindera ko-dic + Kiwi-rs gelöst; da CTX aber eine Trigger-Routing-Struktur hat, könnte ich mir vorstellen, dass dort auch ein anderer Ansatz möglich ist.)Sie haben es ganz genau auf den Punkt gebracht. Aktuell trennt
tokenize()in der BM25-Schicht nach Leerzeichen und Satzzeichen und zerlegt koreanische/CJK-Zeichen anschließend zusätzlich in einzelne Zeichen. Aus „geomhage“ wird also['검','색','하','다']plus der vollständige Token „geomhage“. Teiltreffer sind damit möglich, aber es stimmt, dass dabei morphologische Bedeutungseinheiten verwischt werden.Die Integration von Kiwi/Lindera sehen wir als Kandidaten für den nächsten Schritt. Da CTX vor dem Trigger-Routing bei Queries bereits eine Spracherkennung durchführt, dürfte sich ein Zweig Koreanisch erkannt → Morphologie-Analyzer relativ sauber einfügen lassen.
Interessant, dass Sie das in seCall mit der Kombination aus Lindera ko-dic + Kiwi-rs gelöst haben. Dürfte ich Sie vielleicht bitten zu teilen, wie Sie die Verarbeitung von gemischtem CJK-Text (koreanisch + englische Code-Kommentare) umgesetzt haben?
Update v0.3.19 — automatische Übertragung beim Sitzungsende:
Die größte Änderung: Nach
ctx-installwerden Statistiken nun beim Ende der Sitzung automatisch an Turso übertragen, selbst wenn nur ganz normal ohne zusätzliche Befehle gearbeitet wird.Neue Felder in Schema v1.7:
python_ml/nextjs_reactusw.) — der Kern für Verbesserungen über mehrere Nutzer hinwegOpt-out: Wenn die Datei
~/.claude/ctx-telemetry-revokeerstellt wird, wird die Übertragung gestopptUpdate auf v0.3.16 und Live-Demo hinzugefügt:
Live-Dashboard (HF Space): https://be2jay-ctx-dashboard-demo.hf.space
utility_rate-Diagramm, Visualisierung des Knowledge GraphWichtige Änderungen (v0.3.16):
session_aggregatemit k-Anonymität)ctx-installwird nun ein Opt-in-Hinweis angezeigtGemessene Nutzungsrate (n=1054 Sitzungen):
utility_rateinsgesamt: 39,6 %Update-Hinweis (v0.3.13):
Priorität der Installationsmethoden:
[Empfohlen] Claude Code Plugin (Schritt 1):
/plugin install ctx@jaytoone
[Alternative] pip:
pip install ctx-retriever && ctx-install
v0.3.13 Änderungen: isolierte venv für vec-daemon (verhindert numpy-/ABI-Konflikte), BGE-Reranker als Opt-in (CTX_BGE_ENABLE=1)
Dashboard-Demo-Video (39 Sekunden): https://drive.google.com/file/d/…
Details: https://dev.to/jaewon_jang_d63fddcf69ac2/…
Update auf v0.3.28 (2026-05-20): 6 ⭐ auf GitHub erreicht, 2.726 monatliche Downloads auf PyPI. In diesem Release wurde die Transparenz beim Datenschutz verbessert —
PRIVACY.mdhinzugefügt (Nachweis, dass Hashes nicht zurückverfolgt werden können, Grundlage nach GDPR/CCPA/PIPA), beim ersten Start ein einmaliger Telemetrie-Hinweis sowie die Befehlectx-telemetry disable/enablehinzugefügt. Nutzern älterer Versionen (v0.3.25 und früher) wirdpip install --upgrade ctx-retrieverempfohlen.Update auf v0.3.27: Jetzt wird der Claude-Code-Hook mit nur einer Zeile
pip install ctx-retrieverautomatisch verbunden (separate Ausführung von ctx-install nicht erforderlich). Intern installiert eine.pth-Datei insite-packagesden Hook beim ersten Python-Start automatisch, und mit dem hinzugefügten SessionStart-Hook sowie der Retry-Queue wurde die Stabilität der Datenerfassung von ~70 % auf ~93 % verbessert. Die Installation von PyPI direkt mit v0.3.27 ist möglich.