11 Commits

Author SHA1 Message Date
arch_agent 1e78b932f8 fix: Natürlichere Antworten — weniger Rollenspiel-Aktionen
- System-Prompt: Handlungen/Gesten nur sparsam, max 1 pro Nachricht
- Keine Gegenfragen am Ende jeder Nachricht
- Kurze Antworten bei einfachen Fragen
- Mara behavior: 'Klopft immer auf den Tresen' entfernt (wurde wörtlich genommen)
- Mara tone: 'Nicht jedes Mal eine Gegenfrage' hinzugefügt
2026-07-25 13:02:19 +02:00
arch_agent 8860ae83e1 v2.5.4 — Portrait-Bilder bleiben beim Reload erhalten
- Portrait wird als [PORTRAIT]path[/PORTRAIT] in DB gespeichert
- Serverseitiges Jinja2-Rendering zeigt Bild beim Reload
- JS loadHistory() rendert PORTRAIT-Marker als <img>
- Ollama bekommt keine PORTRAIT-Nachrichten (skip in build_prompt)
2026-07-25 12:56:22 +02:00
arch_agent 51e8036341 v2.5.1 — Chat-Verlauf bleibt beim Reload erhalten
- loadHistory() leert Chat nicht mehr (chat.innerHTML = '' entfernt)
- Nur fehlende Nachrichten werden angehängt, bestehende bleiben
- Cookie mit path=/ für konsistente Session über alle Routen
- cowboy shot statt upper body (besserer Danbooru-Tag für NoobAI-XL)
- very aesthetic, absurdres als Quality-Tags
2026-07-25 12:46:56 +02:00
arch_agent 1a197969a8 v2.5 — Context-aware Portraits + DE→EN Translation
- Chat-Kontext wird in Portrait-Prompt einbezogen:
  - Outfit-Änderungen ('umgezogen', 'Kleid', 'Hoodie' etc.)
  - Posen ('lacht', 'schläft', 'sitzt' etc.)
  - Szenen ('Café', 'Schlafzimmer', 'Nacht' etc.)
- I2I denoise steigt auf 0.55 bei Outfit-Wechsel (Gesicht bleibt, Kleidung ändert sich)
- Deutsche Appearance-Felder → englische Model-Tags (translate_map)
- SDXL-Auflösung 1024x1024 (war 512 — produzierte Chaos)
- 'upper body' statt 'headshot' (war nur Scheitel)
2026-07-25 12:41:48 +02:00
arch_agent ea1b231fea v2.4 — Character Editor + Image-to-Image Portrait Consistency
Features:
- /edit/{name} route: Character nachträglich bearbeiten
- /api/character/update/{name}: API zum Aktualisieren
- create.html dient als Editor und Creator (mode=edit/create)
- Index-Seite: ✏️ Button pro Character
- Portrait-Vorschau im Editor
- Image-to-Image: Folge-Portraits nutzen bestehendes Bild als Referenz
  - LoadImage → ImageScale → VAEEncode → KSampler (denoise=0.45)
  - Aussehen bleibt konsistent über mehrere Generierungen
  - Fallback auf Text-to-Image wenn kein Referenzbild existiert
- ComfyUI Image Upload via /upload/image API
- Jinja2 if-Expressions für vorausgefüllte Formularfelder
2026-07-24 22:08:15 +02:00
arch_agent f454d7b785 fix: pass character_name to template — portrait button was broken
Root cause: charFilename was empty in JS because character_name
wasn't passed to the Jinja2 template. This caused:
- POST /api/character//portrait → 404
- The 'Generierung fehlgeschlagen' error

Fix: Add character_name to template context.
2026-07-24 22:05:53 +02:00
arch_agent 7755d2be64 v2.3 — Character-Aussehen + Portrait-Fix
Features:
- Character-Bogen: Aussehen-Sektion mit Stil, Geschlecht, Alter, Größe,
  Statur, Haarfarbe, Frisur, Augenfarbe, Haut, Kleidung, Merkmale
