From a73a67f8100b41d88dc03e280056152c597cea2e Mon Sep 17 00:00:00 2001 From: Meleki Date: Sun, 1 Mar 2026 13:32:05 +0100 Subject: [PATCH] Memory-Pfad im System-Prompt als absoluten Pfad angeben --- Endpoints/ChatEndpoint.cs | 3 ++- Endpoints/SessionEndpoint.cs | 3 ++- Services/SystemPromptBuilder.cs | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Endpoints/ChatEndpoint.cs b/Endpoints/ChatEndpoint.cs index ec7e81a..d544e80 100644 --- a/Endpoints/ChatEndpoint.cs +++ b/Endpoints/ChatEndpoint.cs @@ -78,7 +78,8 @@ public static class ChatEndpoint res.Headers["Connection"] = "keep-alive"; var markedMessages = await db.GetMarkedMessages(sessionId); - var systemPromptText = SystemPromptBuilder.Build(agent, session, markedMessages, memoryService); + var agentMemoryDir = memoryService.GetAgentMemoryDir(agent.AgentId); + var systemPromptText = SystemPromptBuilder.Build(agent, session, markedMessages, memoryService, agentMemoryDir); var chainId = Guid.NewGuid().ToString("N"); diff --git a/Endpoints/SessionEndpoint.cs b/Endpoints/SessionEndpoint.cs index 8663942..7934aa6 100644 --- a/Endpoints/SessionEndpoint.cs +++ b/Endpoints/SessionEndpoint.cs @@ -123,7 +123,8 @@ public static class SessionEndpoint } var markedMessages = await db.GetMarkedMessages(sessionId); - var systemPrompt = SystemPromptBuilder.Build(agent, session, markedMessages, memoryService); + var agentMemoryDir = memoryService.GetAgentMemoryDir(agent.AgentId); + var systemPrompt = SystemPromptBuilder.Build(agent, session, markedMessages, memoryService, agentMemoryDir); ctx.Response.ContentType = "text/plain; charset=utf-8"; await ctx.Response.WriteAsync(systemPrompt); diff --git a/Services/SystemPromptBuilder.cs b/Services/SystemPromptBuilder.cs index d3b6197..f373dd2 100644 --- a/Services/SystemPromptBuilder.cs +++ b/Services/SystemPromptBuilder.cs @@ -6,7 +6,7 @@ namespace Gott.Services; public static class SystemPromptBuilder { - public static string Build(AgentRecord agent, SessionRecord session, IEnumerable markedMessages = null, MemoryService memoryService = null) + public static string Build(AgentRecord agent, SessionRecord session, IEnumerable markedMessages = null, MemoryService memoryService = null, string agentMemoryDir = null) { var parts = new List(); parts.Add($"Du bist {agent.Name}."); @@ -46,7 +46,7 @@ Wenn der User auf eine bestimmte Zeile in einer Datei verweist (z.B. `[Datei: fo { "## Memory", "Du hast ein persistentes Gedächtnis über Memory-Tools (`memory_read`, `memory_write`, `memory_list`).", - $"Dein Memory-Verzeichnis: `data/agents/{agent.AgentId}/`", + $"Dein Memory-Verzeichnis: `{agentMemoryDir ?? $"data/agents/{agent.AgentId}/"}`", "", "### Regeln", "- Nutze `memory_read` um gespeicherte Erinnerungen abzurufen, bevor du über vergangene Entscheidungen, Präferenzen oder Fakten sprichst.",