github AstrBotDevs/AstrBot v4.20.1

7 hours ago

What's Changed

新增

  • 补充 MiniMax Provider。(#6318
  • 新增 WebUI ChatUI 页面的会话批量删除功能。(#6160
  • 新增 WebUI ChatUI 配置发送快捷键。(#6272

优化

  • 优化 UMO 处理兼容性。(#5996
  • 重构 _extract_session_id,改进聊天类型分支处理。(#5775
  • 优化聊天组件行为,使用 shiki 进行代码块渲染。(#6286
  • 优化 WebUI 主题配色与视觉体验。(#6263
  • 优化 OneBot @ 组件后处理,避免消息文本解析空格问题。(#6238

修复

  • 修复创建新 Provider 后未同步 providers_config 的问题。(#6388
  • 修复 API 返回 null choices 时的 TypeError。(#6313
  • 修复 QQ Webhook 重试回调重复触发的问题。(#6320
  • 修复流式模式下 deltaNone 导致工具调用时报错的问题。(#6365
  • 修复模型服务链接说明文字错误。(#6296
  • 修复 AI 在 tool-calling 模式设为 skills-like 时发送媒体失败的问题。(#6317
  • 修复 Telegram 适配器中 GIF 被错误转成静态图的问题。(#6329
  • 将 Provider 图标来源替换为 jsDelivr CDN 地址,修复部分环境下图标加载问题。(#6340
  • 修复 QQ 官方表情消息未解析为可读文本的问题。(#6355
  • 修复 WebChat 队列异常时流式结果页面崩溃的问题。(#6123
  • 修复子代理 handoff 工具在插件过滤时丢失的问题。(#6155
  • 修复 Cron 提示文案缺少空格及 utcnow() 的弃用警告问题。(#6192
  • 修复 WebUI 启动时 Sidebar hash 导航抖动/定位问题。(#6159
  • 修复启动重试过程中移除已移除 API Key 的 ValueError 报错。(#6193
  • 修复 README 启动命令引用更新为 astrbot run。(#6189
  • 修复 Plain.toDict()@ 提及场景下空白字符丢失的问题。(#6244
  • 修复 provider 依赖重复定义问题。(#6247
  • 修复 Telegram 中普通回复被误判为线程的处理问题。(#6174

其他

  • 调整 astrbot.service 及 CI 配置,升级 GitHub Actions 版本。

What's Changed (EN)

New Features

  • Added OpenRouter chat completion provider adapter with support for custom headers (#6436).
  • Added MiniMax provider (#6318).
  • Added batch conversation deletion in WebChat (#6160).
  • Added send shortcut settings and localization support for WebChat input (#6272).
  • Added local temporary directory binding in YAML config (#6191).

Improvements

  • Improved UMO processing compatibility (#5996).
  • Refactored _extract_session_id for chat type handling (#5775).
  • Improved chat component behavior and uses shiki for code-block rendering (#6286).
  • Improved WebUI theme color and visual behavior (#6263).
  • Improved OneBot @ component spacing handling (#6238).
  • Improved PR checklist validation and closure messaging.

Bug Fixes

  • Fixed missing providers_config sync after creating new providers (#6388).
  • Fixed TypeError when API returns null choices (#6313).
  • Fixed repeated QQ webhook retry callbacks (#6320).
  • Fixed tool-calling streaming null delta handling to prevent AttributeError (#6365).
  • Fixed model service link wording in docs/config (#6296).
  • Fixed AI media sending failure when tool-calling mode is set to skills-like (#6317).
  • Fixed GIF being sent as static image in Telegram adapter (#6329).
  • Replaced npm registry URLs with jsDelivr CDN for provider icons (#6340).
  • Fixed QQ official face message parsing to readable text (#6355).
  • Fixed WebChat stream-result crash on queue errors (#6123).
  • Preserved subagent handoff tools during plugin filtering (#6155).
  • Fixed cron prompt spacing and deprecated utcnow() usage (#6192).
  • Fixed unstable sidebar hash navigation on startup (#6159).
  • Fixed ValueError in retry loop when removing an already removed API key (#6193).
  • Updated startup command to astrbot run across READMEs (#6189).
  • Preserved whitespace in Plain.toDict() for @ mentions (#6244).
  • Removed duplicate dependencies entries (#6247).
  • Fixed Telegram normal reply being treated as topic thread (#6174).

Documentation

  • Updated rainyun backup/access documentation (#6427).
  • Updated package.md and platform docs, including Matrix and Wecom AI bot documentation.
  • Fixed Discord invite link in community docs.

Chores

  • Updated PR templates/checklist workflow, repository service config, and automated checks.
  • Refreshed repository automation and formatting maintenance, and removed obsolete changelog scripts.

Don't miss a new AstrBot release

NewReleases is sending notifications on new releases.