| 💾 Saved. d722711 k33g 8h ago | 1 | # Référence : commandes slash et raccourcis clavier |
| 2 | |
| 3 | > Description neutre des commandes reconnues à l'invite du terminal de `mm`. Elles sont comparées à la ligne entière, débarrassée de ses espaces ; tout autre texte est envoyé au modèle. |
| 4 | |
| 5 | ## Commandes |
| 6 | |
| 7 | | Commande | À l'invite | Pendant une génération | |
| 8 | |----------|------------|------------------------| |
| 9 | | `/quit` | Quitte le programme. | Annule la génération, affiche `Goodbye.`, quitte. | |
| 10 | | `/abort` | Affiche `⚠️ No generation in progress.` | Annule la génération, affiche `🛑 Aborting...` ; les commandes déjà exécutées restent dans l'historique. | |
| 11 | | `/compact` | Compresse l'historique immédiatement, sans tenir compte du seuil ; affiche le rapport `🗜️`, ou `🗜️ nothing to compact` quand aucun tour n'est plus ancien que `context.keepLastTurns`. | Envoyée au modèle comme nouveau message (voir ci-dessous). | |
| 12 | | `/new` | Ramène l'historique au seul prompt système, réinitialise le détecteur de boucles et oublie le dernier compte de tokens du serveur ; affiche `🆕 new session: N message(s) forgotten` (N compte tous les messages sauf le prompt système). | Traitée comme n'importe quel texte : annule la génération, conserve son historique partiel, puis s'exécute comme `/new` sur cet historique. | |
| 13 | |
| 14 | Une ligne vide à l'invite est ignorée. |
| 15 | |
| 16 | ## `@chemin` dans une question |
| 17 | |
| 18 | | Saisie | Effet | |
| 19 | |--------|-------| |
| 20 | | `@<chemin>` en début de ligne ou après un espace, une parenthèse ou un guillemet | Si le chemin existe (relatif au répertoire de lancement, absolu, ou `~/…`), une ligne atténuée `📎 <chemin absolu>` est affichée et `[attached file: <chemin absolu>]` (ou `[attached directory: …]`) est ajouté au message que reçoit le modèle. La ponctuation finale est ignorée ; chaque chemin est attaché une fois. | |
| 21 | | Un `@<chemin>` qui ne désigne rien sur le disque, ou `@` collé à un mot | Laissé tel quel. | |
| 22 | |
| 23 | Détails et exemples : [Désigner un fichier au modèle avec `@chemin`](../how-to/attach-a-file.md). |
| 24 | |
| 25 | ## Tout autre texte pendant une génération |
| 26 | |
| 27 | | Saisie | Comportement | |
| 28 | |--------|--------------| |
| 29 | | Une ligne qui n'est pas une commande | Affiche `🔄 New command received. Cancelling current task...`, annule la génération en cours, conserve son historique partiel, puis soumet la nouvelle ligne comme question suivante. | |
| 30 | |
| 31 | ## Raccourcis clavier |
| 32 | |
| 33 | | Touche | À l'invite | Pendant une génération | |
| 34 | |--------|------------|------------------------| |
| 35 | | `Ctrl+C` | Affiche `Goodbye.` et quitte. | Affiche `🛑 Interrupted (Ctrl+C).` et annule la génération ; l'invite revient. | |
| 36 | | `Ctrl+D` (fin d'entrée) | Quitte. | — | |
| 37 | |
| 38 | ## Messages affichés en fin de tour |
| 39 | |
| 40 | | Message | Signification | |
| 41 | |---------|---------------| |
| 42 | | `🛑 Generation aborted.` | Le tour a été annulé (`/abort`, `Ctrl+C`). La question et les tours d'outils terminés restent dans l'historique. | |
| 43 | | `[error: …]` | Le fournisseur a expliqué un échec en une ligne ; une question restée sans réponse est retirée de l'historique. | |
| 44 | | `⚙ N command(s)` | Nombre de commandes `bash` réellement exécutées dans le tour. | |
| 45 | | `· 📝 N file op(s)` | Ajouté quand des outils de fichiers ont tourné. | |
| 46 | | `· 📖 N skill(s)` | Ajouté quand des skills ont été chargés. | |
| 47 | | Liste numérotée en vert | Les commandes et opérations sur fichiers du tour, une par ligne, quand `displayCommands: true`. | |
| 48 | |
| 49 | ## Mode ACP |
| 50 | |
| 51 | Deux commandes existent en mode ACP : `/new` et `/compact`. Elles sont annoncées à l'éditeur par une notification `available_commands_update` et interceptées par `session/prompt` quand le texte du prompt, débarrassé de ses espaces, est exactement la commande. Chacune répond par un `agent_message_chunk` portant la ligne que le terminal afficherait, puis `stopReason: end_turn` ; le modèle n'est pas consulté. |
| 52 | |
| 53 | | Commande | En ACP | |
| 54 | |----------|--------| |
| 55 | | `/new` | Comme dans le terminal : historique ramené au prompt système, compte de tokens oublié ; l'identifiant de session, le `cwd` et les autorisations « toujours autoriser » sont conservés. | |
| 56 | | `/compact` | Comme dans le terminal, toujours forcée : `🗜️ compressed …`, `🗜️ nothing to compact: …` ou `[compact: failed, history kept: …]`. Attend d'abord la fin d'un tour en cours. | |
| 57 | |
| 58 | `/quit` et `/abort` n'existent pas en mode ACP : l'éditeur possède le processus et le termine en fermant stdin, et il annule un tour avec sa propre touche d'arrêt via `session/cancel`. Voir la [référence ACP](acp.md). |