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
configuration.md · 82 lines · 5.8 KBmarkdown
Blame HistoryOpen raw

Référence : fichier de configuration

Description neutre et exhaustive du fichier YAML lu par mm. Chaque clé est optionnelle ; une clé omise garde sa valeur par défaut intégrée. Le fichier est décodé par-dessus les valeurs par défaut, donc les clés inconnues sont ignorées.

Clés de premier niveau

Clé Type Défaut Description
provider chaîne dmr Clé du registre du serveur LLM : dmr ou llamacpp. Surchargée par AGENT_PROVIDER.
model chaîne huggingface.co/jetbrains/mellum2-12b-a2.5b-instruct-gguf-q4_k_m:Q4_K_M Identifiant du modèle dans la nomenclature du fournisseur. Surchargé par AGENT_MODEL.
baseUrl chaîne "" (défaut du fournisseur) Point d'accès compatible OpenAI essayé en premier. Surchargé par AGENT_BASE_URL.
fallback chaîne ou absente absente (défaut du fournisseur) Point d'accès utilisé quand baseUrl ne répond pas sur /models en 2 s. Absente = défaut du fournisseur ; "" = pas de repli.
apiKeyEnv chaîne "" (défaut du fournisseur) Nom de la variable d'environnement qui contient la clé d'API.
contextWindow entier 0 Tokens servis par le serveur. 0 = demander au serveur, sinon inconnu. Doit être ≥ 0.
maxOutput entier 16000 Nombre maximal de caractères qu'un outil renvoie au modèle ; au-delà, la sortie garde son début et jusqu'à 2000 caractères de fin. Doit être > 0.
maxTurns entier 10 Nombre maximal d'allers-retours modèle ↔ outils par question. Doit être > 0.
previewLines entier 20 Lignes de la sortie d'une commande affichées dans le terminal. 0 désactive l'affichage. Doit être ≥ 0.
displayCommands booléen false Affiche la liste numérotée des commandes et opérations sur fichiers après chaque réponse.
system chaîne prompt intégré Le prompt système, premier message de chaque historique.
skillsDir chaîne skills Répertoire des skills, sous forme de fichiers <nom>.md ou de répertoires <nom>/SKILL.md. Un chemin relatif est résolu depuis le répertoire de lancement de mm (mode terminal, ou mode ACP sans fichier de configuration), ou à côté du fichier de configuration (mode ACP avec fichier) ; la bannière avertit avec le chemin absolu quand rien n'y est trouvé.
editTools booléen true Déclare read_file, write_file, edit_file. false ne laisse que bash et read_skill.
sampling dictionnaire temperature: 0.0, top_p: 0.9, max_tokens: 4096 Paramètres de génération, noms de l'API OpenAI, transmis au serveur. L'agent.yaml livré ajoute parallel_tool_calls: false.
watchdogTimeout durée 20s Silence toléré entre deux tokens diffusés avant de déclarer la connexion bloquée. Doublé pour les requêtes de résumé.
context dictionnaire voir ci-dessous Compression automatique de l'historique.

Clés de context

Clé Type Défaut Description
enabled booléen false Active la compression automatique. /compact fonctionne dans tous les cas.
threshold entier 75 Pourcentage de la fenêtre de contexte au-delà duquel l'historique est compressé avant la question suivante. Entre 1 et 100.
maxMessages entier 80 Nombre de messages qui déclenche une compression quand la fenêtre est inconnue ou l'estimation trop basse. 0 désactive. Doit être ≥ 0.
keepLastTurns entier 3 Tours de question conservés bruts en fin d'historique. Doit être ≥ 1.
summaryMaxTokens entier 1200 max_tokens de la requête de résumé. Doit être > 0.
prompt chaîne "" Remplace le prompt de résumé intégré quand non vide.
showStats booléen true Affiche le rapport 🗜️ d'une ligne après chaque compression.

Valeurs par défaut des fournisseurs

Fournisseur baseUrl fallback apiKeyEnv Clé requise
dmr http://localhost:12434/engines/v1 http://host.docker.internal:12434/engines/v1 aucune non
llamacpp http://127.0.0.1:8080/v1 aucun LLAMA_API_KEY non

