Resumo recente dos PRs — 1 a 3 de agosto de 2026
Vários PRs relacionados foram mesclados no Discourse Chatbot e em seus plugins de extensão.
Destaques
- Introduzidas estratégias avançadas de raciocínio local, incluindo verificar-e-revisar, melhor-de-dois e raciocínio guiado por incerteza.
- Adicionados os modelos atuais da OpenAI e o novo esforço máximo de raciocínio.
- Adicionada uma porta de bloqueio semântico de perguntas usando similaridade de embeddings.
- economias significativas, pois usa embeddings para bloquear tópicos que você não deseja que o bot lide, sem custar tokens de LLM.
- Consolidadas as implementações básicas e de RAG em um único DiscourseChatbot::Bot.
- Substituídas as configurações de modo do bot por seletores de ferramentas integradas por nível de confiança.
- Renomeada a API de extensão de “Function” para “Tool”.
- Substituída a ferramenta calculadora baseada em SafeRuby pelo avaliador de expressões restrito Dentaku - esta é uma grande melhoria em segurança, pois, apesar do nome, há vulnerabilidades no SafeRuby.
- Adotado o carregamento Zeitwerk no Chatbot e em seus plugins de extensão.
- Movidas ferramentas específicas de localização para o plugin Locations Early Access (patrocine-me para recuperar o acesso)
- Melhorada a recuperação de erros do calculador e suporte para notação comum de π/e.
- Atualizado o README
- Avançada a versão principal do plugin de 1.8.0 para 2.4.1.
Discourse Chatbot
-
#162 — CORREÇÃO: Preservar estado de raciocínio da API de Respostas (FIX: Preserve Responses API reasoning state - Pull Request #162 - merefield/discourse-chatbot - GitHub)
Tornou o raciocínio da API de Respostas e as continuações de ferramentas confiáveis, introduziu limites configuráveis de iteração e tokens,
melhorou a validação de procedência de URLs, preservou respostas parciais úteis e impediu que respostas em branco ou malformadas
fossem aceitas. -
#163 — RECURSO: Adicionar estratégias avançadas de raciocínio local (FEATURE: Add advanced local reasoning strategies - Pull Request #163 - merefield/discourse-chatbot - GitHub)
Adicionadas estratégias de raciocínio simples, verificar-e-revisar, melhor-de-dois e guiado por incerteza para Completões de Chat, com
solicitações auxiliares limitadas e registros de auditoria visíveis para a equipe. -
#164 — RECURSO: Adicionar modelos atuais da OpenAI (FEATURE: Add current OpenAI models - Pull Request #164 - merefield/discourse-chatbot - GitHub)
Atualizados os seletores de modelos com variantes mais recentes GPT-5.x e Pro, roteados modelos apropriados através da API de Respostas
e adicionado esforço máximo de raciocínio. -
#165 — CORREÇÃO: Melhorar orientação de retry do calculador (FIX: Improve calculator retry guidance - Pull Request #165 - merefield/discourse-chatbot - GitHub)
Fornecida aos modelos sintaxe de calculador mais clara e orientação de recuperação para que falhas corrigíveis sejam retentadas adequadamente. -
#166 — RECURSO: Adicionar porta de bloqueio semântico de perguntas (FEATURE: Add semantic blocked-question gate - Pull Request #166 - merefield/discourse-chatbot - GitHub)
Adicionada uma porta opcional baseada em embeddings que pode identificar tópicos bloqueados definidos administrativamente e retornar respostas pré-definidas antes de invocar o modelo principal. Inclui cache, auditoria da equipe, comportamento fail-open e suporte a modelos de embedding personalizados. -
#167 — DEV: Substituir SafeRuby e adotar carregamento Zeitwerk (DEV: Replace SafeRuby and adopt Zeitwerk loading - Pull Request #167 - merefield/discourse-chatbot - GitHub)
Substituído o avaliador SafeRuby fornecido pelo Dentaku, alinhados namespaces e nomes de arquivos com Zeitwerk, e modernizada a configuração de carregamento e lint do plugin. Acabou por haver vulnerabilidades no SafeRuby, daí a migração. -
#168 — DEV: Extrair funções de Localização do Chatbot (DEV: Extract Locations functions from Chatbot - Pull Request #168 - merefield/discourse-chatbot - GitHub)
Removidas ferramentas e configurações específicas de localização do plugin principal, permitindo que sejam fornecidas independentemente pelo discourse-locations. -
#169 — RECURSO: Substituir modos do bot por seleção de ferramentas por nível de confiança
(FEATURE: Replace bot modes with trust-level tool selection - Pull Request #169 - merefield/discourse-chatbot - GitHub)
Esta foi a principal racionalização arquitetônica:- Substituídos os bots básicos e RAG separados por DiscourseChatbot::Bot.
- Adicionados seletores de ferramentas integrados para cada nível de confiança.
- Tornado um seletor vazio equivalente a um bot simples, sem ferramentas.
- Integradas Visão e pintura no sistema de seleção de ferramentas.
- Deixadas ferramentas de plugin fornecidas externamente fora dos seletores integrados.
- Renomeada terminologia, configurações e classes de Function para Tool.
- Reordenadas, colocalizadas e ocultadas condicionalmente configurações.
- Adicionado tratamento de migração para configurações existentes.
- Tornadas deduções de quota seguras para concorrência.
- Corrigidos limites de caracteres de resposta, seleção de log e leitura de PDF binário.
-
#170 — CORREÇÃO: Melhorar recuperação da ferramenta calculadora (FIX: Improve calculator tool recovery - Pull Request #170 - merefield/discourse-chatbot - GitHub)
Normalizadas expressões familiares como Math::PI, Math.PI, Math::E, Math.E, e π para sintaxe compatível com Dentaku.
Chamadas inválidas repetidas inalteradas agora são rejeitadas com orientação acionável. -
#171 — DEV: Atualizar documentação do chatbot (DEV: Refresh chatbot documentation - Pull Request #171 - merefield/discourse-chatbot - GitHub)
Atualizado o README para a arquitetura unificada de bot e ferramentas, estratégias de raciocínio, perguntas bloqueadas, comportamento do calculador, limites, quotas, endpoints personalizados, suporte a imagem/PDF e configurações atuais. O suporte a Visão não é mais descrito como experimental.
Plugins companheiros
-
discourse-locations #4 — CORREÇÃO: Atualizar extensões de localização do Chatbot para API de ferramentas (https://github.com/merefield/discourse-locations-early-access/pull/4)
Migradas as integrações de localização extraídas para DiscourseChatbot::Tool, colocadas sob Locations::Chatbot::Tools, e atualizadas para o bot unificado. -
Exemplo de extensão Function #1 — CORREÇÃO: Atualizar extensão de exemplo para API de ferramentas do Chatbot (FIX: Update example extension for Chatbot tool API - Pull Request #1 - merefield/discourse-chatbot-function-extension-example - GitHub)
Atualizado o plugin de exemplo para demonstrar DiscourseChatbot::Tool, carregamento Zeitwerk, configurações e
traduções orientadas a ferramentas, e teste de comportamento focado sem código de compatibilidade legado.