1
0

changelog.txt 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. CHANGELOG — Chatbot Discord
  2. ===========================
  3. Version 5.5 — 29/10/2026
  4. ------------------------
  5. Corrections
  6. - Les avertissements de discord.py sur le vocal (PyNaCl et davey non
  7. installés) n'apparaissent plus à chaque démarrage : le bot n'utilise pas
  8. le vocal.
  9. - Réflexion affichée : quand le modèle écrit sa réflexion dans sa réponse
  10. (faux appel d'outil <invoke name="think">… ou raisonnement entre balises
  11. <reasoning>…), le bot redemande une réponse. Si la nouvelle réponse en
  12. contient aussi, la réflexion est retirée du message envoyé et de la mémoire.
  13. - Les consignes ajoutées automatiquement à la personnalité suivent les
  14. recommandations d'Anthropic contre ces fuites : plus d'interdiction de
  15. commenter les recherches web (ce commentaire n'est de toute façon jamais
  16. affiché), et une consigne générale contre les balises internes.
  17. - Au démarrage, le log indique le modèle, la réflexion, l'effort et la
  18. recherche web réellement utilisés.
  19. - Logs : chaque requête HTTP vers l'API d'Anthropic n'est plus journalisée
  20. (le SDK 2.x passe par httpx2, qui n'était pas rendu silencieux).
  21. Version 5.4.0 — 29/10/2026
  22. --------------------------
  23. Nouveautés
  24. - Changement de modèle facile : il suffit de modifier CLAUDE_MODEL dans le
  25. .env (claude-sonnet-5-5, claude-haiku-5-5 ou claude-opus-5-5) et de
  26. redémarrer le bot.
  27. - THINKING=off coupe la réflexion de la façon propre à chaque modèle
  28. (auparavant, tout autre modèle que Sonnet 5.5 était refusé par l'API).
  29. - Sur Opus 5.5, la réflexion ne peut pas être coupée : régler EFFORT=low.
  30. - Les tarifs utilisés pour le coût estimé dans les logs suivent le modèle
  31. choisi ; PRICE_INPUT_PER_MTOK et PRICE_OUTPUT_PER_MTOK ne sont plus à
  32. renseigner que pour un autre modèle (à vider dans le .env existant).
  33. - Messages transférés : dans le salon dédié, le bot lit le message transféré
  34. (son texte et son image).
  35. - Discussion entre bots : le bot répond aux autres bots quand ils le
  36. mentionnent ou répondent à l'un de ses messages ; le reste de ce qu'ils
  37. postent est toujours ignoré.
  38. - Messages regroupés : dans le salon dédié, les messages envoyés pendant que
  39. le bot répond ne reçoivent plus chacun leur réponse ; ils lui sont transmis
  40. ensemble (avec leurs images) et il y répond en une seule fois.
  41. Corrections
  42. - Les messages système (arrivée d'un membre, message épinglé, boost, fil
  43. créé…) et les messages sans rien à lire (sondages…) ne déclenchent plus de
  44. réponse payante de Claude.
  45. - /reset vidait mal la mémoire s'il était lancé pendant une réponse : l'échange
  46. en cours y était réécrit juste après. Le reset attend désormais la fin de la
  47. réponse avant de tout effacer.
  48. - Mentions moins chères : le contexte lu pour répondre à une mention n'est
  49. plus écrit dans le cache de prompt (surcoût de 25 %), puisqu'il change à
  50. chaque mention et n'y était jamais relu.
  51. - Mentions : l'image jointe à la mention elle-même est maintenant lue (seule
  52. celle du message cité l'était). Si les deux en ont une, c'est celle de la
  53. mention qui est envoyée à Claude.
  54. Version 5.3.0 — 29/10/2026
  55. --------------------------
  56. Nouveautés
  57. - Accès à Internet (désactivé par défaut) : avec WEB_SEARCH=on dans le .env,
  58. le bot peut faire des recherches web et lire les liens partagés dans la
  59. conversation (outils web_search et web_fetch d'Anthropic).
  60. - Il ne cherche que si la question porte sur l'actualité ou une info qu'il
  61. ne connaît pas, et nomme sa source dans sa réponse (sans lien).
  62. - WEB_MAX_USES limite le nombre de recherches (et de pages lues) par message.
  63. - Seule la réponse finale est envoyée sur Discord, sans les commentaires
  64. écrits pendant les recherches.
  65. - Dans la mémoire, une mention indique au bot qu'il a réellement cherché,
  66. pour qu'il ne croie pas avoir inventé sa réponse au message suivant.
  67. - Avec la recherche activée, prévoir API_TIMEOUT=90.
  68. Améliorations
  69. - Cache de prompt : la personnalité, les outils et l'historique sont relus
  70. depuis le cache à 10 % du prix (pendant 5 minutes, prolongées à chaque
  71. message). Avec la recherche web activée, un message simple passe d'environ
  72. 0,015 $ à 0,002 $.
  73. - Le coût estimé dans les logs tient compte du cache (tokens lus et écrits)
  74. et des recherches web (PRICE_WEB_SEARCH_PER_1000).
  75. Version 5.2.0 — 28/10/2026
  76. --------------------------
  77. Nouveautés
  78. - Fichiers texte : le bot lit un fichier .txt joint au message et en tient
  79. compte dans sa réponse.
  80. - Un fichier .txt par message (en plus d'une éventuelle image), 100 Ko maximum.
  81. - Fonctionne dans le salon dédié et en mode mention.
  82. - Encodage UTF-8 ou Windows (Bloc-notes) reconnu automatiquement.
  83. - Dans la mémoire, seul le nom du fichier est conservé, pas son contenu
  84. (comme pour les images), pour ne pas faire grimper le coût des messages
  85. suivants.
  86. - Personnalité perso : les fichiers *.local.txt sont exclus de GitHub
  87. (.gitignore). On peut y mettre une personnalité contenant des infos privées
  88. (ex. PERSONALITY_FILE=personality_prompt.local.txt dans le .env) ;
  89. personality_prompt.txt reste la personnalité par défaut publiée sur GitHub.
  90. Améliorations
  91. - Le bot n'utilise plus la fonction « Répondre » de Discord pour ses réponses :
  92. il écrit simplement à la suite dans le salon, comme un humain.
  93. - Les messages d'erreur (fichier non pris en charge, image en trop, etc.)
  94. restent en « Répondre », pour qu'on sache à qui ils s'adressent.
  95. Version 5.1.0 — 27/10/2026
  96. --------------------------
  97. Nouveautés
  98. - Réponses aux messages : quand on utilise « Répondre » sur un message, même
  99. ancien, le bot lit le message cité et en tient compte dans sa réponse.
  100. - Si le message cité vient du bot, il sait qu'il s'agit de sa propre réponse.
  101. - Le texte cité est limité à 500 caractères.
  102. - Si le message cité contient une image, elle est aussi envoyée à Claude,
  103. sauf si la réponse contient déjà sa propre image (celle-ci est prioritaire).
  104. - Fonctionne dans le salon dédié et en mode mention.
  105. - En mode mention, le bot peut maintenant voir une image, celle du message cité.
  106. Améliorations
  107. - Le téléchargement et la préparation des images passent par une seule
  108. fonction, partagée entre le salon dédié et les messages cités.
  109. - Une image citée illisible ou trop lourde est simplement ignorée (avertissement
  110. dans bot.log) au lieu de bloquer la réponse.
  111. - La commande /reset est réservée aux modérateurs (permission « Gérer les
  112. messages ») et aux administrateurs du serveur.
  113. - Elle est masquée pour les autres membres et n'est plus disponible en
  114. messages privés.
  115. - Si un administrateur l'ouvre à tous dans les paramètres du serveur, le bot
  116. refuse quand même la commande (réponse visible uniquement par l'auteur) et
  117. note la tentative dans bot.log.
  118. Divers
  119. - discord.py 2.5 minimum est désormais requis (requirements.txt).
  120. - README : ajout de la fonctionnalité « Réponses ».
  121. - README : précision sur les droits nécessaires pour /reset.
  122. Version 5.0.0 — 27/10/2026
  123. --------------------------
  124. Nouveautés
  125. - Passage de Mistral à Claude (Anthropic) pour générer les réponses.
  126. - Réécriture complète du Bot.
  127. Migration depuis la version 4 (Mistral)
  128. - L'ancien conversation_history.json est converti automatiquement au premier
  129. lancement (les images sont remplacées par un marqueur texte).
  130. - Dans le .env : MISTRAL_API_KEY devient ANTHROPIC_API_KEY, et MISTRAL_MODEL
  131. devient CLAUDE_MODEL.
  132. - L'intent Discord « Presence » n'est plus nécessaire.