mini-me v1.0.5
mm dockerinit et mm sbxinit écrivent les fichiers pour faire tourner mini-me dans un conteneur ou un Docker Sandbox, mm init donne son nom à l'agent, deux démos de vibe coding (Go et Swift), et un binaire macOS signé et notarisé par Apple.
Nouveautés
mm dockerinit : mini-me dans un conteneur (#189)
mm dockerinit écrit deux fichiers dans le dossier courant :
- un
Dockerfilequi installe la dernière release de mm, pouramd64etarm64. Il trouve la release par leSHA256SUMSdereleases/latest: une nouvelle release invalide donc le cache de Docker. L'agent ne tourne jamais en root : l'image a un utilisateurmm. - un
compose.yamlqui monte votre projet et lance le conteneur avec vos identifiants d'utilisateur et de groupe (MM_UIDetMM_GIDles remplacent).
La sortie de la commande et le guide montrent les deux façons de s'en servir : un conteneur qui reste lancé (docker compose up -d --wait, puis docker compose exec … mm tui <agent>) et une exécution ponctuelle (docker compose run --rm …). Pour les deux architectures à la fois, construisez avec docker buildx : platforms dans compose.yaml échoue sans QEMU. Un éditeur peut parler à mm dans le conteneur par ACP, via docker exec -i.
Si Dockerfile ou compose.yaml existe déjà, mm demande avant de l'écraser (non par défaut). Avec --yes, ou quand l'entrée se termine, il n'écrit rien.
Essayé sur linux/arm64 avec Docker 29.8.1. Pas essayé : la construction amd64, l'accès direct au modèle par host.docker.internal, les hôtes macOS et Windows.
Voir Faire tourner mini-me dans un conteneur.
mm sbxinit : un sbxenv.yaml pour Docker Sandboxes (#191)
mm sbxinit écrit sbxenv.yaml dans le dossier courant, pour le kit mini-me :
- le kit à sa dernière release, lue sur la page des releases du kit au moment de générer le fichier (
latest, avec un avertissement, quand la page est injoignable) ; --workspace ./workspacedevient un chemin absolu ;sandboxOptions.pullPolicy: always.
Le fichier d'agent est cherché dans le dossier courant, puis dans le workspace. S'il est hors du workspace, mm sbxinit avertit seulement : le guide explique les deux solutions (déplacer le fichier, ou monter son dossier en lecture seule et y faire pointer AGENT_CONFIG). Les fichiers existants sont traités comme avec mm dockerinit.
Pas essayé : sbx env create avec le fichier généré.
Voir Générer un sbxenv.yaml avec mm sbxinit.
mm init donne son nom à l'agent (#182)
Le prompt système d'un fichier écrit par mm init commence maintenant par Your name is <nom>., avec le nom tapé à Agent name?. Sans nom, l'agent prend celui de son usage (Your name is docs.). Interrogé sur son nom avec Mellum (Docker Model Runner), l'agent l'a donné 3 fois sur 3.
Pour les éditeurs, acp.name est le nom en minuscules (bob) et acp.title le nom suivi de l'usage (Bob (developer)).
Quand le fichier d'agent existe déjà, mm init demande Overwrite agent.yaml? (non par défaut, et il demande alors un autre nom de fichier). Le nouveau fichier est vérifié en le chargeant avant de remplacer l'ancien.
mm init renvoie vers la documentation en ligne (#179)
Les commentaires d'un fichier écrit par mm init pointent vers la documentation par des liens https://, au lieu de chemins qui n'avaient de sens que dans une copie du code source. Les indications Next: tiennent sur quatre lignes.
Orienter l'agent vers une liste de pages (#181)
Pas de nouveau réglage : la liste des URL que l'agent doit lire se met dans le prompt système. La nouvelle section du guide donne un exemple. Avec Mellum et trois URL, l'agent a récupéré la bonne page 4 fois sur 4. La liste oriente le modèle mais ne le limite pas : à qui demandait example.com, il l'a récupéré 2 fois sur 2 malgré « Do not use any other URL ». Bloquer des URL demanderait un hook.
Voir Orienter l'agent vers une liste de pages.
Distribution
- Le binaire macOS est signé avec un Developer ID et notarisé par Apple. Téléchargé avec un navigateur, il se lance sans étape de quarantaine (macOS vérifie la notarisation en ligne au premier lancement). Téléchargé avec
curl, comme dans le guide d'installation, rien ne change. - Les releases sont maintenant construites sur la machine du mainteneur et publiées en prerelease. Les fichiers et
SHA256SUMSgardent les mêmes noms.
Démos
demos/gemma-coder/: un spécialiste Go pour le vibe coding, sur Gemma 4 26B-A4B (réflexion activée, gopls pourlsp,yolo: true). Il écrit le code et ses tests, lancego buildetgo test, et corrige ce qui échoue. Mesuré sur neuf cas, deux essais chacun : 16/18.demos/muse-coder/: son équivalent Swift, sur Muse-Glimmer 30B (reasoning_strength: high, sourcekit-lsp, SwiftPM). Mesuré sur neuf cas, deux essais chacun : 17/18 avant la dernière modification du prompt, qui a corrigélsp rename(2/2 ensuite). Les autres cas n'ont pas été remesurés avec le prompt final.- Déplacées sous
demos/:dev.team/→demos/dev.team/,learning-rust/→demos/learning-rust/,sbx/→demos/use-with-sbx/.
Documentation
- Nouveau : Faire tourner mini-me dans un conteneur.
- Premiers pas avec MCP est corrigé (#180), ainsi que sa version anglaise, qui était une copie du tutoriel général. Il utilise
demos/dmr/agent.dmr.mcp.yaml, montre les confirmations🔐depermissions: ask, et marche sans aucune clé API grâce à Wikipedia. Les étapes Context7 et GitHub n'ont pas été faites avec de vraies clés. - La skill
vulcan-saluten'est chargée qu'une fois par conversation (#190) : les demandes suivantes réutilisent ce que contient l'historique, donc le récapitulatif affiche📖 0 skill(s)alors que la commande s'exécute toujours. C'est le comportement attendu, pas un bug.
Mise à jour
- Les fichiers d'agent ne changent pas. Remplacez le binaire : voir les guides d'installation pour macOS, Linux et Windows.
- Deux nouvelles commandes,
mm dockerinitetmm sbxinit. - Les fichiers écrits désormais par
mm initcommencent leur prompt système parYour name is …. Les fichiers écrits avant ne sont pas touchés. - Si vous utilisiez les démos depuis leurs anciens dossiers, elles sont maintenant sous
demos/(voir plus haut).
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 |
|