# Plan: Chat-Fenster mit freier Promptwahl **Stand:** 02.03.2026 **Status:** ✅ **Umgesetzt** **Ziel:** Schnelle, direkte KI-Interaktion ohne Umweg über feste Prompts --- ## 1. Übersicht | Element | Beschreibung | |--------|--------------| | **Chatfenster** | Unter dem Editor, freie Texteingabe an die KI | | **Kontext** | Aktueller Artikel (Titel, Inhalt, SEO) wird automatisch mitgegeben | | **Prompts** | Feste Prompts bleiben optional (für "KI generieren" aus Quelle) | | **Priorität** | Chat = Hauptweg, feste Prompts = Nebenweg | --- ## 2. Layout ``` ┌─────────────────────────────────────────────────────────────┐ │ Nav, Status, Publish-Ziele │ ├──────────────────────────────┬──────────────────────────────┤ │ Inhalt (Editor) │ Vorschau │ │ │ │ ├──────────────────────────────┴──────────────────────────────┤ │ 💬 KI-Chat (freie Eingabe) │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ Nachrichtenverlauf (User/KI) │ │ │ ├───────────────────────────────────────────────────────┤ │ │ │ [Eingabefeld] [Senden] │ │ │ └─────────────────────────────────────────────────────────┘ │ ├─────────────────────────────────────────────────────────────┤ │ SEO, Medien, Buttons │ ├─────────────────────────────────────────────────────────────┤ │ Redaktionsplan (nach Scrollen) │ └─────────────────────────────────────────────────────────────┘ ``` - Chat direkt unter Editor + Vorschau - **Standard: offen** (schnelle Interaktion), einklappbar mit Chevron „▸ KI-Chat“ - Eingabefeld groß genug für längere Anweisungen --- ## 3. API ### Endpoint: `POST /api/chat` **Request:** ```json { "message": "Mach den ersten Absatz knackiger", "history": [ {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."} ], "context": { "title": "Aktueller Titel", "content": "Aktueller Inhalt...", "seo_title": "...", "seo_description": "...", "focus_keyword": "..." } } ``` **Response:** ```json { "reply": "Antwort der KI...", "suggested_content": "Optional: überarbeiteter Text zum Übernehmen" } ``` - Backend: OpenRouter wie bei `/api/polish`, aber mit Chat-System-Prompt - System-Prompt: „Du bist ein Redakteurs-Assistent. Der User arbeitet an einem Artikel. Kontext: [Titel, Inhalt, SEO]. Antworte kurz und handlungsorientiert. Wenn der User Änderungen will, gib den überarbeiteten Text als `suggested_content` zurück.“ --- ## 4. Chat-UI (Frontend) | Element | Beschreibung | |---------|--------------| | Nachrichtenliste | User-Nachrichten rechts/unterschiedlich, KI links/anders | | Eingabefeld | Textarea oder input, Enter zum Senden | | Senden-Button | Expliziter Klick | | Spinner | Während die KI antwortet | | Übernehmen-Button | Bei Antworten mit `suggested_content` – übernimmt in Editor/SEO | | History | Nur Session (im Speicher), max. 6 Nachrichtenpaare, kein DB-Persistenz (v1) | --- ## 5. Ablauf 1. User tippt im Chat: „Kürze den zweiten Absatz“ 2. Frontend sendet: message + context (aktueller Artikel) + history (falls vorhanden) 3. Backend ruft OpenRouter auf, KI antwortet 4. Antwort erscheint im Chat 5. Optional: KI liefert `suggested_content` → Button „In Editor übernehmen“ --- ## 6. Feste Prompts (Anpassung) | Änderung | Beschreibung | |----------|--------------| | Quelle + Ton + Prompt | Bleiben für „KI generieren“ (Artikel aus URL/Text erzeugen) | | Position | Können kompakter werden (z.B. eine Zeile), Chat ist prominenter | | Optional | Wenn User nur chatten will: Quelle/Prompt ignorierbar | --- ## 7. Aufwand (grobe Schätzung) | Teil | Zeilen / Aufwand | |------|------------------| | `POST /api/chat` in app.py | ~40 Zeilen | | Chat-UI in index.html | ~80 Zeilen HTML/JS | | Integration Kontext (getArticleData) | ~5 Zeilen | | **Gesamt** | ~2–3 Stunden | --- ## 8. Entscheidungen (festgelegt) | Punkt | Entscheidung | |-------|--------------| | **Chat Standard** | Offen (schnelle Interaktion), einklappbar optional | | **History persistieren** | Nein – nur Session, bei Artikel-Wechsel/Reload neu | | **Übernehmen-Button** | Zeigen, wenn `suggested_content` vorhanden | | **Max. History** | 6 Nachrichtenpaare (12 Nachrichten) | --- ## 9. Reihenfolge (bei Umsetzung) 1. API-Endpoint `/api/chat` 2. Chat-UI (Eingabe + Senden + Anzeige) 3. Kontext-Anbindung (Artikel mitschicken) 4. Übernehmen-Button (optional) 5. Feinschliff (Spinner, Fehlerbehandlung, Einklappbar) --- *Plan erstellt für Redax-WP. Umsetzung nur nach explizitem OK.*