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.",