Erreurs de validation

Signalées sous la forme [config error: <chemin>: <message>], code de sortie 1.

Message Cause
provider must not be empty provider: ""
model must not be empty model: ""
contextWindow must be >= 0 valeur négative
maxOutput must be > 0 zéro ou négatif
maxTurns must be > 0 zéro ou négatif
previewLines must be >= 0 valeur négative
context.threshold must be between 1 and 100 hors intervalle
context.keepLastTurns must be >= 1 zéro ou négatif
context.summaryMaxTokens must be > 0 zéro ou négatif
context.maxMessages must be >= 0 valeur négative
unknown provider "x" (known: dmr, llamacpp) Signalée par le moteur, sous la forme [engine error: …].

Un avertissement au démarrage, et non une erreur, est affiché quand context.enabled vaut true, que la fenêtre est inconnue et que context.maxMessages vaut 0.

Fichiers livrés

Fichier Rôle
agent.yaml Configuration Docker Model Runner : provider: dmr, maxTurns: 40, displayCommands: true, compression désactivée, un prompt système nommé « Bob » qui décrit les skills et les règles d'édition de fichiers.
agent.llamacpp.yaml Configuration llama.cpp : provider: llamacpp, baseUrl: http://127.0.0.1:8080/v1, fallback: "", compression activée.

Exemple

provider: llamacpp
model: mon-alias
baseUrl: http://127.0.0.1:8080/v1
fallback: ""
maxTurns: 40
context:
  enabled: true
 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
80
81
82
# Référence : fichier de configuration

> Description neutre et exhaustive du fichier YAML lu par `mm`. Chaque clé est optionnelle ; une clé omise garde sa valeur par défaut intégrée. Le fichier est décodé par-dessus les valeurs par défaut, donc les clés inconnues sont ignorées.

## Clés de premier niveau

| Clé | Type | Défaut | Description |
|-----|------|--------|-------------|
| `provider` | chaîne | `dmr` | Clé du registre du serveur LLM : `dmr` ou `llamacpp`. Surchargée par `AGENT_PROVIDER`. |
| `model` | chaîne | `huggingface.co/jetbrains/mellum2-12b-a2.5b-instruct-gguf-q4_k_m:Q4_K_M` | Identifiant du modèle dans la nomenclature du fournisseur. Surchargé par `AGENT_MODEL`. |
| `baseUrl` | chaîne | `""` (défaut du fournisseur) | Point d'accès compatible OpenAI essayé en premier. Surchargé par `AGENT_BASE_URL`. |
| `fallback` | chaîne ou absente | absente (défaut du fournisseur) | Point d'accès utilisé quand `baseUrl` ne répond pas sur `/models` en 2 s. Absente = défaut du fournisseur ; `""` = pas de repli. |
| `apiKeyEnv` | chaîne | `""` (défaut du fournisseur) | Nom de la variable d'environnement qui contient la clé d'API. |
| `contextWindow` | entier | `0` | Tokens servis par le serveur. `0` = demander au serveur, sinon inconnu. Doit être ≥ 0. |
| `maxOutput` | entier | `16000` | Nombre maximal de caractères qu'un outil renvoie au modèle ; au-delà, la sortie garde son début et jusqu'à 2000 caractères de fin. Doit être > 0. |
| `maxTurns` | entier | `10` | Nombre maximal d'allers-retours modèle ↔ outils par question. Doit être > 0. |
| `previewLines` | entier | `20` | Lignes de la sortie d'une commande affichées dans le terminal. `0` désactive l'affichage. Doit être ≥ 0. |
| `displayCommands` | booléen | `false` | Affiche la liste numérotée des commandes et opérations sur fichiers après chaque réponse. |
| `system` | chaîne | prompt intégré | Le prompt système, premier message de chaque historique. |
| `skillsDir` | chaîne | `skills` | Répertoire des skills, sous forme de fichiers `<nom>.md` ou de répertoires `<nom>/SKILL.md`. Un chemin relatif est résolu depuis le répertoire de lancement de `mm` (mode terminal, ou mode ACP sans fichier de configuration), ou à côté du fichier de configuration (mode ACP avec fichier) ; la bannière avertit avec le chemin absolu quand rien n'y est trouvé. |
| `editTools` | booléen | `true` | Déclare `read_file`, `write_file`, `edit_file`. `false` ne laisse que `bash` et `read_skill`. |
| `sampling` | dictionnaire | `temperature: 0.0`, `top_p: 0.9`, `max_tokens: 4096` | Paramètres de génération, noms de l'API OpenAI, transmis au serveur. L'`agent.yaml` livré ajoute `parallel_tool_calls: false`. |
| `watchdogTimeout` | durée | `20s` | Silence toléré entre deux tokens diffusés avant de déclarer la connexion bloquée. Doublé pour les requêtes de résumé. |
| `context` | dictionnaire | voir ci-dessous | Compression automatique de l'historique. |

