Files
Loki/NOTICE.md
MichaelandClaude Opus 5.5 4a9a5a1712 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>
2026-10-07 09:03:22 +02:00

4.0 KiB

Avis d'attribution

Loki est un fork de AJEAN, créé par nathaninline et publié sous licence MIT. L'essentiel du code de ce dépôt — moteur d'assistant IA en Go, interface web embarquée, mémoire persistante, accès internet, outils MCP, accès distant chiffré — est l'œuvre du projet AJEAN. Merci à son auteur.

La licence d'origine est conservée à l'identique dans LICENSE.

Modifications apportées par le fork

  • Renommage AJEAN → Loki (binaire loki, LOKI_HOME, /etc/loki, units loki-engine / loki-ui).
  • Conteneurisation : image Docker autonome (llama.cpp compilé CUDA + binaire Go), docker-compose et variante Unraid, publication GHCR.
  • Supervision sans systemd (sys_service_container.go) : en conteneur, le moteur est piloté par fichier PID au lieu de systemctl — indispensable pour que l'UI puisse redémarrer le moteur (changement de modèle).
  • loki config get/set : lecture/écriture non interactive de la configuration, utilisée par l'entrypoint Docker.
  • Mode code (internal/loki/code_*.go, lsp.go, agents/) : agent de code avec critères d'acceptation, passe de vérification indépendante, outils read/grep/glob, politique d'exécution, diagnostics LSP, outils git, jobs d'arrière-plan et relance sur appel d'outil textuel. La conception (contrat builder/verifier, tracker « lu avant d'écrire », auto-retry patterns, table languages.json) est reprise d'OpenFox (MIT) et réécrite en Go pour ce fork ; les prompts de rôles sont des réécritures originales. S'y ajoutent depuis d'autres idées reprises d'OpenFox et réimplémentées ici : les sous-agents (code_subagent.go — un rôle délégué qui travaille dans son propre contexte), la vérification déclenchée quand le builder a fini (statut completed, relance sur critères ouverts), le pré-vol qui refuse une écriture dès son chemin (tool_schema_order.go), la réparation des noms d'outils hallucinés (code_alias.go), les consignes du dépôt AGENTS.md / CLAUDE.md (code_instructions.go), l'hygiène du terminal (chat_shell_hygiene.go) et un compactage qui garde l'état du mode Code.

Reprises depuis l'amont après le fork

Le fork continue de suivre AJEAN et y reprend des fonctionnalités, adaptées au conteneur : le contrôle du navigateur (computer_use.go, computer_cdp.go, browser_grid.go — pilotage d'un Chromium en CDP, ici celui de Playwright déjà présent dans l'image) et la préparation des images envoyées au modèle (web_upload_orient.go — orientation EXIF et redimensionnement), les notifications Web Push (push.go, web_push.go), les tâches script et le dossier de scripts (chat_scripts.go, tasks_script.go, tasks_tools.go), et le chiffrement de la mémoire (mem_crypto.go, mem_vault.go, mem_store.go, mem_io.go, mem_migrate.go, mem_snapshots.go, backup_bundle.go). La sauvegarde vers le relais (relay_backup.go) n'est pas reprise : elle vise ajean.link, le service de l'auteur amont. Loki expose à la place un export/import de paquet chiffré en fichier local.

Moteur Strata

Le second moteur de Loki (internal/loki/backend_strata.go) est Strata (MIT), spécialisé dans Qwen3.8-Flash-Next. Son intégration est reprise d'AJEAN (« AJEAN MoE 1.0 », backend_moe.go) : Loki télécharge le paquet figé publié par AJEAN sur sa release moe-v1.0 (sources de Strata et binaire Linux CUDA 12 compilé, avec les modifications d'AJEAN), vérifié par SHA-256. Ni Strata ni le modèle ne sont inclus dans l'image : ils sont téléchargés à la demande.

Services externes

Le tunnel d'accès distant continue de pointer vers ajean.link, le relais opéré par l'auteur d'AJEAN ; le catalogue de modèles intégré est également servi par ajean.link. Ces services appartiennent au projet amont.