diff --git a/BeWo/Styles/Features/AIChatStyles.xaml b/BeWo/Styles/Features/AIChatStyles.xaml
index f4021819b..3aa3583b2 100644
--- a/BeWo/Styles/Features/AIChatStyles.xaml
+++ b/BeWo/Styles/Features/AIChatStyles.xaml
@@ -389,7 +389,38 @@
Header="Speichern" />
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BeWo/ViewModel/AiConversationMessageVM.cs b/BeWo/ViewModel/AiConversationMessageVM.cs
index 19bf5ef1a..753108c73 100644
--- a/BeWo/ViewModel/AiConversationMessageVM.cs
+++ b/BeWo/ViewModel/AiConversationMessageVM.cs
@@ -51,6 +51,7 @@ namespace BeWo.ViewModel
public int Duration => DataContract.Duration ?? 0;
public string DurationSec => ((double)Duration / 1000).ToString("0.#");
public DateTime Created => DataContract.Created;
+ public bool ShowMessage => DataContract.ShowMessage;
protected override void InitByDataContract(AiConversationMessageDC pDataContract)
{
diff --git a/BeWo/ViewModel/ListViewModel/AiConversationListVM.cs b/BeWo/ViewModel/ListViewModel/AiConversationListVM.cs
index ab03822db..dbbab7a2c 100644
--- a/BeWo/ViewModel/ListViewModel/AiConversationListVM.cs
+++ b/BeWo/ViewModel/ListViewModel/AiConversationListVM.cs
@@ -59,7 +59,8 @@ namespace BeWo.ViewModel.ListViewModel
{
Created = DateTime.Now,
Message = "N. Dies ist eine Design Frage: Du sollst ganz viele Sachen machen. Dabei sollst du auf ganz viele Sachen achten: Zum Beispiel:\r\nSache 1\r\nSchritt 2",
- Role = BS.Shared.AiConversationMessageRole.User
+ Role = BS.Shared.AiConversationMessageRole.User,
+ ShowMessage = true
};
var message_dc3 = new AiConversationMessageDC()
diff --git a/BeWo/ViewModel/View/AI/AiConversationChatViewModel.cs b/BeWo/ViewModel/View/AI/AiConversationChatViewModel.cs
index 97c6eeaa6..953f560b7 100644
--- a/BeWo/ViewModel/View/AI/AiConversationChatViewModel.cs
+++ b/BeWo/ViewModel/View/AI/AiConversationChatViewModel.cs
@@ -203,7 +203,8 @@ namespace BeWo.ViewModel.View.AI
new AiConversationMessageDC()
{
Message = message,
- Role = AiConversationMessageRole.User
+ Role = AiConversationMessageRole.User,
+ ShowMessage = true
}
};
@@ -238,6 +239,7 @@ namespace BeWo.ViewModel.View.AI
msg_dc.Message = MessageInput;
msg_dc.Role = BS.Shared.AiConversationMessageRole.User;
msg_dc.Created = DateTime.Now;
+ msg_dc.ShowMessage = true;
var msg_vm = new AiConversationMessageVM(msg_dc);
@@ -549,9 +551,10 @@ namespace BeWo.ViewModel.View.AI
var msg_dc = new AiConversationMessageDC();
- msg_dc.Message = msg;
+ msg_dc.Message = prompt.ShowPrompt ? msg : null;
msg_dc.Role = BS.Shared.AiConversationMessageRole.User;
msg_dc.Created = DateTime.Now;
+ msg_dc.ShowMessage = prompt.ShowPrompt;
var msg_vm = new AiConversationMessageVM(msg_dc);
@@ -645,13 +648,14 @@ namespace BeWo.ViewModel.View.AI
custom_viewContext.Secondary = ViewContext.Secondary;
}
- var msg = routine.Steps.VMList[step].PromptReference.Prompt;
+ var step_prompt = routine.Steps.VMList[step].PromptReference;
var msg_dc = new AiConversationMessageDC
{
- Message = msg,
+ Message = step_prompt.ShowPrompt ? step_prompt.Prompt : null,
Role = AiConversationMessageRole.User,
- Created = DateTime.Now
+ Created = DateTime.Now,
+ ShowMessage = step_prompt.ShowPrompt
};
var msg_vm = new AiConversationMessageVM(msg_dc);
diff --git a/Data/Entities/AiConversationMessage.cs b/Data/Entities/AiConversationMessage.cs
index 6779c7d19..76c935d17 100644
--- a/Data/Entities/AiConversationMessage.cs
+++ b/Data/Entities/AiConversationMessage.cs
@@ -20,5 +20,7 @@ namespace BeWo.Data.Entities
public virtual AiConversation AiConversation { get; set; }
public virtual int? Duration { get; set; }
public virtual string ModelName { get; set; }
+ /// null = anzeigen (Bestandsdaten und normale Chat-Nachrichten)
+ public virtual bool ShowMessage { get; set; }
}
}
diff --git a/Data/Mappings/AiConversationMessage.hbm.xml b/Data/Mappings/AiConversationMessage.hbm.xml
index d716cc4be..367823be4 100644
--- a/Data/Mappings/AiConversationMessage.hbm.xml
+++ b/Data/Mappings/AiConversationMessage.hbm.xml
@@ -18,6 +18,7 @@
+
diff --git a/Host/Host.csproj.user b/Host/Host.csproj.user
index 16d56484a..8fd09928c 100644
--- a/Host/Host.csproj.user
+++ b/Host/Host.csproj.user
@@ -3,7 +3,7 @@
C:\Projects\Bewo\BeWo - Main\Host\Properties\PublishProfiles\FolderProfile.pubxml
true
- Release|Any CPU
+ Debug|Any CPU
diff --git a/Model/Changes_2026-07-10 AiConversationMessage ShowMessage.txt b/Model/Changes_2026-07-10 AiConversationMessage ShowMessage.txt
new file mode 100644
index 000000000..5e8904d6f
--- /dev/null
+++ b/Model/Changes_2026-07-10 AiConversationMessage ShowMessage.txt
@@ -0,0 +1,7 @@
+INSERT INTO `.executedscripts`
+VALUES ('Changes_2026-07-10 AiConversationMessage ShowMessage', CURDATE());
+
+ALTER TABLE `aiconversationmessage`
+ADD COLUMN `ShowMessage` TINYINT NULL DEFAULT NULL AFTER `ModelName`;
+
+UPDATE `aiconversationmessage` SET `ShowMessage` = TRUE;
\ No newline at end of file
diff --git a/Service/DCEntityMapper/AiConversationMessageDC_AiConversationMessage.cs b/Service/DCEntityMapper/AiConversationMessageDC_AiConversationMessage.cs
index ff61d3503..c698e1f08 100644
--- a/Service/DCEntityMapper/AiConversationMessageDC_AiConversationMessage.cs
+++ b/Service/DCEntityMapper/AiConversationMessageDC_AiConversationMessage.cs
@@ -18,11 +18,13 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.Oid = pEntity.Oid;
pDataContract.Version = pEntity.Version;
pDataContract.Notice = pEntity.Notice;
- pDataContract.Message = pEntity.Message;
pDataContract.Role = pEntity.Role;
pDataContract.Created = pEntity.Created;
pDataContract.Duration = pEntity.Duration;
pDataContract.ModelName = pEntity.ModelName;
+ pDataContract.ShowMessage = pEntity.ShowMessage;
+
+ pDataContract.Message = pDataContract.ShowMessage ? pEntity.Message : null;
return pDataContract;
}
diff --git a/Service/Plugins/AiService2.cs b/Service/Plugins/AiService2.cs
index 9f61f6297..e5286ec7d 100644
--- a/Service/Plugins/AiService2.cs
+++ b/Service/Plugins/AiService2.cs
@@ -205,6 +205,7 @@ namespace BeWo.Service.Plugins
clone_msg.Role = msg.Role;
clone_msg.Duration = msg.Duration;
clone_msg.ModelName = msg.ModelName;
+ clone_msg.ShowMessage = msg.ShowMessage;
clone_conv.Messages.Add(clone_msg);
clone_msg.AiConversation = clone_conv;
@@ -411,13 +412,14 @@ namespace BeWo.Service.Plugins
msg.AiConversation = conversation;
msg.Role = AiConversationMessageRole.System;
msg.Created = DateTime.Now;
+ msg.ShowMessage = true;
conversation.Messages.Add(msg);
return msg;
}
- protected virtual AiConversationMessageDC[] sendNewMessage(AiConversation conv, string message, bool save = true)
+ protected virtual AiConversationMessageDC[] sendNewMessage(AiConversation conv, string message, bool save = true, bool show_message = true)
{
CheckPermissions(conv.ActionType);
@@ -440,6 +442,7 @@ namespace BeWo.Service.Plugins
user_msg.AiConversation = conv;
user_msg.Role = BS.Shared.AiConversationMessageRole.User;
user_msg.Created = DateTime.Now;
+ user_msg.ShowMessage = show_message;
conv.Messages.Add(user_msg);
@@ -514,6 +517,7 @@ namespace BeWo.Service.Plugins
assi_msg.Created = dt_before_request;
assi_msg.Duration = duration ?? 0;
assi_msg.ModelName = model;
+ assi_msg.ShowMessage = true;
conv.Messages.Add(assi_msg);
@@ -620,7 +624,7 @@ namespace BeWo.Service.Plugins
}
// Server Request
- sendNewMessage(new_conv, prompt.Prompt, false).ToList();
+ sendNewMessage(new_conv, prompt.Prompt, false, prompt.ShowPrompt).ToList();
var result = new List
{
diff --git a/Shared/DataContracts/Feature/AI/AiConversationMessageDC.cs b/Shared/DataContracts/Feature/AI/AiConversationMessageDC.cs
index d4ec5ff0c..d719978c7 100644
--- a/Shared/DataContracts/Feature/AI/AiConversationMessageDC.cs
+++ b/Shared/DataContracts/Feature/AI/AiConversationMessageDC.cs
@@ -17,5 +17,6 @@ namespace BS.Shared.DataContracts.Feature.AI
[DataMember] public DateTime Created { get; set; }
[DataMember] public string ModelName { get; set; }
[DataMember] public int? Duration { get; set; }
+ [DataMember] public bool ShowMessage { get; set; }
}
}