github AstrBotDevs/AstrBot v4.28.1

4 hours ago

4.28.1 - 2026-09-14

We live in stories we collectively believe in.

我们活在共同相信的故事里。

Additions and Optimizations

  • Added paginated ChatUI history loading and improved chat settings, the message composer, and streaming interactions. Reasoning is now displayed by default, and workspace code previews use Shiki highlighting. (#9667, #10021, #10020, #10023)
  • Added provider source filters and sticky group headers to model selection, and improved provider configuration dialogs. (#10084, #10007)
  • Added adaptive input image processing for the built-in Agent: resize or convert images when needed and turn animated images into frame montages. Preserve static image dimensions in CUA sandboxes and warn when images may exceed provider upload limits. (#9703, #10071)
  • Unified /new and /reset to start a new conversation, with permissions configurable in command management. (#10004)
  • Added desktop update download progress and reduced bundled WebUI font and diagram assets. (#10050, #10034)
  • Improved configuration slider robustness. (#10037)
  • Standardized provider request User-Agent headers to include the AstrBot version. (#10082)

Fixes

  • ‼️ Preserved original image attachment paths after event cleanup so agents can continue to access attachments. (#10042)
  • Fixed plugin updates through URL and file installation. (#10053)
  • Fixed model selection in WebChat side threads and restored session model fallback for proactive agents. (#10065, #10028)
  • Fixed delivery of skills-like fallback replies during streaming. (#10025)
  • Made scheduled agents honor session context compression settings and record failures when the runner ends in an error state. (#9992, #9987)
  • Fixed OpenAI endpoint resolution when api_base is empty. (#10079)
  • Fixed missing fields, swallowed error codes, and parameter validation in web search tools. (#9979)
  • Spaced out concurrent URL-cleaning rate limiter waiters in the knowledge base. (#10015)
  • Improved Lark private-message delivery by falling back from rejected open IDs to known chat IDs without duplicating successful sends. (#10018)
  • Fixed QQ Official C2C streaming responses missing the closing frame. (#10069)
  • Reduced Telegram polling and conflict error log spam. (#10027, #10046)
  • Fixed mention-all handling in message outlines. (#9993)
  • Fixed current conversation deletion when the active conversation must be resolved from storage, and used WebChat session titles as a fallback in conversation history. (#10003, #9983)
  • Batched console log rendering to prevent WebUI freezes. (#9988, #9990)
  • Rejected stale WebUI assets in desktop-managed mode and excluded temporary dashboard build artifacts from PyPI source packages. (#9898, #10036)

Upgrade Notes

  • /reset now follows /new: the built-in Agent starts a new conversation while preserving the old history and current persona. Third-party Agent backends reset their stored session IDs and may not preserve old records. (#10004)

中文

新增与优化

  • 新增 ChatUI 历史消息分页加载,优化聊天设置、消息输入框和流式交互体验。默认显示推理过程,工作区代码预览使用 Shiki 语法高亮。 (#9667, #10021, #10020, #10023)
  • 为模型选择器新增提供商来源筛选和分组标题吸顶,优化模型提供商配置对话框。 (#10084, #10007)
  • 为内置 Agent 新增自适应输入图片处理:按需缩放、转换格式,并将动图转为多帧拼图。在 CUA 沙箱下保留静图尺寸,图片可能超过模型提供商上传限制时给出警告。 (#9703, #10071)
  • 统一 /new/reset 的新建对话行为,并支持在指令管理中配置权限。 (#10004)
  • 新增桌面端更新下载进度显示,精简 WebUI 打包的字体和图表资源。 (#10050, #10034)
  • 改进配置滑块的健壮性。 (#10037)
  • 统一模型提供商请求的 User-Agent,使其包含 AstrBot 版本。 (#10082)

修复

  • ‼️ 在事件清理后保留图片附件原图路径,使 Agent 能够继续访问附件。 (#10042)
  • 修复通过 URL 或文件安装方式更新插件出现的问题。 (#10053)
  • 修复 WebChat 侧边线程的模型选择,恢复主动 Agent 对会话模型的回退逻辑。 (#10065, #10028)
  • 修复流式模式下 skills-like 回退回复未送达的问题。 (#10025)
  • 使定时任务 Agent 遵循会话上下文压缩设置,并在执行器以错误状态结束时记录任务失败。 (#9992, #9987)
  • 修复 api_base 为空时的 OpenAI 接口地址解析。 (#10079)
  • 修复网页搜索工具的字段丢失、错误码吞没和参数校验问题。 (#9979)
  • 修复知识库 URL 清洗限流器中并发等待请求未错开执行的问题。 (#10015)
  • 提高飞书私聊消息送达可靠性:open ID 被拒绝时回退到已知 chat ID,避免重复发送已成功的消息。 (#10018)
  • 修复 QQ 官方机器人 C2C 流式回复缺少结束帧的问题。 (#10069)
  • 减少 Telegram 轮询和冲突错误的重复日志。 (#10027, #10046)
  • 修复消息概要中全体成员提及的处理顺序。 (#9993)
  • 修复需要从持久化存储解析当前对话时的删除行为,并在对话历史中使用 WebChat 会话标题作为回退。 (#10003, #9983)
  • 批量渲染控制台日志,避免 WebUI 卡顿。 (#9988, #9990)
  • 修复桌面端托管模式加载过期 WebUI 资源的问题,并从 PyPI 源码包中排除临时前端构建产物。 (#9898, #10036)

升级提示

  • /reset 现在与 /new 行为一致:内置 Agent 会创建新对话,保留旧历史并继承当前人格;第三方 Agent 后端会重置保存的会话 ID,不保证保留旧记录。群聊默认权限跟随对话隔离设置,已有指令权限设置继续生效。 (#10004)

What's Changed

  • fix(dashboard): reject stale WebUI assets in desktop-managed mode by @JosephTian876 in #9898
  • fix(cron): honor session context compression settings by @camera-2018 in #9992
  • fix(cron): record active-agent job failure when the runner ends in ERROR by @he-yufeng in #9987
  • perf: improve provider dialog by @Soulter in #10007
  • fix: resolve persisted current conversation before deletion by @wcqqq1214 in #10003
  • fix: batch console log rendering to avoid UI freeze (#9988) by @nina-ysml in #9990
  • fix(webui): fall back to WebChat session titles in conversation history by @heerxingen in #9983
  • fix: resolve field loss, error code swallowing, and parameter validation issues in web search tool by @WangPan59 in #9979
  • fix: correct At/AtAll branch order in message outline by @DFGHJ43 in #9993
  • feat(webchat): enable reasoning display by default by @Soulter in #10020
  • feat(chatui): refine settings, composer and streaming experience by @Soulter in #10021
  • fix(lark): Ensure Lark private messages are delivered reliably by falling back from rejected open IDs to known chat IDs without duplicating successful sends. by @NayukiChiba in #10018
  • feat(chatui): reuse Shiki for workspace code previews by @Soulter in #10023
  • perf(dashboard): reduce bundled font and diagram assets by @Soulter in #10034
  • fix(ci): exclude temporary dashboard artifacts from PyPI source packages by @Soulter in #10036
  • feat: enhance slider robustness by @PyuraMazo in #10037
  • fix(agent): deliver skills-like fallback replies when streaming by @camera-2018 in #10025
  • fix(kb): space out concurrent waiters in the URL cleaning RateLimiter by @L4XB in #10015
  • fix: restore session model fallback for proactive agents by @beemines in #10028
  • fix: preserve image attachment paths after event cleanup by @Soulter in #10042
  • feat(dashboard): paginate chat history by @wcqqq1214 in #9667
  • feat(dashboard): show desktop update download progress by @Soulter in #10050
  • feat: unify /new and /reset behavior by @w31r4 in #10004
  • fix: support plugin updates through URL and file installation by @Soulter in #10053
  • fix: use selected model in webchat side threads by @Soulter in #10065
  • feat: adaptively prepare model input images in the local process stage by @piexian in #9703
  • fix: standardize provider user agents with the AstrBot version by @Soulter in #10082
  • fix(qqofficial): always send the state=10 closing frame in C2C streaming by @he-yufeng in #10069
  • feat: optimize model selection with source filters and sticky groups by @Soulter in #10084
  • fix: preserve OpenAI endpoint resolution for empty api_base by @wcqqq1214 in #10079
  • fix: reduce Telegram log spam from polling and conflict errors (#10027) by @nina-ysml in #10046
  • fix: preserve input image geometry under CUA sandbox and warn on oversized images by @piexian in #10071
  • chore: bump version to 4.28.1 by @Soulter in #10085

New Contributors

Full Changelog: v4.28.0...v4.28.1

Don't miss a new AstrBot release

NewReleases is sending notifications on new releases.