bots-garden/mini-mepublic Fork
⑂ 85e8e1f
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.

Download ZIP

🛟 Updated.

k33g committed 2026-10-18T21:38:11+02:00 Browse files
85e8e1f parent: 07f685d
added release-notes/v0.7.0.en.md +67 -0
new file mode 100644
@@ -0,0 +1,67 @@
1+# mini-me v0.7.0
2+
3+*[Version française](v0.7.0.fr.md)*
4+
5+Free a model's memory, see which hooks ran, pick up an earlier session from your editor, and screen questions with guard models.
6+
7+## New
8+
9+### Unload a model — `/unload` and `unload_model` (#92, #101)
10+
11+- **`/unload [model]`** frees a model from the server's memory, in the terminal, the window (`-tui`) and an editor (`-acp`). Without an argument it unloads the agent's own model.
12+- **`unload_model`** is a new built-in tool: the agent can unload any model itself, for example another agent's model once that agent has answered. It never asks for permission: nothing changes on disk, and the server reloads the model on the next request.
13+- **Supported servers**: llmman and Ollama (`keep_alive: 0`, after checking with `/api/ps` that the model is loaded), and llama-server in router mode (`POST /models/unload`). A single-model llama-server answers with the alternatives (`--sleep-idle-seconds`, or stop the server).
14+- **New key `unloadModels`** (default `true`). `false` removes both the command and the tool. The tool is never offered beside a `structuredOutput`.
15+
16+> ⚠️ Since the default is `true`, **every existing agent now gets one more tool**. If a small model starts calling `unload_model` at random, set `unloadModels: false` in that agent.
17+
18+### Show the hooks that ran — `displayHooks` (#100)
19+
20+- **New key `displayHooks`** (default `false`). It shows every hook run on one line: event, tool or agent, command, decision, and the size of the context the hook added. The context text itself is never shown, since a hook may add secrets.
21+
22+ ```text
23+ 🪝 1. preAsk expert · node "$MM_CONFIG_DIR/hooks/unload.js" self → continue
24+ ```
25+
26+- **Where it shows**: after each answer in the line mode, with `-p` and in the window (under ⚙). In an editor, each hook run is a finished tool call.
27+- **Every hook is covered**, including the ones run by agents started with `/ask`, `ask_agent` or `mm --ask`.
28+
29+### Editors: list and resume sessions over ACP (#95)
30+
31+- `mm -acp` now implements **`session/list`** and **`session/resume`**, and advertises them in `sessionCapabilities`.
32+- **In Zed** (checked with 1.4.2), the project's sessions now show in the agent panel's thread history and can be picked up there.
33+- Sessions without any question are left out. REPL and window sessions of the same project are listed too.
34+- `session/load` (with the conversation replayed) is unchanged.
35+
36+## Fixed
37+
38+- **Window (`-tui`)**: the `/` picker drew only its first 8 choices and never scrolled, so the arrows could select commands nobody could see (`/unload`, and `/ask-<name>` commands). The list now follows the selection.
39+
40+## Demos
41+
42+- **`demos/unload-models/`** (new): a coordinator (Qwen3.5 9B) hands each programming question to an expert (Qwen3.5 4B). The two models are **never loaded together**:
43+ - a `preAsk` hook unloads the coordinator before the expert starts;
44+ - a `postAsk` hook unloads the expert before the coordinator reads its answer.
45+
46+ Measured 9/9 on llmman. `/unload` works by hand, and `unload_model` runs when you ask the coordinator to free the expert.
47+- **`demos/guard/`**: fixed for Granite Guardian 3.2 3B-A800M (#99). The model's chat template reads the system message as a risk name, so the demo now uses `system: harm` and turns `agentsMd` off. Without that, the server answered `400 unknown system risk`. The README is in EN and FR.
48+- **`demos/guards/`** (new, #99): one guard agent per risk (7 risks). A `preGeneration` hook asks them in parallel; the assistant (gemma-4-E4B) then reacts to their verdicts. If a guard cannot answer, the hook stops the turn (fail closed). The README includes a flow diagram.
49+
50+## Documentation
51+
52+- **New how-to guides** (EN + FR):
53+ - [Free a model's memory](../docs/en/how-to/unload-a-model.md)
54+ - [Screen questions with guard models](../docs/en/how-to/screen-questions-with-guard-models.md)
55+- **New explanation**: [Guard models](../docs/en/explanation/guard-models.md).
56+- **New guide**: settings for small models (#98): [EN](../guides/agent-settings-for-small-models.md), [FR](../guides/reglages-agents-petits-modeles.md). It covers `contextWindow`, the timeouts, `maxTurns`, `maxOutput`, `agentsMd`, context compression and sampling.
57+- **Reference updates**:
58+ - configuration, tools and slash commands: the two new keys, the new tool and `/unload`;
59+ - hooks: a new `## Display` section;
60+ - ACP: the two new methods;
61+ - CLI: `MM_BIN` and `MM_CONFIG` are set for hooks too, not only for the bash tool.
62+- **README rewritten** (#49).
63+
64+## Upgrading
65+
66+- **No breaking change in the configuration.** Only two keys are new: `unloadModels` (default `true`) and `displayHooks` (default `false`).
67+- **Check your agents on small models:** they now carry `unload_model`. See the warning above.
new file mode 100644
@@ -0,0 +1,67 @@
1+# mini-me v0.7.0
2+
3+*[Version française](v0.7.0.fr.md)*
4+
5+Free a model's memory, see which hooks ran, pick up an earlier session from your editor, and screen questions with guard models.
6+
7+## New
8+
9+### Unload a model — `/unload` and `unload_model` (#92, #101)
10+
11+- **`/unload [model]`** frees a model from the server's memory, in the terminal, the window (`-tui`) and an editor (`-acp`). Without an argument it unloads the agent's own model.
12+- **`unload_model`** is a new built-in tool: the agent can unload any model itself, for example another agent's model once that agent has answered. It never asks for permission: nothing changes on disk, and the server reloads the model on the next request.
13+- **Supported servers**: llmman and Ollama (`keep_alive: 0`, after checking with `/api/ps` that the model is loaded), and llama-server in router mode (`POST /models/unload`). A single-model llama-server answers with the alternatives (`--sleep-idle-seconds`, or stop the server).
14+- **New key `unloadModels`** (default `true`). `false` removes both the command and the tool. The tool is never offered beside a `structuredOutput`.
15+
16+> ⚠️ Since the default is `true`, **every existing agent now gets one more tool**. If a small model starts calling `unload_model` at random, set `unloadModels: false` in that agent.
17+
18+### Show the hooks that ran — `displayHooks` (#100)
19+
20+- **New key `displayHooks`** (default `false`). It shows every hook run on one line: event, tool or agent, command, decision, and the size of the context the hook added. The context text itself is never shown, since a hook may add secrets.
21+
22+ ```text
23+ 🪝 1. preAsk expert · node "$MM_CONFIG_DIR/hooks/unload.js" self → continue
24+ ```
25+
26+- **Where it shows**: after each answer in the line mode, with `-p` and in the window (under ⚙). In an editor, each hook run is a finished tool call.
27+- **Every hook is covered**, including the ones run by agents started with `/ask`, `ask_agent` or `mm --ask`.
28+
29+### Editors: list and resume sessions over ACP (#95)
30+
31+- `mm -acp` now implements **`session/list`** and **`session/resume`**, and advertises them in `sessionCapabilities`.
32+- **In Zed** (checked with 1.4.2), the project's sessions now show in the agent panel's thread history and can be picked up there.
33+- Sessions without any question are left out. REPL and window sessions of the same project are listed too.
34+- `session/load` (with the conversation replayed) is unchanged.
35+
36+## Fixed
37+
38+- **Window (`-tui`)**: the `/` picker drew only its first 8 choices and never scrolled, so the arrows could select commands nobody could see (`/unload`, and `/ask-<name>` commands). The list now follows the selection.
39+
40+## Demos
41+
42+- **`demos/unload-models/`** (new): a coordinator (Qwen3.5 9B) hands each programming question to an expert (Qwen3.5 4B). The two models are **never loaded together**:
43+ - a `preAsk` hook unloads the coordinator before the expert starts;
44+ - a `postAsk` hook unloads the expert before the coordinator reads its answer.
45+
46+ Measured 9/9 on llmman. `/unload` works by hand, and `unload_model` runs when you ask the coordinator to free the expert.
47+- **`demos/guard/`**: fixed for Granite Guardian 3.2 3B-A800M (#99). The model's chat template reads the system message as a risk name, so the demo now uses `system: harm` and turns `agentsMd` off. Without that, the server answered `400 unknown system risk`. The README is in EN and FR.
48+- **`demos/guards/`** (new, #99): one guard agent per risk (7 risks). A `preGeneration` hook asks them in parallel; the assistant (gemma-4-E4B) then reacts to their verdicts. If a guard cannot answer, the hook stops the turn (fail closed). The README includes a flow diagram.
49+
50+## Documentation
51+
52+- **New how-to guides** (EN + FR):
53+ - [Free a model's memory](../docs/en/how-to/unload-a-model.md)
54+ - [Screen questions with guard models](../docs/en/how-to/screen-questions-with-guard-models.md)
55+- **New explanation**: [Guard models](../docs/en/explanation/guard-models.md).
56+- **New guide**: settings for small models (#98): [EN](../guides/agent-settings-for-small-models.md), [FR](../guides/reglages-agents-petits-modeles.md). It covers `contextWindow`, the timeouts, `maxTurns`, `maxOutput`, `agentsMd`, context compression and sampling.
57+- **Reference updates**:
58+ - configuration, tools and slash commands: the two new keys, the new tool and `/unload`;
59+ - hooks: a new `## Display` section;
60+ - ACP: the two new methods;
61+ - CLI: `MM_BIN` and `MM_CONFIG` are set for hooks too, not only for the bash tool.
62+- **README rewritten** (#49).
63+
64+## Upgrading
65+
66+- **No breaking change in the configuration.** Only two keys are new: `unloadModels` (default `true`) and `displayHooks` (default `false`).
67+- **Check your agents on small models:** they now carry `unload_model`. See the warning above.
added release-notes/v0.7.0.fr.md +67 -0
new file mode 100644
@@ -0,0 +1,67 @@
1+# mini-me v0.7.0
2+
3+*[English version](v0.7.0.en.md)*
4+
5+Libérer la mémoire d'un modèle, voir quels hooks se sont exécutés, reprendre une session depuis son éditeur, et filtrer les questions avec des modèles de garde.
6+
7+## Nouveautés
8+
9+### Décharger un modèle — `/unload` et `unload_model` (#92, #101)
10+
11+- **`/unload [modèle]`** libère un modèle de la mémoire du serveur, dans le terminal, la fenêtre (`-tui`) et un éditeur (`-acp`). Sans argument, il décharge le modèle de l'agent lui-même.
12+- **`unload_model`** est un nouvel outil intégré : l'agent peut décharger lui-même n'importe quel modèle, par exemple celui d'un autre agent une fois que celui-ci a répondu. Il ne demande jamais de permission : rien ne change sur disque, et le serveur recharge le modèle à la requête suivante.
13+- **Serveurs pris en charge** : llmman et Ollama (`keep_alive: 0`, après avoir vérifié avec `/api/ps` que le modèle est chargé), et llama-server en mode router (`POST /models/unload`). Un llama-server à modèle unique répond avec les alternatives (`--sleep-idle-seconds`, ou arrêter le serveur).
14+- **Nouvelle clé `unloadModels`** (`true` par défaut). `false` retire à la fois la commande et l'outil. L'outil n'est jamais proposé à côté d'un `structuredOutput`.
15+
16+> ⚠️ Comme la valeur par défaut est `true`, **chaque agent existant reçoit un outil de plus**. Si un petit modèle se met à appeler `unload_model` au hasard, mettez `unloadModels: false` dans cet agent.
17+
18+### Afficher les hooks exécutés — `displayHooks` (#100)
19+
20+- **Nouvelle clé `displayHooks`** (`false` par défaut). Elle affiche chaque exécution de hook sur une ligne : événement, outil ou agent, commande, décision, et taille du contexte ajouté par le hook. Le texte du contexte n'est jamais affiché, car un hook peut ajouter des secrets.
21+
22+ ```text
23+ 🪝 1. preAsk expert · node "$MM_CONFIG_DIR/hooks/unload.js" self → continue
24+ ```
25+
26+- **Où ça s'affiche** : après chaque réponse en mode ligne, avec `-p` et dans la fenêtre (sous ⚙). Dans un éditeur, chaque exécution de hook est un appel d'outil terminé.
27+- **Tous les hooks sont couverts**, y compris ceux des agents lancés par `/ask`, `ask_agent` ou `mm --ask`.
28+
29+### Éditeurs : lister et reprendre les sessions en ACP (#95)
30+
31+- `mm -acp` implémente maintenant **`session/list`** et **`session/resume`**, et les annonce dans `sessionCapabilities`.
32+- **Dans Zed** (vérifié avec la 1.4.2), les sessions du projet apparaissent maintenant dans l'historique des fils du panneau agent, et on peut les y reprendre.
33+- Les sessions sans aucune question sont écartées. Les sessions REPL et fenêtre du même projet sont listées aussi.
34+- `session/load` (avec la conversation rejouée) ne change pas.
35+
36+## Corrigé
37+
38+- **Fenêtre (`-tui`)** : le sélecteur `/` n'affichait que ses 8 premiers choix et ne défilait jamais, si bien que les flèches pouvaient sélectionner des commandes invisibles (`/unload`, et les commandes `/ask-<nom>`). La liste suit maintenant la sélection.
39+
40+## Démos
41+
42+- **`demos/unload-models/`** (nouvelle) : un coordinateur (Qwen3.5 9B) confie chaque question de programmation à un expert (Qwen3.5 4B). Les deux modèles ne sont **jamais chargés ensemble** :
43+ - un hook `preAsk` décharge le coordinateur avant le lancement de l'expert ;
44+ - un hook `postAsk` décharge l'expert avant que le coordinateur lise sa réponse.
45+
46+ Mesuré 9 sur 9 avec llmman. `/unload` marche à la main, et `unload_model` s'exécute quand on demande au coordinateur de libérer l'expert.
47+- **`demos/guard/`** : corrigée pour Granite Guardian 3.2 3B-A800M (#99). Le chat template du modèle lit le message système comme un nom de risque : la démo utilise donc `system: harm` et désactive `agentsMd`. Sans cela, le serveur répondait `400 unknown system risk`. Le README est en EN et en FR.
48+- **`demos/guards/`** (nouvelle, #99) : un agent de garde par risque (7 risques). Un hook `preGeneration` les interroge en parallèle ; l'assistant (gemma-4-E4B) réagit ensuite à leurs verdicts. Si une garde ne répond pas, le hook arrête le tour (fail closed). Le README contient un schéma du flux.
49+
50+## Documentation
51+
52+- **Nouveaux guides pratiques** (EN + FR) :
53+ - [Libérer la mémoire d'un modèle](../docs/fr/how-to/unload-a-model.md)
54+ - [Filtrer les questions avec des modèles de garde](../docs/fr/how-to/screen-questions-with-guard-models.md)
55+- **Nouvelle explication** : [Les modèles de garde](../docs/fr/explanation/guard-models.md).
56+- **Nouveau guide** : les réglages pour petits modèles (#98) : [FR](../guides/reglages-agents-petits-modeles.md), [EN](../guides/agent-settings-for-small-models.md). Il couvre `contextWindow`, les délais, `maxTurns`, `maxOutput`, `agentsMd`, la compression du contexte et l'échantillonnage.
57+- **Mises à jour de la référence** :
58+ - configuration, outils et commandes slash : les deux nouvelles clés, le nouvel outil et `/unload` ;
59+ - hooks : une nouvelle section `## Affichage` ;
60+ - ACP : les deux nouvelles méthodes ;
61+ - CLI : `MM_BIN` et `MM_CONFIG` sont aussi définies pour les hooks, pas seulement pour l'outil bash.
62+- **README réécrit** (#49).
63+
64+## Mise à jour
65+
66+- **Aucun changement cassant dans la configuration.** Seules deux clés sont nouvelles : `unloadModels` (`true` par défaut) et `displayHooks` (`false` par défaut).
67+- **Vérifiez vos agents sur petits modèles :** ils portent maintenant `unload_model`. Voir l'avertissement plus haut.
new file mode 100644
@@ -0,0 +1,67 @@
1+# mini-me v0.7.0
2+
3+*[English version](v0.7.0.en.md)*
4+
5+Libérer la mémoire d'un modèle, voir quels hooks se sont exécutés, reprendre une session depuis son éditeur, et filtrer les questions avec des modèles de garde.
6+
7+## Nouveautés
8+
9+### Décharger un modèle — `/unload` et `unload_model` (#92, #101)
10+
11+- **`/unload [modèle]`** libère un modèle de la mémoire du serveur, dans le terminal, la fenêtre (`-tui`) et un éditeur (`-acp`). Sans argument, il décharge le modèle de l'agent lui-même.
12+- **`unload_model`** est un nouvel outil intégré : l'agent peut décharger lui-même n'importe quel modèle, par exemple celui d'un autre agent une fois que celui-ci a répondu. Il ne demande jamais de permission : rien ne change sur disque, et le serveur recharge le modèle à la requête suivante.
13+- **Serveurs pris en charge** : llmman et Ollama (`keep_alive: 0`, après avoir vérifié avec `/api/ps` que le modèle est chargé), et llama-server en mode router (`POST /models/unload`). Un llama-server à modèle unique répond avec les alternatives (`--sleep-idle-seconds`, ou arrêter le serveur).
14+- **Nouvelle clé `unloadModels`** (`true` par défaut). `false` retire à la fois la commande et l'outil. L'outil n'est jamais proposé à côté d'un `structuredOutput`.
15+
16+> ⚠️ Comme la valeur par défaut est `true`, **chaque agent existant reçoit un outil de plus**. Si un petit modèle se met à appeler `unload_model` au hasard, mettez `unloadModels: false` dans cet agent.
17+
18+### Afficher les hooks exécutés — `displayHooks` (#100)
19+
20+- **Nouvelle clé `displayHooks`** (`false` par défaut). Elle affiche chaque exécution de hook sur une ligne : événement, outil ou agent, commande, décision, et taille du contexte ajouté par le hook. Le texte du contexte n'est jamais affiché, car un hook peut ajouter des secrets.
21+
22+ ```text
23+ 🪝 1. preAsk expert · node "$MM_CONFIG_DIR/hooks/unload.js" self → continue
24+ ```
25+
26+- **Où ça s'affiche** : après chaque réponse en mode ligne, avec `-p` et dans la fenêtre (sous ⚙). Dans un éditeur, chaque exécution de hook est un appel d'outil terminé.
27+- **Tous les hooks sont couverts**, y compris ceux des agents lancés par `/ask`, `ask_agent` ou `mm --ask`.
28+
29+### Éditeurs : lister et reprendre les sessions en ACP (#95)
30+
31+- `mm -acp` implémente maintenant **`session/list`** et **`session/resume`**, et les annonce dans `sessionCapabilities`.
32+- **Dans Zed** (vérifié avec la 1.4.2), les sessions du projet apparaissent maintenant dans l'historique des fils du panneau agent, et on peut les y reprendre.
33+- Les sessions sans aucune question sont écartées. Les sessions REPL et fenêtre du même projet sont listées aussi.
34+- `session/load` (avec la conversation rejouée) ne change pas.
35+
36+## Corrigé
37+
38+- **Fenêtre (`-tui`)** : le sélecteur `/` n'affichait que ses 8 premiers choix et ne défilait jamais, si bien que les flèches pouvaient sélectionner des commandes invisibles (`/unload`, et les commandes `/ask-<nom>`). La liste suit maintenant la sélection.
39+
40+## Démos
41+
42+- **`demos/unload-models/`** (nouvelle) : un coordinateur (Qwen3.5 9B) confie chaque question de programmation à un expert (Qwen3.5 4B). Les deux modèles ne sont **jamais chargés ensemble** :
43+ - un hook `preAsk` décharge le coordinateur avant le lancement de l'expert ;
44+ - un hook `postAsk` décharge l'expert avant que le coordinateur lise sa réponse.
45+
46+ Mesuré 9 sur 9 avec llmman. `/unload` marche à la main, et `unload_model` s'exécute quand on demande au coordinateur de libérer l'expert.
47+- **`demos/guard/`** : corrigée pour Granite Guardian 3.2 3B-A800M (#99). Le chat template du modèle lit le message système comme un nom de risque : la démo utilise donc `system: harm` et désactive `agentsMd`. Sans cela, le serveur répondait `400 unknown system risk`. Le README est en EN et en FR.
48+- **`demos/guards/`** (nouvelle, #99) : un agent de garde par risque (7 risques). Un hook `preGeneration` les interroge en parallèle ; l'assistant (gemma-4-E4B) réagit ensuite à leurs verdicts. Si une garde ne répond pas, le hook arrête le tour (fail closed). Le README contient un schéma du flux.
49+
50+## Documentation
51+
52+- **Nouveaux guides pratiques** (EN + FR) :
53+ - [Libérer la mémoire d'un modèle](../docs/fr/how-to/unload-a-model.md)
54+ - [Filtrer les questions avec des modèles de garde](../docs/fr/how-to/screen-questions-with-guard-models.md)
55+- **Nouvelle explication** : [Les modèles de garde](../docs/fr/explanation/guard-models.md).
56+- **Nouveau guide** : les réglages pour petits modèles (#98) : [FR](../guides/reglages-agents-petits-modeles.md), [EN](../guides/agent-settings-for-small-models.md). Il couvre `contextWindow`, les délais, `maxTurns`, `maxOutput`, `agentsMd`, la compression du contexte et l'échantillonnage.
57+- **Mises à jour de la référence** :
58+ - configuration, outils et commandes slash : les deux nouvelles clés, le nouvel outil et `/unload` ;
59+ - hooks : une nouvelle section `## Affichage` ;
60+ - ACP : les deux nouvelles méthodes ;
61+ - CLI : `MM_BIN` et `MM_CONFIG` sont aussi définies pour les hooks, pas seulement pour l'outil bash.
62+- **README réécrit** (#49).
63+
64+## Mise à jour
65+
66+- **Aucun changement cassant dans la configuration.** Seules deux clés sont nouvelles : `unloadModels` (`true` par défaut) et `displayHooks` (`false` par défaut).
67+- **Vérifiez vos agents sur petits modèles :** ils portent maintenant `unload_model`. Voir l'avertissement plus haut.