v4.22.2
·
149 commits
to master
since this release
What's Changed
新增
优化
- Chat Provider text_chat 接口新增
tool_choice参数,并为模型空响应引入统一的EmptyModelOutputError与增强重试逻辑,改善 “skills-like” 工具调用模式下的稳定性。(#7101、#7104) - SSL 证书配置错误时自动回退到非 SSL 模式,而不是程序直接退出。(#7102)
修复
- 修复 个人微信 Bot 无法发送多媒体文件与 CDN 上传地址兼容性问题,适配新的
upload_full_url返回格式。#7066) - 修复 个人微信 连接超时 / 中断后直接导致微信适配器实例退出的问题,增强了重试机制。(#7041
- 修复 WebUI Skills 上传对多技能压缩包的处理,允许单个 zip 包内包含多个技能。(#7070)
- 修复 OpenAI 嵌入模型接口处理相关问题。#7026)
- QQ 机器人发送语音或音频文件没有响应 (#7007)
- ChatUI 切换到某个会话,刷新后错误地跳转到最新会话 (#6535)
- 修复百炼
qwen3-rerank的请求负载兼容性问题,并忽略不受支持的return_documents参数。(#6222) - 修复 QQ 下,发送唤醒前缀后,多次空触发 LLM 的问题。(#6893)
- 修复 GSVI TTS 调用方式与鉴权头构造问题,并补充默认配置值,适配新的
/infer_singleAPI。(#7083) - 修复缺失
httpxSOCKS 代理依赖的问题,恢复 SOCKS 代理支持。(#7093) - 修复企业微信客服发送失败时无法回退普通消息接口的问题。(#7012)
- 修复 WebUI 对话管理详情页无法滚动的问题。#6972)
- 修复 Telegram 附件消息 caption 丢失的问题。(#7020)
What's Changed (EN)
New Features
- Added
tool_choiceto Tool Loop Agent Runner and introducedEmptyModelOutputErrorwith stronger retry handling, improving stability for "skills-like" tool-call workflows.(#7101、#7104) - Added SSL config resolution and validation for Dashboard, with automatic fallback to non-SSL mode when the certificate setup is invalid.(#7102)
- Added the ability to create a new config by copying an existing one in the config management page.(#6785)
- Updated the QQ Official adapter to support asynchronous message parsing and attachment preparation.(#7007)
- Added typing-state control ("user is typing...") for the Weixin OC adapter.(#6977)
Improvements
- Refactored Chat UI routing and layout so the UI mode is URL-driven and related state is scoped to
sessionStorage.(#6535) - Improved WebUI polish by centering extension-page toast hints and making code blocks more readable in dark mode.(#6043、#7014)
Bug Fixes
- Fixed skill installer handling so a single zip archive can contain multiple skills.(#7070)
- Fixed Bailian
qwen3-rerankpayload compatibility and ignored unsupportedreturn_documentsparameters.(#6222) - Fixed pipeline wake-up and request flow on empty messages.(#6893)
- Fixed GSVI TTS invocation and authorization-header construction, and added safer default config values.(#7083)
- Fixed missing
httpxSOCKS proxy dependency to restore SOCKS proxy support.(#7093) - Fixed Weixin OC inbound polling retry behavior and CDN upload compatibility with the new
upload_full_urlresponse field.(#7041、#7066) - Fixed WeCom fallback behavior so sending can retry through the regular message API when the KF API returns
40096.(#7012) - Fixed missing attachment captions in Telegram messages.(#7020)
- Hardened OpenAI attachment recovery and fixed Embedding URL suffix trimming to avoid recovery failures and accidental URL character removal.(#7004、#7026)
- Fixed Dashboard regressions around list-option label mapping, missing icons, and mouse-wheel handling in the preview container.(#6844、#6970、#6972)
What's Changed
- fix: honor computer_use_require_admin in shipyard_neo tools by @1zzxy1 in #6951
- fix(dashboard): include missing vuetify mdi icons by @RC-CHN in #6970
- docs: Fix typo in plugin configuration documentation by @Yinr in #6971
- docs: normalize QQ group listings in READMEs and community docs by @idiotsj in #6976
- fix(provider): restore parameter transparency in core LLM provider adapters by @SXP-Simon in #6934
- feat(dashboard): center extension page toast hints with the global UI by @catDforD in #6043
- docs: update plugin dev link in webui by @xrr2016 in #6978
- Feat(webui): improve code block readability in dark mode(iss#6963) by @M1LKT in #7014
- fix: harden OpenAI attachment recovery by @zouyonghe in #7004
- revert: "fix(provider): restore parameter transparency in core LLM provider adapters" by @Soulter in #7023
- fix(dashboard): update aiocqhttp tutorial links to new docs path by @idiotsj in #7038
- fix(embedding): use removesuffix instead of rstrip to prevent over-trimming URLs by @Izayoi9 in #7026
- fix(telegram): preserve attachment captions by @Clhikari in #7020
- fix(wecom): fallback to message API when kf returns 40096 by @silwings1986 in #7012
- fix(chatui): refactor routing and layout to drive UI mode from URL and scope state to sessionStorage by @itamiokanjiro in #6535
- fix(weixin_oc): add error handling and retry logic for inbound updates polling by @Soulter in #7041
- feat: Add "typing" ("对方正在输入...") state control for weixin_oc plateform by @GowayLee in #6977
- docs: corrent weixin_oc wechat version requirements by @tlw00988 in #7068
- fix(weixin_oc): allow CDN uploads to use
upload_full_urlwhen provided by @Astral-Yang in #7066 - fix: bundle httpx SOCKS proxy support by @zouyonghe in #7093
- fix(gsvi_tts): Use the correct calling method by @Rain-0x01-39 in #7083
- fix(pipeline): skip waking on empty messages by @Reisenbug in #6893
- fix: allow multiple skills in a single zip archive by @jmt059 in #7070
- feat: update QQOfficialPlatformAdapter to support async parsing and attachment preparation by @Soulter in #7007
- fix(dashboard): apply labels mapping for list options in config renderer by @Foolllll-J in #6844
- feat: allow copy config from existing configs by @Flartiny in #6785
- fix(provider): fix Bailian rerank payload compatibility for qwen3-rerank by @kawayiYokami in #6222
- fix(webui): keep wheel scrolling inside history dialog by @1zzxy1 in #6972
- feat(agent-runner): add tool_choice parameter to fix empty tool calls response in "skills-like" tool call mode by @Soulter in #7101
- feat(dashboard): add SSL configuration resolution for dashboard by @Soulter in #7102
- feat: implement EmptyModelOutputError for handling empty responses across providers and enhance retry logic in ToolLoopAgentRunner by @Soulter in #7104
New Contributors
- @Yinr made their first contribution in #6971
- @xrr2016 made their first contribution in #6978
- @silwings1986 made their first contribution in #7012
- @tlw00988 made their first contribution in #7068
- @Astral-Yang made their first contribution in #7066
- @Rain-0x01-39 made their first contribution in #7083
- @jmt059 made their first contribution in #7070
- @Foolllll-J made their first contribution in #6844
Full Changelog: v4.22.1...v4.22.2