# KiMailOrderAgent – Projektstand

## Ziel

Der Agent liest E-Mails vom Mailserver, erkennt Bestellungen im Mailtext oder später in Anhängen, erstellt daraus eine strukturierte Bestellung und sendet eine Freigabe-Mail.

Erst nach Antwort mit `OK` wird ein Auftrag erstellt.

## Aktueller Ablauf

```text
IMAP-Mail lesen
↓
Mailtext + Anhänge sammeln
↓
Gemini KI analysiert Bestellung
↓
Artikel werden aus articles.json erkannt
↓
Freigabe-Mail wird per SMTP gesendet
↓
Antwort-Mail wird gelesen
↓
OK → Wawi-Auftrag wird simuliert
ABLEHNEN → Bestellung wird abgelehnt

##Aktueller Stand
Worker Service läuft
Gmail SMTP funktioniert
Gmail IMAP funktioniert
Gemini API ist eingebunden
articles.json dient als Artikelkatalog
Freigabe-Mail enthält Bestell-ID
Antwort mit OK wird erkannt
Auftragserstellung ist aktuell noch Simulation


##Wichtige Dateien

Worker.cs
Agents/OrderAgent.cs
Catalog/JsonArticleCatalogService.cs
articles.json
Approval/ApprovalMessageBuilder.cs
Approval/EmailApprovalNotifier.cs
Approval/OrderValidator.cs
Mail/ImapMailReader.cs
Wawi/WawiOrderService.cs
Storage/PendingOrderStore.cs

##articles.json

Der Artikelkatalog liegt in:
articles.json

Später soll diese Datei automatisch aus JTL-Wawi aktualisiert werden.

KI

Aktuell wird Gemini verwendet.

"Agent": {
  "ApiKey": "...",
  "Model": "gemini-2.5-flash"
}

Die KI darf nur Artikel aus articles.json auswählen.

Noch offen
echte PDF-Textextraktion
echte ODT-Textextraktion
echte DOCX-Textextraktion
doppelte Mailverarbeitung robuster verhindern
echte JTL-Wawi-Anbindung
automatische Aktualisierung von articles.json aus Wawi
bessere Korrektur-Antworten wie KORREKTUR: ...


Damit kannst du später in einem neuen Chat einfach sagen:

```text
Hier ist meine project-notes.md, lass uns weitermachen.




Damit kannst du später in einem neuen Chat einfach sagen:

```text
Hier ist meine project-notes.md, lass uns weitermachen.