mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-24 07:28:13 +02:00
v0.6.3 : texte non coupe autour des outils, garde-fous d'outils retires, retours UI
- Flux : le reliquat retenu par la garde « </think> » est vidé dès qu'un appel d'outil arrive, au lieu de la fin du flux. Sans ça il partait APRÈS l'événement d'outil et la fin de phrase — souvent coupée en plein mot — atterrissait dans une bulle séparée sous l'outil. - Le plafond d'appels d'outils par tour (TOOL_LIMIT) et l'anti-boucle « appel identique répété » sont SUPPRIMÉS : ils coupaient des tours légitimes (une recherche enchaîne facilement des dizaines d'appels). Le bouton stop reste le seul frein. Endpoint /api/agent/tool-limit et son interrupteur retirés. - Prompt système : « You are Jean » (majuscule) — le modèle recopiait la casse et se présentait en minuscule. - UI : titres du menu tous en monospace capitales via une seule règle (la casse vient du CSS, plus du HTML). - UI : le message envoyé s'affiche tout de suite en gris (« envoi… ») et s'éclaircit quand le serveur le confirme ; il ne disparaît plus pendant l'aller-retour, et il est retiré si l'envoi échoue. - UI : voile de chargement du fil (« chargement de la conversation… » / « connexion au serveur… ») — un chat vide ne se confond plus avec une connexion lente. - UI mobile : hauteur de coque 100dvh hors PWA (100vh en PWA), et plus aucun défilement du document. Le mode PWA est détecté par navigator.standalone : le média display-mode ne matche pas, faute de manifeste.
This commit is contained in:
1 parent
a3a9c36367
commit
92c350bdb8
16 files changed
+297
-134
No files matched your search
@@ -398,7 +398,7 @@ func handleAgent(w http.ResponseWriter, r *http.Request) {
|
||||
for _, p := range pages {
|
||||
out = append(out, map[string]any{"name": p.Name, "desc": p.Title})
|
||||
}
|
||||
sendJSON(w, 200, map[string]any{"enabled": agentEnabled(), "tool_limit": toolLimitEnabled(), "compact": compactEnabled(), "mem_mode": string(memMode()), "pages": out, "skills": out})
|
||||
sendJSON(w, 200, map[string]any{"enabled": agentEnabled(), "compact": compactEnabled(), "mem_mode": string(memMode()), "pages": out, "skills": out})
|
||||
}
|
||||
|
||||
// handleMemoryMode lit/écrit le mode mémoire (off / ondemand / always).
|
||||
@@ -430,24 +430,6 @@ func handleMemoryMode(w http.ResponseWriter, r *http.Request) {
|
||||
sendJSON(w, 200, map[string]any{"ok": true, "mode": string(memMode())})
|
||||
}
|
||||
|
||||
// handleToolLimitToggle active/désactive le plafond d'appels d'outils par tour
|
||||
// (config.env TOOL_LIMIT). On=limité (défaut), off=quasi illimité.
|
||||
func handleToolLimitToggle(w http.ResponseWriter, r *http.Request) {
|
||||
var req struct {
|
||||
On bool `json:"on"`
|
||||
}
|
||||
_ = json.NewDecoder(r.Body).Decode(&req)
|
||||
val := ""
|
||||
if !req.On {
|
||||
val = "off"
|
||||
}
|
||||
if err := SetConfigKey("TOOL_LIMIT", val); err != nil {
|
||||
sendJSON(w, 500, map[string]any{"ok": false, "error": err.Error()})
|
||||
return
|
||||
}
|
||||
sendJSON(w, 200, map[string]any{"ok": true, "tool_limit": toolLimitEnabled()})
|
||||
}
|
||||
|
||||
// handleCompactToggle active/désactive le compactage automatique du contexte
|
||||
// (config.env COMPACT). On=compacte (défaut), off=jamais.
|
||||
func handleCompactToggle(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
Reference in new issue
Block a user