chore: bump version to 4.24.0

This commit is contained in:
Soulter
2026-05-03 22:20:25 +08:00
parent 93a6152eee
commit afe999550d
6 changed files with 102 additions and 3 deletions

95
changelogs/v4.24.0.md Normal file
View File

@@ -0,0 +1,95 @@
- [更新日志(简体中文)](#chinese)
- [Changelog(English)](#english)
<a id="chinese"></a>
## What's Changed
### 新增
- 新增插件自定义 WebUI 页面Plugin Pages能力插件可通过 `pages/` 目录和注册 Web 路由来向 Dashboard 暴露自定义页面。详见开发文档。([#5940](https://github.com/AstrBotDevs/AstrBot/pull/5940)
- 新增插件国际化支持,插件可在 `.astrbot-plugin/i18n` 中提供多语言名称、描述和配置文本Dashboard 组件会按当前语言解析展示。详见开发文档。([#7919](https://github.com/AstrBotDevs/AstrBot/pull/7919)
- 新增插件技能支持,插件可通过 `skills/` 提供 skills。[#7945](https://github.com/AstrBotDevs/AstrBot/pull/7945))。详见开发文档。
- 新增 `extra_user_content_parts` 临时内容标记,插件可使用 `TextPart(...).mark_as_temp()` 让追加内容只参与本轮 LLM 请求而不写入会话历史。([#7976](https://github.com/AstrBotDevs/AstrBot/pull/7976))。详见插件开发文档。
- 新增插件详情页、插件短描述、插件置顶,以及通过 AstrBot 官方插件存储下载插件的能力,改善插件安装与浏览体验。([#7896](https://github.com/AstrBotDevs/AstrBot/pull/7896), [#7918](https://github.com/AstrBotDevs/AstrBot/pull/7918), [#7930](https://github.com/AstrBotDevs/AstrBot/pull/7930), [#7931](https://github.com/AstrBotDevs/AstrBot/pull/7931)
- 新增 `fallback_max_context_tokens` 配置,当模型元数据缺失且 `max_context_tokens` 为 0 时,可使用默认上下文窗口上限参与压缩判断。该值默认为 `128k`。([#7942](https://github.com/AstrBotDevs/AstrBot/pull/7942)
- 支持在 WebUI Skills 页中查看并编辑技能文件。([#7903](https://github.com/AstrBotDevs/AstrBot/pull/7903)
- 新增 CUA Computer Use 沙盒运行时,支持桌面 GUI、截图、键盘、鼠标、浏览器启动流程、前后台 Shell、文件回退处理与权限控制并补充使用文档和测试。[#7828](https://github.com/AstrBotDevs/AstrBot/pull/7828)
- 新增后台 Shell 命令执行、输出重定向和超时支持,并为 Python 工具增加 timeout 参数。([#7835](https://github.com/AstrBotDevs/AstrBot/pull/7835), [#7953](https://github.com/AstrBotDevs/AstrBot/pull/7953)
- 新增 QQ 官方平台消息级 Markdown 控制能力。([#6980](https://github.com/AstrBotDevs/AstrBot/pull/6980)
- 新增 Chat 与 Live Chat 路由的附件保存事件,前端可感知附件持久化结果。([#7869](https://github.com/AstrBotDevs/AstrBot/pull/7869)
- 新增部署脚本,支持 Linux/macOS/WSL 与 Windows PowerShell 一键安装,并将脚本发布到 docs public 目录。([#7631](https://github.com/AstrBotDevs/AstrBot/pull/7631)
### 优化
优化 Dashboard 扩展、知识库、MCP、技能和配置页面的布局、卡片样式、响应式表现与多语言文案。[#7903](https://github.com/AstrBotDevs/AstrBot/pull/7903)
- 优化会话历史中的工具调用渲染,工具消息不再作为普通气泡直接进行 Markdown 渲染,而是聚合到对应 assistant 的工具卡片中,避免大工具结果导致页面卡顿。([#7937](https://github.com/AstrBotDevs/AstrBot/pull/7937)
- 优化上下文管理与压缩策略包括截断算法、用户消息删除问题修复、PPIO 上下文长度错误识别,以及配置界面对执行顺序的说明。([#7888](https://github.com/AstrBotDevs/AstrBot/pull/7888), [#7920](https://github.com/AstrBotDevs/AstrBot/pull/7920)
- 优化 Provider 模型添加逻辑、模型启用开关持久化、Provider 测试失败提示,以及默认 Provider 缺失或无效时的启动警告。([#7865](https://github.com/AstrBotDevs/AstrBot/pull/7865), [#7498](https://github.com/AstrBotDevs/AstrBot/pull/7498), [#7934](https://github.com/AstrBotDevs/AstrBot/pull/7934)
- 优化 `send_message_to_user` 在安全模式、cron 主动任务和无完整 session 格式场景下的提示与容错,并为 cron payload 增加 session 信息。([#7907](https://github.com/AstrBotDevs/AstrBot/pull/7907), [#7911](https://github.com/AstrBotDevs/AstrBot/pull/7911)
- 优化 list+options 配置项,改用 `v-autocomplete` 并缓存候选项,改善长列表选择体验。([#7884](https://github.com/AstrBotDevs/AstrBot/pull/7884), [#7885](https://github.com/AstrBotDevs/AstrBot/pull/7885)
- 优化命令与工具描述显示WebUI 中被截断的描述现在可通过 tooltip 查看。([#7838](https://github.com/AstrBotDevs/AstrBot/pull/7838)
- 优化指标统计、日志可读性、知识库文档、系统提示词文档,以及 AGENTS.md 中的 pre-commit 开发说明。([#7838](https://github.com/AstrBotDevs/AstrBot/pull/7838), [#7962](https://github.com/AstrBotDevs/AstrBot/issues/7962)
### 修复
- 修复 `send_message_to_user` 可被普通用户指定任意 session 发送消息的安全问题;普通用户只能发送到当前会话,管理员仍可指定 session。[#7822](https://github.com/AstrBotDevs/AstrBot/issues/7822), [#7824](https://github.com/AstrBotDevs/AstrBot/pull/7824)
- 修复 T2I 文本模板渲染回归,恢复原始文本渲染,默认注入 Shiki runtime并调整内置模板和 WebUI 预览。([#7789](https://github.com/AstrBotDevs/AstrBot/pull/7789)
- 修复 IME 输入法组合状态下按 Enter 会误发送聊天的问题。([#7845](https://github.com/AstrBotDevs/AstrBot/pull/7845)
- 修复 Anthropic 并行工具结果合并、自定义请求头和 system prompt 兼容性,避免多 httpx 安装导致 client 类型不匹配,并使用列表格式 system 参数提升代理兼容性。([#7875](https://github.com/AstrBotDevs/AstrBot/pull/7875), [#7587](https://github.com/AstrBotDevs/AstrBot/pull/7587)
- 修复 OpenAI Provider 的 `http_client` 与 SDK httpx 类型兼容问题。([#7773](https://github.com/AstrBotDevs/AstrBot/pull/7773)
- 修复 `stop_event()` 后后续 handler 仍继续执行,以及 `clear_result()` 导致停止状态被重置的问题。([#7900](https://github.com/AstrBotDevs/AstrBot/pull/7900), [#7922](https://github.com/AstrBotDevs/AstrBot/pull/7922)
- 修复 `system_prompt``None` 时注入人格或 skills prompt 会报错的问题。([#7880](https://github.com/AstrBotDevs/AstrBot/pull/7880)
- 修复 Shipyard Neo 沙盒就绪检测和优雅清理,避免未就绪时继续运行或关闭流程异常。([#7881](https://github.com/AstrBotDevs/AstrBot/pull/7881)
- 修复桌面端插件安装并发问题,安装过程现在受核心锁保护。([#7872](https://github.com/AstrBotDevs/AstrBot/pull/7872)
- 修复 QQ 官方私聊主动推送在缺少缓存 `msg_id` 时跳过发送的问题,同时保留群聊缓存校验。([#7904](https://github.com/AstrBotDevs/AstrBot/issues/7904), [#7914](https://github.com/AstrBotDevs/AstrBot/pull/7914)
- 修复微信客服文件消息支持,并移除企业微信文件消息占位文本。([#7923](https://github.com/AstrBotDevs/AstrBot/pull/7923)
- 修复钉钉 SDK 任务异常退出或连接超时后无法自动重连的问题。([#7924](https://github.com/AstrBotDevs/AstrBot/pull/7924)
- 修复 PowerShell 安装脚本 BOM、部署脚本路径、`.gitignore` 与公开目录同步问题。
- 修复工具调用 `tool_choice` 相关调试问题,暂时注释该参数以规避部分 Provider 不兼容。([#7853](https://github.com/AstrBotDevs/AstrBot/issues/7853), [#7856](https://github.com/AstrBotDevs/AstrBot/issues/7856), [#7862](https://github.com/AstrBotDevs/AstrBot/issues/7862)
<a id="english"></a>
## What's Changed (EN)
### New Features
- Added the CUA Computer Use sandbox runtime with desktop GUI, screenshots, keyboard, mouse, browser startup flow, foreground/background shell support, filesystem fallbacks, permission handling, docs, and tests. ([#7828](https://github.com/AstrBotDevs/AstrBot/pull/7828))
- Added Plugin Pages, allowing plugins to expose Dashboard pages through a `pages/` directory with asset authentication, bridge script, back-button behavior, docs, and security tests. ([#5940](https://github.com/AstrBotDevs/AstrBot/pull/5940))
- Added plugin internationalization support through `.astrbot-plugin/i18n`, including localized names, descriptions, config text, Dashboard integration, docs, and tests. ([#7919](https://github.com/AstrBotDevs/AstrBot/pull/7919))
- Added plugin-provided skills with synchronization, metadata enrichment, plugin detail display, and configuration-aware filtering. ([#7945](https://github.com/AstrBotDevs/AstrBot/pull/7945))
- Added the plugin detail page, plugin short descriptions, plugin pinning, and support for downloading plugins from AstrBot official plugin storage. ([#7896](https://github.com/AstrBotDevs/AstrBot/pull/7896), [#7918](https://github.com/AstrBotDevs/AstrBot/pull/7918), [#7930](https://github.com/AstrBotDevs/AstrBot/pull/7930), [#7931](https://github.com/AstrBotDevs/AstrBot/pull/7931))
- Added background shell command execution with output redirection and timeout support, and added a timeout parameter to the Python tool. ([#7835](https://github.com/AstrBotDevs/AstrBot/pull/7835), [#7953](https://github.com/AstrBotDevs/AstrBot/pull/7953))
- Added `fallback_max_context_tokens`, used when model metadata is missing and `max_context_tokens` is set to 0. ([#7942](https://github.com/AstrBotDevs/AstrBot/pull/7942))
- Added message-level Markdown control for QQ Official. ([#6980](https://github.com/AstrBotDevs/AstrBot/pull/6980))
- Added attachment saved events for Chat and Live Chat routes. ([#7869](https://github.com/AstrBotDevs/AstrBot/pull/7869))
- Added Linux/macOS/WSL and Windows PowerShell deployment scripts, published through the docs public directory. ([#7631](https://github.com/AstrBotDevs/AstrBot/pull/7631))
- Added temporary `extra_user_content_parts`; plugins can use `TextPart(...).mark_as_temp()` to include content in the current LLM request without persisting it into conversation history. ([#7976](https://github.com/AstrBotDevs/AstrBot/pull/7976))
### Improvements
- Improved the Dashboard extension, knowledge base, MCP, skills, and config pages with better layouts, card styles, responsiveness, translations, and skill-file editing in WebUI. ([#7903](https://github.com/AstrBotDevs/AstrBot/pull/7903))
- Improved tool rendering in conversation history by grouping tool messages into the assistant tool card instead of rendering large tool results as normal Markdown bubbles. ([#7937](https://github.com/AstrBotDevs/AstrBot/pull/7937))
- Improved context management and compression, including truncation behavior, user-message retention, PPIO context-length error detection, and clearer UI copy for execution order. ([#7888](https://github.com/AstrBotDevs/AstrBot/pull/7888), [#7920](https://github.com/AstrBotDevs/AstrBot/pull/7920))
- Improved Provider model adding logic, model enable-toggle persistence, failed provider-test feedback, and startup warnings for missing or invalid default providers. ([#7865](https://github.com/AstrBotDevs/AstrBot/pull/7865), [#7498](https://github.com/AstrBotDevs/AstrBot/pull/7498), [#7934](https://github.com/AstrBotDevs/AstrBot/pull/7934))
- Improved `send_message_to_user` prompts and tolerance in safety mode, cron proactive tasks, and incomplete session formats; cron payloads now include session information. ([#7907](https://github.com/AstrBotDevs/AstrBot/pull/7907), [#7911](https://github.com/AstrBotDevs/AstrBot/pull/7911))
- Improved list+options config fields by switching to `v-autocomplete` and memoizing select items for better long-list selection. ([#7884](https://github.com/AstrBotDevs/AstrBot/pull/7884), [#7885](https://github.com/AstrBotDevs/AstrBot/pull/7885))
- Improved truncated command and tool descriptions in WebUI by adding tooltip access. ([#7838](https://github.com/AstrBotDevs/AstrBot/pull/7838))
- Improved metrics, log clarity, knowledge base docs, system prompt docs, and AGENTS.md pre-commit setup guidance. ([#7838](https://github.com/AstrBotDevs/AstrBot/pull/7838), [#7962](https://github.com/AstrBotDevs/AstrBot/issues/7962))
### Bug Fixes
- Fixed a security issue where normal users could ask `send_message_to_user` to send messages to arbitrary sessions; normal users are now restricted to the current session while admins can still target other sessions. ([#7822](https://github.com/AstrBotDevs/AstrBot/issues/7822), [#7824](https://github.com/AstrBotDevs/AstrBot/pull/7824))
- Fixed T2I text template rendering by restoring raw text rendering, injecting Shiki runtime by default, and updating built-in templates and preview behavior. ([#7789](https://github.com/AstrBotDevs/AstrBot/pull/7789))
- Fixed Enter key handling during IME composition in chat input. ([#7845](https://github.com/AstrBotDevs/AstrBot/pull/7845))
- Fixed Anthropic parallel tool-result merging, custom headers, and system prompt compatibility by using `default_headers` and list-format system prompts. ([#7875](https://github.com/AstrBotDevs/AstrBot/pull/7875), [#7587](https://github.com/AstrBotDevs/AstrBot/pull/7587))
- Fixed OpenAI Provider `http_client` compatibility with SDK httpx. ([#7773](https://github.com/AstrBotDevs/AstrBot/pull/7773))
- Fixed `stop_event()` allowing later handlers to continue, and fixed stop-state reset caused by `clear_result()`. ([#7900](https://github.com/AstrBotDevs/AstrBot/pull/7900), [#7922](https://github.com/AstrBotDevs/AstrBot/pull/7922))
- Fixed persona and skills prompt injection when `system_prompt` is `None`. ([#7880](https://github.com/AstrBotDevs/AstrBot/pull/7880))
- Fixed Shipyard Neo readiness gating and graceful sandbox cleanup. ([#7881](https://github.com/AstrBotDevs/AstrBot/pull/7881))
- Fixed concurrent desktop plugin installation by protecting installs with the core lock. ([#7872](https://github.com/AstrBotDevs/AstrBot/pull/7872))
- Fixed QQ Official private proactive push being skipped when cached `msg_id` is missing, while preserving group-message cache validation. ([#7904](https://github.com/AstrBotDevs/AstrBot/issues/7904), [#7914](https://github.com/AstrBotDevs/AstrBot/pull/7914))
- Fixed WeChat kefu file messages and removed the WeCom file-message placeholder. ([#7923](https://github.com/AstrBotDevs/AstrBot/pull/7923))
- Fixed DingTalk reconnect failures after SDK task exits or connection timeouts. ([#7924](https://github.com/AstrBotDevs/AstrBot/pull/7924))
- Fixed the PowerShell install script BOM, deploy script paths, `.gitignore`, and public-directory sync issues.
- Fixed provider incompatibilities around `tool_choice` by temporarily commenting out the parameter for debugging. ([#7853](https://github.com/AstrBotDevs/AstrBot/issues/7853), [#7856](https://github.com/AstrBotDevs/AstrBot/issues/7856), [#7862](https://github.com/AstrBotDevs/AstrBot/issues/7862))