## Clés de `context`

| Clé | Type | Défaut | Description |
|-----|------|--------|-------------|
| `enabled` | booléen | `false` | Active la compression automatique. `/compact` fonctionne dans tous les cas. |
| `threshold` | entier | `75` | Pourcentage de la fenêtre de contexte au-delà duquel l'historique est compressé avant la question suivante. Entre 1 et 100. |
| `maxMessages` | entier | `80` | Nombre de messages qui déclenche une compression quand la fenêtre est inconnue ou l'estimation trop basse. `0` désactive. Doit être ≥ 0. |
| `keepLastTurns` | entier | `3` | Tours de question conservés bruts en fin d'historique. Doit être ≥ 1. |
| `summaryMaxTokens` | entier | `1200` | `max_tokens` de la requête de résumé. Doit être > 0. |
| `prompt` | chaîne | `""` | Remplace le prompt de résumé intégré quand non vide. |
| `showStats` | booléen | `true` | Affiche le rapport `🗜️` d'une ligne après chaque compression. |

## Valeurs par défaut des fournisseurs

| Fournisseur | `baseUrl` | `fallback` | `apiKeyEnv` | Clé requise |
|-------------|-----------|------------|-------------|-------------|
| `dmr` | `http://localhost:12434/engines/v1` | `http://host.docker.internal:12434/engines/v1` | aucune | non |
| `llamacpp` | `http://127.0.0.1:8080/v1` | aucun | `LLAMA_API_KEY` | non |

## Erreurs de validation

Signalées sous la forme `[config error: <chemin>: <message>]`, code de sortie 1.

| Message | Cause |
|---------|-------|
| `provider must not be empty` | `provider: ""` |
| `model must not be empty` | `model: ""` |
| `contextWindow must be >= 0` | valeur négative |
| `maxOutput must be > 0` | zéro ou négatif |
| `maxTurns must be > 0` | zéro ou négatif |
| `previewLines must be >= 0` | valeur négative |
| `context.threshold must be between 1 and 100` | hors intervalle |
| `context.keepLastTurns must be >= 1` | zéro ou négatif |
| `context.summaryMaxTokens must be > 0` | zéro ou négatif |
| `context.maxMessages must be >= 0` | valeur négative |
| `unknown provider "x" (known: dmr, llamacpp)` | Signalée par le moteur, sous la forme `[engine error: …]`. |

Un avertissement au démarrage, et non une erreur, est affiché quand `context.enabled` vaut `true`, que la fenêtre est inconnue et que `context.maxMessages` vaut `0`.

## Fichiers livrés

| Fichier | Rôle |
|---------|------|
| `agent.yaml` | Configuration Docker Model Runner : `provider: dmr`, `maxTurns: 40`, `displayCommands: true`, compression désactivée, un prompt système nommé « Bob » qui décrit les skills et les règles d'édition de fichiers. |
| `agent.llamacpp.yaml` | Configuration llama.cpp : `provider: llamacpp`, `baseUrl: http://127.0.0.1:8080/v1`, `fallback: ""`, compression activée. |

### Exemple

```yaml
provider: llamacpp
model: mon-alias
baseUrl: http://127.0.0.1:8080/v1
fallback: ""
maxTurns: 40
context:
  enabled: true
```