KI: Modellauswahl als Dropdown + Abgleich mit Produktionsstand
Einstellungen -> KI: statt freiem Modellnamen ein Dropdown mit den Chat-Modellen, die der hinterlegte OpenAI-Schluessel nutzen darf. - Backend: listAiModels() fragt OpenAI GET /v1/models, filtert auf Chat-Modelle (gpt-*, o*, chatgpt-*; ohne Embedding/Audio/Bild/Instruct usw.), neueste zuerst, 10 min im Speicher (Schluesselwechsel laedt neu) - Neuer Endpunkt GET /api/ai/models (admin) - Frontend: aktives Modell bleibt waehlbar, auch wenn nicht mehr gelistet; Rueckfall auf Textfeld, wenn die Liste nicht abrufbar ist - Doku: 05-ki (Modellauswahl mit Ablaufdiagramm), 10-api, 08-anleitung Zieht ausserdem den bereits live laufenden, bisher nicht eingecheckten Stand nach (perinco-Kontaktabgleich/MergeDialog, Projektmargen, Whisper-Anpassungen u. a.). Repo entspricht damit icrm.icon-experts.de. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
3f25355a6d
commit
cbac02a96a
+7
-1
@@ -38,7 +38,7 @@ flowchart TD
|
||||
V --> KON["contacts/<br/>Liste, Kacheln, Netzwerk, CV-Import"]
|
||||
V --> UNT["companies/<br/>Liste, Kacheln, Group, Netzwerk"]
|
||||
V --> AUS["tenders/<br/>Tabelle, Live!, Archiv"]
|
||||
V --> PRJ["projects/"]
|
||||
V --> PRJ["projects/<br/>Kacheln, Karte, Marge"]
|
||||
V --> HIS["history/"]
|
||||
V --> SET["settings/<br/>Nutzer, Stammdaten, Konto, Diktat"]
|
||||
KON --> NW["network/Network.tsx<br/>d3-force + SVG"]
|
||||
@@ -46,6 +46,12 @@ flowchart TD
|
||||
NW --> CT["network/CompanyTree.tsx"]
|
||||
```
|
||||
|
||||
`projects/margin.ts` rechnet die Marge: Tagessatz des Projekts minus
|
||||
Stundensatz des Beraters mal acht. Die Rechnung liegt neben der Ansicht und
|
||||
nicht im Backend, weil sie in der Projektkarte **live** mitlaufen muss – dort
|
||||
lassen sich Tagessatz und Berater ändern, bevor gespeichert wird. Siehe
|
||||
`docs/02-datenmodell.md`, Abschnitt `icon_projects`.
|
||||
|
||||
Zwei Dinge liegen bewusst in `App.tsx`:
|
||||
|
||||
* Die Listen der Unternehmen und Benutzer werden **einmal** geladen und
|
||||
|
||||
Reference in New Issue
Block a user