- [更新日志(简体中文)](#chinese)
- [Changelog(English)](#english)

<a id="chinese"></a>

## 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))

<a id="english"></a>

## 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))
