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

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

## What's Changed

### 新增

- 新增 `vllm_rerank` 提供商支持可配置的 `rerank_api_suffix`，可灵活适配不同 API 路径。（[#7278](https://github.com/AstrBotDevs/AstrBot/pull/7278)）
- 适配 llama.cpp 的 token 用量提取支持，增强 token 统计与计费分析能力。（[#7358](https://github.com/AstrBotDevs/AstrBot/pull/7358)）
- WebUI 捆绑 Monaco Editor 的 worker 文件，防止从 CDN 下载失败。（[#7249](https://github.com/AstrBotDevs/AstrBot/pull/7249)）
- 全新的模型/平台总览统计面板。（[#7152](https://github.com/AstrBotDevs/AstrBot/pull/7152)）

### 优化

- 优化 OpenAI 消息处理，若 `content` 列表为空时将其置为 `None`，并降低空内容下的异常率。（[#6551](https://github.com/AstrBotDevs/AstrBot/pull/6551)）
- 优化 provider page 布局与样式，提升整体设置页面排版一致性。（[#7248](https://github.com/AstrBotDevs/AstrBot/pull/7248)）
- 用户已登录时将直接跳转欢迎页，减少再次进入登录页的步骤。（[commit](https://github.com/AstrBotDevs/AstrBot/commit/9896b48c)）

### 修复

- 修复 Windows 下 MCP runner 未继承完整系统环境变量导致启动异常的问题。（[#7054](https://github.com/AstrBotDevs/AstrBot/pull/7054)）
- 修复 Gemini 思考片段泄露到用户可见消息链路的问题。（[#7196](https://github.com/AstrBotDevs/AstrBot/pull/7196)）
- 修复 Gemini(OpenAI 兼容 API) 下，`function_response` 格式要求导致的 `400 Invalid argument` 错误。（[#7216](https://github.com/AstrBotDevs/AstrBot/pull/7216)
- 修复知识库初始化失败时的错误提示与恢复问题。（[#7243](https://github.com/AstrBotDevs/AstrBot/pull/7243)）
- 修复 Bailian Rerank 对新旧响应格式兼容性，避免解析失败。（[#7217](https://github.com/AstrBotDevs/AstrBot/pull/7217)）
- Docker 镜像补充 AMR 编码器依赖，修复部分部署场景下的音频转码缺失问题。（[#7247](https://github.com/AstrBotDevs/AstrBot/pull/7247)）
- 修复 pip 安装缺少 `pysocks` 依赖导致的 SOCKS5 代理不可用问题。（[#7221](https://github.com/AstrBotDevs/AstrBot/pull/7221)）
- 修复 `cached_tokens` 在 `_extract_usage` 中的处理逻辑，避免 token 统计错乱。（[#6719](https://github.com/AstrBotDevs/AstrBot/pull/6719)）
- 增强 SSE 断开保护，压缩传输下主动发送心跳，减少 WebChat 误断连。（[#7003](https://github.com/AstrBotDevs/AstrBot/pull/7003)）
- 修复严格 API 下空 assistant 消息导致的 400 错误。（[#7202](https://github.com/AstrBotDevs/AstrBot/pull/7202)）
- 新增二维码功能缺失的 `qrcode` 依赖修复，恢复二维码生成功能。（[commit](https://github.com/AstrBotDevs/AstrBot/commit/5886c437)）
- 修复配置器数字输入组件的交互体验问题，避免异常输入场景下的处理偏差。（[#7153](https://github.com/AstrBotDevs/AstrBot/pull/7153)）
- 修复 `Record.path` 在 Pydantic v2 下被错误视为必填字段的问题。（[#7048](https://github.com/AstrBotDevs/AstrBot/pull/7048)）

<a id="english"></a>
## What's Changed (EN)

### New Features

- Added configurable `rerank_api_suffix` for the `vllm_rerank` provider to support custom API paths.（[#7278](https://github.com/AstrBotDevs/AstrBot/pull/7278)）
- Added token usage extraction support for llama.cpp to improve token accounting.（[#7358](https://github.com/AstrBotDevs/AstrBot/pull/7358)）
- Bundled Monaco Editor workers in WebUI so code editing does not depend on external CDN downloads.（[#7249](https://github.com/AstrBotDevs/AstrBot/pull/7249)）
- Added a new statistics overview for model and platform usage.（[#7152](https://github.com/AstrBotDevs/AstrBot/pull/7152)）
- Redirected logged-in users to the welcome page instead of the login page.（[commit](https://github.com/AstrBotDevs/AstrBot/commit/9896b48c)）

### Improvements

- Improved OpenAI message handling by setting message `content` to `None` when content lists are empty, reducing empty-payload edge cases.（[#6551](https://github.com/AstrBotDevs/AstrBot/pull/6551)）
- Improved provider page layout and styling to keep settings pages consistent.（[#7248](https://github.com/AstrBotDevs/AstrBot/pull/7248)）
- Refined connection-success handling and messaging when users are already logged in.（[commit](https://github.com/AstrBotDevs/AstrBot/commit/2de23184)）

### Bug Fixes

- Inherited all system environment variables in Windows MCP runner to fix environment-dependent launch issues.（[#7054](https://github.com/AstrBotDevs/AstrBot/pull/7054)）
- Filtered Gemini thinking parts from user-facing message chains.（[#7196](https://github.com/AstrBotDevs/AstrBot/pull/7196)）
- Fixed Gemini `function_response` compatibility to prevent `400 Invalid argument` responses.（[#7216](https://github.com/AstrBotDevs/AstrBot/pull/7216)）
- Improved knowledge base initialization error handling.（[#7243](https://github.com/AstrBotDevs/AstrBot/pull/7243)）
- Fixed Bailian rerank parsing for both old and new response formats.（[#7217](https://github.com/AstrBotDevs/AstrBot/pull/7217)）
- Added AMR encoder support in Docker builds to fix missing audio codec support.（[#7247](https://github.com/AstrBotDevs/AstrBot/pull/7247)）
- Added the `pysocks` dependency so pip installs can use SOCKS5 proxy correctly.（[#7221](https://github.com/AstrBotDevs/AstrBot/pull/7221)）
- Fixed `_extract_usage` cached token handling.（[#6719](https://github.com/AstrBotDevs/AstrBot/pull/6719)）
- Sent SSE heartbeat packets to prevent WebChat disconnection under compression.（[#7003](https://github.com/AstrBotDevs/AstrBot/pull/7003)）
- Fixed `400` errors caused by empty assistant messages on strict APIs.（[#7202](https://github.com/AstrBotDevs/AstrBot/pull/7202)）
- Added missing `qrcode` dependency to restore QR code generation.（[commit](https://github.com/AstrBotDevs/AstrBot/commit/5886c437)）
- Fixed number input UX in config renderer.（[#7153](https://github.com/AstrBotDevs/AstrBot/pull/7153)）
- Fixed `Record.path` being incorrectly treated as required under Pydantic v2.（[#7048](https://github.com/AstrBotDevs/AstrBot/pull/7048)）
