Résumé des PR récentes — 1–3 août 2026
Plusieurs PR connexes ont été fusionnées dans Discourse Chatbot et ses plugins d’extension.
Points forts
- Introduction de stratégies de raisonnement local avancées, notamment verify-and-revise, best-of-two et raisonnement guidé par l’incertitude.
- Ajout des modèles OpenAI actuels et du nouveau paramètre max reasoning effort.
- Ajout d’une porte de blocage sémantique pour les questions bloquées, utilisant la similarité des embeddings.
- Économies significatives car cela utilise des embeddings pour bloquer les sujets que vous ne souhaitez pas que le bot traite, sans vous coûter de tokens LLM.
- Consolidation des implémentations de base et RAG en un seul DiscourseChatbot::Bot.
- Remplacement des paramètres de mode bot par des sélecteurs d’outils intégrés basés sur le niveau de confiance.
- Renommage de l’API d’extension de “Function” à “Tool”.
- Remplacement de l’outil calculateur basé sur SafeRuby par l’évaluateur d’expressions Dentaku contraint - c’est une grande amélioration en matière de sécurité, car malgré son nom, SafeRuby présente des vulnérabilités.
- Adoption du chargement Zeitwerk dans Chatbot et ses plugins d’extension.
- Déplacement des outils spécifiques à l’emplacement dans le plugin Locations Early Access (sponsorisez-moi pour retrouver l’accès)
- Amélioration de la récupération d’erreurs du calculateur et prise en charge des notations π/e courantes.
- Mise Ă jour du README
- Passage de la version principale du plugin de 1.8.0 Ă 2.4.1.
Discourse Chatbot
-
#162 — CORRECTION : Préserver l’état de raisonnement de l’API Responses (FIX: Preserve Responses API reasoning state - Pull Request #162 - merefield/discourse-chatbot - GitHub)
Rendre le raisonnement de l’API Responses et les continuations d’outils fiables, introduire des limites configurables d’itération et de tokens,
améliorer la validation de la provenance des URL, préserver les réponses partielles utiles, et empêcher l’acceptation de réponses vides ou mal formées. -
#163 — FONCTIONNALITÉ : Ajouter des stratégies de raisonnement local avancées (FEATURE: Add advanced local reasoning strategies - Pull Request #163 - merefield/discourse-chatbot - GitHub)
Ajout de stratégies de raisonnement simples, verify-and-revise, best-of-two et guidé par l’incertitude pour les Chat Completions, avec
des requêtes auxiliaires limitées et des journaux d’audit visibles par le personnel. -
#164 — FONCTIONNALITÉ : Ajouter les modèles OpenAI actuels (FEATURE: Add current OpenAI models - Pull Request #164 - merefield/discourse-chatbot - GitHub)
Mise à jour des sélecteurs de modèles avec les nouvelles variantes GPT-5.x et Pro, routage des modèles appropriés via l’API Responses
et ajout du max reasoning effort. -
#165 — CORRECTION : Améliorer les conseils de nouvelle tentative du calculateur (FIX: Improve calculator retry guidance - Pull Request #165 - merefield/discourse-chatbot - GitHub)
Fournir aux modèles une syntaxe de calculateur plus claire et des conseils de récupération afin que les échecs correctibles soient retravaillés de manière appropriée. -
#166 — FONCTIONNALITÉ : Ajouter une porte de blocage sémantique pour les questions bloquées (FEATURE: Add semantic blocked-question gate - Pull Request #166 - merefield/discourse-chatbot - GitHub)
Ajout d’une porte optionnelle basée sur les embeddings capable d’identifier les sujets bloqués définis administrativement et de retourner des réponses prédéfinies avant d’invoquer le modèle principal. Elle inclut la mise en cache, l’audit par le personnel, un comportement fail-open et la prise en charge de modèles d’embedding personnalisés. -
#167 — DEV : Remplacer SafeRuby et adopter le chargement Zeitwerk (DEV: Replace SafeRuby and adopt Zeitwerk loading - Pull Request #167 - merefield/discourse-chatbot - GitHub)
Remplacement de l’évaluateur SafeRuby intégré par Dentaku, alignement des espaces de noms et des noms de fichiers avec Zeitwerk, et
modernisation de la configuration de chargement et de lint du plugin. Il s’est avéré qu’il y avait des vulnérabilités dans SafeRuby, d’où la migration. -
#168 — DEV : Extraire les fonctions Locations de Chatbot (DEV: Extract Locations functions from Chatbot - Pull Request #168 - merefield/discourse-chatbot - GitHub)
Suppression des outils et paramètres spécifiques à l’emplacement du plugin principal, permettant qu’ils soient fournis indépendamment par discourse-locations. -
#169 — FONCTIONNALITÉ : Remplacer les modes bot par la sélection d’outils basée sur le niveau de confiance
(FEATURE: Replace bot modes with trust-level tool selection - Pull Request #169 - merefield/discourse-chatbot - GitHub)
C’était la rationalisation architecturale principale :- Remplacement des bots de base et RAG séparés par DiscourseChatbot::Bot.
- Ajout de sélecteurs d’outils intégrés pour chaque niveau de confiance.
- Un sélecteur vide est équivalent à un bot simple sans outil.
- Intégration de Vision et de la peinture dans le système de sélection d’outils.
- Les outils de plugins fournis externalement restent en dehors des sélecteurs intégrés.
- Renommage de la terminologie Function, des paramètres et des classes en Tool.
- Réorganisation, regroupement et masquage conditionnel des paramètres.
- Ajout de la gestion de migration pour les configurations existantes.
- Rendre les déductions de quota sûres face à la concurrence.
- Correction des limites de caractères des réponses, de la sélection des journaux et de la lecture PDF binaire.
-
#170 — CORRECTION : Améliorer la récupération de l’outil calculateur (FIX: Improve calculator tool recovery - Pull Request #170 - merefield/discourse-chatbot - GitHub)
Normalisation d’expressions familières telles que Math::PI, Math.PI, Math::E, Math.E et π en syntaxe compatible Dentaku.
Les appels invalides inchangés répétés sont maintenant rejetés avec des conseils actionnables. -
#171 — DEV : Actualiser la documentation du chatbot (DEV: Refresh chatbot documentation - Pull Request #171 - merefield/discourse-chatbot - GitHub)
Mise à jour du README pour l’architecture unifiée du bot et des outils, les stratégies de raisonnement, les questions bloquées, le comportement du calculateur, les limites, les quotas, les points de terminaison personnalisés, la prise en charge des images/PDF et les paramètres actuels. La prise en charge de Vision n’est plus décrite comme expérimentale.
Plugins compagnons
-
discourse-locations #4 — CORRECTION : Mettre à jour les extensions de localisation du Chatbot pour l’API Tool (https://github.com/merefield/discourse-locations-early-access/pull/4)
Migration des intégrations de localisation extraites vers DiscourseChatbot::Tool, placement sous Locations::Chatbot::Tools,
et mise à jour pour le bot unifié. -
Exemple d’extension Function #1 — CORRECTION : Mettre à jour l’extension exemple pour l’API Tool du Chatbot (FIX: Update example extension for Chatbot tool API - Pull Request #1 - merefield/discourse-chatbot-function-extension-example - GitHub)
Mise à jour du plugin exemple pour démontrer DiscourseChatbot::Tool, le chargement Zeitwerk, les paramètres et
traductions orientés outil, et les tests de comportement ciblés sans code de compatibilité legacy.