Сводка последних PR — 1–3 августа 2026 г.
Несколько связанных PR были объединены в Discourse Chatbot и его плагинах-расширениях.
Основные моменты
- Внедрены продвинутые стратегии локального рассуждения, включая verify-and-revise (проверка и исправление), best-of-two (выбор лучшего из двух) и uncertainty-guided reasoning (рассуждение с учетом неопределенности).
- Добавлены актуальные модели OpenAI и новый параметр max reasoning effort (максимальные усилия рассуждения).
- Добавлен семантический шлюз для блокировки вопросов на основе сходства эмбеддингов.
- Значительная экономия ресурсов, поскольку эмбеддинги используются для блокировки тем, которые вы не хотите, чтобы бот обрабатывал, без расхода токенов LLM.
- Базовая и RAG-реализации объединены в единый класс DiscourseChatbot::Bot.
- Настройки режимов бота заменены на встроенные селекторы инструментов, зависящие от уровня доверия.
- Переименован API расширений с “Function” на “Tool”.
- Инструмент-калькулятор на базе SafeRuby заменен на ограниченный парсер выражений Dentaku — это значительное улучшение безопасности, поскольку, несмотря на название, в SafeRuby существуют уязвимости.
- Внедрена загрузка через Zeitwerk в Chatbot и его плагинах-расширениях.
- Инструменты, специфичные для локаций, перенесены в плагин Locations Early Access (спонсируйте меня, чтобы вернуть доступ).
- Улучшено восстановление после ошибок калькулятора и поддержка распространенных обозначений π/e.
- Обновлен README.
- Версия основного плагина повышена с 1.8.0 до 2.4.1.
Discourse Chatbot
-
#162 — FIX: Сохранение состояния рассуждения в Responses API (FIX: Preserve Responses API reasoning state - Pull Request #162 - merefield/discourse-chatbot - GitHub)
Обеспечена надежность рассуждений и продолжений инструментов в Responses API, введены настраиваемые лимиты итераций и токенов,
улучшена проверка происхождения URL, сохранены полезные частичные ответы, и предотвращено принятие пустых или некорректных ответов. -
#163 — FEATURE: Добавление продвинутых стратегий локального рассуждения (FEATURE: Add advanced local reasoning strategies - Pull Request #163 - merefield/discourse-chatbot - GitHub)
Добавлены стратегии рассуждения для Chat Completions: simple (простое), verify-and-revise (проверка и исправление), best-of-two (выбор лучшего из двух) и uncertainty-guided (с учетом неопределенности), с
ограничением дополнительных запросов и журналами аудита, видимыми для персонала. -
#164 — FEATURE: Добавление актуальных моделей OpenAI (FEATURE: Add current OpenAI models - Pull Request #164 - merefield/discourse-chatbot - GitHub)
Обновлены селекторы моделей новыми вариантами GPT-5.x и Pro, настроен роутинг подходящих моделей через Responses
API, и добавлен параметр max reasoning effort. -
#165 — FIX: Улучшение рекомендаций по повторным попыткам калькулятора (FIX: Improve calculator retry guidance - Pull Request #165 - merefield/discourse-chatbot - GitHub)
Предоставлены моделям более четкие синтаксис калькулятора и рекомендации по восстановлению, чтобы исправимые ошибки приводили к соответствующим повторным попыткам. -
#166 — FEATURE: Добавление семантического шлюза для блокировки вопросов (FEATURE: Add semantic blocked-question gate - Pull Request #166 - merefield/discourse-chatbot - GitHub)
Добавлен опциональный шлюз на основе эмбеддингов, который может идентифицировать административно определенные заблокированные темы и возвращать шаблонные ответы до вызова основной модели. Включает кэширование, аудит для персонала, поведение fail-open и поддержку пользовательских моделей эмбеддингов. -
#167 — DEV: Замена SafeRuby и внедрение загрузки через Zeitwerk (DEV: Replace SafeRuby and adopt Zeitwerk loading - Pull Request #167 - merefield/discourse-chatbot - GitHub)
Заменен локальный парсер SafeRuby на Dentaku, пространства имен и имена файлов приведены в соответствие с Zeitwerk, и
модернизированы конфигурация загрузки и линтинга плагина. Оказалось, что в SafeRuby есть уязвимости, поэтому была необходима миграция. -
#168 — DEV: Извлечение функций локаций из Chatbot (DEV: Extract Locations functions from Chatbot - Pull Request #168 - merefield/discourse-chatbot - GitHub)
Удалены инструменты и настройки, специфичные для локаций, из основного плагина, позволяя предоставлять их независимо через discourse-locations. -
#169 — FEATURE: Замена режимов бота на выбор инструментов по уровню доверия
(FEATURE: Replace bot modes with trust-level tool selection - Pull Request #169 - merefield/discourse-chatbot - GitHub)
Это была основная рационализация архитектуры:- Заменены отдельные боты basic и RAG на DiscourseChatbot::Bot.
- Добавлены встроенные селекторы инструментов для каждого уровня доверия.
- Пустой селектор приравнен к простому боту без инструментов.
- Vision и рисование интегрированы в систему выбора инструментов.
- Инструменты из внешних плагинов оставлены вне встроенных селекторов.
- Переименована терминология, настройки и классы с Function на Tool.
- Настройки упорядочены, сгруппированы и условно скрыты.
- Добавлена обработка миграции для существующих конфигураций.
- Списание квоты сделано потокобезопасным.
- Исправлены лимиты символов в ответах, выбор логирования и чтение бинарных PDF-файлов.
-
#170 — FIX: Улучшение восстановления инструмента калькулятора (FIX: Improve calculator tool recovery - Pull Request #170 - merefield/discourse-chatbot - GitHub)
Приведены к синтаксису, совместимому с Dentaku, распространенные выражения, такие как Math::PI, Math.PI, Math::E, Math.E и π.
Повторные вызовы с неизменными невалидными данными теперь отклоняются с указанием действий для исправления. -
#171 — DEV: Обновление документации по чат-боту (DEV: Refresh chatbot documentation - Pull Request #171 - merefield/discourse-chatbot - GitHub)
Обновлен README для унифицированного бота и архитектуры инструментов, стратегий рассуждения, заблокированных вопросов, поведения калькулятора, лимитов, квот, пользовательских конечных точек, поддержки изображений/PDF и актуальных настроек. Поддержка Vision больше не описывается как экспериментальная.
Сопутствующие плагины
-
discourse-locations #4 — FIX: Обновление расширений локаций для Chatbot под Tool API (https://github.com/merefield/discourse-locations-early-access/pull/4)
Мигрированы извлеченные интеграции локаций в DiscourseChatbot::Tool, размещены в пространстве имен Locations::Chatbot::Tools и обновлены для унифицированного бота. -
Function extension example #1 — FIX: Обновление примера расширения под Tool API Chatbot (FIX: Update example extension for Chatbot tool API - Pull Request #1 - merefield/discourse-chatbot-function-extension-example - GitHub)
Обновлен пример плагина для демонстрации DiscourseChatbot::Tool, загрузки через Zeitwerk, ориентированных на инструменты настроек и
переводов, а также целенаправленного тестирования поведения без кода обратной совместимости.