mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-18 20:57:05 +02:00
Deux services nommes ajean-engine et ajean-ui, une seule porte web
- ajean.service -> ajean-engine, ajean-link.service -> ajean-ui - 'ajean web' est desormais l'unique serveur d'interface : il ouvre aussi le tunnel quand un jeton est enregistre (une seule conversation, plus de conflit sur :8090 ni de fils divergents) - 'ajean link' ne gere plus que le compte ; 'ajean ui' pilote le service - l'installateur Linux pose les deux unites et les deux regles sudoers - 'app' sort de l'aide
This commit is contained in:
1 parent
47c27499ae
commit
24ff2f0a25
9 files changed
+220
-209
No files matched your search
@@ -30,7 +30,7 @@ Aucune dépendance à l'exécution, aucun flag CMake à retenir, aucun conteneur
|
||||
|
||||
**Le matériel et le moteur, gérés pour vous.** `ajean llamacpp install` clone et compile llama.cpp avec les bons flags pour *cette* machine : CUDA (capacité de calcul détectée par GPU, donc le multi-GPU fonctionne), ROCm, Metal, Vulkan, ou repli CPU. `ajean llamacpp update` récupère le dernier commit, arrête le service le temps de recompiler, puis le redémarre.
|
||||
|
||||
**Un service, pas un script.** `ajean install` écrit l'unité systemd, la règle sudoers et les dossiers. Ensuite `start` / `stop` / `status` / `logs`. Windows et macOS ont leurs équivalents natifs (voir plus bas).
|
||||
**Des services, pas des scripts.** `ajean install` écrit les deux unités systemd, les règles sudoers et les dossiers. Ensuite `start` / `stop` / `status` / `logs`. Windows et macOS ont leurs équivalents natifs (voir plus bas).
|
||||
|
||||
**Plusieurs modèles, un clic.** Les presets gardent chacun leur configuration complète ; basculer de l'un à l'autre recharge le modèle sans toucher à un fichier. Les `.gguf` peuvent vivre sur n'importe quel disque.
|
||||
|
||||
@@ -61,48 +61,50 @@ Nécessite `git` et `cmake`, plus le toolkit de l'accélérateur (CUDA, ROCm…)
|
||||
|
||||
```bash
|
||||
ajean edit # régler MODEL=/chemin/vers/le-modele.gguf
|
||||
ajean start
|
||||
ajean start # démarre le moteur (ajean-engine)
|
||||
ajean test # vérifier que le modèle répond
|
||||
ajean web # http://<hôte>:8090
|
||||
ajean ui start # démarre l'interface (ajean-ui) sur http://<hôte>:8090
|
||||
```
|
||||
|
||||
AJEAN tourne en **deux services** : `ajean-engine`, qui exécute le modèle, et
|
||||
`ajean-ui`, qui sert l'interface web, le tunnel d'accès distant et l'endpoint
|
||||
OpenAI. Les séparer permet de redémarrer l'interface — ce qui est instantané —
|
||||
sans recharger des dizaines de gigaoctets de modèle.
|
||||
|
||||
## Commandes
|
||||
|
||||
```
|
||||
Application :
|
||||
app lance l'UI web + ouvre le navigateur (auto au double-clic)
|
||||
web [PORT] UI web seule (défaut :8090)
|
||||
chat [prompt-système] chat dans le terminal
|
||||
|
||||
Service :
|
||||
Moteur (ajean-engine) :
|
||||
start | stop | restart gérer le service
|
||||
status | logs état / logs en direct
|
||||
enable | disable démarrage au boot
|
||||
edit éditer la configuration dans $EDITOR
|
||||
switch [N] changer de preset (presets/)
|
||||
test | bench [N] vérifier que le modèle répond / mesurer les tok/s
|
||||
vram | gpu [index…] VRAM / choix des GPU (gpu all = tous)
|
||||
set-api-key [clé] protéger le moteur d'inférence (Bearer)
|
||||
llamacpp install|update|status
|
||||
|
||||
Interface (ajean-ui) :
|
||||
ui [start|stop|restart|status] piloter le service d'interface
|
||||
web [PORT] servir l'interface au premier plan (défaut :8090)
|
||||
set-web-key [clé] protéger l'API de pilotage
|
||||
|
||||
Capacités de l'IA :
|
||||
chat [prompt-système] chat dans le terminal
|
||||
agent [on|off|status] active TOUS les outils (terminal, fichiers, mémoire)
|
||||
memory [off|ondemand|always] mode mémoire
|
||||
internet [on|off|engine <go|crawl4ai>|url <url>|key <clé>] accès web
|
||||
|
||||
Presets et moteur :
|
||||
switch [N] changer de preset (presets/)
|
||||
llamacpp install|update|status
|
||||
|
||||
Accès distant (ajean.link) :
|
||||
link <token> enregistre le token et démarre le lien
|
||||
link start|restart|stop gérer le service de lien
|
||||
link <token> enregistre le jeton et ouvre le tunnel
|
||||
link code code d'appairage (10 min, usage unique)
|
||||
link status|logout
|
||||
|
||||
Installation :
|
||||
install | uninstall
|
||||
update [--check] mise à jour depuis les releases GitHub
|
||||
version
|
||||
where | version
|
||||
```
|
||||
|
||||
## Configuration
|
||||
@@ -141,7 +143,7 @@ La clé API (`ajean set-api-key`) est rangée hors de la configuration, afin de
|
||||
|----------|------|--------|
|
||||
| `AJEAN_HOME` | racine des données | `/etc/ajean`, `%ProgramData%\ajean` |
|
||||
| `AJEAN_MODEL_DIRS` | dossiers de modèles (séparés par `:`, `;` sous Windows) | — |
|
||||
| `AJEAN_SERVICE` | nom de l'unité systemd | `ajean` |
|
||||
| `AJEAN_SERVICE` | nom de l'unité du moteur | `ajean-engine` |
|
||||
| `HF_TOKEN` | token Hugging Face pour les modèles privés | — |
|
||||
| `AJEAN_DL_CONNS` | connexions parallèles au téléchargement | — |
|
||||
| `EDITOR` | éditeur pour `ajean edit` | `nano` / `notepad` |
|
||||
@@ -232,7 +234,7 @@ ajean link <token> # token fourni sur ajean.link
|
||||
ajean link code # code d'appairage à saisir dans le portail
|
||||
```
|
||||
|
||||
Le lien tourne comme un service : la commande rend la main, la connexion continue en tâche de fond. Inutile de lancer `ajean web`, l'interface est servie dans le tunnel. Le portail donne accès à l'interface du serveur avec un chat chiffré, à la gestion de plusieurs machines, et en option à un endpoint compatible OpenAI.
|
||||
Le tunnel n'est pas un service à part : il est ouvert par `ajean-ui`, le service qui sert déjà l'interface, dès qu'un jeton est enregistré. Un seul process sert donc l'interface locale et l'accès distant — c'est ce qui garantit **une seule conversation**, identique sur les deux. Le portail donne accès à l'interface du serveur avec un chat chiffré, à la gestion de plusieurs machines, et en option à un endpoint compatible OpenAI.
|
||||
|
||||
Il s'agit d'un service optionnel et payant ; tout le reste d'AJEAN est et restera open source et gratuit.
|
||||
|
||||
@@ -255,7 +257,7 @@ Le VPS effectue un simple **passthrough SNI** : le TLS est terminé sur la machi
|
||||
|
||||
## API de pilotage
|
||||
|
||||
`ajean web` expose une API HTTP pour piloter AJEAN à distance. À protéger avant toute exposition :
|
||||
Le service d'interface expose une API HTTP pour piloter AJEAN à distance. À protéger avant toute exposition :
|
||||
|
||||
```bash
|
||||
ajean set-web-key # génère une clé
|
||||
|
||||
Reference in new issue
Block a user