Un bot dans votre salon vocal. Une chronique le lendemain matin.

Lestapenna rejoint le salon Discord quand le MJ l'appelle, enregistre chaque joueur sur une piste séparée et, la séance finie, rend trois choses à la table : une transcription attribuée voix par voix, une chronique de la soirée écrite comme un barde la raconterait, et des archives de campagne — PNJ, lieux, quêtes, factions, objets — qui se mettent à jour toutes seules au lieu d'attendre que quelqu'un s'en charge.

Le bot n'est pas encore public. Écrivez-moi et je vous envoie un lien d'invitation pour votre serveur. Vous jouez déjà à une table qui l'utilise ? Se connecter avec Discord.

Gratuit et open source sous AGPL-3.0. L'IA tourne sur vos propres clés, donc ce projet ne vous facture rien. Il n'y a rien à acheter ici.

Du salon vocal à une campagne qui se souvient.

Six étapes, et pour chacune vous pouvez dire où elle tourne. Rien ne se passe en arrière-plan, et rien ne tourne sur du matériel que vous n'avez pas choisi.

  1. Dans Discord

    Le bot rejoint le salon

    /listen

    Le bot rejoint le salon vocal. Toute personne qui s'y trouve est enregistrée sur sa propre piste et étiquetée avec le personnage qu'elle incarne, si bien que la transcription dit qui a parlé et pas seulement que quelqu'un a parlé.

    Il refuse de démarrer si la table n'a pas de voie de transcription ou pas de bucket connecté. Mieux vaut l'apprendre maintenant qu'après quatre heures d'audio que personne ne pourra jamais lire.

  2. Sur votre clé

    Cela devient du texte

    La transcription tourne sur votre clé : Gemini par défaut, la même clé qui couvre toutes les autres étapes. Rien à installer, rien à laisser allumé.

    Ce qui revient, c'est toute la soirée en texte, attribuée ligne par ligne, déjà nettoyée du remplissage qu'un modèle vocal invente quand personne ne parle.

    Vous pouvez la pointer sur un ordinateur qui appartient à la table. Cette voie est expérimentale : il faut une application compagnon en marche sur cette machine, et si la machine ne répond pas, la séance n'est pas transcrite.

  3. L'analyste

    Une passe qui lit ce qui a changé

    Un modèle parcourt la transcription en cherchant le monde et non la prose : qui est apparu, ce qui a été promis, quelle quête a avancé, ce qui a été ramassé, où le groupe a fini la nuit.

    Ce qu'il duplique — le même aubergiste sous deux orthographes — est réconcilié avec la campagne telle qu'elle est déjà, et ce qui reste est proposé dans l'application web comme une fusion que vous confirmez.

  4. L'écrivain

    La chronique

    Un second modèle raconte la soirée, dans la langue où joue la table, à partir de la transcription et de rien d'autre.

    C'est l'étape où un meilleur modèle vaut vraiment son prix, et c'est pourquoi les réglages vous demandent deux choix au lieu de quinze : une paire Qualité pour l'analyste et l'écrivain, une Rapide pour tout le reste. Le contrôle par phase existe, dans les réglages avancés de la campagne, là où il ne gêne personne.

  5. La mémoire

    Indexée dans la campagne

    La séance est vectorisée et ajoutée à la mémoire consultable de la campagne : c'est ce qui permet au Barde d'y répondre ensuite, et ce qui garde chaque entrée des archives reliée aux mots qui l'ont changée.

  6. Retour à la table

    Publiée là où vous l'avez demandé

    Le récapitulatif est publié dans le salon Discord que vous avez indiqué, envoyé aux adresses e-mail que vous avez réglées, et vous attend dans l'application web à côté de la transcription et de l'audio de la séance.

Neuf choses qu'il garde, et qu'il continue de mettre à jour.

Pas un wiki que quelqu'un doit entretenir. Chaque entrée ci-dessous est écrite à partir de séances que vous avez réellement jouées, et grandit à mesure que vous en jouez d'autres.

