github AstrBotDevs/AstrBot v4.25.3

9 hours ago
  • 更新日志(简体中文)
  • Changelog(English)

What's Changed

重点更新

  • 修复钉钉 Stream 任务异常退出后无法持续重连的问题,提升钉钉适配器长连接稳定性。(#8610)
  • Dashboard 登录新增 TOTP 双因素认证。(#8189)
  • Dashboard 侧边栏新增插件 WebUI 入口,并支持 MDI 图标;插件页面现在会同步 Dashboard 主题。(#8569, #8390)
  • 优化未来任务 UI,提高 “创建任务” 的产品化程度。(#8559)
  • 新增 /name 命令用于命名 umo 且在 UI 中展示。 (#8575)
  • MiniMax Token Plan 支持动态获取模型列表,默认模型升级为 M3。(#8475, #8505)
  • 优化上下文压缩,提高压缩质量和 KV-cache 命中率。(#8530, #8226)

修复

  • 修复 Provider 统计遇到 SQLite lock 时未重试的问题。(commit)
  • 修复空 modalities 被当作已配置能力,导致核心图片请求错误路由到视觉 fallback 的问题。(#8451)
  • 修复 Reply 组件 toDict 额外字段导致私聊消息发送失败的问题。(#8477)
  • 修复带 Reply 组件唤醒机器人且用户提示为空时的处理问题。(#8461)
  • 修复 aiocqhttp 适配器无法解析语音的问题,并增加音频文件存在性检查。(#8523, #8529)
  • 修复 OpenAI Embedding 在 SiliconFlow 非 Qwen embedding 模型上的无效参数问题。(#8508)
  • 修复 Gemini Embedding 批量文本在 gemini-embedding-2 上被折叠的问题。(#8537)
  • 修复 WeCom AI 消息链提取纯文本时的空白处理问题。(#8563)
  • 修复 Dashboard 在 launcher 下运行时 frame 安全头过于严格的问题。(#8554)
  • 修复控制台 pip 安装错误展示,改为使用 toast 提示。(#8462)
  • 优化模板配置相关问题。(#8228)

优化与工程

  • 增强 Reply 消息链对 Record 组件的处理。(#8527)
  • Whisper STT 调用 OpenAI 转写接口后会关闭音频文件句柄。(#8528)
  • 防止唤醒命令被记录为群聊上下文。(#8536)
  • 修正中文文本中的 token 术语。(#8465)
  • 更新 GitHub Actions 依赖。(#8533)

What's Changed (EN)

Highlights

  • Fixed DingTalk Stream task recovery so the adapter keeps reconnecting after unexpected SDK task exits. (#8610)
  • Added TOTP two-factor authentication for Dashboard login. (#8189)
  • Added plugin WebUI entries to the Dashboard sidebar with MDI icon support, and synchronized Dashboard theme styling into plugin pages. (#8569, #8390)
  • Added the future task UI and introduced /name for naming umo entries shown in the UI. (#8559, #8575)
  • MiniMax Token Plan can now fetch model lists dynamically, with the default model upgraded to M3. (#8475, #8505)
  • Improved long-term memory and context compression quality, including better KV-cache hit rates. (#8530, #8226)

Bug Fixes

  • Retried provider stats reads when SQLite is locked. (commit)
  • Treated empty modalities as unconfigured so image requests do not incorrectly route to vision fallback. (#8451)
  • Fixed private message sending failures caused by extra fields in Reply component toDict output. (#8477)
  • Fixed waking the bot with a Reply component and an empty user prompt. (#8461)
  • Fixed voice parsing in the aiocqhttp adapter and added an audio file existence check. (#8523, #8529)
  • Fixed invalid OpenAI Embedding parameters for SiliconFlow non-Qwen embedding models. (#8508)
  • Wrapped Gemini batch embedding texts in Content to avoid collapse on gemini-embedding-2. (#8537)
  • Fixed whitespace handling when extracting plain text from WeCom AI message chains. (#8563)
  • Relaxed Dashboard frame security headers when running under the launcher. (#8554)
  • Displayed console pip-install errors with toast messages. (#8462)
  • Optimized template config handling. (#8228)

Improvements and Maintenance

  • Enhanced Reply chain handling for Record components. (#8527)
  • Closed audio file handles after OpenAI transcription calls in Whisper STT. (#8528)
  • Prevented wake commands from being recorded as group chat context. (#8536)
  • Fixed Chinese token terminology. (#8465)
  • Updated GitHub Actions dependencies. (#8533)

What's Changed

  • Fix&Feat: Template config optimization by @Railgun19457 in #8228
  • chore: fix token terminology in zh by @Rain-0x01-39 in #8465
  • feat: dynamically fetch model list for MiniMax Token Plan via /v1/models API by @Blueteemo in #8475
  • fix: waking bot with a reply component and empty user prompt by @lingyun14beta in #8461
  • feat: add TOTP two-factor authentication for dashboard login by @Raven95676 in #8189
  • fix(message): 修复 Reply 组件 toDict 方法输出多余字段导致私聊消息发送失败的问题 by @NayukiChiba in #8477
  • fix(core): 将空 list modalities 视为未配置,修复图片无法传递到模型的问题 by @Sisyphbaous-DT-Project in #8451
  • feat: upgrade MiniMax Token Plan default model to M3 by @octo-patch in #8505
  • fix(console): use toast for pip-install error display by @xxynet in #8462
  • fix(ltm): prevent wake commands from being recorded as group chat context by @RC-CHN in #8536
  • fix: cannot resolve voice when using aiocqhttp adapter by @tjc6666666666666 in #8523
  • chore(deps): bump docker/setup-qemu-action from 4.0.0 to 4.1.0 in the github-actions group by @dependabot[bot] in #8533
  • Add check for audio file existence by @tjc6666666666666 in #8529
  • perf(stt-whisper): close the audio file handle after calling the OpenAI transcription API by @tjc6666666666666 in #8528
  • fix(openai-embedding): temporarily fix invalid paramater for SiliconFlow provider's non-Qwen embedding models by @Allenyou1126 in #8508
  • fix(gemini-embedding): wrap batch embedding texts in Content to avoid collapse on gemini-embedding-2 by @Rat0323 in #8537
  • fix(compress): improve context compression, improve kv-cache rate of context compression, handle compression model modalities by @Foolllll-J in #8530
  • fix(dashboard): relax frame security headers when running under launcher by @lxfight in #8554
  • feat: future task UI by @Soulter in #8559
  • fix(wecomai_event): 修复消息链提取纯文本时的空白处理 by @NayukiChiba in #8563
  • Enhance Reply chain handling for Record components by @tjc6666666666666 in #8527
  • fix: retry provider stats on sqlite lock by @zouyonghe in #8574
  • feat: introduce a command /name to name a umo, and display in ui by @Soulter in #8575
  • feat: sync dashboard theme to plugin pages by @lxfight in #8390
  • feat(dashboard): add plugin WebUI entries to sidebar with MDI icon support by @lxfight in #8569
  • fix: keep DingTalk stream reconnecting by @Soulter in #8610

New Contributors

Full Changelog: v4.25.2...v4.25.3

Don't miss a new AstrBot release

NewReleases is sending notifications on new releases.