- [更新日志(简体中文)](#chinese)
- [Changelog(English)](#english)
## What's Changed
### 重点更新
- 后端架构从 Quart 迁移至 FastAPI,新增 ASGI Runtime、Dashboard API routers/services、OpenAPI v1 定义,并同步生成 Dashboard 前端 API 客户端。([#8688](https://github.com/AstrBotDevs/AstrBot/pull/8688))
- 统一全平台消息媒体文件的处理逻辑,覆盖消息组件、Agent Runner、Provider 与多个平台适配器,提升图片、音频、文件和引用消息媒体的解析一致性。([#8764](https://github.com/AstrBotDevs/AstrBot/pull/8764))
- WebUI 新增函数工具的逐工具权限管理,支持在工具面板中查看和切换工具权限。([#8693](https://github.com/AstrBotDevs/AstrBot/pull/8693))
- WebUI 新增浅色、深色、跟随系统三种主题模式,并集中处理系统主题同步。([#8648](https://github.com/AstrBotDevs/AstrBot/pull/8648))
- 新增 ElevenLabs TTS API Provider。([commit](https://github.com/AstrBotDevs/AstrBot/commit/0b2234936))
- 备份功能现在会包含 skills 目录。([#8700](https://github.com/AstrBotDevs/AstrBot/pull/8700))
### 修复
- 修复 aiocqhttp 平台适配器与消息事件处理器在多处 API 调用中缺少 `self_id` 路由参数的问题。([#8779](https://github.com/AstrBotDevs/AstrBot/pull/8779))
- 修复生成平台 ID 时可能包含空白字符的问题。([#8768](https://github.com/AstrBotDevs/AstrBot/pull/8768))
- 修复插件 LLM Tools 开关的归属校验问题,避免误操作其他插件的工具配置。([commit](https://github.com/AstrBotDevs/AstrBot/commit/fadada3d6))
- 完善插件命名模式校验和边界场景处理。([commit](https://github.com/AstrBotDevs/AstrBot/commit/992aea986))
- 修复插件重装后仓库来源丢失的问题。([commit](https://github.com/AstrBotDevs/AstrBot/commit/a3c25ec2c))
- 修复子目录工具的 `handler_module_path` 不一致问题。([#8578](https://github.com/AstrBotDevs/AstrBot/pull/8578))
- 修复引用图片说明可能重复显示的问题。([#8718](https://github.com/AstrBotDevs/AstrBot/pull/8718))
- 修复 Embedding API version 后缀被错误截断的问题。([#8736](https://github.com/AstrBotDevs/AstrBot/pull/8736))
- 修复 changelog 弹窗中的锚点链接处理。([#8750](https://github.com/AstrBotDevs/AstrBot/pull/8750))
- 修复 Dashboard 创建文件夹时按 Enter 无法提交的问题。([#8597](https://github.com/AstrBotDevs/AstrBot/pull/8597))
- 延迟导入 FAISS C 库,避免部分环境启动时进程卡住。([#8696](https://github.com/AstrBotDevs/AstrBot/pull/8696))
- 关闭时主动释放数据库 engine,减少会话和测试环境中的资源残留。([#8650](https://github.com/AstrBotDevs/AstrBot/pull/8650))
- 修复 CLI 版本来源不正确的问题。([#8692](https://github.com/AstrBotDevs/AstrBot/pull/8692))
- 稳定 FastAPI Dashboard 路由注册测试,兼容 included router 节点。([commit](https://github.com/AstrBotDevs/AstrBot/commit/ad1b64d12))
### 优化与工程
- 消息组件日志输出现在会截断过长的 base64 字段,避免日志中出现大体积内联媒体内容。([#8591](https://github.com/AstrBotDevs/AstrBot/pull/8591))
- 对腾讯系 Silk 格式的语音文件不再使用 pilk 库。([#8764](https://github.com/AstrBotDevs/AstrBot/pull/8764))
- 群聊上下文现在会展示被引用消息的内容。([commit](https://github.com/AstrBotDevs/AstrBot/commit/32cfcbf52))
- 对话上下文新增当前星期信息。([#8669](https://github.com/AstrBotDevs/AstrBot/pull/8669))
- 优化 CLI 插件列表构建的性能与健壮性,并补充关键合并逻辑和边界场景测试。([#8705](https://github.com/AstrBotDevs/AstrBot/pull/8705))
- 新增 GitHub 代理 `gh.dpik.top`,并移除失效代理 `gh.llkk.cc`。([#8772](https://github.com/AstrBotDevs/AstrBot/pull/8772), [#8761](https://github.com/AstrBotDevs/AstrBot/pull/8761))
- PR 标题检查允许更多 conventional commit 前缀。([#8665](https://github.com/AstrBotDevs/AstrBot/pull/8665))
- 应用 pyupgrade 代码现代化更新,并升级 Codecov GitHub Action。([#8684](https://github.com/AstrBotDevs/AstrBot/pull/8684), [commit](https://github.com/AstrBotDevs/AstrBot/commit/b321499e0))
- 修正文档中的 LM Studio 公网 IP 描述,并更新 OpenAPI 与插件页面相关文档。([#8707](https://github.com/AstrBotDevs/AstrBot/pull/8707), [#8688](https://github.com/AstrBotDevs/AstrBot/pull/8688))
## What's Changed (EN)
### Highlights
- Migrated the backend backbone from Quart to FastAPI, adding the ASGI runtime, Dashboard API routers/services, OpenAPI v1 definitions, and the generated Dashboard API client. ([#8688](https://github.com/AstrBotDevs/AstrBot/pull/8688))
- Unified media reference handling across message components, agent runners, providers, and multiple platform adapters for more consistent image, audio, file, and quoted-message media resolution. ([#8764](https://github.com/AstrBotDevs/AstrBot/pull/8764))
- Added per-tool permission management for function tools in WebUI, with controls for viewing and toggling tool permissions. ([#8693](https://github.com/AstrBotDevs/AstrBot/pull/8693))
- Added WebUI theme modes for light, dark, and system preference, with centralized system theme synchronization. ([#8648](https://github.com/AstrBotDevs/AstrBot/pull/8648))
- Added the ElevenLabs TTS API provider. ([commit](https://github.com/AstrBotDevs/AstrBot/commit/0b2234936))
- Included the skills directory in backups. ([#8700](https://github.com/AstrBotDevs/AstrBot/pull/8700))
### Bug Fixes
- Fixed missing `self_id` routing parameters across multiple aiocqhttp platform adapter and message event API calls. ([#8779](https://github.com/AstrBotDevs/AstrBot/pull/8779))
- Sanitized generated platform IDs to avoid whitespace characters. ([#8768](https://github.com/AstrBotDevs/AstrBot/pull/8768))
- Fixed ownership checks when toggling plugin LLM tools, preventing accidental changes to other plugins' tool settings. ([commit](https://github.com/AstrBotDevs/AstrBot/commit/fadada3d6))
- Improved plugin naming pattern validation and edge-case handling. ([commit](https://github.com/AstrBotDevs/AstrBot/commit/992aea986))
- Preserved repository source information when reinstalling plugins. ([commit](https://github.com/AstrBotDevs/AstrBot/commit/a3c25ec2c))
- Fixed inconsistent `handler_module_path` values for tools inside subdirectories. ([#8578](https://github.com/AstrBotDevs/AstrBot/pull/8578))
- Avoided duplicate captions for quoted images. ([#8718](https://github.com/AstrBotDevs/AstrBot/pull/8718))
- Preserved Embedding API version suffixes instead of truncating them incorrectly. ([#8736](https://github.com/AstrBotDevs/AstrBot/pull/8736))
- Fixed changelog anchor link handling in the Dashboard dialog. ([#8750](https://github.com/AstrBotDevs/AstrBot/pull/8750))
- Allowed Dashboard folder creation to be submitted by pressing Enter. ([#8597](https://github.com/AstrBotDevs/AstrBot/pull/8597))
- Deferred FAISS C library imports to avoid startup hangs in some environments. ([#8696](https://github.com/AstrBotDevs/AstrBot/pull/8696))
- Disposed the database engine on shutdown to reduce resource leftovers in sessions and tests. ([#8650](https://github.com/AstrBotDevs/AstrBot/pull/8650))
- Fixed the CLI version source. ([#8692](https://github.com/AstrBotDevs/AstrBot/pull/8692))
- Stabilized FastAPI Dashboard route registration tests for included router nodes. ([commit](https://github.com/AstrBotDevs/AstrBot/commit/ad1b64d12))
### Improvements and Maintenance
- Message component log output now truncates long base64 fields to avoid large inline media payloads in logs. ([#8591](https://github.com/AstrBotDevs/AstrBot/pull/8591))
- Tencent Silk voice files no longer use the pilk library. ([#8764](https://github.com/AstrBotDevs/AstrBot/pull/8764))
- Group chat context now includes quoted message content. ([commit](https://github.com/AstrBotDevs/AstrBot/commit/32cfcbf52))
- Added current weekday information to conversation context. ([#8669](https://github.com/AstrBotDevs/AstrBot/pull/8669))
- Improved CLI plugin list building performance and robustness, with tests for key merging and edge cases. ([#8705](https://github.com/AstrBotDevs/AstrBot/pull/8705))
- Added GitHub proxy `gh.dpik.top` and removed the invalid `gh.llkk.cc` proxy. ([#8772](https://github.com/AstrBotDevs/AstrBot/pull/8772), [#8761](https://github.com/AstrBotDevs/AstrBot/pull/8761))
- Allowed more conventional commit prefixes in PR title checks. ([#8665](https://github.com/AstrBotDevs/AstrBot/pull/8665))
- Applied pyupgrade updates and upgraded the Codecov GitHub Action. ([#8684](https://github.com/AstrBotDevs/AstrBot/pull/8684), [commit](https://github.com/AstrBotDevs/AstrBot/commit/b321499e0))
- Fixed the LM Studio public IP documentation wording and refreshed OpenAPI/plugin-page documentation. ([#8707](https://github.com/AstrBotDevs/AstrBot/pull/8707), [#8688](https://github.com/AstrBotDevs/AstrBot/pull/8688))