Resumen de PR recientes — 1–3 de agosto de 2026
Se han fusionado varias PR relacionadas en Discourse Chatbot y sus plugins de extensión.
Aspectos destacados
- Se introdujeron estrategias avanzadas de razonamiento local, incluyendo verificar y revisar, mejor de dos, y razonamiento guiado por incertidumbre.
- Se añadieron los modelos actuales de OpenAI y el nuevo esfuerzo máximo de razonamiento.
- Se añadió una puerta de preguntas bloqueadas semánticas usando similitud de embeddings.
- ahorros significativos, ya que usa embeddings para bloquear temas que no desea que el bot maneje sin costarle tokens de LLM.
- Se consolidaron las implementaciones básicas y de RAG en un único DiscourseChatbot::Bot.
- Se reemplazaron los ajustes de modo del bot con selectores de herramientas integradas por nivel de confianza.
- Se renombró la API de extensión de “Function” a “Tool”.
- Se reemplazó la herramienta calculadora basada en SafeRuby con el evaluador de expresiones restringido Dentaku: esto es una gran mejora en seguridad, ya que, a pesar de su nombre, SafeRuby tiene vulnerabilidades.
- Se adoptó la carga con Zeitwerk en Chatbot y sus plugins de extensión.
- Se movieron las herramientas específicas de ubicación al plugin de acceso anticipado Locations (patrocíname para recuperar el acceso)
- Se mejoró la recuperación de errores del calculador y el soporte para notaciones comunes de π/e.
- Se actualizó el README
- Se avanzó el plugin principal de la versión 1.8.0 a la 2.4.1.
Discourse Chatbot
-
#162 — CORRECCIÓN: Preservar el estado de razonamiento de la API de Respuestas (FIX: Preserve Responses API reasoning state - Pull Request #162 - merefield/discourse-chatbot - GitHub)
Hizo que el razonamiento de la API de Respuestas y las continuaciones de herramientas fueran fiables, introdujo límites configurables de iteración y tokens,
mejoró la validación de procedencia de URL, preservó respuestas parciales útiles y evitó que se aceptaran respuestas en blanco o mal formadas. -
#163 — CARACTERÍSTICA: Añadir estrategias avanzadas de razonamiento local (FEATURE: Add advanced local reasoning strategies - Pull Request #163 - merefield/discourse-chatbot - GitHub)
Se añadieron estrategias de razonamiento simple, verificar y revisar, mejor de dos y guiado por incertidumbre para Completaciones de Chat, con
solicitudes auxiliares acotadas y registros de auditoría visibles para el personal. -
#164 — CARACTERÍSTICA: Añadir modelos actuales de OpenAI (FEATURE: Add current OpenAI models - Pull Request #164 - merefield/discourse-chatbot - GitHub)
Se actualizaron los selectores de modelos con las variantes más recientes de GPT-5.x y Pro, se enrutarón los modelos apropiados a través de la API de
Respuestas y se añadió el esfuerzo máximo de razonamiento. -
#165 — CORRECCIÓN: Mejorar la guía de reintento del calculador (FIX: Improve calculator retry guidance - Pull Request #165 - merefield/discourse-chatbot - GitHub)
Se proporcionó a los modelos una sintaxis de calculador más clara y una guía de recuperación para que los fallos corregibles se reintenten adecuadamente. -
#166 — CARACTERÍSTICA: Añadir puerta de preguntas bloqueadas semánticas (FEATURE: Add semantic blocked-question gate - Pull Request #166 - merefield/discourse-chatbot - GitHub)
Se añadió una puerta opcional basada en embeddings que puede identificar temas bloqueados definidos administrativamente y devolver respuestas predefinidas antes de invocar al modelo principal. Incluye caché, auditoría para el personal, comportamiento de fallo abierto y soporte para modelos de embedding personalizados. -
#167 — DEV: Reemplazar SafeRuby y adoptar la carga con Zeitwerk (DEV: Replace SafeRuby and adopt Zeitwerk loading - Pull Request #167 - merefield/discourse-chatbot - GitHub)
Se reemplazó el evaluador SafeRuby incluido con Dentaku, se alinearon espacios de nombres y nombres de archivos con Zeitwerk, y
se modernizó la configuración de carga y lint del plugin. Resultó haber vulnerabilidades en SafeRuby, de ahí la migración. -
#168 — DEV: Extraer funciones de Locations de Chatbot (DEV: Extract Locations functions from Chatbot - Pull Request #168 - merefield/discourse-chatbot - GitHub)
Se eliminaron las herramientas y ajustes específicos de ubicación del plugin principal, permitiendo que sean proporcionados independientemente por discourse-locations. -
#169 — CARACTERÍSTICA: Reemplazar modos de bot con selección de herramientas por nivel de confianza
(FEATURE: Replace bot modes with trust-level tool selection - Pull Request #169 - merefield/discourse-chatbot - GitHub)
Esta fue la principal racionalización arquitectónica:- Se reemplazaron los bots básicos y de RAG separados con DiscourseChatbot::Bot.
- Se añadieron selectores de herramientas integrados para cada nivel de confianza.
- Se hizo que un selector vacío fuera equivalente a un bot simple y sin herramientas.
- Se integraron Visión y pintura en el sistema de selección de herramientas.
- Se dejaron las herramientas de plugins suministrados externamente fuera de los selectores integrados.
- Se renombró la terminología, ajustes y clases de Function a Tool.
- Se reordenaron, agruparon y ocultaron condicionalmente los ajustes.
- Se añadió manejo de migración para configuraciones existentes.
- Se hicieron las deducciones de cuota seguras ante concurrencia.
- Se corrigieron los límites de caracteres de respuesta, la selección de registro y la lectura de PDF binarios.
-
#170 — CORRECCIÓN: Mejorar la recuperación de la herramienta calculadora (FIX: Improve calculator tool recovery - Pull Request #170 - merefield/discourse-chatbot - GitHub)
Se normalizaron expresiones familiares como Math::PI, Math.PI, Math::E, Math.E y π a sintaxis compatible con Dentaku.
Las llamadas inválidas repetidas sin cambios ahora se rechazan con guía accionable. -
#171 — DEV: Actualizar documentación del chatbot (DEV: Refresh chatbot documentation - Pull Request #171 - merefield/discourse-chatbot - GitHub)
Se actualizó el README para la arquitectura unificada de bot y herramientas, estrategias de razonamiento, preguntas bloqueadas, comportamiento del calculador, límites, cuotas, puntos finales personalizados, soporte de imagen/PDF y ajustes actuales. El soporte de Visión ya no se describe como experimental.
Plugins complementarios
-
discourse-locations #4 — CORRECCIÓN: Actualizar extensiones de ubicación del Chatbot para la API de herramientas (https://github.com/merefield/discourse-locations-early-access/pull/4)
Se migraron las integraciones de ubicación extraídas a DiscourseChatbot::Tool, se colocaron bajo Locations::Chatbot::Tools y
se actualizaron para el bot unificado. -
Ejemplo de extensión de Function #1 — CORRECCIÓN: Actualizar extensión de ejemplo para la API de herramientas del Chatbot (FIX: Update example extension for Chatbot tool API - Pull Request #1 - merefield/discourse-chatbot-function-extension-example - GitHub)
Se actualizó el plugin de ejemplo para demostrar DiscourseChatbot::Tool, carga con Zeitwerk, ajustes y
tradiciones orientadas a herramientas, y pruebas de comportamiento enfocadas sin código de compatibilidad con versiones anteriores.