Gemeinsame Suche „Such in den Chats“: Iris-Chats, Claude-Code-Sessions und Claude-Memory #305
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/iris-plugins#305
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Warum
„Such in den Chats“ durchsucht heute nur Iris-Chats (Skill
memory:chats,dreamer-templates,workspaces). Claude-Code-Sessions und das Claude-Memory (~/.claude/projects/) bleiben außen vor, obwohl dort viele Entscheidungen und Gespräche stehen. Iris soll sie aus jedem Chat finden, in einer gemeinsamen Suche.Beschluss (Grill-me vom 27.10., alle acht Fragen bestätigt)
memoryindexiert sie mit seiner vorhandenen Technik (semantisch + Volltext).memoryundiris-claude-sessions(Verweis beim Suchen aufmemory).Arbeitspakete
iris-claude-sessions: neuer Befehl für die Quelle (Sessions ohne laufende, Memory), Manifest-Eintrag, neue Version.memory(Wurzel-Reposkills/memory): Quellen aus Plugin-Manifesten lesen, inkrementell indexieren, Treffer mit Herkunft, Zeitgrenze.pruefenkennt das Feld).Offen / zu messen
pruefen).Entscheidungen im Grill-me: Zugehörig zu den Gedanken aus iris/iris-plugins#171 (Erste Praxisläufe) nur lose; eigenständiges Thema.
PR #306 gemergt: feat(iris-claude-sessions): Suchquelle für den Skill memory — Sessions und Claude-Memory (0.10.0, Paket 1; iris/iris-plugins#305)
#306
Commits:
Stand (Paket 1 von 5: Suchquelle im Plugin, iris/iris-plugins#305)
Gebaut: Befehl
claude_sessions.py memory-source sessions|memory list|text KEY(neue Dateimemory_quelle.py), nur lesend.listliefert Metadaten (key,titel,gruppe,datum,mtime,aktiv),textden Verlauf einer Session (Nutzer- und Antworttext, ohne Werkzeugaufrufe/-ausgaben, Papierkorb draußen) bzw. eine Memory-Datei ganz (ohneMEMORY.md). Laufende Sessions stehen mitaktiv: truein der Liste (nicht neu lesen, nicht löschen). Manifest-Feldmemory_sourcesinplugin.json; die Registry prüft die Form (check_memory_sources). README Kapitel 23 beschreibt den Vertrag; Anleitung und SKILL.md nennen die Suche und verweisen auf den Skillmemory. Version 0.10.0 im Repo.Gemessen (echte Daten, nur Zahlen): 123 Sessions, roh 799 MB, lesbarer Verlauf 5,9 MB (größte Session 0,29 MB), Memory 186 Dateien / 0,5 MB.
list0,1 s, alle Texte lesen 13 s. Damit ist der Claude-Index klein; die offene Frage zur Größe aus dem Issue ist beantwortet.Gefunden: Claude-Projektordner beginnen mit
-; als Schlüssel las argparse sie als Option (Exit 2). Die Kennung trägt den Ordner jetzt ohne das führende-.Geprüft: 9 neue Tests (u. a. „ändert nichts“: Dateizeit und Größe vorher/nachher), gesamte Testsuite des Plugins 197 grün, Registry-Tests mit neuen Prüfungen grün.
Nicht geprüft: das Zusammenspiel mit dem Skill
memory(kommt mit Paket 2); die Probe gegen die echten Daten war nur lesend und ohne Inhalte.Nicht veröffentlicht (bewusst): 0.10.0 liegt im Repo, aber nicht in der Registry. Das Feld wäre ohne den Skill unwirksam, und Changelog und Anleitung versprechen die gemeinsame Suche; sie geht mit Paket 2 zusammen raus.
Offen: Paket 2 (Skill
memoryliestmemory_sources, inkrementell, Herkunft je Treffer, Zeitgrenze), Paket 3 (Systemprompt „Chat-Suche“, Beschreibungen), Paket 4 (pruefenim Werkzeug „Plugins entwickeln“ kennt das Feld noch nicht), Paket 5 (Tests der Routing-Auswahl von Hand).PR #118 gemergt: feat(memory): Suchquellen von Plugins — Claude-Sessions und Claude-Memory in einer Suche (iris/iris-plugins#305)
alf/2ndbrain#118
Commits:
Stand (Paket 2 von 5: Skill
memoryliest Suchquellen von Plugins, iris/iris-plugins#305)Gebaut (
skills/memory/memory.py):memory_sourcesaus<App-Support>/plugins/<id>/plugin.json, Schalter ausplugins-index.json; ungültige Einträge werden ausgelassen).source= Quellen-ID).indexzieht sie mit nach;searchzieht sie vor jeder Suche selbst nach: nur neue oder geänderte Dokumente (mtime), verschwundene werden entfernt,aktiv-Dokumente (laufende Sessions) bleiben unangetastet. Zeitgrenze 20 s je Suche (IRIS_MEMORY_NACHINDEX_SEKUNDEN), der Rest steht alsopenin der Antwort (quellen) und kommt bei der nächsten Suche oder mitindex --source …. Fehler einer Quelle stoppen die Suche nicht.herkunft(„Iris-Chat“, „Claude-Session“, „Claude-Memory“, …).--pillslässt Plugin-Quellen weg (die App kann sie nicht öffnen).--sourcenimmt jetzt auch Plugin-Quellen;--no-refreshüberspringt das Nachziehen.cmd_indexin Hilfsfunktionen (_prune_rows,_upsert_records,_embed_records), die Kern- und Plugin-Quellen gemeinsam nutzen.IRIS_APP_SUPPORTüberschreibt den App-Support-Ordner,IRIS_MEMORY_OHNE_EMBEDDINGlässt Tests ohne Modell laufen.open, nur lesend, Datenschutz-Hinweis, Linux-Server).Geprüft: 12 neue Tests (Index, Suche, inkrementell nur Geändertes, Pruning,
aktiv, Zeitgrenze, deaktiviert/ungültig, kaputte Quelle, Pillen, unbekannte Quelle,show) grün. Vergleich alt gegen neu auf einer Kopie der echten Chats (2.812 Dateien):index,search --fts,statsund Pruning liefern identische Ergebnisse. Probelauf mit den echten Claude-Daten (temporärer App-Support, nur Volltext): 121 Sessions + 186 Memory-Dateien in zusammen 24 s indexiert, Datenbank 10,3 MB, zweiter Lauf 0,1 s, Suche 0,2 s; die zwei laufenden Sessions (darunter diese) sind bewusst nicht dabei.Nicht geprüft: die semantische Suche und das Einbetten der Claude-Quellen (bräuchte das Embedding-Modell; nur Volltext getestet); die Zeitgrenze mit großem Rückstand und echten Embeddings. Zu bedenken:
~/.hermes/skills/memoryist auf diesem Mac ein Symlink auf das Repo, die Änderung ist hier also schon wirksam; wie der Skill auf anderen Rechnern ankommt, habe ich nicht geprüft. Die Volltextsuche (--fts) sucht den ganzen Satz als Folge, nicht einzelne Wörter (unverändertes Verhalten).Offen: Paket 3 (Systemprompt „Chat-Suche“), Paket 4 (Plugin-Werkzeug
pruefenkennt das Feld), Paket 5 (Auto-Modus von Hand).Veröffentlicht: Plugin „Claude-Code-Sessions“ (
iris-claude-sessions) 0.10.0 — Suchquelle für den Skillmemory.packages/iris-claude-sessions/iris-claude-sessions-0.10.0.irisplugin).memory(PR alf/2ndbrain#118) zieht sie bei jeder Suche nach und zeigt die Treffer mit Herkunft zusammen mit den Iris-Chats.memory; auf diesem Mac ist er per Symlink schon aktiv, wie er auf anderen Rechnern ankommt, ist nicht geprüft. Semantische Suche und Einbetten der Claude-Quellen nicht ausprobiert (nur Volltext). Noch offen: Systemprompt „Chat-Suche“ (Paket 3),pruefenim Plugin-Werkzeug (Paket 4), Test des Auto-Modus von Hand (Paket 5).