Repository navigation
Releases: AstrBotDevs/AstrBot
Release list
v4.29.1
我们计划于 2026 年 11 月 1 日停止支持对 < Python 3.12 版本的支持。如果您的 Python 版本仍然是 3.10, 3.11,请及时更换新的 Python 版本。
We plan to end support for Python versions prior to 3.12 on November 1st. If you are currently using Python 3.10 or 3.11, please upgrade to a newer version of Python.
[4.29.1] - 2026-10-17
新增
- 网页搜索:“网页搜索” 能力新增 SerpApi 搜索服务 (Google 网页搜索、图片搜索、学术搜索、财经搜索)、DeepSeek 搜索服务(网页搜索、网页内容提取)。 (#10599)
- 插件开发:为插件的单选/多选配置项(list 类型)添加本地化的
subtitles副标题元数据。
修复
‼️ 电脑使用:修复部分环境(如 Docker 容器环境)下,本地隔离不可用时,无法保存 Local 权限的问题。(#10584)- 电脑使用:恢复 Windows 下工作区范围内的文件读取、写入和编辑,通过原生文件句柄检查拒绝重解析点和硬链接别名。 (#10584)
- Core:修复开启 “会话隔离” 功能后可能造成的内存泄漏。在注册消息处理流水线之前完成群聊会话隔离,确保运行中的任务及停止请求使用正确的会话。 (#10581)
- Telegram:转换消息时保留隐藏链接。 (#10557)
- Discord:修复全体成员提及。 (#10563)
- WebUI:修复移动端点击插件视图信息后浮层立即关闭的问题。 (#10562)
- Edge TTS:保留原生客户端的 User-Agent,避免请求失败。 (#10588)
- Skills:跳过无法读取的本地及插件技能目录,避免单个目录异常导致整轮 Agent 请求失败。 (#10591)
Added
- Web Search: Added SerpApi (Google Search, Google Image Search, Google Scholar Search and Google Finance Search) and DeepSeek Search API (web search and page content extraction). (#10599)
- Plugin development: Added localized subtitle metadata for single-select/multi-select configuration options (of type 'list') in plugins.
Fixed
‼️ Computer Use: Restored workspace-scoped file reading, writing, and editing on Windows. Native handle checks reject reparse points and hardlink aliases. (#10584)- Computer Use: Fixed saving Local permissions when isolation is unavailable. File access remains configurable; execution requiring unavailable isolation is blocked at tool execution. Defaults now give members workspace file access without execution, and administrators entire-environment execution with networking. Legacy Windows member policies with all access disabled migrate once to workspace file access, including identical manually disabled policies because their origin was not stored; later choices remain unchanged. (#10584)
- Core: Fixed a potential memory leak that could occur when the "session isolation" feature is enabled. Group chat session isolation is now performed before registering the message-processing pipeline, ensuring that both ongoing tasks and termination requests utilize the correct session. (#10581)
- Telegram: Preserved hidden links when converting messages. (#10557)
- Discord: Corrected everyone mentions. (#10563)
- WebUI: Kept plugin View information popovers open when tapped on mobile. (#10562)
- Edge TTS: Preserved the native client User-Agent to avoid request failures. (#10588)
- Skills: Skipped unreadable local and plugin skill directories instead of failing the entire agent request. (#10591)
Full Changelog: v4.29.0...v4.29.1
What's Changed
- fix: preserve Telegram hidden links in converted messages by @wcqqq1214 in #10557
- fix: correct Discord everyone mentions by @wcqqq1214 in #10563
- fix(dashboard): keep plugin view info popover open on mobile by @lingyun14beta in #10562
- fix(core): isolate sessions before pipeline registration by @Soulter in #10581
- fix: restore Windows workspace files and simplify Local permissions by @Soulter in #10584
- feat(websearch): add DeepSeek search and page fetching by @letr007 in #10599
- docs: add Simplified Chinese Code of Conduct and link it in issue templates by @XTsat in #10580
- fix: preserve native Edge TTS user agent by @wcqqq1214 in #10588
- fix(skills): keep one unreadable skill directory from failing the whole request by @he-yufeng in #10591
- feat: add SerpApi search tools and provider descriptions by @Soulter in #10601
- chore: bump version to 4.29.1 by @Soulter in #10602
Full Changelog: v4.29.0...v4.29.1
v4.29.0
[4.29.0] - 2026-10-14
This release includes all changes from v4.29.0-beta.1 and v4.29.0-beta.2, plus changes since v4.29.0-beta.2. The full release range starts at v4.28.0.
Major Additions
- Computer Use: Added OS-specific sandbox support for the local execution environment, available on macOS with Seatbelt and Linux with bubblewrap only. Please refer to: https://docs.astrbot.app/use/astrbot-agent-sandbox.html (#9472)
- ChatUI: Added chat history and sidebar session pagination, persistent input drafts, per-session model selection, and input autofocus when switching projects. (#9667, #10279, #10247, #10301)
- ChatUI: Added provider source filters and sticky groups to model selection, plus search on the Skills and MCP pages. (#10084, #10217)
- Text-to-image settings have moved from Settings to Configuration Profiles → Extensions and are now configured separately for each profile.
- Administrator and whitelist settings have moved from Configuration Profiles → Platform to Configuration Profiles → Access Control. (#10321)
- WebUI: Added a workspace directory picker and update download progress in the desktop app. (#10222, #10227, #10050)
- Desktop: Added macOS frosted-glass effects to the WebUI sidebar and top bar. (#10222, #10227, #10050)
- Core: Added agent step budget reminders, migrated legacy limits, increased the default agent step limit, and extended shell session waits. (#10131, #10133)
- Core: Added the
x-astrbot-conversation-idconversation ID header to provider requests. (#10218, #10237) - WebUI: Added model settings shortcuts beside selected models and in model/fallback menus. Changes save immediately for every configuration profile using that model. (#10321)
- WebUI: Added console log search and keyword highlighting, source badges for Skills, staged image previews in ChatUI, and remembered the last opened Data & Logs tab. (#10327, #10339, #10376, #10251)
- WebUI: Added configuration profile editing in a side drawer from the bot editor. (#10310)
- Docker: Included the
astrbotCLI for password reset inside containers. (#10442) - Logs: Added combined level, source, plugin, platform, and keyword filtering, an option to hide user-chat logs, and font-size controls from 8–16px (12px by default, in 2px steps). Plugin selectors show display names with IDs as subtitles. (#10514)
Major Optimizations
- WebUI: Refined the sidebar and top bar, reducing their vertical footprint to display more information. (#10222, #10227, #10050)
- Improved conversation data previews on the Data & Logs page. (#10021, #10020, #10023, #10108)
- Added resumable chunked uploads with bounded memory use, compressed dashboard static assets, and reduced bundled font and diagram assets. (#10123, #10187, #10034)
- Improved streamed response and reasoning panel scrolling, preserved scroll position while loading history, and coalesced automatic scrolling per animation frame. (#10219, #10221, #10243, #10253, #10257, #10271)
- Improved model input image preparation, preserved image geometry, limited encoded image sizes, and explained animation-to-frame conversion to models. (#9703, #10071, #10120, #10119)
- Batched console log rendering, optimized provider dialogs and trace updates, and removed unnecessary session and rate-limit work. (#9990, #10007, #10270, #10273, #10274)
- WebUI: Significantly reduced initial loading overhead and improved loading speed by lazy-loading VAD, Monaco, translations, and ApexCharts, and enabling gzip responses. (#10413)
- WebUI: Kept content borders and corners fixed while scrolling, added 6px desktop right/bottom gaps, and pinned configuration/settings headers and section navigation while the content pane scrolls. (#10480)
- Computer Use: Clarified local permission access modes, kept execution and file access controls visible when local isolation is unavailable, and linked setup guidance to the consolidated Agent Sandbox guide. (#10444, #10445, #10487)
- Docs: Refreshed Chinese and English plugin and built-in AI guides with current workflows, troubleshooting, and localized screenshots; updated Slack and Lark/Feishu setup instructions. (#10487, #10353, #10400)
- Logs: Added structured source, plugin, platform, and category metadata for in-memory filtering. New logs follow automatically when scrolled to the bottom and preserve the reading position when viewing older entries. (#10514)
- Agent: Moved per-run scheduled-task context after conversation history to keep the system prompt stable and preserve prompt-cache reuse. (#10549)
Major Fixes
- Restored the previous command behavior:
/resetclears the current conversation context;/newcreates and switches to a new conversation. Fixed persisted conversation deletion and history titles. (#10118, #10003, #9983) - Fixed queued request history refresh, attachment preparation before session locking, and queued requests continuing after LLM processing is disabled. (#10238, #10209, #10234)
- Fixed WebChat side-thread model selection, proactive-agent model fallback, WebChat wake-prefix gating, and streamed fallback replies. (#10065, #10028, #10245, #10025)
- Fixed scheduled-agent failure reporting, context compression and plugin filters; preserved reminders after invalid edits, clarified task ownership, and increased cron misfire grace to 300 seconds. (#9987, #9992, #10163, #10075, #10104, #10183)
- Fixed OpenAI-compatible endpoint resolution, stacked SDK retries, thinking-tag parsing, Gemini narration history, Azure TTS client lifetimes, Xinference rerank error propagation, and emoji token estimates. (#10079, #9669, #10116, #10132, #10101, #10051, #10216)
- Fixed Lark private message delivery, QQ official mentions and C2C stream completion, OneBot file resolution, and excessive Telegram polling logs. (#10018, #9705, #10069, #10098, #10046)
- Fixed cleared Satori heartbeat/reconnect settings and WeChat Official Account timeout fields disabling expected safeguards. (#10248, #10229)
- Fixed plugin updates from URLs and files, Windows long-path plugin extraction, and default GitHub branch resolution. (#10053, #10193, #10080)
- Fixed web search parameter handling, knowledge-base URL rate limiting, literal escapes in file edits, image attachment lifetime and cleanup, and segmented-reply logging failures dropping responses. (#9979, #10015, #10112, #10042, #10090, #10231)
- Fixed datetime persistence across SQLModel upgrades and compared platform message history cutoffs in UTC. (#10211, #10246)
- Fixed stale desktop WebUI assets and served version detection, mobile drawer behavior, dark-mode icons and console contrast, hidden conversations, legacy icons, and statistics timers after unmount. (#9898, #10156, #10256, #10061, #10135, #10129, #10278, #10272)
- Agent: Stopping a session now stops its background agent work and prevents late main-agent wakeups. Cleaned up session waiters only once and kept async tool generators in the same task. (#10323, #10347, #10474)
- Agent: Warned when a background task result is not delivered to the user and avoided recording cron sends without a matching platform. (#10398, #10468)
- Core: Fell back promptly after failed context summaries, matched command group names as whole words, maintained one editable system default persona, and preserved child folders when deleting persona folders. (#10436, #10372, #10287, #10361)
- Providers: Preserved Anthropic tool calls with empty streamed input, merged custom server tools with registered tools, replaced the retired Gemini embedding default with
gemini-embedding-001, and handled CRLF separators in Dify streams. (#10432, #10437, #10393, #10392) - Images: Rejected unresolved and non-regular image references instead of fabricating local paths, retained pending-path handling for audio/video/files, and skipped invalid images during non-strict payload assembly. Added tolerance for oversized base64 payloads and long Windows paths. (#10434)
- Audio: Degraded unresolvable voice attachments without failing the turn, avoided blocking format probes, and closed FishAudio TTS clients after requests. (#10337, #10055, #10358)
- Platforms: Fixed UTF-16 offsets and case-insensitive bot mentions in Telegram, and left the Telegram token empty by default. Preserved Slack code blocks, quotes, lists, links, and mentions, and resolved remote Slack files before upload. Sent Discord video components as attachments and prevented self-reply loops. (#10367, #10399, #10365, #10380, #10447, #10448, #10355, #10423, #10425)
- WebUI: Enforced session ownership when sending chat messages, stored attachments under unique names, restored plugin README anchors, and corrected dark-mode log search and default-profile localization. (#10346, #10356, #10341, #10351, #10296)
- WebUI: Refreshed navigation and provider icons, corrected the configuration test-chat button theme color, and updated the plugin submission link and label. Reused logo tokens and refreshed expired platform caches. (#10304, #10332, #10309, #10471, #10294)
- Providers: Preserved complete Anthropic tool parameter schemas, including references and constraints, and rejected non-object root schemas. Reported Coze chat failures and incomplete streams, and handled Dify workflow errors, failed completion statuses, and streams ending without a successful completion event. (#10520, #10523, #10545)
- Platforms: Delivered Slack TTS audio with text fallback, included quoted Discord reply text in model requests, populated QQ official outbound reply references, and preserved Lark/Feishu rich-text titles and whitespace, including quoted messages. (#10496, #10452, #10489, #10543)
- ChatUI: Localized LLM request errors and restored playback and downloads for sent audio, video, and file messages. (#10478, #10483)
- WebUI: Preserved the remembered Data & Logs tab when leaving the workspace and kept the mobile sidebar bottom clear of browser controls. (#10498, #10512)
- WebUI: ...
v4.29.0-beta.2
[4.29.0-beta.2] - 2026-10-11
This prerelease includes changes since v4.29.0-beta.1.
Major Additions
- WebUI: Added model settings shortcuts beside selected models and in model/fallback menus. Changes save immediately for every configuration profile using that model. (#10321)
- WebUI: Added console log search and keyword highlighting, source badges for Skills, staged image previews in ChatUI, and remembered the last opened Data & Logs tab. (#10327, #10339, #10376, #10251)
- WebUI: Added configuration profile editing in a side drawer from the bot editor. (#10310)
- Docker: Included the
astrbotCLI for password reset inside containers. (#10442)
Major Optimizations
- WebUI: Significantly reduced initial loading overhead and improved loading speed by lazy-loading VAD, Monaco, translations, and ApexCharts, and enabling gzip responses. (#10413)
- WebUI: Kept content borders and corners fixed while scrolling, added 6px desktop right/bottom gaps, and pinned configuration/settings headers and section navigation while the content pane scrolls. (#10480)
- Computer Use: Clarified local permission access modes, kept execution and file access controls visible when local isolation is unavailable, and linked setup guidance to the consolidated Agent Sandbox guide. (#10444, #10445, #10487)
- Docs: Refreshed Chinese and English plugin and built-in AI guides with current workflows, troubleshooting, and localized screenshots; updated Slack and Lark/Feishu setup instructions. (#10487, #10353, #10400)
Major Fixes
- Agent: Stopping a session now stops its background agent work and prevents late main-agent wakeups. Cleaned up session waiters only once and kept async tool generators in the same task. (#10323, #10347, #10474)
- Agent: Warned when a background task result is not delivered to the user and avoided recording cron sends without a matching platform. (#10398, #10468)
- Core: Fell back promptly after failed context summaries, matched command group names as whole words, maintained one editable system default persona, and preserved child folders when deleting persona folders. (#10436, #10372, #10287, #10361)
- Providers: Preserved Anthropic tool calls with empty streamed input, merged custom server tools with registered tools, replaced the retired Gemini embedding default with
gemini-embedding-001, and handled CRLF separators in Dify streams. (#10432, #10437, #10393, #10392) - Images: Rejected unresolved and non-regular image references instead of fabricating local paths, retained pending-path handling for audio/video/files, and skipped invalid images during non-strict payload assembly. Added tolerance for oversized base64 payloads and long Windows paths. (#10434)
- Audio: Degraded unresolvable voice attachments without failing the turn, avoided blocking format probes, and closed FishAudio TTS clients after requests. (#10337, #10055, #10358)
- Platforms: Fixed UTF-16 offsets and case-insensitive bot mentions in Telegram, and left the Telegram token empty by default. Preserved Slack code blocks, quotes, lists, links, and mentions, and resolved remote Slack files before upload. Sent Discord video components as attachments and prevented self-reply loops. (#10367, #10399, #10365, #10380, #10447, #10448, #10355, #10423, #10425)
- WebUI: Enforced session ownership when sending chat messages, stored attachments under unique names, restored plugin README anchors, and corrected dark-mode log search and default-profile localization. (#10346, #10356, #10341, #10351, #10296)
- WebUI: Refreshed navigation and provider icons, corrected the configuration test-chat button theme color, and updated the plugin submission link and label. Reused logo tokens and refreshed expired platform caches. (#10304, #10332, #10309, #10471, #10294)
Navigation and Configuration Changes
- Sidebar: Core entries are grouped under System; Personas, Knowledge Base, scheduled tasks, subagent orchestration, and plugin Views appear under Extensions. The version is displayed in the sidebar footer. (#10304, #10307)
- Configuration: Moved administrator and whitelist settings to Access Control, and renamed Platform to Platforms & Messages. (#10321)
- Configuration: Moved text-to-image rendering settings from System Settings to the Extensions section of configuration profiles. Each profile now has its own text-to-image settings. (#10306)
- Appearance: Removed the Customize Sidebar feature. (#10480)
- Docs: Improved the guides in the Usage section. (#10487)
中文
本预发布版本包含自 v4.29.0-beta.1 以来的变更。
主要新增
- WebUI:模型选择器旁及模型、回退模型菜单内新增设置入口,修改后立即影响引用该模型的所有配置文件。 (#10321)
- WebUI:新增控制台日志搜索与关键词高亮、Skills 来源标识、ChatUI 待发送图片预览,并记住「数据与日志」页上次打开的标签。 (#10327, #10339, #10376, #10251)
- WebUI:支持在机器人编辑器的侧边抽屉中编辑配置文件。 (#10310)
- Docker:镜像内包含
astrbotCLI,可在容器中重置密码。 (#10442)
主要优化
- WebUI:延迟加载 VAD、Monaco、多语言资源及 ApexCharts,并启用 gzip 响应,大幅降低首屏加载开销,提高加载速度。 (#10413)
- WebUI:滚动时固定内容卡片边框与圆角,桌面端右侧和底部各保留 6px 间隔;配置页和设置页固定顶部及分区导航,仅滚动内容区域。 (#10480)
- 电脑使用:明确本地权限访问模式,在本地隔离不可用时继续显示执行与文件访问控制,并通过设置引导弹窗链接到整合后的 Agent 沙箱指南。 (#10444, #10445, #10487)
- 文档:更新中英文插件及内置 AI 指南,补充当前操作流程、故障排查与本地化截图;更新 Slack 和飞书配置说明。 (#10487, #10353, #10400)
主要修复
- Agent:停止会话时同步停止后台 Agent 工作,避免稍后重新唤醒主 Agent;会话等待器仅清理一次,异步工具生成器始终在同一任务中执行。 (#10323, #10347, #10474)
- Agent:后台任务结果未发送给用户时提供提示;不存在匹配平台时不再记录 cron 发送成功。 (#10398, #10468)
- Core:上下文摘要失败后及时回退,命令组名称按完整单词匹配,保留唯一可编辑的系统默认人格,并在删除人格文件夹时保留子文件夹。 (#10436, #10372, #10287, #10361)
- 模型提供商:保留流式输入为空的 Anthropic 工具调用,将自定义服务端工具与已注册工具合并,将退役的 Gemini 默认嵌入模型替换为
gemini-embedding-001,并兼容 Dify 流式响应的 CRLF 分隔符。 (#10432, #10437, #10393, #10392) - 图片:无法解析或指向非普通文件的图片引用不再伪装成本地路径;保留音频、视频和文件的待生成路径行为,非严格模式组装请求时跳过无效图片,并兼容超长 base64 数据及 Windows 长路径。 (#10434)
- 音频:无法解析的语音附件不再导致整轮请求失败,音频格式探测不再阻塞,并在请求后关闭 FishAudio TTS 客户端。 (#10337, #10055, #10358)
- 消息平台:修复 Telegram 提及的 UTF-16 偏移与大小写匹配,默认留空机器人令牌;保留 Slack 代码块、引用、列表、链接及用户提及,上传前解析远程文件;Discord 视频组件按附件发送,并避免机器人自回复循环。 (#10367, #10399, #10365, #10380, #10447, #10448, #10355, #10423, #10425)
- WebUI:发送聊天消息时校验会话归属,附件使用唯一文件名,恢复插件 README 锚点跳转,并修复深色模式日志搜索及默认配置文件名称的本地化。 (#10346, #10356, #10341, #10351, #10296)
- WebUI:更新导航及模型提供商图标,修正配置试聊按钮主题色,更新插件提交入口及文案;复用 logo 令牌并刷新过期的平台缓存。 (#10304, #10332, #10309, #10471, #10294)
导航与配置迁移
- 侧边栏:核心入口归入「系统」;人格、知识库、定时任务、子 Agent 编排及插件视图归入「扩展功能」,版本号移至侧边栏底部。 (#10304, #10307)
- 配置:将管理员、白名单配置挪动到 访问控制 分区;平台分区更名为「平台与消息」。 (#10321)
- 配置:将设置中的 文本转图片渲染 配置挪动到 扩展功能 分区,文转图配置按配置文件隔离。 (#10306)
- 外观:移除 “自定义侧边栏” 功能 (#10480)
- 文档:完善文档的 “使用” 部分下的各个文档。 (#10487)
Full Changelog: v4.29.0-beta.1...v4.29.0-beta.2
v4.29.0-beta.1
4.29.0-beta.1 - 2026-10-01
This prerelease includes changes since v4.28.0 (commit a412146401426c0cdff8bbefb8627a03da519da8).
Major Additions
- Computer Use: Added OS-specific sandbox support for the local execution environment, available on macOS with Seatbelt and Linux with bubblewrap only. (#9472)
- ChatUI: Added chat history and sidebar session pagination, persistent input drafts, per-session model selection, and input autofocus when switching projects. (#9667, #10279, #10247, #10301)
- ChatUI: Added provider source filters and sticky groups to model selection, plus search on the Skills and MCP pages. (#10084, #10217)
- WebUI: Added a workspace directory picker and update download progress in the desktop app. (#10222, #10227, #10050)
- Desktop: Added macOS frosted-glass effects to the WebUI sidebar and top bar. (#10222, #10227, #10050)
- Core: Added agent step budget reminders, migrated legacy limits, increased the default agent step limit, and extended shell session waits. (#10131, #10133)
- Core: Added the
x-astrbot-conversation-idconversation ID header to provider requests. (#10218, #10237)
Major Optimizations
- Refined the sidebar and top bar, reducing their vertical footprint to display more information. (#10222, #10227, #10050)
- Improved conversation data previews on the Data & Logs page. (#10021, #10020, #10023, #10108)
- Added resumable chunked uploads with bounded memory use, compressed dashboard static assets, and reduced bundled font and diagram assets. (#10123, #10187, #10034)
- Improved streamed response and reasoning panel scrolling, preserved scroll position while loading history, and coalesced automatic scrolling per animation frame. (#10219, #10221, #10243, #10253, #10257, #10271)
- Improved model input image preparation, preserved image geometry, limited encoded image sizes, and explained animation-to-frame conversion to models. (#9703, #10071, #10120, #10119)
- Batched console log rendering, optimized provider dialogs and trace updates, and removed unnecessary session and rate-limit work. (#9990, #10007, #10270, #10273, #10274)
Major Fixes
- Restored the previous command behavior:
/resetclears the current conversation context;/newcreates and switches to a new conversation. Fixed persisted conversation deletion and history titles. (#10118, #10003, #9983) - Fixed queued request history refresh, attachment preparation before session locking, and queued requests continuing after LLM processing is disabled. (#10238, #10209, #10234)
- Fixed WebChat side-thread model selection, proactive-agent model fallback, WebChat wake-prefix gating, and streamed fallback replies. (#10065, #10028, #10245, #10025)
- Fixed scheduled-agent failure reporting, context compression and plugin filters; preserved reminders after invalid edits, clarified task ownership, and increased cron misfire grace to 300 seconds. (#9987, #9992, #10163, #10075, #10104, #10183)
- Fixed OpenAI-compatible endpoint resolution, stacked SDK retries, thinking-tag parsing, Gemini narration history, Azure TTS client lifetimes, Xinference rerank error propagation, and emoji token estimates. (#10079, #9669, #10116, #10132, #10101, #10051, #10216)
- Fixed Lark private message delivery, QQ official mentions and C2C stream completion, OneBot file resolution, and excessive Telegram polling logs. (#10018, #9705, #10069, #10098, #10046)
- Fixed cleared Satori heartbeat/reconnect settings and WeChat Official Account timeout fields disabling expected safeguards. (#10248, #10229)
- Fixed plugin updates from URLs and files, Windows long-path plugin extraction, and default GitHub branch resolution. (#10053, #10193, #10080)
- Fixed web search parameter handling, knowledge-base URL rate limiting, literal escapes in file edits, image attachment lifetime and cleanup, and segmented-reply logging failures dropping responses. (#9979, #10015, #10112, #10042, #10090, #10231)
- Fixed datetime persistence across SQLModel upgrades and compared platform message history cutoffs in UTC. (#10211, #10246)
- Fixed stale desktop WebUI assets and served version detection, mobile drawer behavior, dark-mode icons and console contrast, hidden conversations, legacy icons, and statistics timers after unmount. (#9898, #10156, #10256, #10061, #10135, #10129, #10278, #10272)
中文
本预发布版本包含自 v4.28.0(提交 a412146401426c0cdff8bbefb8627a03da519da8)以来的变更。
主要新增
- 电脑使用能力: 新增适用于本地执行环境(local)模式下按适配操作系统的沙箱环境(仅支持 macOS seatbelt 和 Linux bwrap 环境)。 (#9472)
- ChatUI: 新增聊天历史和侧边栏会话分页、输入草稿持久化、按会话记忆所选模型,以及切换项目时自动聚焦输入框。 (#9667, #10279, #10247, #10301)
- ChatUI: 模型选择器新增来源筛选和吸顶分组,Skills 与 MCP 页面新增搜索。 (#10084, #10217)
- WebUI: 桌面端新增工作区目录选择器及更新下载进度。 (#10222, #10227, #10050)
- 桌面端: WebUI 侧边栏和顶栏适配 macOS 的毛玻璃效果。 (#10222, #10227, #10050)
- Core: 新增 Agent 剩余步数提醒,迁移旧版步数限制,提高默认步数上限,并延长 Shell 会话等待时间。 (#10131, #10133)
- Core: 为模型提供商请求新增
x-astrbot-conversation-id会话 ID 请求头。 (#10218, #10237)
主要优化
- 侧边栏和顶栏优化,缩短高度以增加信息密集度。 (#10222, #10227, #10050)
- 优化「数据与日志」页对话数据预览的效果等。 (#10021, #10020, #10023, #10108)
- 支持可续传的分块上传并控制内存占用,压缩 WebUI 静态资源,减少字体与图表资源体积。 (#10123, #10187, #10034)
- 优化流式回复和推理面板的滚动体验,加载历史时保持滚动位置,并按动画帧合并自动滚动操作。 (#10219, #10221, #10243, #10253, #10257, #10271)
- 优化模型输入图片处理,保留图片几何比例、限制编码后体积,并向模型说明动图已转换为多帧拼图。 (#9703, #10071, #10120, #10119)
- 批量渲染控制台日志,优化模型提供商弹窗和追踪记录更新,减少会话查询及限流关闭时的额外开销。 (#9990, #10007, #10270, #10273, #10274)
主要修复
- 恢复老版本的命令语义:
/reset清空当前会话上下文,/new创建并切换到新会话;修复持久化会话删除和历史标题显示。 (#10118, #10003, #9983) - 修复排队请求的历史刷新、会话锁前的附件准备,以及关闭 LLM 处理后排队请求仍继续执行的问题。 (#10238, #10209, #10234)
- 修复 WebChat 子线程的模型选择、主动 Agent 的模型回退、WebChat 唤醒前缀限制,以及流式回退回复丢失。 (#10065, #10028, #10245, #10025)
- 修复定时 Agent 的失败记录、上下文压缩和插件过滤;无效编辑不再丢失提醒,明确任务归属,并将错过调度的宽限时间延长至 300 秒。 (#9987, #9992, #10163, #10075, #10104, #10183)
- 修复 OpenAI 兼容接口地址解析、SDK 重试叠加、思考标签解析、Gemini 工具调用前文本历史、Azure TTS 客户端生命周期、Xinference 重排错误传递及表情 token 估算。 (#10079, #9669, #10116, #10132, #10101, #10051, #10216)
- 修复飞书私聊消息投递、QQ 官方机器人群聊提及和私聊流式结束帧、OneBot 文件解析,以及 Telegram 轮询日志过多的问题。 (#10018, #9705, #10069, #10098, #10046)
- 修复清空 Satori 心跳/重连配置和微信公众号超时配置后导致相应保护失效的问题。 (#10248, #10229)
- 修复通过 URL 和文件更新插件、Windows 长路径插件解压,以及 GitHub 仓库默认分支解析。 (#10053, #10193, #10080)
- 修复网页搜索参数处理、知识库 URL 清理限流、文件编辑中的字面转义字符、图片附件生命周期与清理,以及分段回复日志失败导致回复丢失的问题。 (#9979, #10015, #10112, #10042, #10090, #10231)
- 修复 SQLModel 升级后的日期时间持久化,并统一使用 UTC 比较平台消息历史的截止时间。 (#10211, #10246)
- 修复桌面端过期 WebUI 资源及版本检测、移动端抽屉行为、深色模式图标和控制台对比度、隐藏会话、旧版图标,以及统计组件卸载后仍启动定时器的问题。 (#9898, #10156, #10256, #10061, #10135, #10129, #10278, #10272)
What's Changed
- feat: add role-based Local computer permissions by @Soulter in #9472
- Fix:local sandbox policy feedback by @RC-CHN in #10096
- chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #10088
- docs: sync guides with current WebUI navigation by @Soulter in #10093
- fix(cron): say who owns a task instead of returning an empty list by @Pleiades1726 in #10104
- feat: improve conversation data previews by @Soulter in #10108
- fix: tell the model when an animation becomes a frame montage by @Pleiades1726 in #10119
- fix(provider): 关闭 OpenAI SDK 内建重试,避免与 AstrBot 重试层叠加导致请求数翻倍 | Disable OpenAI SDK built-in retries to prevent request multiplication from stacked retry layers by @SweetenedSuzuka in #9669
- fix: bound model input images below 512 KiB by @Soulter in #10120
- fix(dashboard): bound upload memory and add resumable chunked uploads by @RC-CHN in #10123
- fix(dashboard): drop stale exclude_ids hardcode hiding conversations by @RC-CHN in #10129
- feat: extend shell session waits and raise default agent step limit by @Soulter in #10131
- feat: add agent step budget reminders and migrate legacy limits by @Soulter in #10133
- fix: keep Gemini narration streamed before a tool call in history by @Anfyya in #10132
- fix: serialize Azure TTS backend client lifetimes by @xiongyuyang in #10101
- fix: propagate Xinference rerank failures instead of returning empty results by @he-yufeng in #10051
- fix(tools): keep literal escape sequences when editing a file by @L4XB in #10112
- fix: preserve scheduled reminders when an edit is invalid by @beemines in #10075
- fix: use GitHub HEAD when repository branch is unspecified by @iona-s in #10080
- fix(provider): recognize thinking tags in compatible completions by @konodiodaaaaa1 in #10116
- fix(dashboard): restore readable text and switch contrast in fullscreen console by @mantoujun12 in #10135
- docs: four env vars control the dashboard bind address, none of them documented by @xizhuomengcontin in #10095
- fix: resolve each OneBot file segment by its own ID by @xiongyuyang in #10098
- fix: clean up invalid materialized images by @kilisamemarisaaa in #10090
- fix: move local network policy notice into system prompts by @Soulter in https://gith...
v4.28.2
4.28.2 - 2026-09-27
Fixes
- Fixed SQLite datetime fields being inferred as SQLModel
UTCDateTimeafter dependency upgrades, which caused knowledge-base writes, dashboard statistics, and related database operations to fail for naive datetime values. (#10205, #10212, #10255) - Fixed platform message-history cleanup using a local-time cutoff instead of UTC, which could leave records undeleted on hosts outside UTC. (#10255)
中文
修复
v4.28.1
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
/newand/resetto 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_baseis 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
/resetnow 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
- @nina-ysml made their first contribution in #9990
- @DFGHJ43 made their first contribution in #9993
- @L4XB made their first contribution in #10015
- @beemines made their first contribution in #10028
Full Changelog: v4.28.0...v4.28.1
v4.28.0
4.28.0 - 2026-09-08
四时之景不同,而乐亦无穷也。
Each season brings its own beauty, and the joy is endless.
📢 由于配置文件部分结构优化,升级后再降级将导致部分配置内容重置,升级后请谨慎降级。
Due to structural optimizations in the configuration file, downgrading after an upgrade will result in the reset of some configuration content. Please be cautious when downgrading after an upgrade.
Major Additions
- Redesigned the WebUI pages for model providers, bots, and profiles, and consolidated logs, traces, conversation management, and data into the Data & Logs page. Removed the Agent Runner from model providers and embedded its settings into each profile. (#9820, #9825, #9821, #9883, #9846)
- Redesigned the default and local T2I rendering. (#9803)
- Enriched unified group metadata across messaging platform adapters. (#9851)
- Automatically record readable names for unified message origins (UMOs), such as group and user names, making them easier to find in the WebUI. (#9909)
- Added masked secret fields for sensitive values in the WebUI and plugin configurations. (#9824)
- Added batch deletion to the WebUI skill management page. (#9906)
- Added AnySearch as a built-in web search provider. (#9767)
- Added support for password-style plugin configuration fields and masked sensitive profile fields by default. (#9824)
Major Optimizations
- Improved how browser password managers recognize the WebUI login page. (#9830)
- Adapted model provider icons for dark mode. (#9647)
- Improved context handling for future-task agents. (#9818)
- Made the skill editor dialog responsive on smaller screens. (#9873)
- Stabilized the OpenAI tool schema order by sorting tools alphabetically by name. (#9798)
Major Fixes
- Fixed an issue where DingTalk could remain in an unknown
CREATINGstate after scanning the QR code, preventing app creation from continuing. (#9808) - Fixed an issue where commands in Lark groups would not trigger when the bot mention appeared before the command. (#9872)
- Isolated rate limits by unified message origin (UMO). (#9814)
- Aligned Anthropic API Base URL handling with the OpenAI API;
/v1must now be included in the configured URL. (#9802) - Fixed cached-token usage accounting for Anthropic and Gemini. (#9880, #9881)
- Applied the
max_agent_stepconfiguration to scheduled-task and background-task agents. (#9801) - Preserved text in Lark mixed text-and-image messages. (#9841)
- Displayed the create-folder button in the mobile persona manager. (#9812)
中文
主要新增
- 重新设计 WebUI 的模型提供商页、机器人页和配置文件页,并将日志、追踪、对话管理、数据页综合为「数据与日志」页。移除模型提供商的 “Agent 执行器”,将其内嵌到各个配置文件中。 (#9820, #9825, #9821, #9883, #9846)
- 重新设计默认和本地的 T2I 渲染效果。 (#9803)
- 丰富各消息平台适配器的统一群组元数据 (#9851)
- 自动记录统一消息来源(UMO)的可读名称(如群名、用户名),方便在 WebUI 查询。 (#9909)
- 为 WebUI 和插件配置中的敏感值新增掩码密钥字段。 (#9824)
- 为 WebUI 技能管理页新增批量删除功能。 (#9906)
- 新增 AnySearch 内置网页搜索服务商。 (#9767)
- 支持插件配置项使用密码效果的字段,并默认将配置文件中敏感字段使用密码效果。 (#9824)
主要优化
- 改进浏览器自动记忆密码功能对 WebUI 登录页的识别逻辑。 (#9830)
- 使模型提供商图标适配深色模式。 (#9647)
- 优化未来任务 Agent 的上下文。 (#9818)
- 使技能编辑器对话框适配小屏幕。 (#9873)
- 按工具名字典序稳定 OpenAI 工具 Schema 的顺序。 (#9798)
主要修复
- 钉钉部分情况下扫码之后出现 CREATING 未知状态导致无法继续创建。 (#9808)
- 修复飞书群里当 at 机器人在前而命令在后会无法触发命令的问题。 (#9872)
- 按统一消息来源(UMO)隔离限流。 (#9814)
- 使 Anthropic API Base URL 逻辑与 OpenAI API 保持一致,需要输入 /v1。 (#9802)
- 修复 Anthropic 和 Gemini 有关缓存 token 的用量统计口径。 (#9880, #9881)
- 将 max_agent_step 配置应用到定时任务和后台任务 Agent。 (#9801)
- 保留飞书图文混合消息中的文本。 (#9841)
- 在移动端的人格管理器中显示新建文件夹按钮。 (#9812)
Changes Since 4.28.0-beta.1
Additions and Optimizations
- Added Japanese localization for the WebUI and built-in plugins. (#9955)
- Expanded syntax highlighting for common languages in ChatUI and added Go highlighting to the T2I renderer. (#9892)
- Included the Python version in metrics uploads. (#9973)
- Enabled unit test CI on Windows, macOS, and Linux, and fixed cross-platform test compatibility. (#9954)
Fixes
- Added missing English translations in the WebUI. (#9896)
- Fixed the namespace of the Chinese provider synchronization translations. (#9932)
- Fixed remote sandbox skill archive paths on Windows hosts. (#8182)
- Fixed plugin market detail pages displaying the wrong information for plugins with the same metadata name. (#9925)
- Fixed serialization of Gemini thinking levels. (#9899)
- Preserved user-defined content in dictionary-type configuration items. (#9958)
- Preserved the existing context prefix during tool parameter re-query instead of modifying the initial system message. (#9957)
- Removed the invalid “All” page size option from knowledge base document lists. (#9908)
- Applied Markdown rendering to proactive QQ Official messages sent through
send_by_session. (#9914) - Made proactive agents respect computer runtime settings and treated missing runtime settings as disabled. (#9971)
- Included WebChat conversations in history lists by default and exposed WebChat in the bot ID filter. (#9910)
- Isolated event loop watchdog stack dumps from other traceback output. (#9941)
自 4.28.0-beta.1 以来的变更
新增与优化
- 为 WebUI 和内置插件新增日语本地化。 (#9955)
- 扩展 ChatUI 常用语言的代码高亮,并为 T2I 渲染器加入 Go 语法高亮。 (#9892)
- 在统计数据上报中包含 Python 版本。 (#9973)
- 在 Windows、macOS 和 Linux 上启用单元测试 CI,并修复测试的跨平台兼容性。 (#9954)
修复
- 补齐 WebUI 缺失的英文翻译。 (#9896)
- 修复中文模型提供商同步翻译的命名空间。 (#9932)
- 修复 Windows 宿主机向远端沙箱同步技能时的压缩包路径。 (#8182)
- 修复插件市场中 metadata name 相同的插件详情页显示错误信息的问题。 (#9925)
- 修复 Gemini thinking level 的序列化。 (#9899)
- 保留字典类型配置项中的用户自定义内容。 (#9958)
- 工具参数补全请求保留已有上下文前缀,不再修改首条系统消息。 (#9957)
- 移除知识库文档列表中无效的 “All” 分页选项。 (#9908)
- 为通过
send_by_session主动发送的 QQ 官方机器人消息应用 Markdown 渲染。 (#9914) - 使主动 Agent 遵循计算机运行时配置,并在缺少该配置时默认禁用计算机运行时。 (#9971)
- 默认在对话历史列表中显示 WebChat 会话,并支持通过机器人 ID 筛选 WebChat。 (#9910)
- 将事件循环看门狗的堆栈转储与其他 traceback 输出隔离。 (#9941)
What's Changed
- fix: update deprecated NVIDIA retrieval models by @C10H14N2O5 in #9750
- fix: register standard SVG MIME type for WebUI static files by @wcqqq1214 in #9735
- fix(provider): adapt anthropic source to httpx2 rename in anthropic 1.0.0 by @RC-CHN in #9791
- fix: resolve double scrollbar in edit mode of conversation detail dialog by @Rain-0x01-39 in #9752
- chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #9799
- fix: add touch device detection for menu interaction by @mantoujun12 in #9782
- Optimize Dockerfile build cache: move COPY after dependency installation by @lqfy-jhc in #9787
- fix: align Anthropic API base URL logic with OpenAI API by @Soulter in #9802
- fix: gray out commands of disabled plugins in behavior manager by @chufeng in #9664
- fix: stabilize OpenAI tool schema order by @x1051445024 in #9798
- fix: keep WeCom callback receive loop responsive by @LIghtJUNction in #9759
- fix(logging): make console and root logger follow configured log level by @DBJD-CR in #9805
- fix: handle DingTalk app creation status by @Soulter in #9808
- feat: improve default and local t2i rendering by @Soulter in #9803
- fix: apply max_agent_step config to cron and background task agents by @Shaofei215 in #9801
- fix(dashboard): show create folder button on mobile in persona manager by @mantoujun12 in #9812
- fix: adapt provider icons to dark mode by @xxynet in #9647
- refactor(dashboard): unify provider management workspace by @Soulter in #9820
- feat(dashboard): support masked secret config fields by @Soulter in #9824
- fix: isolate rate limits by unified message origin by @kidding-404 in #9814
- fix: hide internal personal WeChat settings by @Soulter in #9827
- fix: stop empty LLM requests before provider dispatch by @mameikagou in #9815
- feat(dashboard): improve authentication controls by @Soulter in #9830
- fix(dashboard): reset persona folder after deletion by @Soulter in #9832
- refactor(dashboard): redesign bot management workspace by @Soulter in #9825
- fix: keep proactive agent history in contexts by @kidding-404 in #9818
- fix: preserve QQ Official group routing in unique sessions by @kidding-404 in #9833
- fix(provider): preserve current user turn in Gemini history by @SunmiJJW in #9738
- feat: consolidate data dashboard and redesign conversations by @Soulter in #9846
- feat: add conversation shortcuts to statistics by @Soulter in #9847
- refactor: embed agent runner configuration in profiles by @Soulter in #9821
- fix(dashboard): make skill editor dialog responsive on small screens by @mantoujun12 in https://github.com/AstrBotDevs/AstrBot/pu...
v4.28.0-beta.1
4.28.0-beta.1 - 2026-09-02
Major Additions
- Redesigned the WebUI pages for model providers, bots, and profiles, and consolidated logs, traces, conversation management, and data into the Data & Logs page. Removed the Agent Runner from model providers and embedded its settings into each profile. (#9820, #9825, #9821, #9883, #9846)
- Redesigned the default and local T2I rendering. (#9803)
- Enriched unified group metadata across messaging platform adapters. (#9851)
- Automatically record readable names for unified message origins (UMOs), such as group and user names, making them easier to find in the WebUI. (#9909)
- Added masked secret fields for sensitive values in the WebUI and plugin configurations. (#9824)
- Added batch deletion to the WebUI skill management page. (#9906)
- Added AnySearch as a built-in web search provider. (#9767)
- Added support for password-style plugin configuration fields and masked sensitive profile fields by default. (#9824)
Major Optimizations
- Improved how browser password managers recognize the WebUI login page. (#9830)
- Adapted model provider icons for dark mode. (#9647)
- Improved context handling for future-task agents. (#9818)
- Made the skill editor dialog responsive on smaller screens. (#9873)
- Stabilized the OpenAI tool schema order by sorting tools alphabetically by name. (#9798)
Major Fixes
- Fixed an issue where DingTalk could remain in an unknown
CREATINGstate after scanning the QR code, preventing app creation from continuing. (#9808) - Fixed an issue where commands in Lark groups would not trigger when the bot mention appeared before the command. (#9872)
- Isolated rate limits by unified message origin (UMO). (#9814)
- Aligned Anthropic API Base URL handling with the OpenAI API;
/v1must now be included in the configured URL. (#9802) - Fixed cached-token usage accounting for Anthropic and Gemini. (#9880, #9881)
- Applied the
max_agent_stepconfiguration to scheduled-task and background-task agents. (#9801) - Preserved text in Lark mixed text-and-image messages. (#9841)
- Displayed the create-folder button in the mobile persona manager. (#9812)
中文
主要新增
- 重新设计 WebUI 的模型提供商页、机器人页和配置文件页,并将日志、追踪、对话管理、数据页综合为「数据与日志」页。移除模型提供商的 “Agent 执行器”,将其内嵌到各个配置文件中。 (#9820, #9825, #9821, #9883, #9846)
- 重新设计默认和本地的 T2I 渲染效果。 (#9803)
- 丰富各消息平台适配器的统一群组元数据 (#9851)
- 自动记录统一消息来源(UMO)的可读名称(如群名、用户名),方便在 WebUI 查询。 (#9909)
- 为 WebUI 和插件配置中的敏感值新增掩码密钥字段。 (#9824)
- 为 WebUI 技能管理页新增批量删除功能。 (#9906)
- 新增 AnySearch 内置网页搜索服务商。 (#9767)
- 支持插件配置项使用密码效果的字段,并默认将配置文件中敏感字段使用密码效果。 (#9824)
主要优化
- 改进浏览器自动记忆密码功能对 WebUI 登录页的识别逻辑。 (#9830)
- 使模型提供商图标适配深色模式。 (#9647)
- 优化未来任务 Agent 的上下文。 (#9818)
- 使技能编辑器对话框适配小屏幕。 (#9873)
- 按工具名字典序稳定 OpenAI 工具 Schema 的顺序。 (#9798)
主要修复
- 钉钉部分情况下扫码之后出现 CREATING 未知状态导致无法继续创建。 (#9808)
- 修复飞书群里当 at 机器人在前而命令在后会无法触发命令的问题。 (#9872)
- 按统一消息来源(UMO)隔离限流。 (#9814)
- 使 Anthropic API Base URL 逻辑与 OpenAI API 保持一致,需要输入 /v1。 (#9802)
- 修复 Anthropic 和 Gemini 有关缓存 token 的用量统计口径。 (#9880, #9881)
- 将 max_agent_step 配置应用到定时任务和后台任务 Agent。 (#9801)
- 保留飞书图文混合消息中的文本。 (#9841)
- 在移动端的人格管理器中显示新建文件夹按钮。 (#9812)
What's Changed
- fix: update deprecated NVIDIA retrieval models by @C10H14N2O5 in #9750
- fix: register standard SVG MIME type for WebUI static files by @wcqqq1214 in #9735
- fix(provider): adapt anthropic source to httpx2 rename in anthropic 1.0.0 by @RC-CHN in #9791
- fix: resolve double scrollbar in edit mode of conversation detail dialog by @Rain-0x01-39 in #9752
- chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #9799
- fix: add touch device detection for menu interaction by @mantoujun12 in #9782
- Optimize Dockerfile build cache: move COPY after dependency installation by @lqfy-jhc in #9787
- fix: align Anthropic API base URL logic with OpenAI API by @Soulter in #9802
- fix: gray out commands of disabled plugins in behavior manager by @chufeng in #9664
- fix: stabilize OpenAI tool schema order by @x1051445024 in #9798
- fix: keep WeCom callback receive loop responsive by @LIghtJUNction in #9759
- fix(logging): make console and root logger follow configured log level by @DBJD-CR in #9805
- fix: handle DingTalk app creation status by @Soulter in #9808
- feat: improve default and local t2i rendering by @Soulter in #9803
- fix: apply max_agent_step config to cron and background task agents by @Shaofei215 in #9801
- fix(dashboard): show create folder button on mobile in persona manager by @mantoujun12 in #9812
- fix: adapt provider icons to dark mode by @xxynet in #9647
- refactor(dashboard): unify provider management workspace by @Soulter in #9820
- feat(dashboard): support masked secret config fields by @Soulter in #9824
- fix: isolate rate limits by unified message origin by @kidding-404 in #9814
- fix: hide internal personal WeChat settings by @Soulter in #9827
- fix: stop empty LLM requests before provider dispatch by @mameikagou in #9815
- feat(dashboard): improve authentication controls by @Soulter in #9830
- fix(dashboard): reset persona folder after deletion by @Soulter in #9832
- refactor(dashboard): redesign bot management workspace by @Soulter in #9825
- fix: keep proactive agent history in contexts by @kidding-404 in #9818
- fix: preserve QQ Official group routing in unique sessions by @kidding-404 in #9833
- fix(provider): preserve current user turn in Gemini history by @SunmiJJW in #9738
- feat: consolidate data dashboard and redesign conversations by @Soulter in #9846
- feat: add conversation shortcuts to statistics by @Soulter in #9847
- refactor: embed agent runner configuration in profiles by @Soulter in #9821
- fix(dashboard): make skill editor dialog responsive on small screens by @mantoujun12 in #9873
- fix(lark): recognize commands after leading bot mention by @Ars1027 in #9872
- fix: preserve text in Lark mixed messages by @kidding-404 in #9841
- fix: resolve Gemini history image references by @SunmiJJW in #9874
- feat(websearch): add AnySearch as a web search provider by @WangPan59 in #9767
- fix: ensure config directory exists before mkstemp in _write_config_snapshot by @xiaoyuyu6420 in #9856
- fix: defer dashboard setup until startup by @Soulter in #9879
- refactor(dashboard): productize profile configuration by @Soulter in #9883
- fix(plugin): detect updates for plugins without persisted install sources by @xiaoyuyu6420 in #9887
- chore(deps): bump github/codeql-action from 4.37.8 to 4.37.9 in the github-actions group by @dependabot[bot] in #9885
- feat(platform): enrich group metadata across adapters by @Soulter in #9851
- fix: skip the respond stage on an empty message chain by @KBVsent in #9653
- feat: automatically record UMO names by @Soulter in #9909
- feat(dashboard): add batch deletion for skills by @Ars1027 in #9906
- fix(provider): count Anthropic cache_creation tokens in input usage by @xiaoyuyu6420 in #9881
- fix(provider): exclude cached tokens from Gemini input usage accounting by @xiaoyuyu6420 in #9880
- chore: bump version to 4.28.0-beta.1 by @Soulter in #9911
New Contributors
- @mantoujun12 made their first contribution in #9782
- @lqfy-jhc made their first contribution in #9787
- @chufeng made their first contribution in #9664
- @Shaofei215 made their first contribution in #9801
- @kidding-404 made their first contribution in #9814
- @mameikagou made their first contribution in #9815
- @Ars1027 made their first contribution in #987...
v4.27.5
v4.27.4
4.27.4 - 2026-08-20
The struggle itself toward the heights is enough to fill a man's heart. One must imagine Sisyphus happy.
走向高处的挣扎本身就足以填满一个人的心灵。我们必须想象西西弗斯是幸福的。
Added
- Displayed plugin update times in marketplace details. (#9690)
- Logged the effective Windows local runtime shell to simplify environment diagnosis. (#9648)
Fixed
- Fixed an issue where single preference reads could preload the entire preferences table in some cases, causing excessive memory and database overhead. (#9747)
- Included JSON cards in group-chat context and added an LLM metadata fallback endpoint. (#9655, #9725)
- Detected audio formats from file contents and converted Telegram audio files into Record components. (#9612, #9702)
- Kept the chat sidebar accessible at medium viewport widths and adapted trace colors to the active Dashboard theme. (#9698, #9688)
- Preserved the Dashboard password while
password_change_requiredis set. (#9665) - Separated reasoning metadata from provider configuration. (#9699)
- Removed the 10-file limit for knowledge-base uploads. (#9701)
- Accepted synced Weixin Kefu messages that omit
open_kfidinstead of failing webhook processing.
Maintenance
- Migrated statistics and Misskey visibility handling away from deprecated interfaces. (#9658, #9674)
- Added plugin attribution guidance and corrected the self-hosted text-to-image setup documentation. (#9720)
- Updated the CodeQL GitHub Action. (#9721)
中文
新增
修复
- 修复部分情况下读取单个偏好设置时会预加载整张偏好设置表,导致内存与数据库开销过高的问题。 (#9747)
- 将 JSON 卡片纳入群聊上下文,并为 LLM 元数据增加回退接口。 (#9655, #9725)
- 根据文件内容识别音频格式,并将 Telegram 音频文件转换为 Record 组件。 (#9612, #9702)
- 确保中等宽度视口下聊天侧边栏仍可访问,并使 Dashboard 链路追踪颜色适配当前主题。 (#9698, #9688)
- 在设置
password_change_required时保留 Dashboard 密码,不再意外轮换。 (#9665) - 将推理元数据与供应商配置分离。 (#9699)
- 移除知识库每次最多上传 10 个文件的限制。 (#9701)
- 微信客服同步消息缺少
open_kfid时不再导致 Webhook 处理失败。
