bots-garden/mini-mepublic Fork 0
d72271127802973540c648bfb372176cdaaa8e4f
Commits
Clone
git clone https://git.rickub.com/bots-garden/mini-me.git
git clone ssh://git@rickub.com/bots-garden/mini-me.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

💾 Saved. d722711 · on d72271127802973540c648bfb372176cdaaa8e4f · k33g · 7h ago
use-from-an-editor.md · 39 lines · 2.8 KBmarkdown
Blame HistoryOpen raw

Comment utiliser mini-me depuis un éditeur (ACP)

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.

Étapes

  1. Déclarez mm comme serveur d'agent dans l'éditeur, avec l'option -acp. Dans Zed, ajoutez à settings.json :

    {
      "agent_servers": {
        "mini-me": {
          "type": "custom",
          "command": "mm",
          "args": ["-acp"],
          "env": { "AGENT_CONFIG": "/chemin/absolu/vers/agent.yaml" }
        }
      }
    }
    
  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.

  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.

  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.

Variantes

  • 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.
  • 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.
  • 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.
  • 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). Le modèle lit le fichier avec ses outils.
  • 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.

Voir aussi

  • Les méthodes et capacités exactement exposées : référence ACP
  • Pourquoi le terminal et l'éditeur partagent une seule boucle : architecture
 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
# Comment utiliser mini-me depuis un éditeur (ACP)

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.

## Étapes

1. Déclarez `mm` comme serveur d'agent dans l'éditeur, avec l'option `-acp`. Dans Zed, ajoutez à `settings.json` :

   ```json
   {
     "agent_servers": {
       "mini-me": {
         "type": "custom",
         "command": "mm",
         "args": ["-acp"],
         "env": { "AGENT_CONFIG": "/chemin/absolu/vers/agent.yaml" }
       }
     }
   }
   ```

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.

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.

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`.

## Variantes

- **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.
- **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.
- **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).
- **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.
- **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.

## Voir aussi

- Les méthodes et capacités exactement exposées : [référence ACP](../reference/acp.md)
- Pourquoi le terminal et l'éditeur partagent une seule boucle : [architecture](../explanation/architecture.md)