Zum Hauptinhalt springen
Echtzeit-Radar & Feeds
Alle RSS Feeds ➔
👥 Community & Social
Windows Tipps & SecurityGrafikkarte vor Überhitzung schützen: So geht’s(25.09.2026 um 08:00 Uhr)
••••••••••
Windows Tipps & SecurityGrafikkarte vor Überhitzung schützen: So geht’s(25.09.2026 um 08:00 Uhr)
••••••••••
Intelligence View
⚡ tsecurity.de Intelligence

Why AI assistants forget everything , and how I fixed it in .NET

I was building an AI chat assistant in Blazor. It worked fine. But every new conversation started from scratch. The user would say "I'm a software engineer who loves C#" and the assistant would respond warmly , then forget it completely…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!

I was building an AI chat assistant in Blazor. It worked fine. But every new conversation started from scratch. The user would say "I'm a software engineer who loves C#" and the assistant would respond warmly , then forget it completely the next time they opened the app.



That's not a memory problem. That's just a chat window.



I wanted something better. Something that actually remembers the user across sessions, extracts facts from conversations, and uses them to give better responses over time. I looked around for a .NET library that did this. Nothing existed. So I built it.






What I built



BlazorMemory is an open-source AI memory layer for .NET. It sits between your chat logic and your LLM and does three things:




  1. Extracts facts from conversations using an LLM

  2. Stores them as vector embeddings

  3. Injects relevant memories into future prompts



The flow looks like this:




User message → extract facts → embed → store
↓
Next message → embed query → vector search → inject memories → LLM






It works in Blazor WASM with zero backend , everything stays in the browser using IndexedDB. It also works server-side with EF Core if you need SQL storage.






The hard part wasn't storage



Storing memories is easy. The hard part is making them useful.



Early versions just stored everything. After a few conversations, the memory panel was full of duplicates. "User likes C#." "User works with C#." "User is a C# developer." Three separate entries saying the same thing.



I solved this with a two-step pipeline:



Step 1 , Extract: The LLM reads the conversation and pulls out discrete facts. One sentence per fact, starting with "User". If the conversation already produced "User is a C# engineer", it won't also extract "User loves C#" , the preference is already implied.



Step 2 , Consolidate: For each new fact, the system finds similar existing memories using vector search. Then it asks the LLM: should I ADD this, UPDATE an existing memory, DELETE a contradiction, or do NOTHING?



The consolidation prompt has a clear priority order: NONE > UPDATE > DELETE > ADD. It prefers doing less. That keeps the memory clean.






Getting started






dotnet add package BlazorMemory
dotnet add package BlazorMemory.Storage.IndexedDb
dotnet add package BlazorMemory.Embeddings.OpenAi
dotnet add package BlazorMemory.Extractor.OpenAi






Wire it up in Program.cs:




builder.Services
.AddBlazorMemory()
.UseIndexedDbStorage()
.UseOpenAiEmbeddings(apiKey)
.UseOpenAiExtractor(apiKey);






Use it in your chat service:




public class ChatService(IMemoryService memory)
{
public async Task<string> ChatAsync(string message, string userId)
{
// Pull relevant memories
var memories = await memory.QueryAsync(message, userId,
new QueryOptions { Limit = 5, Threshold = 0.65f });

// Build system prompt
var context = string.Join("\n", memories.Select(m => $"- {m.Content}"));
var prompt = $"You are a helpful assistant.\n\nWhat you know:\n{context}";

// Call your LLM
var reply = await CallLlm(prompt, message);

// Extract and store new facts
await memory.ExtractAsync($"User: {message}\nAssistant: {reply}", userId);

return reply;
}
}






That's it. The assistant now remembers things.






Namespaces



v0.2.0 added namespace support. You can scope memories by topic:




// Store work memories separately from personal ones
await memory.ExtractAsync(conversation, userId, namespace: "work");

// Query only work memories
var results = await memory.QueryAsync(query, userId, new QueryOptions
{
Namespace = "work"
});






Useful if you're building an assistant that handles multiple contexts.






What's available



Seven NuGet packages, all at v0.2.0:








































Package What it does
BlazorMemory Core library
BlazorMemory.Storage.IndexedDb Browser storage, zero backend
BlazorMemory.Storage.InMemory For testing
BlazorMemory.Storage.EfCore SQL Server, PostgreSQL, SQLite
BlazorMemory.Embeddings.OpenAi OpenAI embeddings
BlazorMemory.Extractor.OpenAi OpenAI fact extraction
BlazorMemory.Extractor.Anthropic Claude fact extraction


