Releases: AstrBotDevs/AstrBot
v4.25.1
What's Changed
优化
- 个人微信和钉钉扫码创建成功后,平台配置 ID 会自动追加随机 4 位小写字母后缀,例如
_abcd,降低多个扫码创建配置之间的 ID 冲突概率。
修复
- 修复 WebUI 全局字体栈未完整覆盖西里尔文字场景的问题,改善俄文等多语言文本显示效果。(#8205)
What's Changed (EN)
Improvements
- Personal WeChat and DingTalk QR setup now append a random four-letter lowercase suffix to the generated platform config ID, such as
_abcd, reducing ID conflicts across multiple scan-created configs.
Bug Fixes
- Fixed the WebUI global font-family stack so Cyrillic text and other multilingual content render more consistently. (#8205)
v4.25.0
What's Changed
修复
- 修复 Tencent SILK 音频带
\x02前缀时未被识别,导致后续 ffmpeg 转换失败的问题。(#8009) - 修复个人微信媒体消息发送失败时错误未向上暴露的问题。(#8175)
- 修复 Claude API 对无参数工具返回
None参数时工具调用失败的问题。(#8136) - 修复
register_platform_adapter_type与register_permission_type未正确透传**kwargs的问题。(#8141) - 修复 MiniMax TTS timber weight 配置为空或非法 JSON 时可能导致初始化崩溃的问题。
新功能
- 新增 Ollama Embedding 与 NVIDIA NIM Embedding 提供商适配器。(#8104)
- 新增飞书扫码一键创建能力。(#8191)
- 新增钉钉扫码一键创建能力。(#8198)
- 新增个人微信创建时扫码登录流程,选择个人微信后直接在创建弹窗中显示二维码,登录成功后再保存机器人配置。(#8196)
优化
- 优化个人微信登录态处理:当接口返回 session timeout 时清理旧登录态,避免继续高频请求失效会话。(#8196)
- 优化 AMR 音频转换质量,并复用通用音频转换逻辑简化 Opus 转换实现。(#8153)
- 优化 WebUI 资源选择逻辑:当
data/dist中的 Dashboard 版本旧于当前核心版本时,优先使用随包内置的 Dashboard,避免旧前端资源造成兼容问题。(#8172) - Dashboard 新增 Noto Sans 字体支持,改善西里尔文字等多语言文本显示效果。(#8015)
- 优化控制台自动滚动状态同步,刷新后能正确恢复并同步到日志显示组件。(#8186)
- 更新飞书、钉钉、个人微信平台文档,补充扫码创建 / 登录说明、飞书权限开通提醒,以及个人微信新版创建流程。
- 更新 AI 插件开发文档,明确
context.register_llm_tool()已弃用,并补充 LLM Tool docstring 参数解析要求。(#8178)
What's Changed (EN)
New Features
- Added one-click QR setup for Feishu / Lark. When creating a bot, users can choose Feishu China or Lark Global, scan the QR code, and automatically fill
app_id,app_secret, and domain settings. AstrBot also fetches the bot name for the generated config ID display. (#8191) - Added one-click QR setup for DingTalk. Users can create or bind a DingTalk app by scanning a QR code, automatically filling
ClientIDandClientSecret, while manual setup remains available. (#8198) - Added QR login during Personal WeChat bot creation. The creation dialog now shows the login QR code directly and allows saving after login succeeds. (#8196)
- Added Ollama Embedding and NVIDIA NIM Embedding provider adapters. (#8104)
Improvements
- Improved Personal WeChat login-state handling by clearing stale login state when the API reports session timeout, avoiding repeated requests against an invalid session. (#8196)
- Improved AMR audio conversion quality and simplified Opus conversion by reusing the shared audio conversion path. (#8153)
- Improved WebUI asset selection: when
data/distcontains a Dashboard older than the current core version, AstrBot now prefers the bundled Dashboard to avoid stale frontend compatibility issues. (#8172) - Added Noto Sans support to the Dashboard for better Cyrillic and multilingual text rendering. (#8015)
- Improved console auto-scroll state synchronization so the restored preference is applied to the log display component after refresh. (#8186)
- Updated Feishu / Lark, DingTalk, and Personal WeChat platform docs with QR setup / login instructions, Feishu permission reminders, and the new Personal WeChat creation flow.
- Updated the AI plugin development guide to clarify that
context.register_llm_tool()is deprecated and to document the required LLM Tool docstring argument format. (#8178)
Bug Fixes
- Fixed Tencent SILK audio with a leading
\x02byte not being detected, which could cause ffmpeg conversion failures. (#8009) - Fixed Personal WeChat media send failures not being surfaced properly. (#8175)
- Fixed tool calls failing when the Claude API returns
Nonearguments for no-parameter tools. (#8136) - Fixed
register_platform_adapter_typeandregister_permission_typenot forwarding**kwargscorrectly. (#8141) - Fixed MiniMax TTS initialization crashes when timber weight config is empty or invalid JSON.
v4.24.5
What's Changed
优化
- Dashboard 更新流程新增两阶段下载进度,升级项目时会先下载 WebUI,再下载项目代码,并在界面中展示每个阶段的进度。
- 新增更新后重启等待体验:WebUI 会在更新前记录 AstrBot 启动时间,更新完成后展示正在重启状态,并轮询启动时间变化后自动刷新页面。
- 新增
ASTRBOT_DASHBOARD_INITIAL_PASSWORD环境变量,可为首次生成的 Dashboard 密码指定初始值。 astrbot init现在会识别ASTRBOT_DASHBOARD_INITIAL_PASSWORD,并在初始化阶段创建data/cmd_config.json写入哈希后的初始密码,便于自动化部署。- 优化 Dashboard 更新项目弹窗,减少对用户无用的信息,保留独立更新 WebUI 到最新版本的兜底入口,并将其收起到高级设置中。
- 优化 Release 列表加载状态和预发布版本提示逻辑:Release 未加载完成时显示表格 loading,第一页没有预发布版本时不再显示提醒。
- 优化升级后旧版 Dashboard 密码登录失败时的提示,引导用户参考 FAQ 处理升级后密码正确但无法登录的情况。
- 更新 FAQ 文档,补充升级后密码正确但无法登录时可删除
data/dist后重启 AstrBot 的处理方案。
修复
- 修复 Shipyard Neo 在显式配置 profile 时可能未正确尊重该配置的问题。(#8167)
- 修复
message_tools在目标路径不存在时未抛出异常并阻止消息发送的问题。(#8149)
What's Changed (EN)
Improvements
- Added two-stage download progress to the Dashboard update flow. Project upgrades now download the WebUI first, then the core project code, with per-stage progress shown in the UI.
- Added a restart-waiting experience after updates. The WebUI records AstrBot's start time before updating, shows a restarting state after the update completes, polls for a changed start time, and refreshes automatically.
- Added the
ASTRBOT_DASHBOARD_INITIAL_PASSWORDenvironment variable to specify the first generated Dashboard password. astrbot initnow recognizesASTRBOT_DASHBOARD_INITIAL_PASSWORDand createsdata/cmd_config.jsonduring initialization with the hashed initial password, making automated deployments easier.- Improved the Dashboard project update dialog by hiding low-value details, keeping the standalone WebUI update fallback, and moving it under Advanced Settings.
- Improved Release list loading and prerelease notices: the table now shows a loading state before releases are loaded, and the prerelease warning is hidden when the first page has no prerelease entries.
- Improved the login failure message for legacy Dashboard password upgrade cases, guiding users to the FAQ when a correct password no longer works after upgrading.
- Updated the FAQ with recovery steps for upgrade cases where the correct password cannot log in: delete
data/distand restart AstrBot.
Bug Fixes
v4.24.4
What's Changed
优化
- 强化 Dashboard 登录与密码安全:首次启动生成强随机初始密码,密码存储升级为 PBKDF2,保留旧版 MD5 兼容升级流程,并在需要时引导用户完成安全升级。(#7338)
- 增强插件页面国际化能力,插件页面、扩展页和相关 Dashboard 文案可更好地按当前语言展示。(#7998)
- 新增 WebUI 指标开关配置
disable_metrics,可在 Dashboard 中关闭指标统计。(#7946) - 新增控制台自动滚动开关持久化,刷新页面后保留用户选择。(#8024)
- 新增思考内容与最终回复之间的视觉分隔,提升消息阅读体验。(#8059)
- 优化插件安装、备份恢复与路径冲突处理,增加自愈逻辑并减少临时目录残留和错误追踪误报。(#7737, #8148)
- 优化 Windows 更新器 zip 根目录归一化与 Python 工具编码处理,提升 Windows 环境兼容性。(#8019)
- 优化 CUA 文件上传逻辑,改用原生文件接口处理上传。(#8069)
- 优化 CUA 空闲沙盒会话过期能力,并在 Dashboard 暴露 CUA idle timeout 配置。(#8074, #8075)
- 优化 Gemini Provider,使其使用受管理的 httpx client。(#8112)
- 优化 Dashboard 移动端布局、控制台日志级别对齐,以及列表项操作按钮显示逻辑。(#7988, #8081)
修复
- 修复知识库在空 prompt 下仍触发检索的问题。(#8073)
- 修复 Discord 命令同步达到配额时会影响平台启动的问题。(#8061)
- 修复 GitHub fallback 下载 URL 中资源文件名错误的问题。(#8046)
- 修复文件夹重命名后父级关系丢失的问题。(#7974)
- 修复配置缺失
websearch_firecrawl_key,以及百度搜索关闭时仍显示 key 字段的问题。(#8012, #7992) - 修复 T2I 模板内容未校验可能导致 Jinja2 SSTI 注入的问题。(#8077)
- 修复贡献者图片数量上限、API Key 文档示例、插件发布 16MB 限制说明、README 徽章和多处插件开发文档错误。(#8000, #7977, #8108, #8079, #7979, #8001, #8129, #8166)
What's Changed (EN)
New Features
- Added plugin changelogs and a plugin update system, allowing plugin detail pages to show version update information and supporting a more complete plugin update flow.
- Enhanced plugin page internationalization so plugin pages, extension views, and related Dashboard copy can better follow the current language. (#7998)
- Added the
disable_metricsWebUI config option to disable metrics collection from the Dashboard. (#7946) - Added persisted console auto-scroll preference. (#8024)
- Added a visual separator between thinking content and the final response. (#8059)
- Added idle expiration for CUA sandbox sessions and exposed the CUA idle timeout setting in the Dashboard. (#8074, #8075)
Improvements
- Strengthened Dashboard authentication and password security: initial passwords are generated randomly, password storage is upgraded to PBKDF2, legacy MD5 compatibility is preserved for upgrades, and users are guided through security upgrades when required. (#7338)
- Improved plugin installation, backup restore, and path-conflict handling with self-healing behavior and fewer temporary-directory leftovers or false error reports. (#7737, #8148)
- Improved Windows updater zip-root normalization and Python tool encoding handling for better Windows compatibility. (#8019)
- Improved CUA uploads by using native file interfaces. (#8069)
- Improved the Gemini Provider to use a managed httpx client. (#8112)
- Improved Dashboard mobile layout, console log-level alignment, and list-item action-button visibility. (#7988, #8081)
Bug Fixes
- Fixed missing validation for T2I template content that could allow Jinja2 SSTI injection. (#8077)
- Fixed knowledge base retrieval being triggered for blank prompts. (#8073)
- Fixed Discord startup being interrupted by command quota handling. (#8061)
- Fixed incorrect asset filenames in GitHub fallback download URLs. (#8046)
- Fixed folder parent relationships being lost on rename. (#7974)
- Fixed missing
websearch_firecrawl_keyin the default config and hidden Baidu web-search keys when disabled. (#8012, #7992) - Fixed contributor image limits, API Key examples, plugin publishing size-limit docs, README badges, and multiple plugin development guide issues. (#8000, #7977, #8108, #8079, #7979, #8001, #8129, #8166)
What's Changed
- fix(docs): 修复文档中的多处错误,包括死链、拼写错误、步骤编号等 by @lingyun14beta in #7979
- feat: enhance plugin page internationalization by @Soulter in #7998
- fix: encoding issue in windows when using python tool by @elecvoid243 in #7995
- fix: update contributors image max count to 300 by @Blueteemo in #8000
- fix: resolve path conflicts and improve self-healing during backup restore and plugin installation by @SXP-Simon in #7737
- fix: preserve folder parent and description on rename by @Fronut in #7974
- fix(config): add missing websearch_firecrawl_key to DEFAULT_CONFIG by @Midwich in #8012
- fix(config): hide Baidu web search key when disabled by @RhoninSeiei in #7992
- Fix typo in API Key environment variable example by @168SDTH in #7977
- feat: 增加 WebUI 配置选项禁用匿名使用统计 by @Blueteemo in #7946
- feat(console): persist auto-scroll toggle state in localStorage by @RC-CHN in #8024
- fix windows updater zip root path normalization by @zouyonghe in #8019
- fix(core): use correct asset filename in GitHub fallback download URL by @RC-CHN in #8046
- feat: add visual separator between thinking content and response by @Pleiades1726 in #8059
- fix(cua): use native file interfaces for uploads by @zouyonghe in #8069
- fix: skip KB retrieval for blank prompts by @he-yufeng in #8073
- feat(cua): expire idle sandbox sessions by @zouyonghe in #8074
- fix(config): expose cua idle timeout in dashboard by @zouyonghe in #8075
- fix(t2i): validate template content to prevent Jinja2 SSTI injection by @RC-CHN in #8077
- docs: update Trendshift badge to AstrBotDevs repo (#21369) for all README languages by @Pleiades1726 in #8079
- Fix(ui): always show actions btn instead of on hover in OutlinedActionListItem by @M1LKT in #8081
- docs: add 16MB size limit note for plugin publishing by @Pleiades1726 in #8108
- chore(deps): bump pnpm/action-setup from 6.0.3 to 6.0.5 in the github-actions group by @dependabot[bot] in #8004
- fix(docs):多份文档汉译英并整理 by @lingyun14beta in #8001
- fix: fix console log level alignment and mobile layout issue by @lingyun14beta in #7988
- fix(provider): force Gemini chat client to use managed httpx client by @zouyonghe in #8112
- fix(star): 修复重复安装插件时临时目录未清理及错误追踪误报问题 by @NayukiChiba in #8148
- Updat...
v4.24.2
我们将推出更好的 AstrBot 插件分享和管理平台,敬请期待!
What's Changed
新增
- 新增插件自定义 WebUI 页面(Plugin Pages)能力,插件可通过
pages/目录和注册 Web 路由来向 Dashboard 暴露自定义页面。详见开发文档。(#5940) - 新增插件国际化支持,插件可在
.astrbot-plugin/i18n中提供多语言名称、描述和配置文本,Dashboard 组件会按当前语言解析展示。详见开发文档。(#7919) - 新增插件技能支持,插件可通过
skills/提供 skills。(#7945)。详见开发文档。 - 新增
extra_user_content_parts临时内容标记,插件可使用TextPart(...).mark_as_temp()让追加内容只参与本轮 LLM 请求而不写入会话历史。(#7976)。详见插件开发文档。 - 新增插件详情页、插件短描述、插件置顶,以及通过 AstrBot 官方插件存储下载插件的能力,改善插件安装与浏览体验。(#7896, #7918, #7930, #7931)
- 新增
fallback_max_context_tokens配置,当模型元数据缺失且max_context_tokens为 0 时,可使用默认上下文窗口上限参与压缩判断。该值默认为128k。(#7942) - 支持在 WebUI Skills 页中查看并编辑技能文件。(#7903)
- 新增 CUA Computer Use 沙盒运行时,支持桌面 GUI、截图、键盘、鼠标、浏览器启动流程、前后台 Shell、文件回退处理与权限控制,并补充使用文档和测试。(#7828)
- 新增后台 Shell 命令执行、输出重定向和超时支持,并为 Python 工具增加 timeout 参数。(#7835, #7953)
- 新增 QQ 官方平台消息级 Markdown 控制能力。(#6980)
- 新增 Chat 与 Live Chat 路由的附件保存事件,前端可感知附件持久化结果。(#7869)
- 新增部署脚本,支持 Linux/macOS/WSL 与 Windows PowerShell 一键安装,并将脚本发布到 docs public 目录。(#7631)
优化
- 优化 Dashboard 扩展、知识库、MCP、技能和配置页面的布局、卡片样式、响应式表现与多语言文案。(#7903)
- 优化会话历史中的工具调用渲染,工具消息不再作为普通气泡直接进行 Markdown 渲染,而是聚合到对应 assistant 的工具卡片中,避免大工具结果导致页面卡顿。(#7937)
- 优化上下文管理与压缩策略,包括截断算法、用户消息删除问题修复、PPIO 上下文长度错误识别,以及配置界面对执行顺序的说明。(#7888, #7920)
- 优化 Provider 模型添加逻辑、模型启用开关持久化、Provider 测试失败提示,以及默认 Provider 缺失或无效时的启动警告。(#7865, #7498, #7934)
- 优化
send_message_to_user在安全模式、cron 主动任务和无完整 session 格式场景下的提示与容错,并为 cron payload 增加 session 信息。(#7907, #7911) - 优化 list+options 配置项,改用
v-autocomplete并缓存候选项,改善长列表选择体验。(#7884, #7885) - 优化命令与工具描述显示,WebUI 中被截断的描述现在可通过 tooltip 查看。(#7838)
- 优化指标统计、日志可读性、知识库文档、系统提示词文档,以及 AGENTS.md 中的 pre-commit 开发说明。(#7838, #7962)
修复
- 修复
send_message_to_user可被普通用户指定任意 session 发送消息的安全问题;普通用户只能发送到当前会话,管理员仍可指定 session。(#7822, #7824) - 修复 T2I 文本模板渲染回归,恢复原始文本渲染,默认注入 Shiki runtime,并调整内置模板和 WebUI 预览。(#7789)
- 修复 IME 输入法组合状态下按 Enter 会误发送聊天的问题。(#7845)
- 修复 Anthropic 并行工具结果合并、自定义请求头和 system prompt 兼容性,避免多 httpx 安装导致 client 类型不匹配,并使用列表格式 system 参数提升代理兼容性。(#7875, #7587)
- 修复 OpenAI Provider 的
http_client与 SDK httpx 类型兼容问题。(#7773) - 修复
stop_event()后后续 handler 仍继续执行,以及clear_result()导致停止状态被重置的问题。(#7900, #7922) - 修复
system_prompt为None时注入人格或 skills prompt 会报错的问题。(#7880) - 修复 Shipyard Neo 沙盒就绪检测和优雅清理,避免未就绪时继续运行或关闭流程异常。(#7881)
- 修复桌面端插件安装并发问题,安装过程现在受核心锁保护。(#7872)
- 修复 QQ 官方私聊主动推送在缺少缓存
msg_id时跳过发送的问题,同时保留群聊缓存校验。(#7904, #7914) - 修复微信客服文件消息支持,并移除企业微信文件消息占位文本。(#7923)
- 修复钉钉 SDK 任务异常退出或连接超时后无法自动重连的问题。(#7924)
- 修复 PowerShell 安装脚本 BOM、部署脚本路径、
.gitignore与公开目录同步问题。 - 修复工具调用
tool_choice相关调试问题,暂时注释该参数以规避部分 Provider 不兼容。(#7853, #7856, #7862)
What's Changed (EN)
New Features
- Added the CUA Computer Use sandbox runtime with desktop GUI, screenshots, keyboard, mouse, browser startup flow, foreground/background shell support, filesystem fallbacks, permission handling, docs, and tests. (#7828)
- Added Plugin Pages, allowing plugins to expose Dashboard pages through a
pages/directory with asset authentication, bridge script, back-button behavior, docs, and security tests. (#5940) - Added plugin internationalization support through
.astrbot-plugin/i18n, including localized names, descriptions, config text, Dashboard integration, docs, and tests. (#7919) - Added plugin-provided skills with synchronization, metadata enrichment, plugin detail display, and configuration-aware filtering. (#7945)
- Added the plugin detail page, plugin short descriptions, plugin pinning, and support for downloading plugins from AstrBot official plugin storage. (#7896, #7918, #7930, #7931)
- Added background shell command execution with output redirection and timeout support, and added a timeout parameter to the Python tool. (#7835, #7953)
- Added
fallback_max_context_tokens, used when model metadata is missing andmax_context_tokensis set to 0. (#7942) - Added message-level Markdown control for QQ Official. (#6980)
- Added attachment saved events for Chat and Live Chat routes. (#7869)
- Added Linux/macOS/WSL and Windows PowerShell deployment scripts, published through the docs public directory. (#7631)
- Added temporary
extra_user_content_parts; plugins can useTextPart(...).mark_as_temp()to include content in the current LLM request without persisting it into conversation history. (#7976)
Improvements
- Improved the Dashboard extension, knowledge base, MCP, skills, and config pages with better layouts, card styles, responsiveness, translations, and skill-file editing in WebUI. (#7903)
- Improved tool rendering in conversation history by grouping tool messages into the assistant tool card instead of rendering large tool results as normal Markdown bubbles. (#7937)
- Improved context management and compression, including truncation behavior, user-message retention, PPIO context-length error detection, and clearer UI copy for execution order. (#7888, #7920)
- Improved Provider model adding logic, model enable-toggle persistence, failed provider-test feedback, and startup warnings for missing or invalid default providers. (#7865, #7498, #7934)
- Improved
send_message_to_userprompts and tolerance in safety mode, cron proactive tasks, and incomplete session formats; cron payloads now include session information. (#7907, #7911) - Improved list+options config fields by switching to
v-autocompleteand memoizing select items for better long-list selection. (#7884, #7885) - Improved truncated command and tool descriptions in WebUI by adding tooltip access. (#7838)
- Improved metrics, log clarity, knowledge base docs, system prompt docs, and AGENTS.md pre-commit setup guidance. (#7838, #7962)
Bug Fixes
- Fixed a security issue where normal users could ask
send_message_to_userto send messages to arbitrary sessions; normal...
v4.24.1
我们将推出更好的 AstrBot 插件分享和管理平台,敬请期待!
What's Changed
新增
- 新增插件自定义 WebUI 页面(Plugin Pages)能力,插件可通过
pages/目录和注册 Web 路由来向 Dashboard 暴露自定义页面。详见开发文档。(#5940) - 新增插件国际化支持,插件可在
.astrbot-plugin/i18n中提供多语言名称、描述和配置文本,Dashboard 组件会按当前语言解析展示。详见开发文档。(#7919) - 新增插件技能支持,插件可通过
skills/提供 skills。(#7945)。详见开发文档。 - 新增
extra_user_content_parts临时内容标记,插件可使用TextPart(...).mark_as_temp()让追加内容只参与本轮 LLM 请求而不写入会话历史。(#7976)。详见插件开发文档。 - 新增插件详情页、插件短描述、插件置顶,以及通过 AstrBot 官方插件存储下载插件的能力,改善插件安装与浏览体验。(#7896, #7918, #7930, #7931)
- 新增
fallback_max_context_tokens配置,当模型元数据缺失且max_context_tokens为 0 时,可使用默认上下文窗口上限参与压缩判断。该值默认为128k。(#7942) - 支持在 WebUI Skills 页中查看并编辑技能文件。(#7903)
- 新增 CUA Computer Use 沙盒运行时,支持桌面 GUI、截图、键盘、鼠标、浏览器启动流程、前后台 Shell、文件回退处理与权限控制,并补充使用文档和测试。(#7828)
- 新增后台 Shell 命令执行、输出重定向和超时支持,并为 Python 工具增加 timeout 参数。(#7835, #7953)
- 新增 QQ 官方平台消息级 Markdown 控制能力。(#6980)
- 新增 Chat 与 Live Chat 路由的附件保存事件,前端可感知附件持久化结果。(#7869)
- 新增部署脚本,支持 Linux/macOS/WSL 与 Windows PowerShell 一键安装,并将脚本发布到 docs public 目录。(#7631)
优化
- 优化 Dashboard 扩展、知识库、MCP、技能和配置页面的布局、卡片样式、响应式表现与多语言文案。(#7903)
- 优化会话历史中的工具调用渲染,工具消息不再作为普通气泡直接进行 Markdown 渲染,而是聚合到对应 assistant 的工具卡片中,避免大工具结果导致页面卡顿。(#7937)
- 优化上下文管理与压缩策略,包括截断算法、用户消息删除问题修复、PPIO 上下文长度错误识别,以及配置界面对执行顺序的说明。(#7888, #7920)
- 优化 Provider 模型添加逻辑、模型启用开关持久化、Provider 测试失败提示,以及默认 Provider 缺失或无效时的启动警告。(#7865, #7498, #7934)
- 优化
send_message_to_user在安全模式、cron 主动任务和无完整 session 格式场景下的提示与容错,并为 cron payload 增加 session 信息。(#7907, #7911) - 优化 list+options 配置项,改用
v-autocomplete并缓存候选项,改善长列表选择体验。(#7884, #7885) - 优化命令与工具描述显示,WebUI 中被截断的描述现在可通过 tooltip 查看。(#7838)
- 优化指标统计、日志可读性、知识库文档、系统提示词文档,以及 AGENTS.md 中的 pre-commit 开发说明。(#7838, #7962)
修复
- 修复
send_message_to_user可被普通用户指定任意 session 发送消息的安全问题;普通用户只能发送到当前会话,管理员仍可指定 session。(#7822, #7824) - 修复 T2I 文本模板渲染回归,恢复原始文本渲染,默认注入 Shiki runtime,并调整内置模板和 WebUI 预览。(#7789)
- 修复 IME 输入法组合状态下按 Enter 会误发送聊天的问题。(#7845)
- 修复 Anthropic 并行工具结果合并、自定义请求头和 system prompt 兼容性,避免多 httpx 安装导致 client 类型不匹配,并使用列表格式 system 参数提升代理兼容性。(#7875, #7587)
- 修复 OpenAI Provider 的
http_client与 SDK httpx 类型兼容问题。(#7773) - 修复
stop_event()后后续 handler 仍继续执行,以及clear_result()导致停止状态被重置的问题。(#7900, #7922) - 修复
system_prompt为None时注入人格或 skills prompt 会报错的问题。(#7880) - 修复 Shipyard Neo 沙盒就绪检测和优雅清理,避免未就绪时继续运行或关闭流程异常。(#7881)
- 修复桌面端插件安装并发问题,安装过程现在受核心锁保护。(#7872)
- 修复 QQ 官方私聊主动推送在缺少缓存
msg_id时跳过发送的问题,同时保留群聊缓存校验。(#7904, #7914) - 修复微信客服文件消息支持,并移除企业微信文件消息占位文本。(#7923)
- 修复钉钉 SDK 任务异常退出或连接超时后无法自动重连的问题。(#7924)
- 修复 PowerShell 安装脚本 BOM、部署脚本路径、
.gitignore与公开目录同步问题。 - 修复工具调用
tool_choice相关调试问题,暂时注释该参数以规避部分 Provider 不兼容。(#7853, #7856, #7862)
What's Changed (EN)
New Features
- Added the CUA Computer Use sandbox runtime with desktop GUI, screenshots, keyboard, mouse, browser startup flow, foreground/background shell support, filesystem fallbacks, permission handling, docs, and tests. (#7828)
- Added Plugin Pages, allowing plugins to expose Dashboard pages through a
pages/directory with asset authentication, bridge script, back-button behavior, docs, and security tests. (#5940) - Added plugin internationalization support through
.astrbot-plugin/i18n, including localized names, descriptions, config text, Dashboard integration, docs, and tests. (#7919) - Added plugin-provided skills with synchronization, metadata enrichment, plugin detail display, and configuration-aware filtering. (#7945)
- Added the plugin detail page, plugin short descriptions, plugin pinning, and support for downloading plugins from AstrBot official plugin storage. (#7896, #7918, #7930, #7931)
- Added background shell command execution with output redirection and timeout support, and added a timeout parameter to the Python tool. (#7835, #7953)
- Added
fallback_max_context_tokens, used when model metadata is missing andmax_context_tokensis set to 0. (#7942) - Added message-level Markdown control for QQ Official. (#6980)
- Added attachment saved events for Chat and Live Chat routes. (#7869)
- Added Linux/macOS/WSL and Windows PowerShell deployment scripts, published through the docs public directory. (#7631)
- Added temporary
extra_user_content_parts; plugins can useTextPart(...).mark_as_temp()to include content in the current LLM request without persisting it into conversation history. (#7976)
Improvements
- Improved the Dashboard extension, knowledge base, MCP, skills, and config pages with better layouts, card styles, responsiveness, translations, and skill-file editing in WebUI. (#7903)
- Improved tool rendering in conversation history by grouping tool messages into the assistant tool card instead of rendering large tool results as normal Markdown bubbles. (#7937)
- Improved context management and compression, including truncation behavior, user-message retention, PPIO context-length error detection, and clearer UI copy for execution order. (#7888, #7920)
- Improved Provider model adding logic, model enable-toggle persistence, failed provider-test feedback, and startup warnings for missing or invalid default providers. (#7865, #7498, #7934)
- Improved
send_message_to_userprompts and tolerance in safety mode, cron proactive tasks, and incomplete session formats; cron payloads now include session information. (#7907, #7911) - Improved list+options config fields by switching to
v-autocompleteand memoizing select items for better long-list selection. (#7884, #7885) - Improved truncated command and tool descriptions in WebUI by adding tooltip access. (#7838)
- Improved metrics, log clarity, knowledge base docs, system prompt docs, and AGENTS.md pre-commit setup guidance. (#7838, #7962)
Bug Fixes
- Fixed a security issue where normal users could ask
send_message_to_userto send messages to arbitrary sessions; normal...
v4.23.6
What's Changed
新增
- 新增
/stats命令,可查看当前会话的 Token 使用统计,并按总量、输入(缓存)、输入(其他)与输出拆分展示。(#7831) - 新增 Firecrawl Web 搜索与网页提取工具,支持搜索结果处理、网页内容提取、会话管理、请求校验与相关测试。(#7764)
- 微信客服文本消息新增 15 秒内去重,减少重复消息处理。(#7788)
优化
- 优化 Provider 配置界面性能与响应式显示,改善相关组件的字体和布局体验。(#7772)
- 优化统计页 TPM 计算逻辑,TPM 现在仅统计输出 Token,并更新相关文案。(#7827)
- 优化 OpenAI 兼容 Provider 的空 assistant 消息过滤逻辑,流式与非流式路径统一处理空字符串和空列表内容,避免严格 Provider 拒绝历史消息。(#7758)
修复
- 修复 DeepSeek v4 与 reasoning content 相关处理,支持空字符串 reasoning 内容,并在 assistant 消息中保留 reasoning 字段。(#7823, #7830)
- 修复 OpenRouter reasoning 字段属性名不正确的问题。(#7821)
- 修复超大图片未压缩可能导致后续处理异常的问题,并复用图片最大尺寸检查工具。(#7807)
- 修复 MiniMax TTS 默认输出 MP3 导致 QQ 官方平台语音转换出现 RIFF 错误的问题,默认输出格式改为 WAV。(#7797)
- 修复 Computer 沙盒图片下载未按图片发送的问题。(#7785)
- 修复 Windows 环境下部分 HTTPS 请求证书校验失败的问题,使用 certifi SSL context 提升兼容性。(#7778)
- 修复非安全上下文或部分对话框中复制功能不可用的问题,抽取共享剪贴板工具并增加 fallback。(#7747)
- 修复文件上传可能存在路径穿越的问题,并清理上传文件名中的 NUL 字节。(#7751)
What's Changed (EN)
New Features
- Added a
/statscommand to show token usage for the current conversation, including total tokens, input cached tokens, input other tokens, and output tokens. (#7831) - Added Firecrawl web search and web extract tools with result handling, content extraction, session management, payload validation, and tests. (#7764)
- Added 15-second deduplication for WeChat kefu text messages to reduce duplicate message handling. (#7788)
Improvements
- Improved the Provider configuration UI performance and responsive layout, including font and component styling updates. (#7772)
- Updated stats-page TPM calculation so TPM only counts output tokens, with matching label updates. (#7827)
- Improved empty assistant message filtering for OpenAI-compatible providers by sharing the logic across streaming and non-streaming paths and handling empty string or empty list content. (#7758)
Bug Fixes
- Fixed DeepSeek v4 and reasoning content handling by supporting empty-string reasoning content and preserving the reasoning field in assistant messages. (#7823, #7830)
- Fixed the reasoning field attribute used for OpenRouter. (#7821)
- Fixed oversized image handling by downscaling large images and sharing the image max-size check helper. (#7807)
- Fixed MiniMax TTS output for QQ Official voice conversion by changing the default output format from MP3 to WAV. (#7797)
- Fixed Computer sandbox image downloads so they are sent as images. (#7785)
- Fixed HTTPS certificate verification issues on Windows by using a certifi SSL context. (#7778)
- Fixed copy actions in insecure contexts and dialogs by extracting a shared clipboard utility with fallback behavior. (#7747)
- Fixed path traversal risks in file uploads and removed embedded NUL bytes from upload filenames. (#7751)
What's Changed
- fix: prevent path traversal in file uploads by @bugkeep in #7751
- fix: 在非安全上下文中为 copyMessage 添加 execCommand 备用方案 by @alonguser in #7747
- perf: improve provider config ui by @Soulter in #7772
- feat: add deduplication for WeChat kefu text messages within 15 seconds by @Soulter in #7788
- fix: use certifi ssl context on Windows by @lingyun14beta in #7778
- fix(computer): send sandbox image downloads as images by @RhoninSeiei in #7785
- feat: add Firecrawl web search tools by @wjiajian in #7764
- fix(openai): apply empty-assistant filter to streaming path by @he-yufeng in #7758
- fix: revise reasoning_key attribute to OpenRouter by @Soulter in #7821
- [fix] 将Minimax TTS默认输出格式改为wav以解决RIFF错误 by @enemywind-zm in #7797
- fix(core): downscale oversized images by @bugkeep in #7807
- fix: deepseek v4 by @Soulter in #7823
- fix: update reasoning_content handling to support empty string values by @Soulter in #7830
- feat: add /stats command to view conversation token usage by @Soulter in #7831
- fix(stats): TPM now only counts output tokens by @Soulter in #7827
New Contributors
- @bugkeep made their first contribution in #7751
- @alonguser made their first contribution in #7747
- @lingyun14beta made their first contribution in #7778
- @wjiajian made their first contribution in #7764
- @enemywind-zm made their first contribution in #7797
Full Changelog: v4.23.5...v4.23.6
v4.23.5
What's Changed
新增
- WebUI ChatUI 新增消息重新编辑、从重新生成 AI 回复、分支询问面板(划选 AI 回复内容即可看到)与会话 checkpoint 支持。(#7673)
- WebUI ChatUI 适配思考时的工具调用的模式,并自动将该 Loop 过程合并到独立的侧边栏面板中,以时间线呈现,大幅提升用户体验。(#7742)
- WebUI ChatUI 附件处理新增预览与 Dedup 校验,改善上传前的附件识别与展示体验,修复用户消息气泡无法正常显示图片的问题。(commit)
- 知识库文档上传新增 EPUB 支持,并补充 EPUB 解析、文件读取与相关测试。(#7594)
- 非流式 Agent Loop 新增中间工具调用消息过程折叠发送功能。(#7627)
- 重新内置
/provider命令,支持通过命令管理与查看 Provider 相关信息。(#7691) - 插件页新增“有新版本时置顶显示”能力,并支持保存该偏好设置。(#7665)
优化
- 优化 FileReadTool 描述,明确图片、PDF 与 DOCX 支持,并增强工具结果的模态能力检查。(#7506)
- 统一多处文档链接,修正 CLI、配置、Dashboard 与知识库页面中的文档入口。(#7709)
修复
- 修复部分国内或自定义 OpenAI/Anthropic 兼容模型提供商因 TLS 证书链、代理或模型列表能力差异导致配置不可用的问题。(#7685)
- 修复模型回复包含 reasoning content 时可能漏发普通回复的问题。(#7715)
- 修复 QQ 官方 API 在 DNS 或连接瞬时异常下缺少重试导致请求失败的问题。(#7718)
- 修复
RegexFilter不能同时接受str与re.Pattern的问题。(#7633) - 修复备份导入器存在路径穿越风险的问题。(#7681)
- 修复旧版
documents_fts表残留时可能影响知识库 FTS 迁移的问题。(#7706) - 修复 MiniMax Token Plan Provider 在已配置模型不在硬编码列表中时直接阻塞的问题,改为警告提示。(#7692)
- 修复 MCP schema 中无效
required字段未被规范化导致工具 schema 异常的问题。(#6077) - 修复视频附件传给 LLM 时的处理问题,并补充相关测试。(#7679)
What's Changed (EN)
New Features
- Added inline message editing, regeneration from a selected message, a thread panel, and conversation checkpoint support to the WebUI chat page. (#7673)
- Added chat attachment previews and file signature checks in WebUI to improve attachment recognition and display before upload. (commit)
- Added buffered intermediate messages for the non-streaming Agent Loop, allowing process messages such as tool calls to be surfaced in non-streaming scenarios. (#7627)
- Reintroduced
/provideras a built-in command for viewing and managing Provider-related information. (#7691) - Added an option to pin installed plugins with available updates to the top of the plugin page, with persisted preference storage. (#7665)
- Added EPUB support for knowledge-base document upload, including EPUB parsing, file reading support, and tests. (#7594)
Improvements
- Updated the FileReadTool description to mention image, PDF, and DOCX support, and improved modality checks for tool results. (#7506)
- Unified documentation links across CLI output, configuration, Dashboard, and knowledge-base pages. (#7709)
Bug Fixes
- Fixed missing normal replies when model output contains reasoning content. (#7715)
- Added retries for transient DNS and connection errors in the QQ Official API flow. (#7718)
- Fixed
RegexFilterso it accepts bothstrandre.Pattern. (#7633) - Fixed a path traversal vulnerability in the backup importer. (#7681)
- Dropped legacy
documents_ftstables when present to avoid knowledge-base FTS migration issues. (#7706) - Fixed configuration failures for some domestic or custom OpenAI/Anthropic-compatible model providers caused by TLS certificate chains, proxy handling, or model-list capability differences. (#7685)
- Changed MiniMax Token Plan Provider behavior to warn instead of blocking when a configured model is not in the hardcoded model list. (#7692)
- Normalized invalid
requiredflags in MCP schemas to avoid tool schema errors. (#6077) - Fixed video attachment handling for LLM requests and added related tests. (#7679)
What's Changed
- fix: handle video attachment for llm by @xunxiing in #7679
- fix: normalize invalid MCP required flags in MCP schemas by @stablegenius49 in #6077
- feat: add epub support for knowledge base document upload by @Aster-amellus in #7594
- feat: 插件有新版本时置顶显示(可开关) by @Blueteemo in #7665
- fix: warn instead of blocking when configured model not in hardcoded list by @Blueteemo in #7692
- fix: 修复了国内配置一些模型不可用问题 by @hjdhnx in #7685
- fix: drop legacy documents_fts table if exists by @Sisyphbaous-DT-Project in #7706
- feat: re-establishing /provider as a built-in command by @Soulter in #7691
- docs: Unify documentation links by @Rain-0x01-39 in #7709
- fix: prevent path traversal in backup importer (CWE-22) by @sebastiondev in #7681
- feat: add buffered intermediate messages for non-streaming agent loop by @alicesainta in #7627
- fix: accept both str and re.Pattern in RegexFilter by @ShadowLemoon in #7633
- perf: update FileReadTool description to mention image, PDF and docx support, and enhance modality checking in tool result case by @Soulter in #7506
- feat: add inline message editing and regeneration functionality for webui by @Soulter in #7673
- fix: add retry on DNS/connection transient errors for QQ Official API by @Blueteemo in #7718
- fix: missing replies when reasoning content is present by always emitting reasoning messages alongside normal completion outputs by @Blueteemo in #7715
- fix: add missing platform adapter filter types by @Soulter in #7738
- perf: improve tool calls in reasoning and multiple tool calls display by @Soulter in #7742
- 修复appid提示不适用于所有对应适配器的问题 by @idiotsj in #7746
New Contributors
- @hjdhnx made their first contribution in #7685
- @Sisyphbaous-DT-Project made their first contribution in #7706
- @sebastiondev made their first contribution in #7681
- @ShadowLemoon made their first contribution in #7633
Full Changelog: v4.23.2...v4.23.5
v4.23.2
What's Changed
新增
- 知识库稀疏检索阶段新增 SQLite FTS5 支持,大幅优化万到十万级别分块时造成的召回时的显著卡顿。(#7648)
- KOOK 平台新增角色提及支持,包含角色记录、事件解析、API 类型与相关测试。(#7626)
- 新增 MiniMax Token Plan Provider。(#7609)
- 新增
on_agent_begin、on_using_llm_tool、on_llm_tool_respond、on_agent_done插件事件钩子,并更新插件开发文档。(#7540) - 为 t2i 模板启用 Shiki 代码高亮,并新增 VitePress 风格模板。(#7501)
优化
- 优化
EmptyModelOutputError处理,不再严格强制校验模型工具输出的名字是否符合工具集,采用引导的方式让模型输出正确的工具调用。(#7375) - 优化
SendMessageToUserTool工具在本地 workspace root 内解析相对文件路径的问题。(#7668)
修复
-
修复 Bocha 搜索返回 Brotli 压缩内容时出现
Can not decode content-encoding: br的问题。(#7655) -
修复微信个人号主动 Cron 发送时
context_token未持久化的问题。(#7595) -
修复 Anthropic Provider 默认
max_tokens偏小导致工具调用输出文件操作时造成大量截断的问题。(#7593) -
修复 Cron
last_run_at在 Dashboard 中未按本地时区显示的问题。(#7625) -
修复 Cron 工具调度失败时静默继续的问题,并在失败时返回明确错误给模型。(#7513)
-
修复 Telegram 媒体组异常被静默吞掉的问题。(#7537)
-
修复会话限流计数为 0 时可能触发
IndexError的问题。(#7635) -
修复 Dashboard 聊天附件 401 问题。(#7569)
-
修复 Dashboard 数字输入框在未编辑时失焦会重置为 0 的问题。(#7560)
-
修复 Dashboard 列表项内代码块暗色模式传递问题,并移除
ThemeAwareMarkdownCodeBlock中注入的默认值。(#7667, commit) -
修复 Updater 请求不支持 SOCKS 代理的问题,并补充相关测试。(#7615)
-
回滚 SCSS import warning 修复以避免相关兼容问题。(#7616)
What's Changed (EN)
New Features
- Added SQLite FTS5 support to the knowledge-base sparse retrieval stage, greatly reducing recall latency for knowledge bases with tens of thousands to hundreds of thousands of chunks. (#7648)
- Added KOOK role mention support, including role records, event parsing, API types, and tests. (#7626)
- Added the MiniMax Token Plan Provider. (#7609)
- Added plugin event hooks for
on_agent_begin,on_using_llm_tool,on_llm_tool_respond, andon_agent_done, with updated plugin development docs. (#7540) - Enabled Shiki highlighting for t2i templates and added a VitePress-style template. (#7501)
Improvements
- Improved
EmptyModelOutputErrorhandling by no longer strictly enforcing whether model tool output names match the tool set, and instead guiding the model toward valid tool calls. (#7375) - Improved relative file path resolution within the local workspace root for
SendMessageToUserTool. (#7668)
Bug Fixes
- Fixed Bocha search failures caused by Brotli-compressed responses reporting
Can not decode content-encoding: br. (#7655) - Fixed
context_tokenpersistence for proactive Cron sends in the Weixin OC adapter. (#7595) - Increased the Anthropic Provider default
max_tokensvalue to avoid heavy truncation during tool-call output for file operations. (#7593) - Displayed Cron
last_run_atin the local timezone in Dashboard. (#7625) - Returned explicit errors to the model when Cron tool scheduling fails instead of continuing silently. (#7513)
- Prevented Telegram media group exceptions from being silently swallowed. (#7537)
- Fixed an
IndexErrorwhen sessionrate_limit_countis 0. (#7635) - Improved knowledge-base upload error handling and error messages for better diagnostics. (#7534, #7536)
- Fixed Dashboard chat attachment 401 errors. (#7569)
- Fixed numeric inputs resetting to 0 on blur when the value was not edited. (#7560)
- Fixed dark-mode propagation for code blocks inside Dashboard list items and removed the injected default value from
ThemeAwareMarkdownCodeBlock. (#7667, commit) - Added SOCKS proxy support for updater requests and related tests. (#7615)
- Reverted the SCSS import warning fix to avoid related compatibility issues. (#7616)
What's Changed
- chore(deps): bump the github-actions group with 3 updates by @dependabot[bot] in #7524
- perf(ci): improve dashboard and docs ci to pnpm and cache by @kyangconn in #7522
- fix: improve knowledge base upload error messages by @catDforD in #7534
- fix: improve error handling for knowledge base upload by @RC-CHN in #7536
- feat: enable shiki highlighting for t2i templates and add a template by @camera-2018 in #7501
- feat: add on_agent_begin, on_using_llm_tool, on_llm_tool_respond, on_agent_done event hooks by @Soulter in #7540
- fix(dashboard): resolve chat attachment 401 by @KBVsent in #7569
- fix: prevent numeric input from resetting to zero on blur without edit by @3351163616 in #7560
- fix: increase anthropic default max tokens by @Soulter in #7593
- fix(weixin_oc): persist context_token for proactive cron sends by @SweetenedSuzuka in #7595
- fix: scss import warning by @kyangconn in #7528
- fix: return an explicit erro from the cron tool when scheduling a task fails instead of processing silently by @Hongbro886 in #7513
- docs: correct documentation URL from astrbot.app to docs.astrbot.app by @Hongbro886 in #7612
- revert "fix: scss import warning" by @Soulter in #7616
- fix: support SOCKS proxies in updater requests by @zouyonghe in #7615
- feat: add MiniMax Token Plan provider with hardcoded model list by @Blueteemo in #7609
- fix: correct minor text inconsistencies in README files and document by @alicesainta in #7602
- fix: display cron last_run_at in local timezone by @KBVsent in #7625
- feat: implement FTS5 support in knowledge base sparse retrieving stage by @Soulter in #7648
- fix: prevent Telegram media group exceptions from being silently swallowed by @he-yufeng in #7537
- fix: handle rate_limit_count=0 to prevent IndexError by @bobo-xxx in #7635
- fix(dashboard): propagate dark mode to code blocks inside list items by @MostimaBridges in #7667
- fix: force Bocha search API requests to use gzip/deflate encoding to avoid aiohttp 3.12+ brotli decoding errors. by @MagicSun7940 in #7655
- fix: resolve relative file paths within a local workspace root for the SendMessageToUserTool by @Blueteemo in #7668
- feat: implements support for KOOK role mentions by @shuiping233 in #7626
- fix: resolve EmptyModelOutputError and enhance tool fallback robustness by @xmbhjQAQ in #7375
New Contributors
- @3351163616 made their first contribution in #7560
- @SweetenedSuzuka made their first contribution in #7595
- @Hongbro886 made their first contribution in #7513
- @Blueteemo made their first contribution in #7609
- @alicesainta made their first contribution in #7602
- @bobo-xxx made their first contribution in https://github.co...
v4.23.1
What's Changed
这是 v4.23.0 的热修复版本:v4.23.1
- 将
python-ripgrep依赖降级到0.0.8,修复 Python 3.13, 3.14 版本无法正常启动的问题。(#7514) - 修复会话 ID 包含冒号
:时,平台路由在 Dashboard 中无法显示的问题。(#7517) - 适配 DeerFlow 2.0,更新 DeerFlow Runner、API Client、会话命令、Provider 管理逻辑、配置文档与相关测试。(#7500)
- 移除 Dashboard
v-main不必要的 margin,额外的外边距会把背景色显露出来,因此视觉上看起来像右侧多了一条边框。(#7481) - 修复插件安装状态检查时格式不一致导致的判断问题。(#7493)
- Dashboard 代码块高亮切换到 Shiki,并同步暗色/亮色主题渲染,优化 README、更新日志与聊天消息中的代码块显示效果。(#7497)
新增 (v4.23.0)
- 为电脑使用能力支持文件读取(read)、写入(write)、编辑(edit)、Grep 搜索(ripgrep)与按会话隔离的 workspace。(#7402)
- 微信个人号适配器支持引用消息的解析。(#7380)
- 新增 Brave Search 网页搜索工具,移除旧的默认网页搜索实现。(#6847)
- 新增 Mattermost 平台适配器支持。(#7369)
- 新增 NVIDIA Rerank Provider。(#7227)
- 新增 LongCat LLM Provider。(#7360)
- 新增 OpenAI、Gemini 音频输入模态支持,并修复 ChatUI 录音相关问题。(#7378)
- Discord 平台新增 Bot 消息过滤配置,允许控制是否接收其他 Bot 的消息。(#6505)
- 新增 LLM 对重复工具调用的引导能力,减少模型陷入重复调用工具的情况。(#7388)
- QQ 官方 API 文件上传新增重试机制,提升文件发送稳定性。(#7430)
优化 (v4.23.0)
- 重构 ChatUI 样式、消息渲染与输入体验,改善聊天界面的整体可维护性与交互一致性。(#7485)
- 合并 Cron 相关工具为统一管理工具,并新增 Cron 任务编辑能力。(#7445)
- 重构内置工具管理逻辑,改善 AstrBot 内置工具注册与调用维护性。(#7418)
- 移除了大部分低频内置命令并整合命令功能,将这些指令挪至 builtin-command-extension 插件,同时更新文档。(#7478)
- 移除默认网页搜索实现,改由新的搜索工具链路提供能力。(#7416)
- 移除
lxml与beautifulsoup4依赖,降低安装体积与依赖复杂度。(#7449) - 新增 MCP stdio 配置校验,降低无效配置导致的启动失败与排查成本。(#7477)
- Docker 运行配置启用
no-new-privileges,提升容器默认安全性。(commit) - 降低 MCP Server 状态轮询频率,减少后台请求开销。(#7399)
- 帮助命令忽略
dashboard_update等内部有效命令,减少帮助列表噪音。(commit) - 修正文档中的路径拼接示例,避免插件开发存储文档误导使用者。(#7448)
- 补充 Matrix 平台常量、平台图标与相关文档。(#7368)
修复 (v4.23.0)
- 修复 STT 或 TTS Provider 在配置中禁用时仍可能被取用的问题。(#7363)
- 修复 Gemini 空模型输出误触发错误处理的问题。(#7377)
- 修复 Gemini FunctionResponse 中不支持的
id字段导致请求失败的问题。(#7386) - 修复仅存在原生工具时仍传递
FunctionCallingConfig的问题。(#7407) - 修复工具结果断言与动态阈值不一致的问题。(commit)
- 修复 Bailian Rerank 对不同 URL 端点返回格式的兼容性问题。(#7250)
- 修复 QQ 官方 WebSocket 关闭流程清理不完整的问题。(#7395)
- 修复 Telegram 网络异常后的轮询恢复问题,并补充相关测试。(#7468)
- 修复 Telegram 长消息最终分段过长的问题。(#7432)
- 修复 Telegram
sendMessageDraft发送空文本导致 400 错误刷屏的问题。(#7398) - 修复 Telegram 收集命令时插件 handler 不在
star_map中导致KeyError的问题。(#7405) - 修复 Discord Slash Command 未及时 defer 导致
10062 Unknown interaction的问题。(#7474) - 修复微信个人号适配器缺少上下文 token 时的警告信息。(commit)
- 修复
group_icl_enable在消息处理时未使用 UMO 绑定配置的问题。(#7397) - 修复插件函数工具模块路径与插件主模块路径不一致的问题。(#7462)
- 修复插件版本检查逻辑对预发布版本的支持问题。(commit)
- 修复 Shell 命令执行 JSON 响应中非 ASCII 字符被转义的问题。(#7475)
- 修复 Windows 桌面端插件依赖加载不安全或失败的问题。(#7446)
- 修复
faiss在启动阶段过早导入导致部分环境启动失败的问题。(#7400) - 修复 WebUI 暗色模式渲染与多处交互问题。(#7173)
- 修复 ChatUI 项目常量缺失,并补充相关测试用例。(#7414)
- 修复页面切换时浮动按钮跳动的问题。(#7214)
- 修复对话管理页依赖的
MessageList.vue缺失导致 Linux 环境 Dashboard 构建失败的问题。(commit) - 修复工具调用图标使用了 MDI 子集缺失图标导致的显示问题。(commit)
- 修复 Dashboard store 中
defineStore的类型用法问题。(#7490) - 修复 compose 文件中的 Docker 镜像名称错误。(#7488)
What's Changed (EN)
hotfix of v4.23.0
- Fixed inconsistent format handling when checking whether a plugin is installed. (#7493)
- Downgraded
python-ripgrepto0.0.8to fix dependency compatibility issues. (#7514) - Fixed platform routes not being displayed in Dashboard when the session ID contains a colon
:. (#7517) - Switched Dashboard code-block highlighting to Shiki, synchronized dark/light theme rendering, and improved code-block display in README, changelog, and chat messages. (#7497)
- Aligned the DeerFlow runner with DeerFlow 2.0, including updates to the runner, API client, conversation commands, provider management, documentation, and tests. (#7500)
- Removed unnecessary
v-mainmargins in Dashboard for more consistent layout across viewports. (#7481) - Updated the smoke test workflow to cover multiple operating systems and Python versions, and added a startup check script. (#7514)
New Features (v4.23.0)
- Added the LongCat LLM Provider. (#7360)
- Added missing Matrix platform constants, platform logo, and documentation updates. (#7368)
- Added local Computer Use filesystem tools, including file read, write, edit, Grep search, and per-session workspace support. (#7402)
- Added the Brave Search web search tool, replacing the old default web search implementation. (#6847)
- Added Mattermost platform support. (#7369)
- Added the NVIDIA Rerank Provider. (#7227)
- Added audio input support across OpenAI and Gemini providers, and fixed ChatUI recording issues. (#7378)
- Added reply component support for the Weixin OC adapter. (#7380)
- Added configurable Discord bot-message filtering, including support for receiving messages from other bots. (#6505)
- Added LLM guidance for repeated tool calls to reduce repetitive tool-call loops. (#7388)
- Added retry handling for QQ Official API file uploads to improve file-send reliability. (#7430)
Improvements (v4.23.0)
- Refactored ChatUI styling, message rendering, and input interactions for better maintainability and UI consistency. (#7485)
- Merged Cron tools into a unified management tool and added Cron task editing. (#7445)
- Refactored built-in tool management to improve registration and maintenance. (#7418)
- Removed rarely used built-in commands, consolidated command functionality, and updated command documentation. (#7478)
- Removed the old default web search implementation in favor of the new search tool flow. (#7416)
- Removed
lxmlandbeautifulsoup4dependencies to reduce dependency weight and installation complexity. (#7449) - Added MCP stdio configuration validation to reduce startup failures caused by invalid configs. (#7477)
- Enabled
no-new-privilegesin Docker runtime configuration to improve default container security. ([commit](https://github.com/AstrBotDevs/AstrBot/comm...