- Stil-Optionen: Anime, Realistisch, Comic, Cartoon, Pixel Art
- ComfyUI Prompt wird aus appearance-Objekt gebaut
- Portrait-Button: Async mit Polling (kein Timeout mehr)
- Portrait-Button: 5-Minuten Timeout als Fallback
- Poll-Errors werden ignoriert (kein vorzeitiger Abbruch)
- Mara.json aktualisiert mit appearance-Objekt
2026-07-24 22:04:13 +02:00
arch_agent 52612970c5 v2.2 — ComfyUI Portrait Generation
Features:
- 🖼️ Portrait Button im Chat-Header
- /api/comfyui/status: Prüft ob ComfyUI läuft
- /api/character/{name}/portrait: Generiert Profilbild via ComfyUI
- comfyui_integration.py: ComfyUI API Client
  - NoobAI-XL Checkpoint
  - 25 Steps, DPM++ 2M Karras
  - 512x512 Portrait
  - Auto-Copy zu static/avatars/
- UI: Avatar wird nach Generierung ersetzt
- UI: Button zeigt Status (ComfyUI nicht erreichbar = ausgegraut)
- Workflow: Character-Beschreibung → ComfyUI Prompt → Bild → Avatar

Voraussetzung: ComfyUI muss auf localhost:8188 laufen
2026-07-24 21:49:43 +02:00
arch_agent c60d1219b2 v2.1 — Session-Passcode System für Multi-Device
Features:
- 6-stelliger Passcode pro Session (z.B. 5E92C5)
- /join Seite: Passcode-Eingabe für andere Geräte
- /api/session/join: Verifiziert Passcode, setzt Cookie
- /api/session/info: Gibt Session-ID + Passcode zurück
- Index-Seite zeigt Passcode mit Hinweis
- Chat-Header zeigt Passcode (lila hervorgehoben)
- Passcode in sessions Tabelle gespeichert
- Falscher Code = Fehlermeldung, kein Raten möglich

Workflow:
1. Desktop: Öffne NeonChat → siehst Passcode im Header
2. Handy: Öffne http://[IP]:5252/join → Code eingeben
3. Handy bekommt gleiches Cookie → gleicher Chat-Verlauf
2026-07-24 21:47:30 +02:00
arch_agent a432226824 v2.0 — Streaming, Session-Cookies, Gedächtnis-Fix, Multi-Device
Features:
- Streaming Responses: Token-für-Token via Server-Sent Events
- Session-Cookies: Cookie-basierte Session, läuft 1 Jahr
- Multi-Device: Anderes Gerät = gleiche Session = gleicher Chat
- /api/history endpoint: Lädt vollen Chat-Verlauf beim Reconnect
- Gedächtnis-Fix: Chat-Verlauf beim Neuladen korrekt aus DB
- Session-basiertes Gedächtnis (session_id in jeder Nachricht)
- UI: Animated typing indicator (3 dots)
- UI: Session-ID Anzeige im Header
- Auto-History-Load beim Seitenaufruf (falls nicht server-seitig gerendert)
- Prompt: Anti-Repetition Rule hinzugefügt
- Prompt: Erinnerungen-Referenz-Regel hinzugefügt
- DB Migration: Alte Nachrichten werden zu Default-Session migriert
- DB Schema: session_id Spalte in messages und summaries
2026-07-24 21:43:48 +02:00
arch_agent e1b54181dc NeonChat v1.0 — Lokaler RP-Chatbot
Features:
- FastAPI Backend + Ollama Integration
- Character System (JSON-basiert, einfach zu erstellen)
- Kurzzeitgedächtnis (SQLite, letzte 20 Nachrichten)
- Langzeitgedächtnis (automatische Zusammenfassungen alle 20 Nachrichten)
- Moderne Web-UI (dunkles Theme, Neon-Accents)
- Character-Erstellungs-Seite im Browser
- Beispiel-Character: Mara (Barista, zynisch, warmherzig)
- Unzensiert (lokal, keine Cloud)
- Gedächtnis-Panel (Ein- und Ausblenden)
- Vergessen-Funktion (Gedächtnis löschen)
2026-07-24 14:28:01 +02:00