Skip to content

Diana v0.8.93

Choose a tag to compare

@github-actions github-actions released this 07 Sep 02:21
· 64 commits to main since this release
b89a078

Diana v0.8.93 是一次回复稳定性与聊天表达修复版本:修复 Gemini 流式响应导致的循环崩溃,完善自然分条、重复问题识别和拒答冷却,并简化机器人配置卡片的视觉状态。本版本同时补齐各平台裸二进制发布资产。

优化改进

  • 自然分条从提示词约束升级为发送层确定性处理。开启自然分条后,普通聊天中仅用于排版的软换行会转换为合适的中英文标点;列表、标题、引用、代码块和文档结构继续保留必要换行。
  • 用户本轮明确要求“一条发送”时保留原始排版;明确要求“按内容分条”时临时启用整理,不修改机器人或群组的长期配置。
  • 增加同题重发识别和发送前语义去重,降低用户重复提问或消息重投时生成近似重复回复的概率。
  • 移除机器人卡片的激活态绿色高亮,减少多机器人配置页面中的视觉干扰;选择、启用和连接状态仍按原有状态字段显示。
  • Release 新增 Linux amd64/arm64、macOS amd64/arm64、Windows amd64 五个平台的裸二进制;完整包仍包含前端、启动脚本和卸载脚本。

Bug 修复

  • 修复 Gemini 流式响应偶尔不带 UsageMetadata 时后端空指针崩溃的问题。根因是该 SDK 字段为可选值,而旧代码对每个数据块都直接解引用;修复后缺失统计时保留最近一次有效用量或使用零值,真正的空响应则返回可诊断错误,不再拖垮整个机器人进程。
  • 修复模型拒答标志未被稳定识别的问题,并在同一会话短时间内连续拒答超过三次后暂停响应,避免机器人反复尝试、连续空转或发送相似拒答话术。
  • 修复自然分条关闭、片段合并或主动闲聊场景中,模型逐句换行被原样塞进同一气泡而显得机械的问题。

行为说明

  • “自然分条”现在同时控制语义分条和普通软换行整理;关闭后会尽量保留模型原始换行。
  • [diana-br] 等显式消息边界仍然优先,平台单条消息硬限制仍可能触发必要切分。
  • 列表、代码、引用和文档布局不会被软换行整理压成一行。
  • 拒答冷却只针对短时间连续拒答,不改变正常消息的主动回复、门禁或黑白名单规则。

升级指南

  • 完整 Release 包:下载对应平台的 .tar.gz.zip,解压后使用包内 run.shrun.bat。从支持 Release 自更新的旧版本升级时,也可在 WebUI 中检查并安装本版本。
  • Docker:拉取 ghcr.io/suink/diana:v0.8.93;需要跟随最新稳定版时可使用 ghcr.io/suink/diana:latest,然后按现有编排方式重建容器。
  • 源码部署:切换到标签 v0.8.93,重新执行前端依赖安装与生产构建,再编译并重启后端。model/version/VERSION 已与标签同步。
  • 仅下载裸二进制时,需要自行提供 frontend-next/dist;希望直接运行 WebUI 的用户应优先下载完整包。

测试覆盖

  • Go 全量测试、格式检查和模块校验通过。
  • Vue 类型检查、前端测试和生产构建通过;npm 高危级别安全审计为 0 个漏洞。
  • Linux amd64/arm64、Darwin amd64/arm64、Windows amd64 交叉构建通过。
  • Docker 镜像构建与发布通过。
  • 新增 Gemini 空响应/空用量、自然分条开关联动、本轮发送选择、中英文换行转换及结构化布局保护测试。

安装与下载

  • 完整包适合直接部署,内含后端、启动脚本和 frontend-next/dist
  • 裸二进制适合已有前端资源或自定义运行环境的部署。
  • 所有完整包和裸二进制均列入 SHA256SUMS,下载后可独立校验。

相关链接

  • PR #436:移除机器人卡片的激活态绿色高亮
  • PR #437:修复模型拒答标志并在短时间超过三次后暂停响应
  • PR #438:识别同题重发并增加发送前语义去重
  • PR #439:修复 Gemini 空 usage 导致后端循环崩溃
  • PR #440:自然分条在发送层整理无意义换行
  • PR #441:发布 v0.8.93,补齐裸二进制资产并同步版本基线
  • 完整版本对比:v0.8.92...v0.8.93