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.