v4.26.0-beta.1
·
15 commits
to master
since this release
What's Changed
重点更新
- 后端架构从 Quart 迁移至 FastAPI,并统一 AstrBot 内部接口和 OpenAPI 接口格式,新增多个 OpenAPI。(#8688)
- 统一全平台消息媒体文件的处理逻辑,提升图片、音频、文件和引用消息媒体的解析一致性,减少媒体格式带来的报错。(#8764)
- WebUI 新增函数工具的逐工具权限管理,支持在工具面板中查看和切换工具权限。(#8693)
- WebUI 支持主题跟随系统。(#8648)s
- 对腾讯系 Silk 格式的语音文件不再使用 pilk 库。(#8764)
- 新增 ElevenLabs TTS API Provider。(commit)
- 备份功能现在会包含 skills 目录。(#8700)
修复
- 修复生成平台 ID 时可能包含空白字符的问题。(#8768)
- 修复插件 LLM Tools 开关的归属校验问题,避免误操作其他插件的工具配置。(commit)
- 完善插件命名模式校验和边界场景处理。(commit)
- 修复插件重装后仓库来源丢失的问题。(commit)
- 修复子目录工具的
handler_module_path不一致问题。(#8578) - 修复引用图片说明可能重复显示的问题。(#8718)
- 修复 Embedding API version 后缀被错误截断的问题。(#8736)
- 修复 changelog 弹窗中的锚点链接处理。(#8750)
- 修复 Dashboard 创建文件夹时按 Enter 无法提交的问题。(#8597)
- 延迟导入 FAISS C 库,避免部分环境启动时进程卡住。(#8696)
- 关闭时主动释放数据库 engine,减少会话和测试环境中的资源残留。(#8650)
- 修复 CLI 版本来源不正确的问题。(#8692)
- 稳定 FastAPI Dashboard 路由注册测试,兼容 included router 节点。(commit)
优化与工程
- 消息组件日志输出现在会截断过长的 base64 字段,避免日志中出现大体积内联媒体内容。(#8591)
- 对腾讯系 Silk 格式的语音文件不再使用 pilk 库。(#8764)
- 群聊上下文现在会展示被引用消息的内容。(commit)
- 对话上下文新增当前星期信息。(#8669)
- 优化 CLI 插件列表构建的性能与健壮性,并补充关键合并逻辑和边界场景测试。(#8705)
- 新增 GitHub 代理
gh.dpik.top,并移除失效代理gh.llkk.cc。(#8772, #8761) - PR 标题检查允许更多 conventional commit 前缀。(#8665)
- 应用 pyupgrade 代码现代化更新,并升级 Codecov GitHub Action。(#8684, commit)
- 修正文档中的 LM Studio 公网 IP 描述,并更新 OpenAPI 与插件页面相关文档。(#8707, #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)
- 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)
- Added per-tool permission management for function tools in WebUI, with controls for viewing and toggling tool permissions. (#8693)
- Added WebUI theme modes for light, dark, and system preference, with centralized system theme synchronization. (#8648)
- Added the ElevenLabs TTS API provider. (commit)
- Included the skills directory in backups. (#8700)
Bug Fixes
- Fixed missing
self_idrouting parameters across multiple aiocqhttp platform adapter and message event API calls. (#8779) - Sanitized generated platform IDs to avoid whitespace characters. (#8768)
- Fixed ownership checks when toggling plugin LLM tools, preventing accidental changes to other plugins' tool settings. (commit)
- Improved plugin naming pattern validation and edge-case handling. (commit)
- Preserved repository source information when reinstalling plugins. (commit)
- Fixed inconsistent
handler_module_pathvalues for tools inside subdirectories. (#8578) - Avoided duplicate captions for quoted images. (#8718)
- Preserved Embedding API version suffixes instead of truncating them incorrectly. (#8736)
- Fixed changelog anchor link handling in the Dashboard dialog. (#8750)
- Allowed Dashboard folder creation to be submitted by pressing Enter. (#8597)
- Deferred FAISS C library imports to avoid startup hangs in some environments. (#8696)
- Disposed the database engine on shutdown to reduce resource leftovers in sessions and tests. (#8650)
- Fixed the CLI version source. (#8692)
- Stabilized FastAPI Dashboard route registration tests for included router nodes. (commit)
Improvements and Maintenance
- Message component log output now truncates long base64 fields to avoid large inline media payloads in logs. (#8591)
- Tencent Silk voice files no longer use the pilk library. (#8764)
- Group chat context now includes quoted message content. (commit)
- Added current weekday information to conversation context. (#8669)
- Improved CLI plugin list building performance and robustness, with tests for key merging and edge cases. (#8705)
- Added GitHub proxy
gh.dpik.topand removed the invalidgh.llkk.ccproxy. (#8772, #8761) - Allowed more conventional commit prefixes in PR title checks. (#8665)
- Applied pyupgrade updates and upgraded the Codecov GitHub Action. (#8684, commit)
- Fixed the LM Studio public IP documentation wording and refreshed OpenAPI/plugin-page documentation. (#8707, #8688)
What's Changed
- fix: dispose database engine on shutdown by @KBVsent in #8650
- feat(core): show weekday in datetime prompt by @Sisyphbaous-DT-Project in #8669
- feat(dashboard): add per-tool permission management for function tools by @RC-CHN in #8693
- docs: fix LM Studio public IP typo by @liliiiliili in #8707
- fix: defer faiss C library import to prevent process hang on startup by @Blueteemo in #8696
- fix: preserve repo source on plugin reinstall by @HIUEETR in #8675
- chore(deps): bump codecov/codecov-action from 6 to 7 in the github-actions group by @dependabot[bot] in #8687
- fix(dashboard): allow creating folder by pressing Enter by @micaiguai in #8597
- feat: add ElevenLabs TTS API provider by @jayzen33 in #8680
- style: apply pyupgrade updates by @yzy123908944141 in #8684
- feat: backup skills directory by @lingyun14beta in #8700
- feat: show quoted message content in group chat context by @ScarletPupil in #8634
- fix: handle changelog anchor links by @he-yufeng in #8750
- fix: preserve embedding api version suffixes by @he-yufeng in #8736
- fix: avoid duplicate quoted image captions by @he-yufeng in #8718
- Fix CLI version source by @Rat0323 in #8692
- feat(ci): allow conventional PR title prefixes by @SunmiJJW in #8665
- feat(dashboard): add a configurable theme mode with light, dark, and system options and centralize theme synchronization with system preferences. by @lingyun14beta in #8648
- perf(cli): optimize plugin list building performance and robustness while adding coverage for key merge and edge-case scenarios by @SeRazon in #8705
- fix: consistent handler_module_path for subdirectory tools by @muhamedfazalps in #8679
- fix: unify media reference handling by @Soulter in #8764
- fix(proxy): drop invalid proxy gh.llkk.cc by @th-dd in #8761
- fix: sanitize Lark platform id suffixes by @he-yufeng in #8768
- feat(proxy): add gh proxy link gh.dpik.top by @th-dd in #8772
- refactor(core): migrate backend backbone from Quart to FastAPI and introduce more OpenAPI by @Soulter in #8688
- fix: updates the aiocqhttp platform adapter and message event handler to include self_id routing parameters across multiple API calls by @exynos967 in #8779
- feat(components): override repr_args to truncate long base64 fields for safe logging by @KBVsent in #8591
New Contributors
- @liliiiliili made their first contribution in #8707
- @HIUEETR made their first contribution in #8675
- @micaiguai made their first contribution in #8597
- @jayzen33 made their first contribution in #8680
- @yzy123908944141 made their first contribution in #8684
- @ScarletPupil made their first contribution in #8634
- @SunmiJJW made their first contribution in #8665
- @SeRazon made their first contribution in #8705
- @muhamedfazalps made their first contribution in #8679
- @th-dd made their first contribution in #8761
Full Changelog: v4.25.5...v4.26.0-beta.1