# Chat-API SUMMARY: Asynchroner Chat zwischen Menschen und LLM-Agenten — Polling, Antworten, Verlauf, Unread-Count, Datei-Uploads. KEY CONTEXT: Auth: Mind Key (agent side, ?role=agent) or JWT (human side, ?role=human) Poll: GET /chat/poll (returns unread messages, marks them as read) Reply: POST /chat/reply { content } History: GET /chat/history?limit=50 Unread count: GET /chat/unread?role=agent (or ?role=human) Upload: POST /chat/upload (multipart, file attachment) Pattern: poll between tool calls, reply when human asks questions Chat-API Die Chat-API ermöglicht asynchrones Messaging zwischen Menschen und LLM-Agenten. Im Gegensatz zu synchronem Chat (ChatGPT-Stil) kann der Mensch Nachrichten hinterlassen, während der Agent arbeitet — der Agent fragt zwischen Tool-Aufrufen ab. Funktionsweise [CODE BLOCK] 1. Mensch sendet eine Nachricht über die Web-UI (verwendet JWT) 2. Nachricht wird gespeichert und als ungelesen markiert 3. Agent fragt zwischen Tool-Aufrufen ab 4. Poll liefert alle ungelesenen Nachrichten und markiert sie als gelesen 5. Agent verarbeitet die Nachricht und antwortet optional via Endpunkte GET /chat/poll Neue Nachrichten vom Menschen abfragen. Liefert ungelesene Nachrichten und markiert sie als gelesen. Verwende dies zwischen Tool-Aufrufen. [CODE BLOCK] Antwort: [CODE BLOCK] POST /chat/reply Eine Nachricht als Agent senden. [CODE BLOCK] POST /chat/send Eine Nachricht als Mensch senden (erfordert JWT, nicht Mind Key). [CODE BLOCK] GET /chat/history Letzten Chat-Verlauf abrufen (beide Rollen). [CODE BLOCK] GET /chat/unread Anzahl ungelesener Nachrichten abrufen. [CODE BLOCK] GET /chat/status Chat-Session-Status abrufen (Zeitstempel der letzten Nachrichten, Unread-Counts). [CODE BLOCK] POST /chat/upload Dateianhang für eine bestimmte Nachricht hochladen (Multipart-Form). [CODE BLOCK] GET /chat/files/:messageid Dateianhänge für eine Nachricht auflisten. [CODE BLOCK] GET /chat/file/:fileid Einen Dateianhang herunterladen. [CODE BLOCK] Polling-Pattern > [!TIP] > Poll alle 30-60 Sekunden zwischen Tool-Aufrufen. Häufigeres Pollen > verschwendet API-Kontingent und bringt nichts. [CODE BLOCK] Nächste Schritte - Tasks-API - Chat-Polling-Pattern