- 更新日志(简体中文)
- Changelog(English)
What's Changed
新增
- 新增
vllm_rerank提供商支持可配置的rerank_api_suffix,可灵活适配不同 API 路径。(#7278) - 适配 llama.cpp 的 token 用量提取支持,增强 token 统计与计费分析能力。(#7358)
- WebUI 捆绑 Monaco Editor 的 worker 文件,防止从 CDN 下载失败。(#7249)
- 全新的模型/平台总览统计面板。(#7152)
优化
- 优化 OpenAI 消息处理,若
content列表为空时将其置为None,并降低空内容下的异常率。(#6551) - 优化 provider page 布局与样式,提升整体设置页面排版一致性。(#7248)
- 用户已登录时将直接跳转欢迎页,减少再次进入登录页的步骤。(commit)
修复
- 修复 Windows 下 MCP runner 未继承完整系统环境变量导致启动异常的问题。(#7054)
- 修复 Gemini 思考片段泄露到用户可见消息链路的问题。(#7196)
- 修复 Gemini(OpenAI 兼容 API) 下,
function_response格式要求导致的400 Invalid argument错误。(#7216 - 修复知识库初始化失败时的错误提示与恢复问题。(#7243)
- 修复 Bailian Rerank 对新旧响应格式兼容性,避免解析失败。(#7217)
- Docker 镜像补充 AMR 编码器依赖,修复部分部署场景下的音频转码缺失问题。(#7247)
- 修复 pip 安装缺少
pysocks依赖导致的 SOCKS5 代理不可用问题。(#7221) - 修复
cached_tokens在_extract_usage中的处理逻辑,避免 token 统计错乱。(#6719) - 增强 SSE 断开保护,压缩传输下主动发送心跳,减少 WebChat 误断连。(#7003)
- 修复严格 API 下空 assistant 消息导致的 400 错误。(#7202)
- 新增二维码功能缺失的
qrcode依赖修复,恢复二维码生成功能。(commit) - 修复配置器数字输入组件的交互体验问题,避免异常输入场景下的处理偏差。(#7153)
- 修复
Record.path在 Pydantic v2 下被错误视为必填字段的问题。(#7048)
What's Changed (EN)
New Features
- Added configurable
rerank_api_suffixfor thevllm_rerankprovider to support custom API paths.(#7278) - Added token usage extraction support for llama.cpp to improve token accounting.(#7358)
- Bundled Monaco Editor workers in WebUI so code editing does not depend on external CDN downloads.(#7249)
- Added a new statistics overview for model and platform usage.(#7152)
- Redirected logged-in users to the welcome page instead of the login page.(commit)
Improvements
- Improved OpenAI message handling by setting message
contenttoNonewhen content lists are empty, reducing empty-payload edge cases.(#6551) - Improved provider page layout and styling to keep settings pages consistent.(#7248)
- Refined connection-success handling and messaging when users are already logged in.(commit)
Bug Fixes
- Inherited all system environment variables in Windows MCP runner to fix environment-dependent launch issues.(#7054)
- Filtered Gemini thinking parts from user-facing message chains.(#7196)
- Fixed Gemini
function_responsecompatibility to prevent400 Invalid argumentresponses.(#7216) - Improved knowledge base initialization error handling.(#7243)
- Fixed Bailian rerank parsing for both old and new response formats.(#7217)
- Added AMR encoder support in Docker builds to fix missing audio codec support.(#7247)
- Added the
pysocksdependency so pip installs can use SOCKS5 proxy correctly.(#7221) - Fixed
_extract_usagecached token handling.(#6719) - Sent SSE heartbeat packets to prevent WebChat disconnection under compression.(#7003)
- Fixed
400errors caused by empty assistant messages on strict APIs.(#7202) - Added missing
qrcodedependency to restore QR code generation.(commit) - Fixed number input UX in config renderer.(#7153)
- Fixed
Record.pathbeing incorrectly treated as required under Pydantic v2.(#7048)
What's Changed
- docs: add usage of
select_knowledgebasein plugin development docs by @piexian in #7115 - feat: add new StatsPage for enhanced statistics overview by @Soulter in #7152
- fix(core): Record.path was incorrectly treated as required under Pydantic v2 by @No-22-Github in #7048
- fix: improve number input UX in config renderer by @Reisenbug in #7153
- fix: send SSE heartbeat to prevent WebChat disconnect during compression by @he-yufeng in #7003
- perf: improve ui by @Soulter in #7178
- chore(deps): bump codecov/codecov-action from 5 to 6 in the github-actions group by @dependabot[bot] in #7209
- Fix cached_tokens handling in _extract_usage method by @LIghtJUNction in #6719
- refactor: update provider panels for improved layout and styling by @Soulter in #7248
- feat: integrate Monaco Editor workers for enhanced code editing support by @Soulter in #7249
- fix: add pysocks dependency to support SOCKS5 proxy for pip install by @Neko-Yukari in #7221
- fix(Docker): add amr encoder by @WenqiOfficial in #7247
- fix: support both old and new Bailian Rerank API response formats by @he-yufeng in #7217
- 修正了QQ websoket连接的文档错误 by @Thelia-Lzr in #7279
- 修复:过滤空助手消息,以防止在严格API上出现400错误(fix: filter empty assistant messages to prevent 400 error on strict APIs) by @kaixinyujue in #7202
- Docs/update mimo provider readme by @RichardLiuda in #7207
- Feat(webui): dashboard and console qol improvements by @M1LKT in #7215
- fix: 改进知识库的初始化错误处理 by @piexian in #7243
- docs: 在 uv 部署文档中添加不支持 WebUI 升级的说明 by @piexian in #7298
- fix: resolve Discord/Misskey hot reload issue by fixing client_self_id misuse by @Soulter in #7331
- fix: satisfy Google Gemini's function_response requirements to avoid 400 Invalid argument errors by @he-yufeng in #7216
- fix: filter Gemini thinking parts from user-facing message chain by @he-yufeng in #7196
- perf: Set
contentto None when the OpenAI message content list is empty by @he-yufeng in #6551 - fix(windows): inherit all system environment variables into MCP runner for Windows by @SoloLevelingAI in #7054
- feat: support token usage extraction for llama.cpp by @Soulter in #7358
- feat(provider/vllm_rerank): add configurable rerank_api_suffix option by @richard950825-sys in #7278
New Contributors
- @No-22-Github made their first contribution in #7048
- @Neko-Yukari made their first contribution in #7221
- @WenqiOfficial made their first contribution in #7247
- @Thelia-Lzr made their first contribution in #7279
- @kaixinyujue made their first contribution in #7202
- @SoloLevelingAI made their first contribution in #7054
- @richard950825-sys made their first contribution in #7278
Full Changelog: v4.22.2...v4.22.3