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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# Référence : ligne de commande
> Description neutre de l'exécutable `mm` : options, argument positionnel, variables d'environnement, sortie de démarrage et codes de sortie.
## Invocation
```
mm [-config <chemin>] [-acp] [<chemin>]
```
| Élément | Type | Défaut | Description |
|---------|------|--------|-------------|
| `-config <chemin>` | chaîne | `""` | Chemin du fichier de configuration YAML. |
| `<chemin>` | positionnel | aucun | Équivalent de `-config` quand `-config` n'est pas donné. Un second argument positionnel est une erreur. |
| `-acp` | booléen | `false` | Sert l'Agent Client Protocol sur stdin/stdout au lieu du REPL du terminal. |
| `-h` | — | — | Affiche l'usage des options et quitte. |
## Résolution du fichier de configuration
La première source existante gagne.
| Ordre | Source | Fichier absent |
|-------|--------|----------------|
| 1 | Option `-config` ou argument positionnel | Erreur, code de sortie 1 |
| 2 | Variable d'environnement `AGENT_CONFIG` | Erreur, code de sortie 1 |
| 3 | `./agent.yaml` | Pas une erreur : les valeurs par défaut intégrées sont utilisées, la bannière affiche `config: built-in defaults` |
## Variables d'environnement
| Variable | Effet |
|----------|-------|
| `AGENT_CONFIG` | Chemin du fichier de configuration (voir ci-dessus). |
| `AGENT_PROVIDER` | Surcharge la clé `provider`. |
| `AGENT_MODEL` | Surcharge la clé `model`. |
| `AGENT_BASE_URL` | Surcharge `baseUrl` et désactive la sonde de repli. |
| `DMR_BASE_URL` | Comme `AGENT_BASE_URL`, pour le fournisseur `dmr` seulement ; `AGENT_BASE_URL` gagne quand les deux sont définies. |
| Variable nommée par `apiKeyEnv` | Contient la clé d'API. Nom par défaut : aucun pour `dmr`, `LLAMA_API_KEY` pour `llamacpp`. |
## Sortie de démarrage
Affichée sur stdout en mode terminal, sur stderr en mode ACP. Grisée quand stdout est un terminal.
| Ligne | Contenu |
|-------|---------|
| `[warning: …]` | Zéro ou plusieurs avertissements de la sonde : serveur injoignable, modèle absent de la liste du serveur, pas de template de chat, compression qui ne peut jamais se déclencher. |
| `config: … \| provider: … \| model: … \| ctx: … \| tools: … \| skills: N` | Chemin de la configuration, nom du fournisseur, identifiant du modèle, fenêtre de contexte avec son origine (`config`, `/props`) ou `unknown`, noms des outils déclarés, nombre de skills trouvés. |
| `Agent ready. Commands: …` | Mode terminal seulement. |
| `Shortcut: Ctrl+C …` | Mode terminal seulement. |
### Exemple
```
[warning: llamacpp: nothing answers at http://127.0.0.1:8080/v1 — start it: llama-server -m <model.gguf> --jinja --port 8080]
config: agent.llamacpp.yaml | provider: llamacpp | model: jetbrains/mellum2-12b-a2.5b-instruct-gguf-q4_k_m:Q4_K_M | ctx: unknown | tools: bash, read_file, write_file, edit_file | skills: 0
```
## Spécificités du mode ACP
| Aspect | Comportement |
|--------|--------------|
| stdout | Messages JSON-RPC 2.0 uniquement, un par ligne. |
| stderr | Bannière, avertissements, trace `[acp] …`, journaux du SDK. |
| Spinner | Désactivé. |
| `skillsDir` relatif | Résolu par rapport au répertoire du fichier de configuration, quand un fichier a été trouvé ; sinon depuis le répertoire de travail, comme en mode terminal. |
## Codes de sortie
| Code | Cause |
|------|-------|
| 0 | `/quit`, `Ctrl+C` à l'invite, fin de stdin, ou le client ACP a fermé la connexion. |
| 1 | Plus d'un argument positionnel ; erreur de chargement de la configuration ; erreur d'initialisation du moteur (fournisseur inconnu, clé requise absente). |
## Compilation et installation
| Commande | Effet |
|----------|-------|
| `go build -o mm .` | Compile le binaire dans le répertoire courant. |
| `./install.sh` | Compile `mm` et le copie dans `/usr/local/bin`, avec `sudo` si le répertoire n'est pas accessible en écriture. |
| `go test ./...` | Lance les tests unitaires. |
|