Personnages
Le groupe : race, classe, alignement, et un portrait quand vous en voulez un.
PNJ
Leur rôle, s'ils sont encore en vie, leur alignement, et où ils en sont avec le groupe.
Lieux
Région et lieu, de la province jusqu'à la pièce où vous vous tenez.
Factions
Statut, alignement, et la réputation que le groupe s'est faite auprès d'elles.
Quêtes
Ouvertes, en cours, terminées ou échouées, déplacées par ce qui s'est passé et non parce que quelqu'un a pensé à cocher une case.
Inventaire
Ce que le groupe transporte, et qui le transporte.
Artefacts
Les objets qui ont un nom, chacun avec sa propre histoire de ce qu'il a traversé.
Bestiaire
Ce que vous avez combattu, et ce que ça vous a coûté.
Chronologie
Les dates du monde, comptées depuis une année zéro que vous définissez vous-même.

Ce que vous écrivez reste à vous. Les entrées que vous créez ou modifiez à la main sont marquées comme manuelles, et régénérer la campagne ne les écrase jamais.

Portraits à la demande. Une fiche peut dessiner son propre portrait, et elle garde votre prompt pour le relancer à l'identique ou changer un mot et réessayer.

Il dit d'où il le tient. Chaque entrée est liée à la séance qui l'a produite, si bien que vous pouvez retourner lire le moment lui-même.

Demandez au Barde, et recevez une réponse avec sa note de bas de page.

Demandez dans Discord ou dans l'application web : qu'avons-nous promis au capitaine du port, qui portait le sceau, où avons-nous vu ce sigil la première fois. La réponse est tirée des séances enregistrées de votre propre campagne et revient avec les séances dont elle sort, pour que vous puissiez aller les relire vous-même.

Il répond à partir de ce que la table a réellement dit. Si la campagne ne l'a jamais dit, le Barde ne le dit pas non plus.

La moitié de tout ça n'est pas Discord.

Le bot vit dans le salon vocal ; la campagne se lit sur le web. Connectez-vous avec le même compte Discord et vous avez les archives des séances avec chaque chronique mise en page comme un livre qu'on feuillette, la transcription à côté, l'audio de la séance, le groupe, les scènes, les neuf archives ci-dessus, et la discussion avec le Barde.

Les réglages du serveur et de la campagne sont là aussi : vos clés, les modèles que vous avez choisis, et ce que chaque séance a réellement coûté, au token près.

Les clés, c'est vous. Le bucket, c'est vous. Ce projet ne prend rien.

Aucun abonnement, aucun crédit, et aucun compte chez nous en dehors de celui de Discord que vous avez déjà. Les coûts sont réels, mais ils sont entre vous et celui que vous avez choisi de payer.

Le réglage par défaut

Les clés IA

Une seule clé, réglée par serveur Discord, couvre toute la chaîne, transcription comprise. Chaque étape sort pointée sur Google Gemini ; OpenAI marche aussi.

  • Chaque action qui dépense affiche son estimation avant que vous la lanciez, et le coût réel en tokens après.
  • Une séance de quatre heures s'arrête en général autour de deux euros, facturés par votre fournisseur directement à vous.
  • Si vous avez négocié vos propres tarifs, vous pouvez les saisir et les estimations utiliseront les vôtres.

ou

Expérimental

Votre propre machine

Un PC qui appartient à la table peut faire le travail à la place, et alors la partie argent disparaît entièrement.

  • Whisper transcrit là, joint par votre propre réseau Tailscale et réveillé à la demande.
  • Ollama fait tourner les modèles, donc aucune requête ne sort de la maison.
  • Une séance coûte alors votre temps et votre électricité, et rien d'autre.

L'application qualifie cela d'expérimental, et cette page aussi. Il faut une application compagnon installée et en marche sur cet ordinateur. Que la machine soit allumée ne suffit pas, et une séance pointée sur une machine qui ne répond pas est une séance qui n'est pas transcrite. Commencez sur une clé ; venez ici quand vous en aurez envie.

Nécessaire dans les deux cas

Le stockage

Les enregistrements et les images générées vont sur un bucket S3 de votre propre compte, quelle que soit la voie choisie ci-dessus.

  • Backblaze B2 est un compte gratuit de dix gigaoctets et ne demande pas de carte. Environ cinq minutes de configuration. Cloudflare R2, Scaleway, Oracle et AWS conviennent aussi, tout comme MinIO sur une machine chez vous.
  • Il n'existe pas de repli sur le bucket de quelqu'un d'autre. Sans bucket connecté, le bot refuse d'enregistrer.
  • Combien de temps l'audio est gardé, c'est vous qui le décidez, jusqu'à éteindre complètement le nettoyage, et l'on note qui l'a décidé et quand.

