- [更新日志(简体中文)](#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))
