Riepilogo delle PR recenti — 1–3 agosto 2026
Diverse PR correlate sono state integrate in Discourse Chatbot e nei suoi plugin di estensione.
Punti salienti
- Introdotte strategie avanzate di ragionamento locale, tra cui verifica e revisione, best-of-two e ragionamento guidato dall’incertezza.
- Aggiunti i modelli OpenAI piĂą recenti e il nuovo parametro max reasoning effort.
- Aggiunto un filtro semantico per le domande bloccate basato sulla similaritĂ degli embedding.
- Consente significativi risparmi, poiché utilizza gli embedding per bloccare gli argomenti che non si desidera il bot gestisca, senza consumare token LLM.
- Consolidate le implementazioni base e RAG in un’unica classe DiscourseChatbot::Bot.
- Sostituite le impostazioni delle modalitĂ bot con selettori di strumenti integrati basati sul livello di fiducia.
- Rinominata l’API di estensione da “Function” a “Tool”.
- Sostituito lo strumento calcolatore basato su SafeRuby con l’evaluatore di espressioni Dentaku, soggetto a vincoli: questo rappresenta un grande miglioramento in termini di sicurezza, poiché, nonostante il nome, SafeRuby presenta vulnerabilità .
- Adottato il caricamento Zeitwerk in Chatbot e nei suoi plugin di estensione.
- Spostati gli strumenti specifici per la posizione nel plugin Early Access Locations (sponsorizzatemi per riottenere l’accesso)
- Migliorato il recupero dagli errori del calcolatore e il supporto per la notazione comune di π/e.
- Aggiornato il README
- Portato il plugin principale dalla versione 1.8.0 alla 2.4.1.
Discourse Chatbot
-
#162 — FIX: Preservare lo stato di ragionamento dell’API Responses (FIX: Preserve Responses API reasoning state - Pull Request #162 - merefield/discourse-chatbot - GitHub)
Rendere affidabili il ragionamento dell’API Responses e le continuazioni degli strumenti, introdotti limiti configurabili per iterazioni e token,
migliorata la validazione della provenienza degli URL, preservate le risposte parziali utili e impedito che risposte vuote o malformate
vengano accettate. -
#163 — FEATURE: Aggiungere strategie avanzate di ragionamento locale (FEATURE: Add advanced local reasoning strategies - Pull Request #163 - merefield/discourse-chatbot - GitHub)
Aggiunte strategie di ragionamento semplici, verifica e revisione, best-of-two e guidato dall’incertezza per Chat Completions, con
richieste ausiliarie limitate e record di audit visibili al personale. -
#164 — FEATURE: Aggiungere i modelli OpenAI più recenti (FEATURE: Add current OpenAI models - Pull Request #164 - merefield/discourse-chatbot - GitHub)
Aggiornati i selettori dei modelli con le varianti più recenti GPT-5.x e Pro, instradati i modelli appropriati attraverso l’API
Responses e aggiunto il max reasoning effort. -
#165 — FIX: Migliorare le indicazioni per il retry del calcolatore (FIX: Improve calculator retry guidance - Pull Request #165 - merefield/discourse-chatbot - GitHub)
Forniti ai modelli una sintassi del calcolatore piĂą chiara e indicazioni di recupero in modo che i fallimenti correggibili vengano ritentati appropriatamente. -
#166 — FEATURE: Aggiungere un filtro semantico per le domande bloccate (FEATURE: Add semantic blocked-question gate - Pull Request #166 - merefield/discourse-chatbot - GitHub)
Aggiunto un filtro opzionale basato su embedding in grado di identificare gli argomenti bloccati definiti amministrativamente e restituire risposte predefinite prima di invocare il modello principale. Include caching, audit per il personale, comportamento fail-open e supporto per modelli di embedding personalizzati. -
#167 — DEV: Sostituire SafeRuby e adottare il caricamento Zeitwerk (DEV: Replace SafeRuby and adopt Zeitwerk loading - Pull Request #167 - merefield/discourse-chatbot - GitHub)
Sostituito l’evaluatore SafeRuby vendored con Dentaku, allineati namespace e nomi dei file con Zeitwerk e
modernizzata la configurazione di caricamento e linting del plugin. Si è scoperto che SafeRuby presentava vulnerabilità , da cui la migrazione. -
#168 — DEV: Estrarre le funzioni Locations da Chatbot (DEV: Extract Locations functions from Chatbot - Pull Request #168 - merefield/discourse-chatbot - GitHub)
Rimossi gli strumenti e le impostazioni specifici per la posizione dal plugin principale, consentendo loro di essere forniti indipendentemente da discourse-locations. -
#169 — FEATURE: Sostituire le modalità bot con la selezione degli strumenti basata sul livello di fiducia
(FEATURE: Replace bot modes with trust-level tool selection - Pull Request #169 - merefield/discourse-chatbot - GitHub)
Questa è stata la principale razionalizzazione architetturale:- Sostituiti i bot base e RAG separati con DiscourseChatbot::Bot.
- Aggiunti selettori di strumenti integrati per ciascun livello di fiducia.
- Reso un selettore vuoto equivalente a un bot semplice, privo di strumenti.
- Integrate Vision e pittura nel sistema di selezione degli strumenti.
- Lasciati gli strumenti dei plugin forniti esternamente al di fuori dei selettori integrati.
- Rinominata la terminologia Function, le impostazioni e le classi in Tool.
- Riordinati, raggruppati e nascosti condizionalmente le impostazioni.
- Aggiunto il trattamento delle migrazioni per le configurazioni esistenti.
- Resa sicura la concorrenza nelle deduzioni dei quote.
- Corretti i limiti di caratteri delle risposte, la selezione del logging e la lettura di PDF binari.
-
#170 — FIX: Migliorare il recupero dello strumento calcolatore (FIX: Improve calculator tool recovery - Pull Request #170 - merefield/discourse-chatbot - GitHub)
Normalizzate espressioni comuni come Math::PI, Math.PI, Math::E, Math.E e π nella sintassi compatibile con Dentaku.
Le chiamate non valide ripetute senza cambiamenti vengono ora rifiutate con indicazioni operative. -
#171 — DEV: Aggiornare la documentazione di chatbot (DEV: Refresh chatbot documentation - Pull Request #171 - merefield/discourse-chatbot - GitHub)
Aggiornato il README per l’architettura unificata di bot e strumenti, le strategie di ragionamento, le domande bloccate, il comportamento del calcolatore, i limiti, le quote, gli endpoint personalizzati, il supporto per immagini/PDF e le impostazioni correnti. Il supporto Vision non è più descritto come sperimentale.
Plugin complementari
-
discourse-locations #4 — FIX: Aggiornare le estensioni di posizione di Chatbot per l’API degli strumenti (https://github.com/merefield/discourse-locations-early-access/pull/4)
Migrati gli integrazioni di posizione estratti a DiscourseChatbot::Tool, posizionati sotto Locations::Chatbot::Tools e
aggiornati per il bot unificato. -
Esempio di estensione Function #1 — FIX: Aggiornare l’estensione di esempio per l’API degli strumenti di Chatbot (FIX: Update example extension for Chatbot tool API - Pull Request #1 - merefield/discourse-chatbot-function-extension-example - GitHub)
Aggiornato il plugin di esempio per dimostrare DiscourseChatbot::Tool, il caricamento Zeitwerk, le impostazioni e le traduzioni orientate agli strumenti e
i test di comportamento focalizzati senza codice di compatibilitĂ legacy.