The repo is at github.com/aftabkh4n/BlazorMemory. Issues and PRs welcome.



If you're building AI assistants in .NET and want them to actually remember users, give it a try.

1. Sofort-Triage & Abwehrmaßnahmen

SOC Incident Playbook: Remote Code Execution (RCE) Defense
Syntax validiert (0 Fehler)
title: Detect Exploitation - Why AI assistants forget everything , and how I fixed it in .NET
id: adf9b7a4-09a0-47e9-9bdd-4bfcdd0ae38b
status: experimental
description: Automatisch generierte SIEM-Erkennungsregel basierend auf CTI Intelligence
references:
  - https://tsecurity.de/
author: iShareStuff CTI Automated Detection Engine
date: 2026-09-26
logsource:
  category: network_connection
  product: any
detection:
  selection:
      CommandLine|contains:
        - 'exploit'
  condition: selection
falsepositives:
  - Legitime administrative Zugriffe oder Penetrationstests
level: high
tags:
  - attack.initial_access
Syntax validiert (0 Fehler)
rule CTI_Threat_Indicator {
    meta:
        author = "iShareStuff CTI Automated Detection Engine"
        date = "2026-09-26"
        description = "YARA Signature for "
    strings:
        $str = "Why AI assistants forget every" ascii wide
    condition:
        any of them
}
Syntax validiert (0 Fehler)
index=security sourcetype IN ("cisco:asa", "pan:traffic", "zeek_conn", "suricata", "WinEventLog:Security")
("Why AI assistants forget everything  and")
| stats count earliest(_time) as first_seen latest(_time) as last_seen by src_ip, dest_ip, dest_host, signature
| eval first_seen=strftime(first_seen, "%Y-%m-%d %H:%M:%S"), last_seen=strftime(last_seen, "%Y-%m-%d %H:%M:%S")
| sort - count
Syntax validiert (0 Fehler)
message: "*Why AI assistants forget everything  and*"
Syntax validiert (0 Fehler)
CommonSecurityLog
| where Message has "Why AI assistants forget everything  and"
| summarize EventCount = count(), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by SourceIP, DestinationIP, DestinationPort, Activity
| extend DetectionRule = "iShareStuff-CTI-Compiled"
| sort by EventCount desc

2. Cyber Threat Intelligence & Forensik

CTI Threat Relationship Graph2 Knoten / 1 Relationen
CVE / Incident Software MITRE ATT&CK CWE Weakness IoC
🎯
MITRE ATT&CK Matrix Navigator 14 Taktiken
Reconnaissance
-
Resource Development
-
Initial Access
Execution
Persistence
-
Privilege Escalation
Defense Evasion
Credential Access
-
Discovery
-
Lateral Movement
-
Collection
-
Command and Control
Exfiltration
-
Impact
tsecurity.de Cognitive Threat RAG
Fokus-Vektor:

Kognitive Analyse für identifizierte Bedrohung: Erhöhte Bedrohungslage im Bereich Why AI assistants forget everything , an.... Basierend auf 368k Vektor-Korrelationen werden sofortige Isolationsmaßnahmen für betroffene Endpunkte empfohlen.

🛡️ Angriffsfläche & Exposure

Netzwerk/Remote-Zugriff ohne Vorauthentifizierung möglich.

⚡ Empfohlene Sofortmaßnahmen
  • 1. Perimeter-Inspektion: Relevante Portfreigaben und exponierte Endpunkte unverzüglich scannen.
  • 2. Patch-Applikation: Hersteller-Hotfix einspielen oder betroffene Daemons in isolierte DMZ-Segmente überführen.
  • 3. Telemetrie & EDR-Alerts: Prozessaufrufe und Child-Processes auf anomale Shell-Spawns überwachen.
🔗 Semantisch verwandte Zero-Days MariaDB 11.7 VEC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Why AI assistants forget everything , and how I fixed it in .NET

Thematisch verwandte Begriffe: assistants, forget, everything, fixed · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-86066 | Horilla is an HR and CRM software. Prior to 2.0.0, approve_validate_atte…
Advisory →
tsecurity.de Icon
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag