Créer un agent depuis votre éditeur (mm acp-create)
Ce guide montre comment créer un agent.yaml sans terminal, depuis n'importe quel éditeur ou outil qui parle l'Agent Client Protocol (Zed, un IDE JetBrains, un plugin Neovim…). mm acp-create pose les questions de mm init par ACP et écrit le même fichier. Il suppose que mm est installé dans votre PATH et qu'un serveur de modèles tourne (l'assistant liste ses modèles).
Étapes
-
Déclarez
mm acp-createcomme serveur d'agent dans votre client. Dans Zed, ajoutez àsettings.json:{ "agent_servers": { "mm-create": { "type": "custom", "command": "mm", "args": ["acp-create"] } } }Les autres clients demandent les deux mêmes choses : la commande
mmet l'argumentacp-create. Aucun fichier de configuration n'est nécessaire : ce mode n'en lit aucun. -
Ouvrez le projet dans lequel l'agent travaillera, démarrez une nouvelle conversation avec
mm-createet envoyez/start(ou n'importe quel message). L'assistant démarre. Le fichier sera écrit dans le répertoire du projet — le répertoire de travail de la session — et non là où le client a lancémm. -
Répondez aux questions. Leur forme dépend de ce que votre client sait afficher :
- Un client qui affiche des formulaires (il annonce la capacité
elicitation.form) : les questions arrivent en quelques formulaires, valeurs par défaut déjà remplies. Une question dont les choix dépendent d'une réponse précédente — la liste des modèles du serveur choisi — arrive dans le formulaire suivant. - Tout autre client : chaque question est un message, avec des choix numérotés. Répondez par un numéro ou une valeur ;
.prend la valeur par défaut.
- Un client qui affiche des formulaires (il annonce la capacité
-
Lisez le message de fin. Il affiche
✅ wrote agent.yamlet✅ mm loads it, puis la commande qui lance l'agent,mm acp /chemin/absolu/vers/agent.yaml. Zed reçoit une entréeagent_serverstoute prête ; pour un autre client, utilisez cette ligne de commande. -
Pour faire tourner l'agent dans un conteneur ou un Docker Sandbox plutôt que sur votre machine, envoyez
/dockerinit(écritDockerfileetcompose.yaml) ou/sbxinit(écritsbxenv.yaml) dans la même conversation. Voir faire tourner mini-me dans un conteneur et faire tourner mini-me dans un Docker Sandbox. -
Envoyez
/zedconfig. Il affiche les entréesagent_serversde chaque façon dont le projet peut maintenant lancer son agent — sur votre machine, dans son conteneur, dans sa sandbox — et ce qu'il faut lancer avant pour chacune. Copiez celles que vous voulez dans les réglages de votre client, et démarrez une conversation avec l'une d'elles : c'est votre agent.
Commandes pendant l'assistant
| Commande | Effet |
|---|---|
/start |
Démarre l'assistant ; une fois démarré, repose la question en cours. |
/preview |
Affiche l'agent.yaml tel qu'il serait écrit maintenant. |
/back |
Reprend la dernière réponse et repose la question. |
/write |
Prend la valeur par défaut de chaque question restante et écrit le fichier (remplacer un fichier existant reste demandé). |
/restart |
Oublie toutes les réponses et recommence. |
/dockerinit |
Écrit un Dockerfile et un compose.yaml dans le projet pour faire tourner l'agent dans un conteneur — mm dockerinit pour ce projet. Accepte ses options (--name, --agent) ; les fichiers existants sont gardés sauf si vous ajoutez --overwrite. |
/zedconfig |
Affiche les entrées agent_servers de Zed pour l'agent de ce projet, d'après ce que contient le projet : mm acp <fichier d'agent> toujours ; avec un compose.yaml, docker exec -i <conteneur> mm -acp -config <fichier d'agent> ; avec un sbxenv.yaml, sbx exec -i <sandbox> mm -acp -config <fichier d'agent> — chacune avec ce qu'il faut lancer avant. |
/sbxinit |
Écrit un sbxenv.yaml dans le projet pour faire tourner l'agent dans un Docker Sandbox — mm sbxinit pour ce projet. Accepte ses options (--name, --workspace, --agent) ; un sbxenv.yaml existant est gardé sauf si vous ajoutez --overwrite. Marche à tout moment ; une fois l'agent écrit, le sandbox porte son nom. |
/help |
Liste ces commandes. |
Variantes
- Fixer des réponses à l'avance. Les options de
mm initmarchent ici (--provider,--base-url,--model,--usage,--project yes…) : une question dont l'option est donnée n'est pas posée. Par exemple"args": ["acp-create", "--provider", "llmman", "--project", "yes"]. - La disposition
.mm. Répondezyesà Keep everything in a .mm folder? : le fichier est.mm/agent.yaml, voir Ranger les fichiers mini-me d'un projet dans un dossier.mm. - Refuser un formulaire n'écrit rien. Envoyez un autre message pour reprendre là où vous vous êtes arrêté.
- Recharger l'agent (Reload Agent dans Zed) relance l'assistant à la première question : les réponses ne sont pas gardées. Un fichier déjà écrit reste tel quel.
Voir aussi
- Créer un agent avec
mm init— le même assistant dans un terminal. - Utiliser mini-me depuis un éditeur (ACP) — faire tourner l'agent créé.
- Référence : ligne de commande —
mm acp-create
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
|