feat(ki): Einstellungen -> KI mit OpenAI-Schluessel und Modellwahl
Neuer Admin-Reiter "KI": zeigt die letzten vier Zeichen des hinterlegten OpenAI-Schluessels samt Quelle, nimmt einen neuen an (vorher gegen /v1/models geprueft) und laesst je Einsatzzweck das Modell per Dropdown waehlen - Scanner-Bewertung, Abgleich "bereits beworben", erweiterte Suche. Die Auswahl kommt live von OpenAI, Vorgaben sind die bisher fest verdrahteten Modelle. Reasoning-Modelle bekommen reasoning_effort statt temperature, damit ein Wechsel keinen 400er ausloest. Schluesselfeld aus dem Scanner-Reiter entfernt; Doku in docs/14-ki.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
0d41d46a3c
commit
e35c7518db
+70
-69
@@ -1,69 +1,70 @@
|
||||
# Dokumentation perinco CRM
|
||||
|
||||
Technische Dokumentation mit Funktionszeichnungen. Die Diagramme sind Mermaid und
|
||||
werden von Gitea direkt gerendert.
|
||||
|
||||
**Neu hier?** Wer die Anwendung *benutzen* will, fängt bei
|
||||
[07 Anleitung für Benutzer](07-anleitung-benutzer.md) an. Wer daran *entwickeln*
|
||||
will, bei [08 Anleitung für Entwickler](08-anleitung-entwickler.md). Beide setzen
|
||||
keine Vorkenntnisse voraus.
|
||||
|
||||
| Kapitel | Inhalt |
|
||||
| --- | --- |
|
||||
| [01 Architektur](01-architektur.md) | Topologie, Prozesse, Ports, Anfrageweg, Rollen |
|
||||
| [02 Datenmodell](02-datenmodell.md) | Tabellen beider Datenbanken als ER-Diagramme |
|
||||
| [03 Projekt Scanner](03-scanner.md) | Suchlauf von der Börse bis zum Treffer, Rückbau der alten App |
|
||||
| [04 Diktat](04-diktat.md) | Spracherkennung im Browser, Modell-Lebenszyklus |
|
||||
| [05 Frontend](05-frontend.md) | Ansichten, Menü, Komponentenkarte, Zustand |
|
||||
| [06 Betrieb](06-betrieb.md) | Deployment, Umgebungsvariablen, Dienste, Störungssuche |
|
||||
| [07 Anleitung für Benutzer](07-anleitung-benutzer.md) | Bedienung aller Bereiche, Schritt für Schritt |
|
||||
| [08 Anleitung für Entwickler](08-anleitung-entwickler.md) | Einrichten, erweitern, bekannte Fallen |
|
||||
| [09 Quellcode-Referenz](09-quellcode.md) | jede Datei, ihre Exporte und Zusagen |
|
||||
| [10 Glossar](10-glossar.md) | Agent, Match, Lead, Opportunity, Status- und Portalwerte |
|
||||
| [11 Postfachanbindung](11-postfach.md) | crm@perinco.de über Microsoft Graph, Kontakte aus Mails |
|
||||
| [12 Globale Suche](12-suche.md) | Volltext und erweiterte Suche im Kopf der Anwendung |
|
||||
| [13 Anmeldung über Microsoft](13-anmeldung-sso.md) | SSO mit Entra, Zuordnung der Konten, Einrichtung |
|
||||
|
||||
Die Designentscheidungen und die Messwerte zur Spracherkennung stehen im
|
||||
[README des Projekts](../README.md).
|
||||
|
||||
## Das Ganze in einem Bild
|
||||
|
||||
```mermaid
|
||||
flowchart TB
|
||||
subgraph Browser
|
||||
SPA["React-SPA<br/>Vite-Build"]
|
||||
WSP["Whisper im Web Worker<br/>WebGPU / WASM"]
|
||||
end
|
||||
|
||||
subgraph Server["Server 212.227.135.41"]
|
||||
AP["Apache<br/>:443"]
|
||||
API["Express-Backend<br/>127.0.0.1:5006"]
|
||||
SCH["Scanner-Scheduler<br/>node-cron"]
|
||||
MSCH["Mail-Scheduler<br/>node-cron"]
|
||||
PW["Playwright<br/>Chromium"]
|
||||
DB1[("MariaDB<br/>perinco_CRM")]
|
||||
DB2[("MariaDB<br/>perinco_scanner")]
|
||||
end
|
||||
|
||||
OAI["OpenAI<br/>gpt-4o-mini"]
|
||||
BOERSE["Projektbörsen<br/>freelancermap, hays, ..."]
|
||||
GRAPH["Microsoft Graph<br/>crm@perinco.de"]
|
||||
|
||||
SPA -->|"HTTPS /api"| AP
|
||||
AP --> API
|
||||
API --> DB1
|
||||
API --> DB2
|
||||
SCH --> PW
|
||||
PW --> BOERSE
|
||||
SCH --> OAI
|
||||
SCH --> DB2
|
||||
API -.-> SCH
|
||||
API -.-> MSCH
|
||||
MSCH -->|"Delta Query, nur lesend"| GRAPH
|
||||
MSCH --> DB1
|
||||
SPA -.->|"Audio bleibt im Browser"| WSP
|
||||
```
|
||||
|
||||
Die ursprüngliche Scanner-App unter `scanner.perinco.de` ist am 09.09.2026
|
||||
zurückgebaut worden; das CRM ist seither die einzige Instanz.
|
||||
# Dokumentation perinco CRM
|
||||
|
||||
Technische Dokumentation mit Funktionszeichnungen. Die Diagramme sind Mermaid und
|
||||
werden von Gitea direkt gerendert.
|
||||
|
||||
**Neu hier?** Wer die Anwendung *benutzen* will, fängt bei
|
||||
[07 Anleitung für Benutzer](07-anleitung-benutzer.md) an. Wer daran *entwickeln*
|
||||
will, bei [08 Anleitung für Entwickler](08-anleitung-entwickler.md). Beide setzen
|
||||
keine Vorkenntnisse voraus.
|
||||
|
||||
| Kapitel | Inhalt |
|
||||
| --- | --- |
|
||||
| [01 Architektur](01-architektur.md) | Topologie, Prozesse, Ports, Anfrageweg, Rollen |
|
||||
| [02 Datenmodell](02-datenmodell.md) | Tabellen beider Datenbanken als ER-Diagramme |
|
||||
| [03 Projekt Scanner](03-scanner.md) | Suchlauf von der Börse bis zum Treffer, Rückbau der alten App |
|
||||
| [04 Diktat](04-diktat.md) | Spracherkennung im Browser, Modell-Lebenszyklus |
|
||||
| [05 Frontend](05-frontend.md) | Ansichten, Menü, Komponentenkarte, Zustand |
|
||||
| [06 Betrieb](06-betrieb.md) | Deployment, Umgebungsvariablen, Dienste, Störungssuche |
|
||||
| [07 Anleitung für Benutzer](07-anleitung-benutzer.md) | Bedienung aller Bereiche, Schritt für Schritt |
|
||||
| [08 Anleitung für Entwickler](08-anleitung-entwickler.md) | Einrichten, erweitern, bekannte Fallen |
|
||||
| [09 Quellcode-Referenz](09-quellcode.md) | jede Datei, ihre Exporte und Zusagen |
|
||||
| [10 Glossar](10-glossar.md) | Agent, Match, Lead, Opportunity, Status- und Portalwerte |
|
||||
| [11 Postfachanbindung](11-postfach.md) | crm@perinco.de über Microsoft Graph, Kontakte aus Mails |
|
||||
| [12 Globale Suche](12-suche.md) | Volltext und erweiterte Suche im Kopf der Anwendung |
|
||||
| [13 Anmeldung über Microsoft](13-anmeldung-sso.md) | SSO mit Entra, Zuordnung der Konten, Einrichtung |
|
||||
| [14 KI](14-ki.md) | OpenAI-Schlüssel und Modellwahl je Einsatzzweck |
|
||||
|
||||
Die Designentscheidungen und die Messwerte zur Spracherkennung stehen im
|
||||
[README des Projekts](../README.md).
|
||||
|
||||
## Das Ganze in einem Bild
|
||||
|
||||
```mermaid
|
||||
flowchart TB
|
||||
subgraph Browser
|
||||
SPA["React-SPA<br/>Vite-Build"]
|
||||
WSP["Whisper im Web Worker<br/>WebGPU / WASM"]
|
||||
end
|
||||
|
||||
subgraph Server["Server 212.227.135.41"]
|
||||
AP["Apache<br/>:443"]
|
||||
API["Express-Backend<br/>127.0.0.1:5006"]
|
||||
SCH["Scanner-Scheduler<br/>node-cron"]
|
||||
MSCH["Mail-Scheduler<br/>node-cron"]
|
||||
PW["Playwright<br/>Chromium"]
|
||||
DB1[("MariaDB<br/>perinco_CRM")]
|
||||
DB2[("MariaDB<br/>perinco_scanner")]
|
||||
end
|
||||
|
||||
OAI["OpenAI<br/>gpt-4o-mini"]
|
||||
BOERSE["Projektbörsen<br/>freelancermap, hays, ..."]
|
||||
GRAPH["Microsoft Graph<br/>crm@perinco.de"]
|
||||
|
||||
SPA -->|"HTTPS /api"| AP
|
||||
AP --> API
|
||||
API --> DB1
|
||||
API --> DB2
|
||||
SCH --> PW
|
||||
PW --> BOERSE
|
||||
SCH --> OAI
|
||||
SCH --> DB2
|
||||
API -.-> SCH
|
||||
API -.-> MSCH
|
||||
MSCH -->|"Delta Query, nur lesend"| GRAPH
|
||||
MSCH --> DB1
|
||||
SPA -.->|"Audio bleibt im Browser"| WSP
|
||||
```
|
||||
|
||||
Die ursprüngliche Scanner-App unter `scanner.perinco.de` ist am 09.09.2026
|
||||
zurückgebaut worden; das CRM ist seither die einzige Instanz.
|
||||
|
||||
Reference in New Issue
Block a user