AutoCommit: Bool → Dropdown (mention/enforce/forbid), leerer System-Prompt fix

This commit is contained in:
Meleki committed 2026-03-02 09:41:26 +01:00
1 parent 7410a18755
commit 40bab457d9
10 files changed
+52 -27

No files matched your search

+22 -11
View File
@@ -150,24 +150,35 @@ Wenn der User auf eine bestimmte Zeile in einer Datei verweist (z.B. `[Datei: fo
// Git-Commit-Verhalten: relevant sobald Workspace vorhanden (unabhängig von ToolChoice)
if (!string.IsNullOrWhiteSpace(session.Workspace))
{
if (agent.AutoCommit)
var autoCommit = (agent.AutoCommit ?? "").ToLowerInvariant();
if (autoCommit == "mention")
{
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
{
blocks.Add(new PromptBlock
{
Icon = "fa-code-branch",
Label = "Agent · Git-Verhalten (Workspace)",
Label = "Agent · Git-Verhalten (Workspace, Anmerken)",
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."
});
}
else if (autoCommit == "enforce")
{
blocks.Add(new PromptBlock
{
Icon = "fa-code-branch",
Label = "Agent · Git-Verhalten (Workspace, Erzwungen)",
Content = "## Git-Commits\n- Nach JEDER abgeschlossenen Änderung MUSS ein Git-Commit erstellt werden. Erstelle aussagekräftige Commit-Messages die beschreiben was geändert wurde."
});
}
else if (autoCommit == "forbid")
{
blocks.Add(new PromptBlock
{
Icon = "fa-code-branch",
Label = "Agent · Git-Verhalten (Workspace, Verboten)",
Content = "## Git-Commits\n- Git-Commits sind STRIKT VERBOTEN. Du darfst unter KEINEN Umständen eigenständig Git-Commits erstellen, auch nicht wenn der User danach fragt. Verweise stattdessen darauf, dass der User den Commit selbst durchführen soll."
});
}
// autoCommit == "" → kein Block, Thema wird nicht erwähnt
}
if (toolAny && !string.IsNullOrWhiteSpace(session.Workspace))