近期 PR 摘要 — 2026年8月1日至3日
多个相关的 PR 已在 Discourse Chatbot 及其扩展插件中合并。
亮点
- 引入了高级本地推理策略,包括验证与修订、择优二选一以及不确定性引导推理。
- 添加了当前的 OpenAI 模型及新的最大推理努力(max reasoning effort)选项。
- 添加了基于嵌入相似性的语义屏蔽问题网关。
- 通过嵌入技术屏蔽您不希望机器人处理的主题,从而在不消耗 LLM token 的情况下实现显著节省。
- 将基础版和 RAG 实现整合为单一的 DiscourseChatbot::Bot。
- 用内置的信任等级工具选择器替换了机器人模式设置。
- 将扩展 API 的名称从“Function”改为“Tool”。
- 用受限的 Dentaku 表达式求值器替换了基于 SafeRuby 的计算器工具——这在安全性方面是一个重大改进,因为尽管名为 SafeRuby,但它存在漏洞。
- 在 Chatbot 及其扩展插件中全面采用 Zeitwerk 加载机制。
- 将特定于位置的工具移至 Locations Early Access 插件(赞助我以重新获得访问权限)
- 改进了计算器的错误恢复及对常见 π/e 符号的支持。
- 更新了 README
- 主插件版本从 1.8.0 升级至 2.4.1。
Discourse Chatbot
-
#162 — 修复:保留 Responses API 推理状态 (FIX: Preserve Responses API reasoning state - Pull Request #162 - merefield/discourse-chatbot - GitHub)
使 Responses API 的推理和工具延续更加可靠,引入了可配置的迭代和 token 限制,
改进了 URL 来源验证,保留了有用的部分响应,并防止空白或格式错误的响应被接受。 -
#163 — 功能:添加高级本地推理策略 (FEATURE: Add advanced local reasoning strategies - Pull Request #163 - merefield/discourse-chatbot - GitHub)
为 Chat Completions 添加了简单、验证与修订、择优二选一以及不确定性引导推理策略,并包含
有界辅助请求和工作人员可见的审计记录。 -
#164 — 功能:添加当前 OpenAI 模型 (FEATURE: Add current OpenAI models - Pull Request #164 - merefield/discourse-chatbot - GitHub)
使用较新的 GPT-5.x 和 Pro 变体更新了模型选择器,将适当的模型路由至 Responses
API,并添加了最大推理努力选项。 -
#165 — 修复:改进计算器重试指导 (FIX: Improve calculator retry guidance - Pull Request #165 - merefield/discourse-chatbot - GitHub)
为模型提供了更清晰的计算器语法和恢复指导,以便在出现可纠正的失败时进行适当的重试。 -
#166 — 功能:添加语义屏蔽问题网关 (FEATURE: Add semantic blocked-question gate - Pull Request #166 - merefield/discourse-chatbot - GitHub)
添加了一个可选的基于嵌入的网关,它可以识别管理员定义的屏蔽主题,并在调用主模型之前返回预设回复。它包括缓存、工作人员审计、故障时开放行为以及自定义嵌入模型支持。 -
#167 — 开发:替换 SafeRuby 并采用 Zeitwerk 加载 (DEV: Replace SafeRuby and adopt Zeitwerk loading - Pull Request #167 - merefield/discourse-chatbot - GitHub)
用 Dentaku 替换了内嵌的 SafeRuby 求值器,使命名空间和文件名符合 Zeitwerk 规范,并
现代化了插件的加载和 lint 配置。事实证明 SafeRuby 存在漏洞,因此进行了迁移。 -
#168 — 开发:从 Chatbot 中提取位置功能 (DEV: Extract Locations functions from Chatbot - Pull Request #168 - merefield/discourse-chatbot - GitHub)
从主插件中移除了特定于位置的工具和设置,允许它们由 discourse-locations 独立提供。 -
#169 — 功能:用信任等级工具选择替换机器人模式
(FEATURE: Replace bot modes with trust-level tool selection - Pull Request #169 - merefield/discourse-chatbot - GitHub)
这是主要的架构合理化工作:- 用 DiscourseChatbot::Bot 替换了独立的基础版和 RAG 机器人。
- 为每个信任等级添加了内置工具选择器。
- 使空选择器等效于一个简单的、无工具的机器人。
- 将视觉和绘画功能纳入工具选择系统。
- 将外部提供的插件工具保留在内置选择器之外。
- 将 Function 术语、设置和类重命名为 Tool。
- 重新排序、集中并条件性地隐藏了设置。
- 添加了对现有配置的迁移处理。
- 使配额扣减具备并发安全性。
- 修正了响应字符限制、日志记录选择以及二进制 PDF 读取。
-
#170 — 修复:改进计算器工具恢复 (FIX: Improve calculator tool recovery - Pull Request #170 - merefield/discourse-chatbot - GitHub)
将常见的表达式如 Math::PI、Math.PI、Math::E、Math.E 和 π 标准化为 Dentaku 兼容语法。
现在会拒绝重复的不变无效调用,并提供可操作的指导。 -
#171 — 开发:更新 chatbot 文档 (DEV: Refresh chatbot documentation - Pull Request #171 - merefield/discourse-chatbot - GitHub)
更新了 README,涵盖统一的机器人和工具架构、推理策略、屏蔽问题、计算器行为、限制、配额、自定义端点、图像/PDF 支持以及当前设置。视觉支持不再被描述为实验性功能。
配套插件
-
discourse-locations #4 — 修复:更新 Chatbot 位置扩展以适配工具 API (https://github.com/merefield/discourse-locations-early-access/pull/4)
将提取的位置集成迁移至 DiscourseChatbot::Tool,将其置于 Locations::Chatbot::Tools 下,
并针对统一机器人进行了更新。 -
Function 扩展示例 #1 — 修复:更新示例扩展以适配 Chatbot 工具 API (FIX: Update example extension for Chatbot tool API - Pull Request #1 - merefield/discourse-chatbot-function-extension-example - GitHub)
更新了示例插件,以演示 DiscourseChatbot::Tool、Zeitwerk 加载、面向工具的设置和
翻译,以及在不使用遗留兼容代码的情况下进行聚焦的行为测试。