Mises à jour des fichiers

This commit is contained in:
Arnaud 2026-10-15 22:43:50 +02:00
parent afeff2e6fd
commit ab9449fa76
3 changed files with 17 additions and 8 deletions

1
.gitignore vendored
View file

@ -3,4 +3,3 @@ dist
*.log *.log
.env .env
.maia .maia
llm_avis.md

View file

@ -53,7 +53,7 @@ Il n'y a plus de notion de mode ni d'extensions : un seul agent, MAIA.
| --- | --- | | --- | --- |
| `/help` | aide (commandes, skills) | | `/help` | aide (commandes, skills) |
| `/model` | recharge la liste des modèles LiteLLM et change de modèle (conversation conservée) | | `/model` | recharge la liste des modèles LiteLLM et change de modèle (conversation conservée) |
| `/clear` | efface la conversation courante | | `/clear` | supprime le contexte de la session et recharge `MAIA.md` / `CLAUDE.md` et les skills, comme au démarrage (la session garde son nom) |
| `/rename <nom>` · `/load [nom]` · `/new` | sessions (voir plus bas) | | `/rename <nom>` · `/load [nom]` · `/new` | sessions (voir plus bas) |
| `/exit` (ou Ctrl+D) | quitte (la session est sauvegardée) | | `/exit` (ou Ctrl+D) | quitte (la session est sauvegardée) |
| `!commande` · `@fichier` · `§skill` | commande shell, fichier injecté, skill (voir plus bas) | | `!commande` · `@fichier` · `§skill` | commande shell, fichier injecté, skill (voir plus bas) |
@ -144,7 +144,7 @@ Au lancement, `./.maia` et `./.maia/.sessions` sont créés dans le dossier d'ex
- **Nom par défaut** : `session_{date}_{heure}_{minutes}_{secondes}` (ex. `session_2026-10-13_01_04_05`). - **Nom par défaut** : `session_{date}_{heure}_{minutes}_{secondes}` (ex. `session_2026-10-13_01_04_05`).
- `/rename <nom>` : renomme la session courante ; ce nom sera utilisé à la sauvegarde. - `/rename <nom>` : renomme la session courante ; ce nom sera utilisé à la sauvegarde.
- `/load` : sans argument, liste les sessions enregistrées (sélection) ; `/load <nom>` recharge cette session (le modèle courant est conservé). - `/load` : sans argument, liste les sessions enregistrées (sélection) ; `/load <nom>` recharge cette session (le modèle courant est conservé).
- `/new` : nouvelle session, nouveau contexte ; l'utilisateur est averti que la session quittée est sauvegardée (sous son nom). - `/new` : nouvelle session, nouveau contexte (`MAIA.md` / `CLAUDE.md` et skills rechargés) ; l'utilisateur est averti que la session quittée est sauvegardée (sous son nom).
Chaque session est un fichier JSON : elle peut contenir des extraits de fichiers ou de sorties de commandes. `.maia/` est ajouté au `.gitignore`. Chaque session est un fichier JSON : elle peut contenir des extraits de fichiers ou de sorties de commandes. `.maia/` est ajouté au `.gitignore`.
@ -246,3 +246,4 @@ Journal des évolutions, dans l'ordre :
15. **Badges `@inkjs/ui`** : `INFO`, `WARN`, `FAIL` (texte d'erreur `#DC8ADD`) et `ASK` devant les questions. 15. **Badges `@inkjs/ui`** : `INFO`, `WARN`, `FAIL` (texte d'erreur `#DC8ADD`) et `ASK` devant les questions.
16. **Suppression des modes et des extensions** : un seul agent MAIA (`packages/agent`), contexte de départ `MAIA.md` sinon `CLAUDE.md` (message `INFO`, ou `WARN` si aucun). 16. **Suppression des modes et des extensions** : un seul agent MAIA (`packages/agent`), contexte de départ `MAIA.md` sinon `CLAUDE.md` (message `INFO`, ou `WARN` si aucun).
17. **Outil `CurrentModel`** : indique au modèle quel LLM est utilisé dans la session. 17. **Outil `CurrentModel`** : indique au modèle quel LLM est utilisé dans la session.
18. **`/clear`** : supprime le contexte et recharge `MAIA.md` / `CLAUDE.md` (et les skills) comme au démarrage ; `/new` fait de même.

View file

@ -289,8 +289,12 @@ async function run(ui: InkUI, flags: { model?: string }): Promise<void> {
continue; continue;
} }
announceLeaving(); announceLeaving();
session.messages.length = 0; try {
session.pendingContext.length = 0; session = await startSession(modelSpec); // contexte (MAIA.md / CLAUDE.md) et skills rechargés
} catch (err) {
ui.error(`Nouvelle session impossible : ${(err as Error).message}`);
continue;
}
sessions.startNew(); sessions.startNew();
ui.info(`Nouvelle session : ${sessions.name} (nouveau contexte)`); ui.info(`Nouvelle session : ${sessions.name} (nouveau contexte)`);
continue; continue;
@ -352,9 +356,14 @@ async function run(ui: InkUI, flags: { model?: string }): Promise<void> {
continue; continue;
} }
if (name === "clear") { if (name === "clear") {
session.messages.length = 0; // Contexte supprimé et agent réinitialisé : MAIA.md / CLAUDE.md et les skills sont rechargés
session.pendingContext.length = 0; // comme au démarrage (la session garde son nom ; ce qui est effacé n'est pas sauvegardé).
ui.info("Conversation réinitialisée"); try {
session = await startSession(modelSpec);
ui.info("Contexte supprimé : nouvelle conversation");
} catch (err) {
ui.error(`Réinitialisation impossible : ${(err as Error).message}`);
}
continue; continue;
} }
if (name === "model") { if (name === "model") {