| 💾 Saved. d722711 k33g 6h ago | 1 | # Comment utiliser mini-me depuis un éditeur (ACP) |
| 2 | |
| 3 | Ce guide montre comment héberger `mm` dans un éditeur qui parle l'Agent Client Protocol, comme Zed. Il suppose que `mm` est compilé et installé dans votre `PATH` (`./install.sh` le copie dans `/usr/local/bin`), et que votre serveur de modèle tourne. |
| 4 | |
| 5 | ## Étapes |
| 6 | |
| 7 | 1. Déclarez `mm` comme serveur d'agent dans l'éditeur, avec l'option `-acp`. Dans Zed, ajoutez à `settings.json` : |
| 8 | |
| 9 | ```json |
| 10 | { |
| 11 | "agent_servers": { |
| 12 | "mini-me": { |
| 13 | "type": "custom", |
| 14 | "command": "mm", |
| 15 | "args": ["-acp"], |
| 16 | "env": { "AGENT_CONFIG": "/chemin/absolu/vers/agent.yaml" } |
| 17 | } |
| 18 | } |
| 19 | } |
| 20 | ``` |
| 21 | |
| 22 | 2. Donnez à `AGENT_CONFIG` un chemin absolu. L'éditeur lance `mm` avec le répertoire du projet comme répertoire de travail, donc un `./agent.yaml` relatif ne serait pas trouvé. En mode ACP, un `skillsDir` relatif dans ce fichier est résolu à côté du fichier, pas à côté du répertoire de travail de l'éditeur. |
| 23 | |
| 24 | 3. Ouvrez le panneau d'agent et démarrez une conversation. Chaque appel à `bash`, `read_file`, `write_file` et `edit_file` apparaît comme un appel d'outil ; l'éditeur vous demande de l'autoriser avant exécution. `read_skill` s'exécute sans dialogue. |
| 25 | |
| 26 | 4. Lisez les journaux quand quelque chose semble anormal. En mode ACP, rien de lisible par un humain ne va sur stdout : la bannière, les avertissements et une trace `[acp] …` vont sur stderr, que Zed affiche via `dev: open acp logs`. |
| 27 | |
| 28 | ## Variantes |
| 29 | |
| 30 | - **Autoriser un outil pour toute la session.** Choisissez « Allow bash for this session » dans le dialogue de permission ; le choix est mémorisé par nom d'outil jusqu'à la fin de la session. |
| 31 | - **Annuler un tour en cours.** Utilisez la touche d'arrêt de l'éditeur (Échap dans Zed). L'agent répond au prompt avec la raison d'arrêt `cancelled` et conserve dans l'historique les commandes déjà exécutées. Il n'y a pas de `/abort` en ACP. |
| 32 | - **Compresser ou recommencer la conversation.** Envoyez `/compact` ou `/new` ; les éditeurs qui listent les commandes de l'agent proposent les deux dans le menu des commandes slash. Voir la [référence des commandes slash](../reference/slash-commands.md#mode-acp). |
| 33 | - **Attacher un fichier avec `@`.** Le sélecteur de l'éditeur envoie un `resource_link`, transmis au modèle sous la forme `[attached file: <chemin>]` ; un chemin tapé à la main comme `@chemin` est compris de la même façon (voir [`@chemin`](attach-a-file.md)). Le modèle lit le fichier avec ses outils. |
| 34 | - **Lancer depuis un terminal pour déboguer le protocole.** `mm -acp` lit du JSON-RPC sur stdin et l'écrit sur stdout, un message par ligne. |
| 35 | |
| 36 | ## Voir aussi |
| 37 | |
| 38 | - Les méthodes et capacités exactement exposées : [référence ACP](../reference/acp.md) |
| 39 | - Pourquoi le terminal et l'éditeur partagent une seule boucle : [architecture](../explanation/architecture.md) |