feat: Gedächtnis mit Append-Only-Log, Traumphase und Ankerpunkten

- memory_events als append-only Log (nur INSERT), daraus Zustand
  deterministisch rekonstruierbar (fold/rebuild)
- Traumphase konsolidiert Log in Ankerpunkte: LLM-Extraktion mit
  Heuristik-Fallback, Dedupe über Wort-Ähnlichkeit, Decay auf
  ungepinnten Ankern
- einstellbares Gedächtnis-Fenster (Default 10 Schritte) statt
  hartkodiertem slice(-24)
- wichtigste Ankerpunkte werden als System-Kontext eingespielt
- neue Werkzeuge remember (schreibend, gepinnt) und recall
- Gedächtnis-Panel im Frontend: Ankerliste, Pinnen, Traumphase
  manuell auslösen, Rekonstruktion
- Eval-Skript: npm run memory:eval --workspace server
This commit is contained in:
Jeuner 2026-08-27 21:41:35 +02:00
parent e6d55f35a3
commit 9bce768f95
22 changed files with 1388 additions and 100 deletions

View file

@ -30,6 +30,44 @@ export interface ChatOptions {
numPredict: number;
provider: "ollama" | "openrouter";
openrouterModel: string;
memorySteps: number;
memoryAnchors: boolean;
dreamAuto: boolean;
}
export interface Anchor {
id: number;
session_id: string;
text: string;
kind: string;
importance: number;
hits: number;
pinned: number;
origin: string;
last_seq: number;
created_at: number;
updated_at: number;
}
export interface MemoryState {
last_seq: number;
last_dream_seq: number;
dream_count: number;
}
export interface DreamResult {
ok: boolean;
events: number;
inserted: number;
merged: number;
pruned: number;
source: string;
error?: string;
}
export interface MemoryInfo {
state: MemoryState;
anchors: Anchor[];
}
export interface OpenRouterModel {