KI-Feature 4.5.22: KI-Unterstützung direkt aus dem Stunden-Editor starten
Bisher musste man aus dem Stunden-Editor raus, die KI-Hilfe für die ganze Einheit aufrufen und die gewünschte Stunde in der freien Anweisung erst benennen. Neuer Button "KI-Unterstützung für diese Stunde" im LessonDialog öffnet denselben AiAssistDialog im neuen Fokus-Modus. AiPlanningRequest.FocusLessonId weist die KI im Systemprompt an, sich auf genau diese Stunde zu beschränken; zusätzlich wie beim Umfangs-Umschalter client-seitig hart durchgesetzt in Send() und ApplyResponse, statt der KI-Antwort blind zu vertrauen. Da "Übernehmen" direkt ins Repository speichert, wären die noch offenen Feldwerte des ursprünglichen LessonDialog danach veraltet gewesen - der Dialog schließt sich deshalb nach einer angewendeten KI-Änderung automatisch mit dem frischen Stand statt ihn mit alten Werten zu überschreiben. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -840,6 +840,27 @@ folgenden Punkte gehören direkt in `LehrerApp.Desktop`:
|
||||
(`AiLessonReviewItem.RequestExplanationCommand`), der nach Laden durch den Text ersetzt
|
||||
wird — dieselbe Anfrage wird nicht zweimal angeboten. Kein neues DB-Schema nötig (nutzt
|
||||
dieselben `users`/`tokens`/`transactions`-Tabellen wie `plan.php`).
|
||||
- [x] **4.5.22** KI-Unterstützung direkt aus dem Editor einer einzelnen Stunde heraus statt nur aus
|
||||
der Einheiten-Übersicht (Nutzer-Feedback: bisher musste man aus der Stunde raus, die
|
||||
Einheiten-KI aufrufen und die gewünschte Stunde in der freien Anweisung erst benennen).
|
||||
**Umsetzung:** neuer "Fokus-Modus" im `AiAssistDialog` statt eines separaten Dialogs — Button
|
||||
"🤖 KI-Unterstützung für diese Stunde" im `LessonDialog` (nur bei bereits gespeicherten
|
||||
Stunden, eine gerade erst angelegte hat noch keine Id zum Fokussieren) öffnet denselben
|
||||
`AiAssistDialog`, aber mit `focusLesson` gesetzt. Neues Wire-Feld
|
||||
`AiPlanningRequest.FocusLessonId`: der Systemprompt in `plan.php` weist die KI an,
|
||||
ausschließlich diese eine Stunde zu bearbeiten, keine neuen Stunden vorzuschlagen und keine
|
||||
andere Stunde anzufassen — zusätzlich (wie beim Umfangs-Umschalter 4.5.15) client-seitig hart
|
||||
durchgesetzt in `AiAssistDialogViewModel.Send` (Antwort wird auf die Fokus-Id gefiltert,
|
||||
bevor sie überhaupt angezeigt wird) und `AiPlanningService.ApplyResponse`. Der
|
||||
Umfangs-Umschalter ("Auch bestehende Stundeninhalte anpassen") ergibt im Fokus-Modus keinen
|
||||
Sinn und wird ausgeblendet (immer erzwungen an).
|
||||
**Datenkonsistenz-Falle vermieden:** Da `AiAssistDialog` bei "Übernehmen" direkt ins
|
||||
Repository speichert, wären die noch offenen Feldwerte des ursprünglichen `LessonDialog`
|
||||
danach veraltet — ein anschließendes normales "Speichern" hätte die KI-Änderung
|
||||
stillschweigend wieder überschrieben. Der `LessonDialog` schließt sich deshalb nach einer
|
||||
angewendeten KI-Änderung automatisch (`LessonDialogViewModel.MarkAppliedExternally`, lädt den
|
||||
frischen Stand statt der eigenen Felder), die aufrufende Liste aktualisiert sich wie nach
|
||||
einem normalen Speichern.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user