- Bandeau au-dessus du prompt affichant le gain net en vert ou rouge - Pastilles 🟢/🔴 dans les notifications et la ligne d'état - Notification du net de session à la fin du subagent - Affichage de l'usage Claude sur 5 h et hebdomadaire - Incitation à déléguer via consigne système et rappel après lecture - Option `incitation` pour désactiver la consigne et le rappel - Renommage de register.ts en register.tsx Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7.2 KiB
miam
Plugin Claude Code pour déléguer des tâches à un modèle local géré par MIAM (Mon IA Manager, orchestrateur llama.cpp), via son serveur MCP.
Contenu
- Serveur MCP
miam(http://127.0.0.1:{port}/mcp, jeton Bearer) : point d'entrée pour la communication avec le serveur MCP de MIAM. - Subagent
miam:delegue: agent dédié qui pilote la délégation des tâches vers MIAM. - Skill
deleguer: règles, pour l'agent principal, sur quand et comment déléguer une tâche à MIAM.
Prérequis
MIAM 2.5.1 ou plus (type, seuil et l'outil modeles, champs offload à partir de 2.5.2) lancé avec son serveur MCP démarré (interrupteur du dashboard, menu « Serveur MCP » du tray, ou --auto-start-mcp).
Installation
Le plugin fait partie de la marketplace a2m-plugins (voir le README du dépôt pour
l'ajout de la marketplace, les dépôts privés et les mises à jour).
- VS Code :
/plugins→ onglet « Marketplaces » : ajouterhttps://a2msystemes-git.duckdns.org/ange/plugin-claude-miam.git(avec.git), puis onglet « Plugins » →miam→ Install. - Terminal :
/plugin marketplace add https://a2msystemes-git.duckdns.org/ange/plugin-claude-miam.git /plugin install miam@a2m-plugins
Portée conseillée : « Install for you » (tous les projets du poste). Mises à jour : augmenter version dans
.claude-plugin/plugin.json à chaque publication.
Puis : à l'activation, Claude Code demande les réglages (voir section suivante) ; le jeton se copie depuis MIAM (« Copier la config Claude Code », la valeur après « Bearer »).
Réglages
| Réglage | Défaut | Rôle |
|---|---|---|
| jeton | (vide) | Jeton Bearer du serveur MCP de MIAM, rangé dans le coffre d'identifiants. |
| port | 8090 | Port du serveur MCP de MIAM sur 127.0.0.1. |
| modele_subagent | haiku | Modèle Claude qui pilote MIAM pour l'agent principal (rédige la consigne, attend, vérifie). |
| incitation | oui | Ajoute au prompt système une consigne de délégation (quelques centaines de tokens, en cache) et un rappel après une grosse lecture. |
| preset_defaut | pre-16312f8b | Preset MIAM par défaut, démarré quand aucun modèle n'est chargé et que MIAM n'a aucun test pour le type de la tâche. |
Utilisation
L'agent principal lance le subagent miam:delegue ; celui-ci vérifie que MIAM répond (etat), classe la tâche, délègue avec type (code, texte, rapide) et seuil (0,8 par défaut), vérifie, et rend un compte rendu court avec le choix de MIAM.
MIAM choisit le modèle d'après ses tests de qualité : il garde le modèle chargé s'il atteint le seuil, sinon il charge le meilleur preset, quitte à remplacer le modèle chargé (20 à 40 s) ; si aucun n'atteint le seuil, il prend le meilleur et le signale. L'agent principal peut imposer un preset ou demander de garder le modèle chargé. Contrat : docs/protocole-agents.md du dépôt MIAM.
Incitation à déléguer
Avec incitation (par défaut), l'agent principal reçoit une courte consigne dans son prompt système : déléguer par réflexe ce qui s'y prête, sans demander. Après une lecture de plus de 20 000 caractères (Read, Bash), il reçoit aussi un rappel, au plus toutes les 10 minutes et invisible pour l'utilisateur. Les subagents ne reçoivent ni l'une ni l'autre.
Bandeau : gains et usage Claude
Au-dessus du prompt, sans coût en tokens :
- le gain net, en vert s'il est positif, en rouge s'il est négatif (
MIAM net ~4k (cumul ~35k)) ; - l'usage Claude sur 5 h et sur la semaine : barre, pourcentage et temps avant la remise à zéro, en vert, en orange à partir de 70 %, en rouge à partir de 90 %. Ces chiffres viennent de la dernière réponse de l'API : ils n'apparaissent qu'après un premier échange, et seulement avec un abonnement.
Tokens économisés
Après chaque délégation réussie, une notification (🟢 MIAM : ~6,1k tokens évités (5,2k lus, 900 écrits)) et une ligne
d'état sous le prompt (🟢 MIAM ▸ 2 délégation(s) · ~6,1k tokens évités · pilotage 1,5k · corrections 600 · net ~4k (cumul ~35k)),
dans le terminal comme dans VS Code. À la fin du subagent, une seconde notification donne le net, pilotage déduit (🔴 MIAM : net ~-1,5k sur la session (pilotage 2k)). Notifications et ligne d'état n'acceptent que du texte : la couleur y passe par 🟢 (gain positif) ou 🔴 (gain négatif). /miam-economies donne le détail de la session et le cumul ; /miam-economies raz
remet les compteurs à zéro. Le calcul se fait localement dans Claude Code : il ne coûte aucun token.
Chaque estimation est aussi envoyée à MIAM (POST /economies, toutes les 5 s, hors des hooks ; gardée et renvoyée si
MIAM ne répond pas) : contrat et modèle de données dans docs/token-summary-mod.md.
- Évités : les fichiers lus et la réponse écrite par le modèle local (chiffres de MIAM), moins la consigne et ce que Claude relit (estimés à 4 caractères par token).
- Pilotage : la consommation réelle du subagent
miam:delegue(lecture en cache comptée au dixième), à déduire. - Corrections : ce que l'agent principal relit (
Read) ou retouche (Edit,Write,NotebookEdit,Bash) dans un fichier écrit par une délégation (sortie), à déduire aussi. Celles du subagent sont déjà dans le pilotage. - Net = évités − pilotage − corrections.
- Limites : le brief de l'agent principal et la lecture du compte rendu ne sont pas comptés ; un token de Haiku coûte
moins qu'un token d'Opus, ce que le net ne pondère pas ; une reprise hors du fichier
sortien'est pas vue (d'où l'intérêt de faire écrire les résultats par MIAM avecsortie).
Tests des modèles
MIAM teste lui-même les presets, en travaux de fond (page Benchmarks) : le plugin n'a plus de banc. L'ancien dossier de données du plugin (banc/, rapport.md, choix.json) n'est plus lu.
Structure du plugin
.claude-plugin/
plugin.json # manifeste : nom, version, réglages (jeton, port, modèle, preset)
.mcp.json # serveur MCP miam (http://127.0.0.1:<port>/mcp)
agents/
delegue.md # subagent miam:delegue
skills/
deleguer/SKILL.md # quand et comment déléguer
hooks/
hooks.json
register.tsx # compteur de tokens, bandeau, incitation, /miam-economies
economies.ts # calcul pur, testé
usage.ts # usage Claude 5 h et hebdo : calcul pur, testé
*.test.ts(x) # tests : claude plugin test plugins/miam
types/
index.d.ts # valeurs du bandeau ($.state)
LICENSE
README.md
Limites connues
- Si MIAM est fermé puis relancé, Claude Code ne se reconnecte pas seul (/mcp → Reconnect sur plugin:miam:miam).
- deleguer ne transmet que du texte (pas d'image).
- Un
.mcp.jsonde projet qui déclare déjà le serveurmiam(celui de ce dépôt, celui de MIAM) fait doublon avec le plugin : le retirer une fois le plugin installé. - Le modèle du subagent réglé par modele_subagent s'applique quand il est lancé via la skill deleguer (sinon : haiku, défaut du fichier de l'agent).
Licence
MIT, voir LICENSE.