v1.37: KI-Assistent N8N-Workflow fertig eingerichtet; alle Formulare 2-spaltig mit neuem Design

- N8N: Workflow serverseitig in DB eingespielt (Webhook mp-assist, Code-Node mit
  Kimi-Tool-Calling, keine Credentials), E2E live verifiziert
- Formulare: shared FormSection-Komponente (2 gleich breite Spalten, Wide fuer
  Volllbreiten-Felder), 10 Formulare umgebaut, Dialoge verbreitert
- Design: Inter + Sora Fonts, Teal-Akzente, Icons in Sektionskoepfen
This commit is contained in:
2026-10-04 21:30:34 +02:00
parent 9d14d367ee
commit 6eec3ac437
16 changed files with 540 additions and 645 deletions
+26 -2
View File
@@ -223,8 +223,32 @@ N8N: importierbarer Workflow n8n/assist-workflow.json (Webhook → AI-Agent mit
Kimi OpenAI-kompatibel https://api.moonshot.ai/v1, Modell kimi-k2.6 → 6
HTTP-Tools → Respond {antwort}); Setup-Doku n8n/README-assistent.md.
Deployt, E2E-getestet (Tools 401/200, /api/assist sauberer 503 ohne Webhook).
**Offen:** Workflow in N8N importieren + Kimi-Credential + Header-Auth +
Webhook-URL in portal.env eintragen (Schritte in n8n/README-assistent.md).
**Erledigt 04.10. Abend (v1.37 fertig):** N8N-Workflow „Mieterportal – KI-Assistent
(Kimi)" serverseitig vollständig eingerichtet und aktiviert – direkt in die
n8n-SQLite-DB eingespielt (n8n 2.x API-Import unzuverlässig, 401). Finaler Aufbau
(Code-Node-Ansatz statt langchain, keine Credentials): Webhook POST mp-assist
(responseNode, wichtig: Property webhookId = Node-ID auf Root-Ebene, sonst 404
„not registered") → Code-Node prüft x-assist-secret, Kimi-Tool-Calling per
this.helpers.httpRequest (max. 6 Runden, kein temperature-Param – k2.6 erlaubt
nur 1, kein URLSearchParams in der Sandbox, 429 wird abgefangen) → Respond
{antwort}. PORTAL im Code = http://mp-api:3000 (internes npm_default-Netz).
Drei Geheimnisse als Literale im Code-Node (nicht im Repo, siehe
n8n/README-assistent.md). N8N_API_KEY aus der n8n-Compose entfernt (ungenutzt).
E2E live: „Wie hoch sind die monatlichen Mieteinnahmen?" → korrekte Antwort
(Warm 18.684 € / Kalt 17.686 €) via Portal-Login.
**Erledigt 04.10. Abend (Design):** Alle Formulare 2-spaltig auf shared Layout
umgebaut: Neue Komponente src/components/forms/FormSection.tsx (FormSection =
Karte mit Teal-Icon-Chip + Sora-Überschrift, Kind-Elemente in
grid md:grid-cols-2; Wide = md:col-span-2 für Checkboxen/Textareas/Uploads;
FormFehler). Umgebaut: Bestand (Haus+Wohnung), MieterVerwaltung,
Zaehler (Zähler+Zählerstand), Kosten, Tickets, BenutzerVerwaltung (Benutzer+
E-Mail), Mietvertraege (Vermieterdaten+Vertrag), Documents, Profil (Karten-
Raster 2-spaltig). Dialoge auf sm:max-w-2xl verbreitert. Fonts: Inter (Body) +
Sora (Headings, font-display) via Google Fonts in index.html + tailwind.config
fontFamily. Deployt (dist-Tausch auf Server, mp-portal-Neustart nötig wegen
Bind-Mount-Inode) und verifiziert (CSS/JS 200, Fonts im HTML, Login 200).
**Erledigt 04.10. (v1.35):** Mietvertragsmodul (Verwaltung, Navigation
„Mietverträge", Admin-only). Workflow: anlegen → Entwurf-PDF → Versand an