feat: Konversationsgedaechtnis - Kurzzeit-Gespraechsverlauf pro Session
- Store: messages-Tabelle + append_message/get_recent_messages (mit Mandanten-Schutz) - LLMProvider.complete um history erweitert (openrouter + local bauen system+history+user) - Orchestrator.chat_text reicht den Verlauf ans LLM weiter - chat.py: bei session_id letzte HISTORY_MAX_MESSAGES laden, danach User-/Assistant-Turn speichern - ohne session_id weiterhin zustandslos; ?debug zeigt history_len - Config HISTORY_MAX_MESSAGES (Default 10) - Tests: 32 gruen (3 neue Gedaechtnis-Tests) - Doku aktualisiert (README, BEDIENUNGSANLEITUNG, Architektur) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
e0e69fdf15
commit
16a964032e
12 changed files with 225 additions and 40 deletions
15
README.md
15
README.md
|
|
@ -16,6 +16,7 @@ Praktische Bedienung: [`BEDIENUNGSANLEITUNG.md`](BEDIENUNGSANLEITUNG.md).
|
|||
- **Geschichtete Konfiguration** mit Profilen (`local-dev` / `hybrid` / `cloud`)
|
||||
- **Routing auf jeder Ebene:** Default → Profil → Nutzer → Session → Request
|
||||
- **Authentifizierung** (Bearer-Token) + persistente Nutzer/Sessions (SQLite)
|
||||
- **Gesprächsgedächtnis pro Session:** Verlauf wird gespeichert und fließt ins LLM
|
||||
- **REST-API** für Chat, Transkription, Sprachausgabe, Geräte, Sessions, Config
|
||||
- **Ohne Secrets im Code** — API-Keys nur über die Umgebung
|
||||
|
||||
|
|
@ -95,6 +96,20 @@ curl -X POST http://localhost:8080/api/speak \
|
|||
|
||||
Unbekannter Endpunkt/Provider → `HTTP 422` mit Klartext-Hinweis.
|
||||
|
||||
## Gesprächsgedächtnis
|
||||
|
||||
Wird bei `/api/chat` eine `session_id` mitgegeben, merkt sich der Assistent den
|
||||
Verlauf: vergangene Turns werden gespeichert und beim nächsten Aufruf ans LLM
|
||||
gegeben (begrenzt auf die letzten `HISTORY_MAX_MESSAGES` Nachrichten, Default 10).
|
||||
Ohne `session_id` bleibt der Aufruf zustandslos.
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:8080/api/chat?session_id=oma-anna&debug=true" \
|
||||
-H 'Content-Type: application/json' -d '{"text":"Ich heiße Anna."}'
|
||||
curl -X POST "http://localhost:8080/api/chat?session_id=oma-anna&debug=true" \
|
||||
-H 'Content-Type: application/json' -d '{"text":"Wie war noch mein Name?"}'
|
||||
```
|
||||
|
||||
## Authentifizierung
|
||||
|
||||
Standardmäßig (`AUTH_ENABLED=true`) sind `chat`/`speak`/`transcribe`/`sessions`/`me`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue