Zum Inhalt springen

Erfassung und Injection von Chat-Nachrichten (chatMessage)

Diese Einstellungen liegen unter dem Schlüssel chatMessage in ~/.config/opencode/opencode-mem.jsonc:

Option Standard Was sie tut
enabled true Verfasste User-Prompts erfassen und Speicher-Kontext injizieren.
injectOn "first" Bei recall: "recent": Kontext bei der ersten User-Nachricht oder bei "always" jedem Turn. Bei recall: "relevant" / "both" wird der Kontext bei jedem verfassten Turn neu geladen (Issue #460).
recall "relevant" Auswahl injizierter Memories: "relevant" bettet die User-Nachricht ein und sucht per Vektor (jeder Turn); "recent" behält die Legacy-Newest-N-Liste; "both" bevorzugt relevant und füllt mit recent auf.
recallScope "default" Scope für Auto-Recall: "default" folgt memory.defaultScope, oder "project" / "all-projects". Bei All-Projects erhalten Treffer aus dem aktuellen Projekt einen kleinen Similarity-Boost.
maxMemories / excludeCurrentSession / maxAgeDays 3 / true / — Wie viele Memories der injizierte Kontext hält, ob Memories aus der aktuellen Sitzung ausgeschlossen werden, und optionaler Alters-Cutoff in Tagen.
filterInjectedPrompts true Prompt-Text überspringen, der vom Host oder anderen OpenCode-Plugins injiziert wurde (System-Reminders, Orchestrierungsanweisungen, Background-Task-Benachrichtigungen), damit er nie so gespeichert wird, als hätte ihn der User getippt.
injectionMarkers Built-ins Zusätzliche Marker zur Erkennung injizierter Blöcke; werden zur Built-in-Liste hinzugefügt, ersetzen sie nie.
captureChildSessions false Prompts aus Orchestrator-Child-Sitzungen erfassen (Sitzungen mit parentID, z. B. OpenCode-Task-/Subagent-Children). Deren „User“-Nachrichten schreibt der Parent-Agent, nicht du — daher werden sie standardmäßig nicht gespeichert, auto-captured, für Profil-Lernen genutzt oder mit injiziertem Speicher-Kontext versehen.

Ausschlüsse nach Sitzung und Alter werden vor dem Limit für injizierte Memories angewendet. Ausgeschlossene Memories belegen daher keine Plätze, die für geeignete Memories verfügbar wären. Mit chatMessage.maxMemories auf 0 wird die Injektion von Projekt-Memories deaktiviert; das Nutzerprofil kann weiterhin injiziert werden, wenn es aktiviert ist.