Releases: AstrBotDevs/AstrBot
Releases · AstrBotDevs/AstrBot
v4.18.3
What's Changed
新增
- 新增桌面端通用更新桥接能力,便于接入客户端内更新流程 (#5424)。
修复
- 修复新增平台对话框中 Line 适配器未显示的问题。
- 修复 Telegram 无法发送 Video 的问题 (#5430)。
- 修复创建 embedding provider 时无法自动识别向量维度的问题 (#5442)。
- 修复 QQ 官方平台发送媒体消息时 markdown 字段未清理的问题 (#5445)。
- 修复上下文管理策略 -> 上下文截断时 tool call / response 配对丢失的问题 (#5417)。
- 修复会话更新时
persona_id被覆盖的问题,并增强 persona 解析逻辑。 - 修复 WebUI 中 GitHub 代理地址显示异常的问题 (#5438)。
- 修复设置页新建开发者 API Key 后复制失败的问题 (#5439)。
- 修复 Telegram 语音消息格式与 OpenAI STT 兼容性问题(使用 OGG) (#5389)。
优化
- 优化知识库检索流程,改为批量查询元数据,修复 N+1 查询性能问题 (#5463)。
- 优化 Cron 未来任务执行的会话隔离能力,提升并发稳定性。
- 优化 WebUI 插件页的交互。
What's Changed (EN)
New Features
- Added
useExtensionPagecomposable for unified plugin extension page state management. - Added a generic desktop app updater bridge to support in-app update workflows (#5424).
Bug Fixes
- Fixed the Line adapter not appearing in the "Add Platform" dialog.
- Fixed Telegram video sending issues (#5430).
- Fixed Pyright static type checking errors (#5437).
- Fixed embedding dimension auto-detection when creating embedding providers (#5442).
- Fixed stale markdown fields when sending media messages via QQ Official Platform (#5445).
- Fixed tool call/response pairing loss during context truncation (#5417).
- Fixed
persona_idbeing overwritten during conversation updates and improved persona resolution logic. - Fixed incorrect GitHub proxy display in WebUI (#5438).
- Fixed API key copy failure after creating a new key in settings (#5439).
- Fixed Telegram voice format compatibility with OpenAI STT by using OGG (#5389).
Improvements
- Improved knowledge base retrieval by batching metadata queries to eliminate the N+1 query pattern (#5463).
- Improved session isolation for future cron tasks to increase stability under concurrency.
- Improved WebUI plugin page interactions.
What's Changed
- fix: Telegram voice message format (OGG instead of WAV) causing issues with OpenAI STT API by @realquantumcookie in #5389
- feat(dashboard): add generic desktop app updater bridge by @zouyonghe in #5424
- fix(dashboard): 修复设置页新建 API Key 后复制失败问题 by @exynos967 in #5439
- Fix: GitHub proxy not displaying correctly in WebUI by @letr007 in #5438
- fix: ensure tool call/response pairing in context truncation by @Luna-channel in #5417
- fix(persona): preserve conversation persona_id and unify session/conversation resolution by @Raven95676 in #5440
- fix: clear markdown field when sending media messages via QQ Official Platform by @KBVsent in #5445
- fix: cannot automatically get embedding dim when create embedding provider by @exynos967 in #5442
- fix: pyright check by @Dt8333 in #5437
- fix(telegram): cannot send video message (#2536) by @CCCCCCTV in #5430
- perf: batch metadata query in KB retrieval to fix N+1 problem by @CAICAIIs in #5463
- fix:fix the issue where incomplete cleanup of residual plugins occurs… by @Waterwzy in #5462
- chore: fix UnsupportedDunder report in pyright by @Dt8333 in #5474
- [bug]查看介入教程line前往错误界面的问题 by @Sjshi763 in #5479
New Contributors
- @realquantumcookie made their first contribution in #5389
- @CCCCCCTV made their first contribution in #5430
Full Changelog: v4.18.2...v4.18.3
v4.18.2
What's Changed
新增
- 新增 Agent 会话停止能力,并优化 stop 请求处理流程,支持 /stop 指令终止 Agent 运行并尽量不丢失已运行输出的结果。 (#5380)。
- 新增 SubAgent 交接场景下的 computer-use 工具支持 (#5399)。
- 新增 Agent 执行过程中展示工具调用结果的能力,提升执行过程可观测性 (#5388)。
- 新增插件加载/卸载 Hook,扩展插件生命周期能力 (#5331)。
- 新增插件加载失败后的热重载能力,提升插件开发与恢复效率 (#5334)。
- 新增 SubAgent 图片 URL/本地路径输入支持 (#5348)。
- 新增 Dashboard 发布跳转基础 URL 可配置项 (#5330)。
修复
- 修复 Tavily 请求的硬编码 6 秒超时。
- 修复 OneBot v11 适配器关闭之后仍然在连接的问题(#5412)。
- 修复上下文会话中平台缺失时的日志处理,补充 warning 并改进排查信息。
- 修复 embedding 维度未透传到 provider API 的问题 (#5411)。
- 修复 File 组件处理逻辑并增强 OneBot 驱动层路径兼容性 (#5391)。
- 修复 sandbox 文件传输工具缺少管理员权限校验的问题 (#5402)。
- 修复 pipeline 与
from ... import *引发的循环依赖问题 (#5353)。 - 修复配置文件存在 UTF-8 BOM 时的解析问题 (#5376)。
- 修复 ChatUI 复制回滚路径缺失与错误提示不清晰的问题 (#5352)。
- 修复保留插件目录处理逻辑,避免插件目录行为异常 (#5369)。
- 修复 ChatUI 文件消息段无法持久化的问题 (#5386)。
- 修复
.dockerignore误排除changelogs目录的问题。 - 修复 aiohttp 版本过新导致 qq-botpy 报错的问题 (#5316)。
优化
What's Changed (EN)
New Features
- Added computer-use tools support in sub-agent handoff scenarios (#5399).
- Added support for displaying tool call results during agent execution for better observability (#5388).
- Added plugin load/unload hooks to extend plugin lifecycle capabilities (#5331).
- Added hot reload support when plugin loading fails, improving recovery during plugin development (#5334).
- Added image URL/local path input support for sub-agents (#5348).
- Added stop control for active agent sessions and improved stop request handling (#5380).
- Added configurable base URL for dashboard release redirects (#5330).
Fixes
- Fixed logging behavior when platform information is missing in context sessions, with clearer warning and diagnostics.
- Fixed missing embedding dimensions being passed to provider APIs (#5411).
- Fixed shutdown stability issues in the aiocqhttp adapter (#5412).
- Fixed File component handling and improved path compatibility in the OneBot driver layer (#5391).
- Fixed missing admin guard for sandbox file transfer tools (#5402).
- Fixed circular import issues related to pipeline and
from ... import *usage (#5353). - Fixed config parsing issues when files contain UTF-8 BOM (#5376).
- Fixed missing copy rollback path and unclear error messaging in ChatUI (#5352).
- Fixed reserved plugin directory handling to avoid abnormal plugin path behavior (#5369).
- Fixed ChatUI file segment persistence issues (#5386).
- Fixed accidental exclusion of the
changelogsdirectory in.dockerignore. - Fixed compatibility issues caused by a hard-coded 6-second timeout in Tavily requests.
- Fixed qq-botpy runtime errors caused by overly new aiohttp versions (#5316).
Improvements
- Completed internationalization for the sub-agent orchestration page (#5400).
- Added broader message-event test coverage and improved fixtures/mocks in the test framework (#5355, #5354).
- Updated README content and applied repository-wide formatting cleanup (ruff format) (#5375).
What's Changed
- fix: 修复 aiohttp 版本过新导致 qq-botpy 报错的问题 by @moemoli in #5316
- feat(dashboard): make release redirect base URL configurable by @zouyonghe in #5330
- feat: add stop functionality for active agent sessions and improve handling of stop requests by @Soulter in #5380
- fix: chatui cannot persist file segment by @Soulter in #5386
- fix(plugin): update plugin directory handling for reserved plugins by @Raven95676 in #5369
- chore(README): updated with README.md by @SXP-Simon in #5375
- feat: add image urls / paths support for subagents by @a61995987 in #5348
- feat: add hot reload when failed to load plugins by @Waterwzy in #5334
- fix(chatui): add copy rollback path and error message. by @hanbings in #5352
- fix: 处理配置文件中的 UTF-8 BOM 编码问题 by @tangsenfei in #5376
- feat: add plugin load&unload hook by @PyuraMazo in #5331
- test: enhance test framework with comprehensive fixtures and mocks by @whatevertogo in #5354
- test: add comprehensive tests for message event handling by @whatevertogo in #5355
- feat: add support for showing tool call results in agent execution by @Soulter in #5388
- fix: resolve pipeline and star import cycles by @whatevertogo in #5353
- feat: enable computer-use tools for subagent handoff by @Axi404 in #5399
- fix: enforce admin guard for sandbox file transfer tools by @Axi404 in #5402
- fix(core): 优化 File 组件处理逻辑并增强 OneBot 驱动层路径兼容性 by @SXP-Simon in #5391
- i18n(SubAgentPage): complete internationalization for subagent orchestration page by @SXP-Simon in #5400
- fix(aiocqhttp): enhance shutdown process for aiocqhttp adapter by @Soulter in #5412
- fix: 让 Embedding 维度配置真正生效 by @piexian in #5411
New Contributors
- @a61995987 made their first contribution in #5348
- @hanbings made their first contribution in #5352
- @tangsenfei made their first contribution in #5376
- @PyuraMazo made their first contribution in #5331
- @Axi404 made their first contribution in #5399
Full Changelog: v4.18.1...v4.18.2
v4.18.1
What's Changed
修复
- fix: 修复插件市场出现插件显示为空白的 bug;纠正已安装插件卡片的排版,统一大小 (#5309)
新增
- SubAgent 支持后台执行模式配置:当
background: true时,子代理将在后台运行,主对话无需等待子代理完成即可继续进行。当子代理完成后,会收到通知。适用于长时间运行或用户不需要立即结果的任务。(#5081) - 配置 Schema 新增密码渲染支持:
string与text类型可通过password: true(或render_type: "password")在 WebUI 中按密码输入方式显示。
What's Changed (EN)
Fixes
- fix: Fixed a bug where the plugin marketplace would show blank cards for plugins; corrected the layout of installed plugin cards for consistent sizing (#5309)
New Features
- Added background execution mode support for sub-agents: when
background: trueis set, the sub-agent will run in the background, allowing the main conversation to continue without waiting for the sub-agent to finish. You will be notified when the sub-agent completes. This is suitable for long-running tasks or when the user does not need immediate results. (#5081) - Added password rendering support in config schema:
stringandtextfields can be rendered as password inputs in WebUI withpassword: true(orrender_type: "password").
What's Changed
- fix(SubAgentPage): 当中间的介绍文本非常长时,Flex 布局会自动挤压右侧的控制按钮区域 by @SXP-Simon in #5306
- fix: 修复新版本插件市场出现插件显示为空白的 bug;纠正已安装插件卡片的排版,统一大小 by @SXP-Simon in #5309
- feat: supports spawn subagent as a background task that not block the main agent workflow by @advent259141 in #5081
Full Changelog: v4.18.0...v4.18.1
v4.18.0
What's Changed
新增
- 新增 AstrBot HTTP API,支持基于 API Key 的对话、会话查询、配置查询、文件上传与 IM 消息发送能力。详见AstrBot HTTP API (Beta) (#5280)。
- 新增 Telegram 指令别名注册能力,别名可同步展示在 Telegram 指令菜单中 (#5234)。
- 新增 Anthropic 自适应思考参数配置(type/effort),增强思考策略可控性 (#5209)。
修复
优化
- 优化插件市场卡片的平台支持展示,改进移动端可用性与交互体验 (#5271)。
- 重构 Dashboard 桌面运行时桥接字段,从
isElectron统一迁移至isDesktop,提升跨端语义一致性 (#5269)。
What's Changed (EN)
New Features
- Added AstrBot HTTP API with API Key support for chat, session listing, config listing, file upload, and IM message sending. See AstrBot HTTP API (Beta) (#5280).
- Added Telegram command alias registration so aliases can also appear in the Telegram command menu (#5234).
- Added Anthropic adaptive thinking parameters (
type/effort) for more flexible reasoning strategy control (#5209).
Fixes
- Fixed QQ official guild message sending errors to improve delivery stability (#5287).
- Fixed chat config binding failures caused by missing session IDs when creating new chats, and improved localStorage fault tolerance (#5292).
Improvements
- Improved plugin marketplace card display for platform compatibility, with better mobile accessibility and interaction (#5271).
- Refactored desktop runtime bridge fields in the dashboard from
isElectrontoisDesktopfor clearer cross-platform semantics (#5269).
What's Changed
- refactor(dashboard): replace legacy isElectron bridge fields with isDesktop by @zouyonghe in #5269
- fix: update contributor avatar image URL to include max size and columns by @VanillaNahida in #5268
- feat: astrbot http api by @Soulter in #5280
- feat(dashboard): improve plugin platform support display and mobile accessibility by @SXP-Simon in #5271
- fix: qq official guild message send error by @moemoli in #5287
- 更新readme文档,补充桌面app说明,并向前移动位置 by @zouyonghe in #5297
- feat: add Anthropic Claude Code OAuth provider and adaptive thinking support by @Minidoracat in #5209
- Feat/telegram command alias register #5233 by @evpeople in #5234
- Fix:修复新建对话时因缺少会话ID导致配置绑定失败的问题 by @Li-shi-ling in #5292
New Contributors
- @moemoli made their first contribution in #5287
- @Minidoracat made their first contribution in #5209
Full Changelog: v4.17.6...v4.18.0
v4.17.6
What's Changed
新增
- 新增 Python / Shell 执行工具的管理员权限校验,提升高风险操作安全性 (#5214)。
- 新增插件
astrbot-version与平台版本要求校验支持,增强插件兼容性管理能力 (#5235)。 - 账号密码修改流程新增“确认新密码”校验,减少误输导致的配置问题 (#5247)。
修复
- 修复 MCP 工具完整暴露给主 Agent,无视人格 tool 选择的问题 (#5252)。
- 改进微信公众号被动回复处理机制,引入缓冲与分片回复并优化超时行为,提升回复稳定性 (#5224)。
- 修复仅发送 JSON 消息段时可能触发空消息回复报错的问题 (#5208)。
- 修复会话重置/新建/删除时未终止活动事件导致的陈旧响应问题 (#5225)。
- 修复 provider 在
dict格式content场景下可能残留 JSON 内容的问题 (#5250)。 - 修复工具 schema 属性中的
additionalProperties配置问题 (#5253)。 - 优化账号编辑校验错误提示,简化并统一用户名/密码为空场景返回信息。
优化
- 优化 PersonaForm 布局与工具选择展示,并完善工具停用状态的本地化显示。
其他
- 移除 Electron Desktop 流水线并迁移到 Tauri 仓库 (#5226)。
- 更新相关仓库链接与功能请求模板文案,统一中英文表达。
- 移除过时文档文件
heihe.md。
What's Changed (EN)
New Features
- Added admin permission checks for Python/Shell execution tools to improve safety for high-risk operations (#5214).
- Added support for
astrbot-versionand platform requirement checks for plugins to improve compatibility management (#5235). - Added password confirmation when changing account passwords to reduce misconfiguration caused by typos (#5247).
Fixes
- Improved passive reply handling for WeChat Official Accounts with buffering/chunking and timeout behavior optimizations for better stability (#5224).
- Fixed an empty-message reply error when only JSON message segments were sent (#5208).
- Fixed stale responses by terminating active events on reset/new/delete operations (#5225).
- Fixed residual JSON content issues in provider handling when
contentwas indictformat (#5250). - Fixed incomplete exposure of MCP tools to the main agent (#5252).
- Fixed
additionalPropertieshandling in tool schema properties (#5253). - Simplified and unified account-edit validation error responses for empty username/password scenarios.
Improvements
- Enhanced PersonaForm layout and tool selection display, and improved localized labels for inactive tools.
Others
- Removed the Electron desktop pipeline and switched to the Tauri repository (#5226).
- Updated related repository links and refined feature request template wording in both Chinese and English.
- Removed outdated documentation file
heihe.md.
What's Changed
- feat: add admin permission checks config item for computer use feature by @Soulter in #5214
- fix: 改进微信公众号被动回复处理机制,引入缓冲与分片回复,并优化超时行为 by @Trance-0 in #5224
- fix: 修复仅发送 JSON 消息段时的空消息回复报错 by @NanoRocky in #5208
- fix(core): terminate active events on reset/new/del to prevent stale responses by @YukiRa1n in #5225
- chore: remove Electron desktop pipeline and switch to tauri repo by @zouyonghe in #5226
- Feat/config leave confirm by @SnowNightt in #5249
- feat: add support for plugin astrbot-version and platform requirement checks by @Soulter in #5235
- feat: add password confirmation when changing password by @whatevertogo in #5247
- fix(provider): 修复 dict 格式 content 导致的 JSON 残留问题 by @NayukiChiba in #5250
- fix: all mcp tools exposed to main agent by @Soulter in #5252
- fix: remove additionalProperties from tool schema properties by @Soulter in #5253
New Contributors
- @Trance-0 made their first contribution in #5224
- @whatevertogo made their first contribution in #5247
Full Changelog: v4.17.5...v4.17.6
v4.17.5
What's Changed
新增
- 支持 QQ 官方机器人平台发送 Markdown 消息,提升富文本消息呈现能力 (#5173)。
- 新增在插件市场中集成随机插件推荐能力 (#5190)。
- 新增插件错误钩子(plugin error hook),支持自定义错误路由处理,便于插件统一异常控制 (#5192)。
修复
优化
- 重构 telegram
Voice_messages_forbidden回退逻辑,提取为共享辅助方法并引入类型化BadRequest异常,提升异常处理一致性 (#5204)。
其他
- 更新 README 相关文档内容。
- 执行
ruff format代码格式整理。
What's Changed (EN)
New Features
- Added a plugin error hook for custom error routing, enabling unified exception handling in plugins (#5192).
- Added Markdown message sending support for
qqofficialto improve rich-text delivery (#5173). - Added the
MarketPluginCardcomponent and integrated random plugin recommendations in the extension marketplace (#5190). - Added support for the
aihubmixprovider. - Added LINE support notes to multilingual README files.
Fixes
- Fixed duplicate error messages when all LLM providers fail, reducing noisy error output (#5183).
- Fixed incorrect displayed profile after opening configuration management from profile selection and closing the dialog directly (#5174).
Improvements
- Refactored
Voice_messages_forbiddenfallback logic into a shared helper and introduced a typedBadRequestexception for more consistent error handling (#5204).
Others
- Updated README documentation.
- Applied
ruff formatcode formatting.
What's Changed
- feat: supports send markdown message in qqofficial by @Soulter in #5173
- fix: prevent duplicate error message when all LLM providers fail by @KBVsent in #5183
- fix: 修复选择配置文件进入配置文件管理弹窗直接关闭弹窗显示的配置文件不正确 by @SnowNightt in #5174
- feat: add MarketPluginCard component and integrate random plugin feature in ExtensionPage by @Soulter in #5190
- feat(core): add plugin error hook for custom error routing by @Clhikari in #5192
- fix: handle Telegram Voice_messages_forbidden with typed exception and text caption by @911218sky in #5204
New Contributors
- @911218sky made their first contribution in #5204
Full Changelog: v4.17.4...v4.17.5
v4.17.4
What's Changed
新增
- 新增 NVIDIA Provider 模板,便于快速接入 NVIDIA 模型服务 (#5157)。
- 支持在 WebUI 搜索配置
修复
- 修复 CronJob 页面操作列按钮重叠问题,提升任务管理可用性 (#5163)。
优化
- 优化 Python / Shell 本地执行工具的权限拒绝提示信息引导,提升排障可读性。
- Provider 来源面板样式升级,新增菜单交互并完善移动端适配。
- PersonaForm 组件增强响应式布局与样式细节,改进不同屏幕下的编辑体验 (#5162)。
- 配置页面新增未保存变更提示,减少误操作导致的配置丢失。
- 配置相关组件新增搜索能力并同步更新界面交互,提升配置项定位效率 (#5168)。
What's Changed (EN)
New Features
- Added an NVIDIA provider template for faster integration with NVIDIA model services (#5157).
- Added an announcement section to the Welcome page, with localized announcement title support.
- Added an FAQ link to the vertical sidebar and updated navigation for localization.
Fixes
- Fixed overlapping action buttons in the CronJob page action column to improve task management usability (#5163).
- Improved permission-denied messages for local execution in Python and shell tools for better troubleshooting clarity.
Improvements
- Enhanced the provider sources panel with a refined menu style and better mobile support.
- Improved PersonaForm with responsive layout and styling updates for better editing experience across screen sizes (#5162).
- Added an unsaved-changes notice on the configuration page to reduce accidental config loss.
- Added search functionality to configuration components and updated related UI interactions for faster settings discovery (#5168).
v4.17.3
What's Changed
修复
‼️ 修复 Python 3.14 环境下'Plain' object has no attribute 'text'报错问题 (#5154)。‼️ 修复插件元数据处理流程:在实例化前注入必要属性,避免初始化阶段元数据缺失 (#5155)。- 修复桌面端后端构建中 AstrBot 内置插件运行时依赖未打包的问题 (#5146)。
- 修复通过 AstrBot Launcher 启动时仍被检测并触发更新的问题。
优化
- Webchat 下,使用
astrbot_execute_ipython工具如果返回了图片,会自动将图片发送到聊天中。
其他
- 执行
ruff format代码格式整理。
What's Changed (EN)
Fixes
‼️ Fixed plugin metadata handling by injecting required attributes before instantiation to avoid missing metadata during initialization (#5155).‼️ Fixed'Plain' object has no attribute 'text'error when using Python 3.14 (#5154).- Fixed missing runtime dependencies for built-in plugins in desktop backend builds (#5146).
- Fixed update checks being triggered when AstrBot is launched via AstrBot Launcher.
Improvements
- In Webchat, when using the
astrbot_execute_ipythontool, if an image is returned, it will automatically be sent to the chat.
Others
- Applied
ruff formatcode formatting.
v4.17.2
What's Changed
hotfix of 4.17.0
- 修复:MCP 服务器的 Tools 没有被正确添加到上下文中。
- 修复:Electron 桌面应用部署时,系统自带插件未被正确加载的问题。
- fix: Tools from MCP server were not properly added to context.
- fix: built-in plugins were not properly loaded in Electron desktop application deployment.
v4.17.1
What's Changed
hotfix of 4.17.0
- 修复:当开启了 “启用文件日志” 后,无法启动 AstrBot,报错
ValueError: Invalid unit value while parsing duration: 'files'。这是由于日志轮转设置中保留配置错误导致的,已通过根据备份数量正确设置保留参数进行修复。 - fix: When "Enable file logging" is turned on, AstrBot fails to start with error
ValueError: Invalid unit value while parsing duration: 'files'. This is due to an incorrect retention configuration in the log rotation setup, which has been fixed by properly setting the retention parameter based on backup count.
新增
- 新增 LINE 平台适配器与相关配置支持 (#5085)
- 新增备用回退聊天模型列表,当主模型报错时自动切换到备用模型 (#5109)
- 新增插件加载失败后的热重载支持,便于插件修复后快速恢复 (#5043)
- WebUI 新增 SSL 配置选项并同步更新相关日志行为 (#5117)
修复
- 修复 Dockerfile 中依赖导出流程,增加
uv lock步骤并移除不必要的--frozen参数,提升构建稳定性 (#5091, #5089) - 修复首次启动公告
FIRST_NOTICE.md的本地化路径解析问题,补充兼容路径处理 (#5083, #5082)
优化
- 日志系统由
colorlog切换为loguru,增强日志输出与展示能力 (#5115)
What's Changed (EN)
New Features
- Added LINE platform adapter support with related configuration options (#5085)
- Added fallback chat model chain support in tool loop runner, with corresponding config and improved provider selection display (#5109)
- Added hot reload support after plugin load failure for faster recovery during plugin development and maintenance (#5043)
- Added SSL configuration options for WebUI and updated related logging behavior (#5117)
Fixes
- Fixed Dockerfile dependency export flow by adding a
uv lockstep and removing unnecessary--frozenflag to improve build stability (#5091, #5089) - Fixed locale path resolution for
FIRST_NOTICE.mdand added compatible fallback handling (#5083, #5082)
Improvements
- Replaced
colorlogwithloguruto improve logging capabilities and console display (#5115)