fix: Krea-Tags in Code-Blöcken nicht parsen, Git-Verhalten unabhängig von ToolChoice

- renderMarkdown: Code-Blöcke (<pre>, <code>) vor Krea-Regex schützen
  via Platzhalter-Swap, danach wiederherstellen
- SystemPromptBuilder: Git-Commit-Regeln nur an Workspace gebunden,
  nicht mehr an ToolChoice:any – eigener PromptBlock mit Label
- CSS: modal-width Variable, Krea-Modal width:max-content, minor tweaks
- TODO.md aktualisiert
This commit is contained in:
Meleki committed 2026-03-02 07:59:29 +01:00
1 parent 4bf500ad47
commit 754b2aa3e3
6 files changed
+53 -21

No files matched your search

+30 -13
View File
@@ -147,27 +147,44 @@ Wenn der User auf eine bestimmte Zeile in einer Datei verweist (z.B. `[Datei: fo
blocks.Add(new PromptBlock { Icon = "fa-database", Label = "Agent · Memory (UseMemory)", Content = string.Join("\n", memoryLines) });
}
if (toolAny && !string.IsNullOrWhiteSpace(session.Workspace))
// Git-Commit-Verhalten: relevant sobald Workspace vorhanden (unabhängig von ToolChoice)
if (!string.IsNullOrWhiteSpace(session.Workspace))
{
var verhaltensRegeln = new List<string>
{
"## Verhalten",
"- Wenn du Dateien lesen, schreiben, bearbeiten, erstellen oder löschen willst: IMMER das entsprechende Tool aufrufen. NIEMALS den Inhalt nur in die Antwort schreiben.",
"- Wenn du Shell-Befehle ausführen willst: IMMER das execute-Tool verwenden.",
@"- Behaupte NIEMALS etwas getan zu haben (Datei geschrieben, Commit gemacht, Befehl ausgeführt) ohne das entsprechende Tool tatsächlich aufgerufen zu haben. Wenn kein Tool-Aufruf stattgefunden hat, ist nichts passiert.",
"- Plane nicht nur - handle sofort über Tool-Aufrufe."
};
if (agent.AutoCommit)
{
verhaltensRegeln.Add(@"- Nach jeder abgeschlossenen Änderung MUSS ein Git-Commit erstellt werden. Prüfe Änderungen mit `git diff`, erstelle einen passenden Commit mit einer aussagekräftigen Message. Mehrere zusammenhängende Änderungen dürfen in einem Commit zusammengefasst werden.");
blocks.Add(new PromptBlock
{
Icon = "fa-code-branch",
Label = "Agent · Git-Verhalten (Workspace + AutoCommit)",
Content = "## Git-Commits\n- Nach jeder abgeschlossenen Änderung MUSS ein Git-Commit erstellt werden. Prüfe Änderungen mit `git diff`, erstelle einen passenden Commit mit einer aussagekräftigen Message. Mehrere zusammenhängende Änderungen dürfen in einem Commit zusammengefasst werden."
});
}
else
{
verhaltensRegeln.Add(@"- Git-Commits NIEMALS eigenständig erstellen. Commits werden NUR durchgeführt wenn der User es EXPLIZIT anfordert (z.B. ""erstelle einen Commit"", ""commit""). Auch nach abgeschlossenen Aufgaben NICHT automatisch committen.");
blocks.Add(new PromptBlock
{
Icon = "fa-code-branch",
Label = "Agent · Git-Verhalten (Workspace)",
Content = "## Git-Commits\n- Git-Commits NIEMALS eigenständig erstellen. Commits werden NUR durchgeführt wenn der User es EXPLIZIT anfordert (z.B. \"erstelle einen Commit\", \"commit\"). Auch nach abgeschlossenen Aufgaben NICHT automatisch committen."
});
}
}
blocks.Add(new PromptBlock { Icon = "fa-cog", Label = "Agent · Verhalten (Workspace + ToolChoice: any" + (agent.AutoCommit ? ", AutoCommit" : "") + ")", Content = string.Join("\n", verhaltensRegeln) });
if (toolAny && !string.IsNullOrWhiteSpace(session.Workspace))
{
blocks.Add(new PromptBlock
{
Icon = "fa-cog",
Label = "Agent · Verhalten (Workspace + ToolChoice: any)",
Content = string.Join("\n", new[]
{
"## Verhalten",
"- Wenn du Dateien lesen, schreiben, bearbeiten, erstellen oder löschen willst: IMMER das entsprechende Tool aufrufen. NIEMALS den Inhalt nur in die Antwort schreiben.",
"- Wenn du Shell-Befehle ausführen willst: IMMER das execute-Tool verwenden.",
"- Behaupte NIEMALS etwas getan zu haben (Datei geschrieben, Commit gemacht, Befehl ausgeführt) ohne das entsprechende Tool tatsächlich aufgerufen zu haben. Wenn kein Tool-Aufruf stattgefunden hat, ist nichts passiert.",
"- Plane nicht nur - handle sofort über Tool-Aufrufe."
})
});
blocks.Add(new PromptBlock
{