2 Punkte von nave94 2026-05-03 | 9 Kommentare | Auf WhatsApp teilen

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

 
zihado 27 일 전

Wenn man es mit /plugin installiert, erscheint Folgendes. ⎿ Marketplace "jaytoone" not found

 
kurthong 2026-05-04

Ich 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.)

 
nave94 2026-05-09

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?

 
nave94 2026-05-09

Update v0.3.19 — automatische Übertragung beim Sitzungsende:

Die größte Änderung: Nach ctx-install werden 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:

  • project_type_id: Tech-Stack-Fingerprint (python_ml/nextjs_react usw.) — der Kern für Verbesserungen über mehrere Nutzer hinweg
  • ctx_version: Nachverfolgung von Verbesserungen nach Version
  • utility_by_qtype: Messung des Unterschieds zwischen KEYWORD 16 % und SEMANTIC 42 % auf Sitzungsebene

Opt-out: Wenn die Datei ~/.claude/ctx-telemetry-revoke erstellt wird, wird die Übertragung gestoppt

 
nave94 2026-05-09

Update auf v0.3.16 und Live-Demo hinzugefügt:

Live-Dashboard (HF Space): https://be2jay-ctx-dashboard-demo.hf.space

  • Echtzeit-Sitzungsstatistiken, utility_rate-Diagramm, Visualisierung des Knowledge Graph

Wichtige Änderungen (v0.3.16):

  • Status: Alpha → Beta
  • Stage-2-Upload-Pipeline aktiviert (Upload von session_aggregate mit k-Anonymität)
  • Beim Ausführen von ctx-install wird nun ein Opt-in-Hinweis angezeigt
  • Kommentar zum BM25-CJK-Tokenizer hinzugefügt (README wird noch aktualisiert)

Gemessene Nutzungsrate (n=1054 Sitzungen):

  • Durchschnittliche utility_rate insgesamt: 39,6 %
  • CM-Block: 52,6 % (am höchsten)
  • SEMANTIC-Abfragen: 42,0 % vs. KEYWORD: 16,0 % (Differenz von 42 Prozentpunkten)
 
nave94 2026-05-04

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)

 
nave94 27 일 전

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.md hinzugefügt (Nachweis, dass Hashes nicht zurückverfolgt werden können, Grundlage nach GDPR/CCPA/PIPA), beim ersten Start ein einmaliger Telemetrie-Hinweis sowie die Befehle ctx-telemetry disable/enable hinzugefügt. Nutzern älterer Versionen (v0.3.25 und früher) wird pip install --upgrade ctx-retriever empfohlen.

 
nave94 29 일 전

Update auf v0.3.27: Jetzt wird der Claude-Code-Hook mit nur einer Zeile pip install ctx-retriever automatisch verbunden (separate Ausführung von ctx-install nicht erforderlich). Intern installiert eine .pth-Datei in site-packages den 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.