Files
Loki/internal/loki/doc.go
T
Loki de6551a153 Rebaptise AJEAN en Loki (fork, lignée conservée)
- module github.com/R0m1k3/Loki, cmd/loki, internal/loki (package loki)
- LOKI_HOME, LOKI_MODEL_DIRS, LOKI_SERVICE, LOKI_DL_CONNS ; /etc/loki ;
  units loki-engine / loki-ui ; binaire et aide CLI
- updateRepo pointe sur R0m1k3/Loki (l'auto-update ne tirera plus les
  binaires AJEAN amont)

Conservé à l'identique : le domaine ajean.link (service de tunnel amont),
les littéraux de migration 0.7.x (migrate_07.go), RELEASE_NOTES.md et
LICENSE (historique et licence de l'amont).

go build/vet/test : verts.
2026-08-14 21:33:15 +00:00

39 lines
2.2 KiB
Go

// Loki — cœur du binaire (package loki, appelé par cmd/loki). Go n'autorise
// pas de sous-dossiers dans un même package : les fichiers sont donc préfixés
// par domaine.
//
// run.go point d'entrée : dispatch des sous-commandes, LokiHome() et
// l'arborescence de données
// store.go LA base (bbolt) : configuration, préférences, conversation,
// clés, jetons, interrupteurs — tout l'état non éditable à la main
// cli_* expérience « application » (double-clic : UI + tray + splash)
// web_* serveur HTTP :8090 (UI embarquée via go:embed ui/, auth, prefs)
// chat_* chat CLI + conversation serveur partagée, compaction, mémoire,
// outils de l'agent (dont accès internet)
// llm_* client llama-server (complétions, endpoint OpenAI, bench, test)
// backend_* gestion llama.cpp : build, GPU, serve (ExecStart), modèles et
// téléchargements, catalogue, presets, configuration
// relay_* accès distant ajean.link : tunnel, chiffrement E2E, appairage
// sys_* intégration OS : install, services, plateforme, process, tray,
// splash, tty, auto-update
//
// Les suffixes _windows/_linux/_darwin/_unix/_other portent les contraintes de
// compilation par OS.
//
// ⚠️ Les fichiers macOS ne se compilent qu'AVEC CGO (l'icône de barre de menus
// passe par Cocoa). Une compilation croisée depuis Windows ou Linux, comme les
// analyseurs lancés sans CGO, ne les voit PAS : un symbole qu'eux seuls
// utilisent passe pour du code mort, et le supprimer casse le build macOS sans
// aucun avertissement local. Seul le job « macos » de la CI le détecte. Avant de
// supprimer un symbole jugé inutilisé, vérifier `grep` sur les fichiers _darwin.
//
// DEUX SERVICES à l'exécution, un seul binaire :
// - loki-engine (« loki serve ») exec llama-server ;
// - loki-ui (« loki web ») sert l'UI locale, le tunnel du relais et
// l'endpoint OpenAI depuis un SEUL process — condition d'une conversation
// unique, celle-ci vivant en mémoire (voir chat_conversation.go).
//
// ui/index.html est GÉNÉRÉ depuis ui/src/ : éditer les sources puis
// `go generate ./internal/loki` (voir tools/assemble-ui).
package loki