MaiBot : un agent conversationnel qui vise la ressemblance plutôt que la performance
MaiSaka, an LLM-based intelligent agent, is a digital lifeform devoted to understanding you and interacting in the style of a real human. She does not pursue perfection, nor does she seek efficiency; instead, she values warmth, authenticity, and genuine connection.
En bref
- De quoi s’agit-il ?
- MaiSaka, le personnage porté par le dépôt Mai-with-u/MaiBot, est un agent Python sous GPL-3.0 conçu pour les groupes QQ. Sa documentation assume un parti pris rare : imiter un humain plutôt que répondre efficacement.
- À qui s’adresse-t-il ?
- MaiBot convient à quelqu'un qui fait déjà tourner un bot dans un groupe QQ et veut remplacer les réponses en listes par des échanges courts et irréguliers. Il ne convient pas à un usage d'assistant personnel chargé de produire des livrables structurés, puisque le projet revendique explicitement de ne pas viser l'efficacité ni la perfection.
- Puis-je l’utiliser commercialement ?
- Oui, sous conditions. GPL-3.0 est une licence copyleft : si vous distribuez un logiciel qui l’inclut, vous devez publier le code source de ce logiciel sous la même licence. Un usage interne, sans distribution, ne déclenche pas cette obligation.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 1 jour.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Le problème visé : les réponses qui sonnent comme un assistant
Le README ouvre sur un constat tranché : « personne n'aime le style de langage de GPT ». Le reproche porte sur la forme autant que sur le fond. Un assistant classique répond en paragraphes longs, en listes à puces et en markdown, y compris dans un fil de discussion où personne n'a écrit ainsi. MaiBot prend le contre-pied et annonce des échanges « tantôt longs, tantôt courts », sans mise en forme lourde. Le public visé n'est donc pas celui qui cherche à automatiser une tâche, mais celui qui fait vivre un bot dans un groupe QQ et trouve que ses interventions cassent l'ambiance. Le README résume la règle de conception par une formule attribuée à SengokuCola : « le plus ressemblant, pas le meilleur ». C'est une contrainte de produit, pas un argument marketing, et elle a des conséquences visibles dans la suite du document.
Prendre la parole, et surtout savoir se taire
La deuxième revendication est plus intéressante que la première. MaiBot ne se contente pas de reformuler ses réponses : d'après le README, il décide quand intervenir et quand rester silencieux, en lisant l'atmosphère de la conversation. Un bot qui répond à chaque message est facile à écrire. Un bot qui choisit de ne pas répondre suppose un état de conversation partagé et une décision prise à chaque tour. Le même paragraphe décrit une imitation du style des autres participants et une capacité à assimiler le vocabulaire propre à un groupe, présentée comme une évolution continue. Le README ne détaille ni les mécanismes d'apprentissage, ni la fréquence de mise à jour de ces acquis, ni la manière dont ils sont stockés. C'est la zone la plus floue de la documentation, et c'est aussi celle qui porte la promesse la plus forte. À ce stade, la seule chose vérifiable depuis le dépôt est que Python 3.12 ou plus est requis.
Une mémoire du locuteur inspirée de la psychologie
Le README indique que MaiBot accumule progressivement des informations sur ses interlocuteurs : préférences, traits, habitudes, style de comportement, en s'appuyant sur une théorie de la personnalité issue de la psychologie. Le document ne nomme pas la théorie, ne décrit pas le schéma de données et n'explique pas comment ces informations sont injectées dans les prompts. On peut seulement dire que le projet revendique une mémoire par personne, distincte du contexte immédiat de la conversation. Deux questions restent ouvertes, et elles comptent pour quiconque déploie ce type de système : où ces profils sont stockés, et comment les effacer. Un bot qui construit un modèle de ses interlocuteurs dans un groupe QQ manipule des données personnelles, même de façon approximative. Le dépôt ne fournit pas de réponse documentaire à ce sujet dans les éléments disponibles.
Architecture et surface d'extension
Le README décrit un système de plugins avec des API et un système d'événements, présenté comme la voie d'extension du projet. Le dépôt contient un répertoire depends-data, qui héberge les visuels du personnage et les captures d'écran de l'interface web, ainsi qu'une WebUI montrée en image. La documentation renvoie à docs.mai-mai.org pour le détail. La structure observable ne permet pas d'aller plus loin : ni le format d'un manifeste de plugin, ni les noms d'événements, ni la manière dont un plugin enregistre un handler ne figurent dans le README. Pour un développeur qui envisage d'écrire une extension, c'est une lacune réelle. La documentation externe est probablement le seul endroit où ces informations existent, et elle n'est pas incluse dans le matériel fourni.
Installation : ce que le dépôt indique réellement
Le README ne donne aucune commande pip ni docker. Il renvoie vers la page Releases du dépôt pour la version publiée, vers docs.mai-mai.org/manual/deployment/ pour le guide de déploiement, et vers un dépôt séparé, MaiBotOneKey, qui fournit un lanceur pour Windows et macOS. Le badge de version indique Python 3.12 ou supérieur. Deux branches coexistent : main pour la version stable et dev pour les fonctionnalités en cours. Un point mérite l'attention : le README annonce « dernière version : v1.2.3 » alors que les releases listées dans les métadonnées vont jusqu'à 1.2.4, publiée quelques jours plus tard. Ce décalage entre le texte du README et les releases est courant, mais il signifie qu'il faut se fier à la page Releases plutôt qu'au README pour connaître la version à installer. Aucune clé de configuration n'apparaît dans le matériel disponible, et je ne peux donc pas en citer.
Ce que le projet n'est pas
Le README est explicite : MaiBot n'est pas un « assistant serviable » qui résout tous les problèmes. Il ne vise ni la perfection ni l'efficacité. Cette position a un coût direct. Si vous cherchez un composant fiable pour produire des livrables structurés, du code, des résumés formatés ou des réponses reproductibles, le projet se déclare lui-même inadapté. Le README ajoute que le personnage peut se tromper et avoir ses propres perceptions. Un bot qui décide de ne pas répondre est aussi un bot qui peut manquer une question importante, et le document ne décrit aucun mécanisme de priorité ou d'escalade pour les messages qui exigeraient une réponse. C'est un choix assumé, pas un défaut caché, mais il faut le prendre au sérieux avant de déployer le projet dans un groupe où circulent des demandes réelles.
Alternatives et coût de maintenance
Les projets dérivés cités dans le README éclairent la position de MaiBot. Amaidesu l'emmène sur Bilibili en streaming, MaiCraft le faisait jouer à Minecraft et n'est plus maintenu, et MoFox_Bot est un fork basé sur MaiCore 0.10.0. Ce dernier point est le plus instructif : un fork qui se fige sur une version précise du cœur suggère que suivre les évolutions de MaiBot demande un travail d'adaptation. Sur le plan des versions, trois publications en moins de trois semaines (1.2.2 et 1.2.3 le même jour, puis 1.2.4) indiquent un rythme de correction soutenu. La licence est GPL-3.0, ce qui a une conséquence pratique : un plugin distribué comme œuvre dérivée doit être placé sous une licence compatible. Si votre plugin reste interne à votre installation, la question ne se pose pas de la même façon, mais je ne donne pas d'avis juridique ici. La documentation renvoie par ailleurs à plusieurs groupes QQ, dont un dédié au développement de plugins.
Conclusion éditoriale
MaiBot convient à quelqu'un qui fait déjà tourner un bot dans un groupe QQ et veut remplacer les réponses en listes par des échanges courts et irréguliers. Il ne convient pas à un usage d'assistant personnel chargé de produire des livrables structurés, puisque le projet revendique explicitement de ne pas viser l'efficacité ni la perfection. Avant d'investir du temps, vérifiez deux choses concrètes : que le fichier de configuration généré correspond bien à la version installée, et que la licence GPL-3.0 est compatible avec la manière dont vous comptez distribuer vos propres plugins.
Notes de la communauté