4.27.1 - 2026-08-02
Per aspera ad astra.
Added
-
Added
-y/--yestoastrbot initso unattended deployments can skip the installation confirmation prompt. (#9514) -
Added an independent stateless Responses API provider for OpenAI-compatible endpoints, including OpenAI and DeepSeek templates, full-history replay for reasoning and tool calls, and Responses API as the default for new xAI providers. (#9515)
-
Added persistent group message history with configurable retention, normalized storage, and an LLM tool for searching and retrieving messages from the current group. (#9465)
-
Added managed local shell sessions with incremental output, stdin writes, interruption, termination, timeouts, and lifecycle cleanup; Windows sessions now use PowerShell and line-oriented programs support explicit line writes. (#9470, #9471, #9501)
-
Added a unified extension and persona management experience with shared capability selectors, routed plugin workspaces, and clearer MCP server, tool, and Skill provenance and status. (#9499)
-
Added built-in
skill-creator,documents,pdf, andspreadsheetsSkills for creating reusable Skills and working with office documents, PDFs, and spreadsheets. -
Added installation and updates for plugins hosted in generic HTTP(S), SSH, and SCP-style Git repositories. (#9493)
-
Converted ChatUI pastes longer than 10,000 characters into text attachments. (#9496)
-
Added sensitive API key sub-scopes for administrator chat access and administrator configuration changes, plus generated scope-to-endpoint reference documentation. (#9503)
Changed
- Improved knowledge base retrieval quality with normalized dense/sparse relative-score fusion and source-document diversification. (#9455)
- Enriched knowledge base embeddings with document context and preserved heading paths. (#9457)
- Centralized core, dashboard, and plugin update flows behind a safer updater architecture with package and metadata verification. (#9493)
- Formalized existing deprecated APIs with runtime warnings and corrected the OpenAI tool-call conversion method name while retaining a backward-compatible alias. (#9468, #9469)
- Refined the Skills cards, persona management, extension workspace, and project chat composer layouts.
- Used compact timestamp-based transient filenames and clearer workspace-relative path guidance to reduce tool path token usage. (#9505)
- Returned concise plain-text results for completed local shell commands while retaining managed-session metadata for active commands. (#9507)
Fixed
-
Included the built-in
skill-creator,documents,pdf, andspreadsheetsSkills announced in v4.27.0 in source and Docker distributions, with read-only preset discovery and local override support. (#9517) -
Corrected capability chip colors in dark mode.
-
Deferred the BM25 dependency import so AstrBot can start and use FTS5 retrieval on CPUs incompatible with the installed NumPy build. (#9435)
-
Made knowledge base rank fusion deterministic and surfaced vLLM rerank response failures. (#9454)
-
Preserved ChatUI streaming response tails and prevented QQ Official streaming buffers from losing leading characters. (#9439, #9444)
-
Localized future task timestamps with the system timezone. (#9462)
-
Isolated managed local shell sessions by sender, while allowing conversation administrators to manage sessions in their conversation. (#9479)
-
Hardened API key authorization boundaries for administrator identities, sensitive configuration, and project workspace paths. (#9503)
-
Persisted terminal tool calls, results, and trusted token usage when no assistant response is produced. (#9500)
-
Prevented expanded ChatUI composers, replies, and attachments from overlapping the latest messages. (#9496)
-
Removed the double scrollbar from the mobile plugin configuration dialog. (#9491)
-
Recreated the tool image cache directory after storage cleanup so new images can still be saved. (#9490)
-
Kept outbound TTS and QQ Official audio available until global temporary-file cleanup so asynchronous downloads do not fail. (#9506)
Documentation
- Added QQ community groups 15 and 16 to the community documentation.
Maintenance
-
Kept Responses API test fixtures compatible with the latest OpenAI SDK token-usage schema.
-
Removed an unused tool image cleanup path in favor of the global temporary-directory cleaner. (#9504)
中文
新增
-
为
astrbot init新增-y/--yes选项,便于无人值守部署跳过安装确认提示。 (#9514) -
新增独立、无状态的 OpenAI 兼容 Responses API 供应商,提供 OpenAI 和 DeepSeek 模板,支持完整重放推理与工具调用历史,并将 Responses API 设为新建 xAI 供应商的默认接口。 (#9515)
-
新增可配置保留数量的群消息历史持久化能力,支持标准化存储,并提供供 LLM 搜索和读取当前群历史消息的工具。 (#9465)
-
新增本地托管 Shell 会话,支持增量输出、标准输入、打断、终止、超时和生命周期清理;Windows 会话改用 PowerShell,并支持显式按行写入。 (#9470, #9471, #9501)
-
统一扩展与人格管理体验,提供共享的能力选择器、路由化插件工作区,以及更清晰的 MCP 服务、工具和 Skill 来源与状态展示。 (#9499)
-
新增内置的
skill-creator、documents、pdf和spreadsheetsSkills,支持创建可复用 Skill,以及处理办公文档、PDF 和电子表格。 -
支持从通用 HTTP(S)、SSH 和 SCP 风格 Git 仓库安装和更新插件。 (#9493)
-
ChatUI 粘贴超过 10,000 字符的文本时,自动转换为文本附件。 (#9496)
-
新增管理员聊天访问和管理员配置修改的敏感 API Key 子权限,并生成权限到接口的参考文档。 (#9503)
变更
- 通过归一化稠密/稀疏相对分数融合和来源文档去重,提升知识库检索质量。 (#9455)
- 使用文档上下文增强知识库 Embedding,并保留标题层级路径。 (#9457)
- 将核心、Dashboard 和插件更新流程统一到更安全的更新架构中,并增加安装包与元数据校验。 (#9493)
- 为已有废弃 API 增加运行时警告,修正 OpenAI 工具调用转换方法名,同时保留向后兼容别名。 (#9468, #9469)
- 优化 Skill 卡片、人格管理、扩展工作区和项目聊天输入区的布局。
- 使用紧凑的时间戳临时文件名并明确工作区相对路径指引,减少工具路径占用的 Token。 (#9505)
- 对已完成的本地 Shell 命令返回精简纯文本结果,对运行中的命令继续保留托管会话元数据。 (#9507)
修复
-
将 v4.27.0 公告中的内置
skill-creator、documents、pdf和spreadsheetsSkills 实际加入源码与 Docker 发行版,支持作为只读预置能力自动发现,并允许同名本地 Skill 覆盖。 (#9517) -
修正深色模式下的能力标签颜色。
-
延迟导入 BM25 依赖,使安装的 NumPy 与 CPU 不兼容时,AstrBot 仍可启动并使用 FTS5 检索。 (#9435)
-
确保知识库排名融合结果稳定,并正确暴露 vLLM 重排序响应错误。 (#9454)
-
使用系统时区处理未来任务时间。 (#9462)
-
按发送者隔离本地托管 Shell 会话,同时允许会话管理员管理所在会话中的 Shell 会话。 (#9479)
-
加固 API Key 对管理员身份、敏感配置和项目工作区路径的授权边界。 (#9503)
-
在没有助手回复时,仍持久化终端工具调用、结果和可信 Token 用量。 (#9500)
-
避免展开后的 ChatUI 输入区、回复和附件遮挡最新消息。 (#9496)
-
移除移动端插件配置弹窗中的双重滚动条。 (#9491)
-
存储清理后自动重建工具图片缓存目录,确保仍可保存新图片。 (#9490)
-
将 TTS 和 QQ 官方机器人出站音频保留到全局临时文件清理,避免异步下载失败。 (#9506)
文档
- 在社区文档中新增 QQ 群 15 和 16。
维护
-
使 Responses API 测试数据兼容最新 OpenAI SDK 的 Token 用量结构。
-
移除未使用的工具图片独立清理逻辑,统一交由全局临时目录清理器管理。 (#9504)
What's Changed
- fix: lazily import BM25 dependency by @Soulter in #9435
- fix: preserve streaming response tail by @wcqqq1214 in #9439
- feat: implement group message history persistence and retrieval features by @Soulter in #9465
- refactor: formalize deprecation markings with @deprecated decorators by @RC-CHN in #9468
- refactor: rename LLMResponse.to_openai_to_calls_model to to_openai_tool_calls_model by @RC-CHN in #9469
- feat: add managed local shell sessions by @Soulter in #9470
- feat: use PowerShell for Windows local shell by @Soulter in #9471
- fix: localize future task times by @wcqqq1214 in #9462
- perf: enrich knowledge base embeddings with document context by @lxfight in #9457
- fix: correct knowledge base ranking behavior by @lxfight in #9454
- fix(qqofficial): prevent leading char loss in streaming buffer by @OWWZO in #9444
- fix: isolate local shell sessions by sender by @Soulter in #9479
- refactor: simplify updater architecture by @Soulter in #9493
- fix: improve ChatUI composer behavior by @Soulter in #9496
- feat: unify extension and persona management by @Soulter in #9499
- fix: support line writes for managed shell sessions by @Soulter in #9501
- fix: harden API key scope boundaries by @Soulter in #9503
- fix: persist terminal tool history and token usage by @xiaoxuan010 in #9500
- fix: resolve double scrollbar in plugin config dialog by @Rain-0x01-39 in #9491
- refactor: remove unused tool image cleanup by @Soulter in #9504
- fix(core): recreate tool image cache directory after cleanup by @piexian in #9490
- refactor: reduce path token usage by @Soulter in #9505
- fix: simplify completed shell command output by @Soulter in #9507
- fix: defer cleanup of outbound audio files by @Soulter in #9506
- perf: improve knowledge base retrieval quality by @lxfight in #9455
- chore: bump version to 4.27.0 by @Soulter in #9509
- feat: add yes option to init command by @Soulter in #9514
- feat: add stateless Responses API provider by @Soulter in #9515
- feat: add built-in skill creator and document skills by @Soulter in #9517
- chore: bump version to 4.27.1 by @Soulter in #9520
New Contributors
- @OWWZO made their first contribution in #9444
- @xiaoxuan010 made their first contribution in #9500
Full Changelog: v4.26.8...v4.27.1