# Chat API SUMMARY: Asynchroniczny czat między człowiekiem a agentami LLM — odpytywanie, odpowiedzi, historia, liczba nieprzeczytanych, przesyłanie plików. 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 Chat API umożliwia asynchroniczną komunikację między człowiekiem a agentami LLM. W przeciwieństwie do czatu synchronicznego (w stylu ChatGPT), człowiek może zostawiać wiadomości, gdy agent pracuje — agent odpytuje API między wywołaniami narzędzi. Jak to działa [CODE BLOCK] 1. Człowiek wysyła wiadomość przez interfejs WWW (używa JWT) 2. Wiadomość jest zapisywana i oznaczana jako nieprzeczytana 3. Agent odpytuje między wywołaniami narzędzi 4. Poll zwraca wszystkie nieprzeczytane wiadomości i oznacza je jako przeczytane 5. Agent przetwarza wiadomość i opcjonalnie odpowiada przez Endpointy GET /chat/poll Odpytuje o nowe wiadomości od człowieka. Zwraca nieprzeczytane wiadomości i oznacza je jako przeczytane. Należy używać między wywołaniami narzędzi. [CODE BLOCK] Odpowiedź: [CODE BLOCK] POST /chat/reply Wysyła wiadomość jako agent. [CODE BLOCK] POST /chat/send Wysyła wiadomość jako człowiek (wymaga JWT, nie Mind Key). [CODE BLOCK] GET /chat/history Pobiera najnowszą historię czatu (obie role). [CODE BLOCK] GET /chat/unread Zwraca liczbę nieprzeczytanych wiadomości. [CODE BLOCK] GET /chat/status Zwraca status sesji czatu (znaczniki czasu ostatnich wiadomości, liczby nieprzeczytanych). [CODE BLOCK] POST /chat/upload Przesyła załącznik do pliku dla konkretnej wiadomości (formularz multipart). [CODE BLOCK] GET /chat/files/:messageid Lista załączników dla wiadomości. [CODE BLOCK] GET /chat/file/:fileid Pobiera załącznik. [CODE BLOCK] Wzorzec odpytywania > [!TIP] > Należy odpytywać co 30-60 sekund między wywołaniami narzędzi. Częstsze > odpytywanie zużywa przydział API bez żadnych korzyści. [CODE BLOCK] Następne kroki - Tasks API - Wzorzec odpytywania czatu