Moteur Strata : un second moteur, choisi par preset (ENGINE=strata)

Strata (github.com/Niko1221/Strata, MIT) fait tourner Qwen3.8 Flash Next
(MoE 125 B) sur une carte de joueur en répartissant les experts entre VRAM,
RAM et disque. Intégration reprise d'AJEAN (backend_moe.go, « AJEAN MoE
1.0 ») : paquet figé de la release moe-v1.0, vérifié par SHA-256.

- backend_strata.go : détection de la machine, quant conseillé, installation
  en tâche (même suivi que llama.cpp), preset ENGINE=strata, lancement du
  serveur de Strata par `loki serve`, réglages d'un modèle installé
- pré-vol, vision, liste des presets, journal de chargement : Strata reconnu
- proxy OpenAI et relais : Host local pour Strata (il refuse un Host inconnu)
- benchmark et optimiseur refusés sur Strata (protocole propre à llama-server)
- UI : ligne Strata dans Paramètres → Moteur (visible aussi avec le moteur de
  l'image), fenêtre d'installation et de réglages, moteur actif affiché
- image : python3 + python3-venv ; compose : memlock illimité

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5.5 committed 2026-10-07 09:03:22 +02:00
1 parent 5dd14c9de5
commit 4a9a5a1712
24 files changed
+2310 -13

No files matched your search

+54 -2
View File
@@ -329,7 +329,7 @@ document.documentElement.setAttribute('data-side',localStorage.getItem('loki-sid
<button data-pane="tasks" onclick="settingsShow('tasks')"><span>Tâches planifiées</span><span id="tasks-badge" class="sbadge"></span></button>
<button data-pane="sysprompt" onclick="settingsShow('sysprompt')">System prompt</button>
<div class="set-nav-h">Moteur</div>
<button data-pane="engine" onclick="settingsShow('engine')">Moteur llama.cpp</button>
<button data-pane="engine" onclick="settingsShow('engine')">Moteur</button>
<button data-pane="engine-log" onclick="settingsShow('engine-log')">Journal du moteur</button>
<button data-pane="dictee" onclick="settingsShow('dictee')">Dictée</button>
<div class="set-nav-h">Application</div>
@@ -531,7 +531,7 @@ document.documentElement.setAttribute('data-side',localStorage.getItem('loki-sid
</div></div>
</section>
<section class="set-pane" data-pane="engine" id="lc-details">
<div class="set-pane-h"><span>Moteur</span></div>
<div class="set-pane-h"><span>Moteur</span><span class="muted" style="font-size:12px;font-weight:400">actif : <b id="lc-active-engine">…</b></span></div>
<!-- Une seule carte : état, choix du mode et journal d'installation sont le
même sujet. Les trois modes sont des LIGNES de cette carte (elles
étaient des cartes dans une carte). -->
@@ -597,6 +597,18 @@ document.documentElement.setAttribute('data-side',localStorage.getItem('loki-sid
<div class="lc-mode-state" id="lc-custom-state"></div>
</div>
</div>
<!-- Deuxième moteur, hors des modes llama.cpp (masqués quand le moteur vient
de l'image) : Strata, spécialisé Qwen3.8 Flash Next, paquet figé repris
d'AJEAN (backend_strata.go). Le choix du moteur se fait par preset :
activer un modèle Strata bascule sur Strata, un autre preset revient à
llama.cpp. -->
<div class="lc-modes" id="lc-engines">
<div class="lc-mode" id="lc-strata" onclick="openStrata()">
<div class="lc-mode-t">Strata — Qwen3.8 Flash Next</div>
<div class="lc-mode-d">moteur spécialisé pour ce MoE de 125 B (experts répartis entre VRAM, RAM et disque), installation en un clic</div>
<div class="lc-mode-state" id="lc-strata-state"></div>
</div>
</div>
<div id="lc-job" class="rowbody" style="display:none">
<div id="lc-job-phase" style="font-size:12px;display:flex;align-items:center;gap:6px"></div>
<div class="lc-logbar" onclick="lcToggleLog()"><span id="lc-log-caret">▸</span> détails</div>
@@ -866,6 +878,46 @@ document.documentElement.setAttribute('data-side',localStorage.getItem('loki-sid
</div>
</div>
</div>
<div id="strata-modal" class="modal-ov" style="display:none" onclick="if(event.target===this)closeStrata()">
<div class="modal-card" style="max-width:520px">
<div class="modal-head">
<strong>Strata — Qwen3.8 Flash Next</strong>
<button class="modal-x" onclick="closeStrata()" aria-label="Fermer">×</button>
</div>
<div class="modal-body mform">
<div id="strata-machine" class="muted" style="font-size:12px;line-height:1.5"></div>
<div class="fld">
<label class="fld-l">Version</label>
<div class="seg" id="strata-fams"></div>
</div>
<div class="fld">
<label class="fld-l">Qualité</label>
<div class="slist" id="strata-quants"></div>
</div>
<div id="strata-disk" class="muted" style="font-size:12px;line-height:1.5"></div>
<div class="fld" id="strata-settings-fld" hidden>
<label class="fld-l">Réglages</label>
<div class="slist moe-details" id="strata-settings"></div>
</div>
<div class="fld" id="strata-details-fld" hidden>
<label class="fld-l">Configuration</label>
<div class="slist moe-details" id="strata-details"></div>
</div>
<div id="strata-note" class="muted" style="font-size:11px;line-height:1.5"></div>
<div class="muted" style="font-size:11px;line-height:1.5">Moteur <a href="https://github.com/Niko1221/Strata" target="_blank" rel="noopener">Strata</a> (MIT),
paquet figé et vérifié (SHA-256) publié par <a href="https://github.com/nathaninline/ajean" target="_blank" rel="noopener">AJEAN</a>.
Linux + NVIDIA (RTX 20 ou plus récente). Le modèle est téléchargé dans <code>/data/strata</code>.</div>
</div>
<div class="modal-foot">
<div class="foot-l"></div>
<div class="foot-r">
<button onclick="closeStrata()">fermer</button>
<button id="strata-save" hidden onclick="strataSaveSettings()">Enregistrer</button>
<button class="btn-save" id="strata-go" onclick="strataInstall()">Installer</button>
</div>
</div>
</div>
</div>
<div id="lc-custom-modal" class="modal-ov" style="display:none" onclick="if(event.target===this)closeCustomBackends()">
<div class="modal-card" style="max-width:560px">
<div class="modal-head">