feat: Gemini thought_signature korrekt lesen und zurücksenden
- thought_signature aus delta.tool_calls[n].extra_content.google.thought_signature lesen (korrekter Pfad) - ThoughtSignature-Feld in MessageRecord + DB-Migration (ALTER TABLE messages ADD COLUMN thought_signature) - SaveMessage speichert ThoughtSignature pro Tool-Call - OpenAiService: toolCallAccumulators Tuple um ThoughtSignature erweitert - Tool-Calls mit thought_signature werden mit extra_content.google.thought_signature zurückgesendet (nicht function.thought_signature) - ConvertMessage (History-Rebuild) setzt thought_signature ebenfalls korrekt - ChatService.BuildApiMessages übergibt thought_signature aus DB-Record - Gemini-Modelle dynamisch laden statt hardcodiert - Tool-Call-Akkumulator nutzt id als primären Key (Gemini sendet parallele Calls ohne index) - content=null → content='' für Gemini-Kompatibilität
This commit is contained in:
1 parent
e87455ffe9
commit
145441fa7b
6 files changed
+149
-65
No files matched your search
+16
-18
@@ -1566,29 +1566,27 @@ Alle History-Queries (initial load, before/after-Paging, Polling) sortieren nach
|
||||
|
||||
## Deployment
|
||||
|
||||
### deploy.sh
|
||||
**WICHTIG:** Das Deployment ist ein **manueller Vorgang**, der durch den Benutzer auf dem Server durchgeführt werden muss. Das System führt kein automatisches Deployment durch.
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
set -e
|
||||
cd /app/gott
|
||||
export PATH="$HOME/.dotnet:$PATH"
|
||||
systemctl stop gott
|
||||
dotnet publish -c Release -o Build/Linux/publish
|
||||
systemctl start gott
|
||||
echo "OK"
|
||||
```
|
||||
### Goldene Regel für Änderungen
|
||||
* **Arbeiten Sie AUSSCHLIESSLICH im Verzeichnis `wwwroot/`** für Frontend-Änderungen.
|
||||
* **Editiere NIEMALS Dateien in `Build/*/publish/wwwroot/`!** Diese Verzeichnisse werden bei jedem Build überschrieben.
|
||||
* Das Verzeichnis `Build/*/publish/data/gott.db` darf niemals manuell gelöscht, geleert oder direkt modifiziert werden.
|
||||
|
||||
### Verzeichnisse
|
||||
### Deployment-Vorgang (Beispiel für Linux)
|
||||
Das vorhandene Shell-Skript `deploy.sh` dient lediglich als Hilfestellung für den manuellen Prozess:
|
||||
|
||||
- **Quell-Code**: `/app/gott/` (wwwroot/, Services/, etc.)
|
||||
- **Build-Output**: `/app/gott/Build/<OS>/publish/`
|
||||
- **Laufzeit-Daten**: `/app/gott/Build/<OS>/publish/data/` (DB, Agents, Images, Skills)
|
||||
- **WICHTIG**: Änderungen IMMER in `wwwroot/` machen, NIEMALS in `Build/*/publish/wwwroot/`
|
||||
1. **Frontend-Anpassungen vornehmen** (in `wwwroot/`).
|
||||
2. **Manuelles Deployment** auf dem Server ausführen:
|
||||
```bash
|
||||
# Beispiel-Ablauf:
|
||||
systemctl stop gott
|
||||
dotnet publish -c Release -o Build/Linux/publish
|
||||
systemctl start gott
|
||||
```
|
||||
|
||||
### systemd
|
||||
|
||||
Die Anwendung läuft als systemd Service (`gott.service`), Kestrel auf Port 19000.
|
||||
Die Anwendung ist als systemd-Service konfiguriert und läuft standardmäßig auf Port 19000.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in new issue
Block a user