Et ce qui reste de notre côté

Une page comme celle-ci devrait le dire clairement. Sur le bot partagé, la base de données de la campagne et les signalements que vous envoyez avec le bouton rouge sont sur l'infrastructure de celui qui maintient le projet, et les e-mails de récapitulatif partent par son fournisseur de messagerie. La politique de confidentialité les nomme tous.

Vos enregistrements et vos images générées ne sont pas sur cette liste. Ils sont sur votre bucket, et aucun chemin dans le code ne les met ailleurs. Il n'y a dans ce projet aucun script d'analytique ni de pistage, et rien n'est jamais vendu.

La table sait toujours quand le barde écoute.

Enregistrer est quelque chose que le MJ fait exprès, avec une commande, et c'est visible tout le temps que ça dure : le bot est assis dans le salon vocal, où tout le monde le voit. Les administrateurs du serveur restent responsables d'informer les participants et d'obtenir le consentement qu'exigent leur table et leur juridiction.

Avant d'inviter le barde.

Les cinq questions qu'on pose vraiment, avec des réponses sans le futur du marketing.

Combien me coûte une séance ?

Rien à ce projet, qui ne prend d'argent à personne. L'IA tourne sur votre clé, donc OpenAI ou Google vous facture directement : une séance de quatre heures s'arrête en général autour de deux euros, et l'estimation est à l'écran avant que vous commenciez. Il existe une voie expérimentale qui tourne sur un PC à vous, où une séance coûte de l'électricité plutôt que de l'argent. Mais le réglage par défaut, et celui qui marche tout simplement, c'est la clé.

Où finissent les enregistrements ?

Sur le bucket S3 que votre serveur a connecté, sur votre compte, pas ici. Il n'y a pas de repli sur le stockage de quelqu'un d'autre : sans bucket connecté, le bot refuse d'enregistrer plutôt que d'écrire en silence les voix de votre table sur celui d'un autre. Combien de temps l'audio est gardé, c'est vous qui le décidez, et vous pouvez éteindre complètement le nettoyage automatique.

Dans quelle langue ça marche ?

Le bot, l'application web et ce site sont en anglais, italien, espagnol, français, allemand et portugais brésilien. La langue que parle la table se règle séparément de la langue dans laquelle le bot répond, parce que ce n'est pas toujours la même.

Puis-je l'héberger moi-même ?

Oui, et c'est la voie prévue si vous voulez une capacité qui ne dépende de la bonne volonté de personne. Toute la pile est publique sous AGPL-3.0 et tourne avec Docker. Sur votre propre serveur, rien ne quitte la machine à part les appels au fournisseur d'IA que vous avez configuré — et avec Ollama, même pas ceux-là.

Qui gagne de l'argent là-dessus ?

Personne. Il n'y a pas de société, pas de revenus et pas d'investisseur : c'est le projet d'une personne offert à la communauté du jeu de rôle, et la licence est ce qui le garde ainsi pour ceux qui viendront après. Les parrainages sont bienvenus et n'achètent absolument rien — aucune fonction, aucune priorité, aucune place dans une file.

Le bot n'est pas encore public.

Il n'y a ni lien d'invitation public ni formulaire d'inscription. Écrivez-moi, et je vous en envoie un pour votre serveur. Les e-mails, c'est une seule personne qui y répond, alors dites bonjour.

  1. Demandez une invitation

    Parlez-moi de votre table : quel serveur Discord, combien vous êtes à peu près, et dans quelle langue vous jouez. Je réponds avec un lien d'invitation pour le bot.

  2. Terminez la configuration sur le web

    Connectez-vous avec le même compte Discord et terminez la configuration du serveur : une clé Gemini ou OpenAI pour les modèles, et un bucket S3 pour les enregistrements. L'assistant vous dit ce qui manque encore, et /setup dit la même chose depuis Discord.

  3. Posez le monde

    Créez une campagne et dites où et quand elle se passe : l'année du monde, où se tient le groupe, le nom du groupe. Chacun dans le salon vocal dit quel personnage il incarne — c'est ce qui rend une transcription attribuable à une personne plutôt qu'à un micro.

  4. Jouez, puis relisez-vous

    /listen quand vous commencez, /stop quand vous finissez. Le récapitulatif arrive dans le salon que vous avez indiqué, et les archives vous attendent sur le web.