| 💾 Saved. d722711 k33g 8h ago | 1 | # Référence : ligne de commande |
| 2 | |
| 3 | > Description neutre de l'exécutable `mm` : options, argument positionnel, variables d'environnement, sortie de démarrage et codes de sortie. |
| 4 | |
| 5 | ## Invocation |
| 6 | |
| 7 | ``` |
| 8 | mm [-config <chemin>] [-acp] [<chemin>] |
| 9 | ``` |
| 10 | |
| 11 | | Élément | Type | Défaut | Description | |
| 12 | |---------|------|--------|-------------| |
| 13 | | `-config <chemin>` | chaîne | `""` | Chemin du fichier de configuration YAML. | |
| 14 | | `<chemin>` | positionnel | aucun | Équivalent de `-config` quand `-config` n'est pas donné. Un second argument positionnel est une erreur. | |
| 15 | | `-acp` | booléen | `false` | Sert l'Agent Client Protocol sur stdin/stdout au lieu du REPL du terminal. | |
| 16 | | `-h` | — | — | Affiche l'usage des options et quitte. | |
| 17 | |
| 18 | ## Résolution du fichier de configuration |
| 19 | |
| 20 | La première source existante gagne. |
| 21 | |
| 22 | | Ordre | Source | Fichier absent | |
| 23 | |-------|--------|----------------| |
| 24 | | 1 | Option `-config` ou argument positionnel | Erreur, code de sortie 1 | |
| 25 | | 2 | Variable d'environnement `AGENT_CONFIG` | Erreur, code de sortie 1 | |
| 26 | | 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` | |
| 27 | |
| 28 | ## Variables d'environnement |
| 29 | |
| 30 | | Variable | Effet | |
| 31 | |----------|-------| |
| 32 | | `AGENT_CONFIG` | Chemin du fichier de configuration (voir ci-dessus). | |
| 33 | | `AGENT_PROVIDER` | Surcharge la clé `provider`. | |
| 34 | | `AGENT_MODEL` | Surcharge la clé `model`. | |
| 35 | | `AGENT_BASE_URL` | Surcharge `baseUrl` et désactive la sonde de repli. | |
| 36 | | `DMR_BASE_URL` | Comme `AGENT_BASE_URL`, pour le fournisseur `dmr` seulement ; `AGENT_BASE_URL` gagne quand les deux sont définies. | |
| 37 | | Variable nommée par `apiKeyEnv` | Contient la clé d'API. Nom par défaut : aucun pour `dmr`, `LLAMA_API_KEY` pour `llamacpp`. | |
| 38 | |
| 39 | ## Sortie de démarrage |
| 40 | |
| 41 | Affichée sur stdout en mode terminal, sur stderr en mode ACP. Grisée quand stdout est un terminal. |
| 42 | |
| 43 | | Ligne | Contenu | |
| 44 | |-------|---------| |
| 45 | | `[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. | |
| 46 | | `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. | |
| 47 | | `Agent ready. Commands: …` | Mode terminal seulement. | |
| 48 | | `Shortcut: Ctrl+C …` | Mode terminal seulement. | |
| 49 | |
| 50 | ### Exemple |
| 51 | |
| 52 | ``` |
| 53 | [warning: llamacpp: nothing answers at http://127.0.0.1:8080/v1 — start it: llama-server -m <model.gguf> --jinja --port 8080] |
| 54 | 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 |
| 55 | ``` |
| 56 | |
| 57 | ## Spécificités du mode ACP |
| 58 | |
| 59 | | Aspect | Comportement | |
| 60 | |--------|--------------| |
| 61 | | stdout | Messages JSON-RPC 2.0 uniquement, un par ligne. | |
| 62 | | stderr | Bannière, avertissements, trace `[acp] …`, journaux du SDK. | |
| 63 | | Spinner | Désactivé. | |
| 64 | | `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. | |
| 65 | |
| 66 | ## Codes de sortie |
| 67 | |
| 68 | | Code | Cause | |
| 69 | |------|-------| |
| 70 | | 0 | `/quit`, `Ctrl+C` à l'invite, fin de stdin, ou le client ACP a fermé la connexion. | |
| 71 | | 1 | Plus d'un argument positionnel ; erreur de chargement de la configuration ; erreur d'initialisation du moteur (fournisseur inconnu, clé requise absente). | |
| 72 | |
| 73 | ## Compilation et installation |
| 74 | |
| 75 | | Commande | Effet | |
| 76 | |----------|-------| |
| 77 | | `go build -o mm .` | Compile le binaire dans le répertoire courant. | |
| 78 | | `./install.sh` | Compile `mm` et le copie dans `/usr/local/bin`, avec `sudo` si le répertoire n'est pas accessible en écriture. | |
| 79 | | `go test ./...` | Lance les tests unitaires. | |