diff --git a/.github/workflows/dashboard_ci.yml b/.github/workflows/dashboard_ci.yml index beb7b8871..63a7f47b3 100644 --- a/.github/workflows/dashboard_ci.yml +++ b/.github/workflows/dashboard_ci.yml @@ -27,9 +27,10 @@ jobs: cache-dependency-path: dashboard/pnpm-lock.yaml - name: Install and Build + working-directory: dashboard run: | - pnpm --dir dashboard install --frozen-lockfile - pnpm --dir dashboard run build + pnpm install --frozen-lockfile + pnpm run build - name: Inject Commit SHA id: get_sha diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bfe80a115..b91d1f3a0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -51,7 +51,7 @@ jobs: echo "tag=$tag" >> "$GITHUB_OUTPUT" - name: Setup pnpm - uses: pnpm/action-setup@v6.0.0 + uses: pnpm/action-setup@v5.0.0 with: version: 10.28.2 @@ -64,11 +64,11 @@ jobs: - name: Build dashboard dist shell: bash + working-directory: dashboard run: | - pnpm --dir dashboard install --frozen-lockfile - pnpm --dir dashboard run build - echo "${{ steps.tag.outputs.tag }}" > dashboard/dist/assets/version - cd dashboard + pnpm install --frozen-lockfile + pnpm run build + echo "${{ steps.tag.outputs.tag }}" > dist/assets/version zip -r "AstrBot-${{ steps.tag.outputs.tag }}-dashboard.zip" dist - name: Upload dashboard artifact diff --git a/astrbot/cli/__init__.py b/astrbot/cli/__init__.py index 354868fea..f09cd959a 100644 --- a/astrbot/cli/__init__.py +++ b/astrbot/cli/__init__.py @@ -1 +1 @@ -__version__ = "4.23.1" +__version__ = "4.23.2" diff --git a/astrbot/core/config/default.py b/astrbot/core/config/default.py index 527cfbf9b..b7ab2951d 100644 --- a/astrbot/core/config/default.py +++ b/astrbot/core/config/default.py @@ -5,7 +5,7 @@ from typing import Any, TypedDict from astrbot.core.utils.astrbot_path import get_astrbot_data_path -VERSION = "4.23.1" +VERSION = "4.23.2" DB_PATH = os.path.join(get_astrbot_data_path(), "data_v4.db") PERSONAL_WECHAT_CONFIG_METADATA = { "weixin_oc_base_url": { diff --git a/changelogs/v4.23.2.md b/changelogs/v4.23.2.md new file mode 100644 index 000000000..d6e91acea --- /dev/null +++ b/changelogs/v4.23.2.md @@ -0,0 +1,69 @@ +- [更新日志(简体中文)](#chinese) +- [Changelog(English)](#english) + + + +## What's Changed + +### 新增 + +- 知识库稀疏检索阶段新增 SQLite FTS5 支持,大幅优化万到十万级别分块时造成的召回时的显著卡顿。([#7648](https://github.com/AstrBotDevs/AstrBot/pull/7648)) +- KOOK 平台新增角色提及支持,包含角色记录、事件解析、API 类型与相关测试。([#7626](https://github.com/AstrBotDevs/AstrBot/pull/7626)) +- 新增 MiniMax Token Plan Provider。([#7609](https://github.com/AstrBotDevs/AstrBot/pull/7609)) +- 新增 `on_agent_begin`、`on_using_llm_tool`、`on_llm_tool_respond`、`on_agent_done` 插件事件钩子,并更新插件开发文档。([#7540](https://github.com/AstrBotDevs/AstrBot/pull/7540)) +- 为 t2i 模板启用 Shiki 代码高亮,并新增 VitePress 风格模板。([#7501](https://github.com/AstrBotDevs/AstrBot/pull/7501)) + +### 优化 + +- 优化 `EmptyModelOutputError` 处理,不再严格强制校验模型工具输出的名字是否符合工具集,采用引导的方式让模型输出正确的工具调用。([#7375](https://github.com/AstrBotDevs/AstrBot/pull/7375)) +- 优化 `SendMessageToUserTool` 工具在本地 workspace root 内解析相对文件路径的问题。([#7668](https://github.com/AstrBotDevs/AstrBot/pull/7668)) + +### 修复 + +- 修复 Bocha 搜索返回 Brotli 压缩内容时出现 `Can not decode content-encoding: br` 的问题。([#7655](https://github.com/AstrBotDevs/AstrBot/pull/7655)) +- 修复微信个人号主动 Cron 发送时 `context_token` 未持久化的问题。([#7595](https://github.com/AstrBotDevs/AstrBot/pull/7595)) +- 修复 Anthropic Provider 默认 `max_tokens` 偏小导致工具调用输出文件操作时造成大量截断的问题。([#7593](https://github.com/AstrBotDevs/AstrBot/pull/7593)) +- 修复 Cron `last_run_at` 在 Dashboard 中未按本地时区显示的问题。([#7625](https://github.com/AstrBotDevs/AstrBot/pull/7625)) +- 修复 Cron 工具调度失败时静默继续的问题,并在失败时返回明确错误给模型。([#7513](https://github.com/AstrBotDevs/AstrBot/pull/7513)) +- 修复 Telegram 媒体组异常被静默吞掉的问题。([#7537](https://github.com/AstrBotDevs/AstrBot/pull/7537)) +- 修复会话限流计数为 0 时可能触发 `IndexError` 的问题。([#7635](https://github.com/AstrBotDevs/AstrBot/pull/7635)) + +- 修复知识库上传错误处理与错误提示,提升失败时的可诊断性。([#7534](https://github.com/AstrBotDevs/AstrBot/pull/7534), [#7536](https://github.com/AstrBotDevs/AstrBot/pull/7536)) +- 修复 Dashboard 聊天附件 401 问题。([#7569](https://github.com/AstrBotDevs/AstrBot/pull/7569)) +- 修复 Dashboard 数字输入框在未编辑时失焦会重置为 0 的问题。([#7560](https://github.com/AstrBotDevs/AstrBot/pull/7560)) +- 修复 Dashboard 列表项内代码块暗色模式传递问题,并移除 `ThemeAwareMarkdownCodeBlock` 中注入的默认值。([#7667](https://github.com/AstrBotDevs/AstrBot/pull/7667), [commit](https://github.com/AstrBotDevs/AstrBot/commit/fd2ca702d)) +- 修复 Updater 请求不支持 SOCKS 代理的问题,并补充相关测试。([#7615](https://github.com/AstrBotDevs/AstrBot/pull/7615)) +- 回滚 SCSS import warning 修复以避免相关兼容问题。([#7616](https://github.com/AstrBotDevs/AstrBot/pull/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](https://github.com/AstrBotDevs/AstrBot/pull/7648)) +- Added KOOK role mention support, including role records, event parsing, API types, and tests. ([#7626](https://github.com/AstrBotDevs/AstrBot/pull/7626)) +- Added the MiniMax Token Plan Provider. ([#7609](https://github.com/AstrBotDevs/AstrBot/pull/7609)) +- Added plugin event hooks for `on_agent_begin`, `on_using_llm_tool`, `on_llm_tool_respond`, and `on_agent_done`, with updated plugin development docs. ([#7540](https://github.com/AstrBotDevs/AstrBot/pull/7540)) +- Enabled Shiki highlighting for t2i templates and added a VitePress-style template. ([#7501](https://github.com/AstrBotDevs/AstrBot/pull/7501)) + +### Improvements + +- Improved `EmptyModelOutputError` handling by no longer strictly enforcing whether model tool output names match the tool set, and instead guiding the model toward valid tool calls. ([#7375](https://github.com/AstrBotDevs/AstrBot/pull/7375)) +- Improved relative file path resolution within the local workspace root for `SendMessageToUserTool`. ([#7668](https://github.com/AstrBotDevs/AstrBot/pull/7668)) + +### Bug Fixes + +- Fixed Bocha search failures caused by Brotli-compressed responses reporting `Can not decode content-encoding: br`. ([#7655](https://github.com/AstrBotDevs/AstrBot/pull/7655)) +- Fixed `context_token` persistence for proactive Cron sends in the Weixin OC adapter. ([#7595](https://github.com/AstrBotDevs/AstrBot/pull/7595)) +- Increased the Anthropic Provider default `max_tokens` value to avoid heavy truncation during tool-call output for file operations. ([#7593](https://github.com/AstrBotDevs/AstrBot/pull/7593)) +- Displayed Cron `last_run_at` in the local timezone in Dashboard. ([#7625](https://github.com/AstrBotDevs/AstrBot/pull/7625)) +- Returned explicit errors to the model when Cron tool scheduling fails instead of continuing silently. ([#7513](https://github.com/AstrBotDevs/AstrBot/pull/7513)) +- Prevented Telegram media group exceptions from being silently swallowed. ([#7537](https://github.com/AstrBotDevs/AstrBot/pull/7537)) +- Fixed an `IndexError` when session `rate_limit_count` is 0. ([#7635](https://github.com/AstrBotDevs/AstrBot/pull/7635)) +- Improved knowledge-base upload error handling and error messages for better diagnostics. ([#7534](https://github.com/AstrBotDevs/AstrBot/pull/7534), [#7536](https://github.com/AstrBotDevs/AstrBot/pull/7536)) +- Fixed Dashboard chat attachment 401 errors. ([#7569](https://github.com/AstrBotDevs/AstrBot/pull/7569)) +- Fixed numeric inputs resetting to 0 on blur when the value was not edited. ([#7560](https://github.com/AstrBotDevs/AstrBot/pull/7560)) +- Fixed dark-mode propagation for code blocks inside Dashboard list items and removed the injected default value from `ThemeAwareMarkdownCodeBlock`. ([#7667](https://github.com/AstrBotDevs/AstrBot/pull/7667), [commit](https://github.com/AstrBotDevs/AstrBot/commit/fd2ca702d)) +- Added SOCKS proxy support for updater requests and related tests. ([#7615](https://github.com/AstrBotDevs/AstrBot/pull/7615)) +- Reverted the SCSS import warning fix to avoid related compatibility issues. ([#7616](https://github.com/AstrBotDevs/AstrBot/pull/7616)) diff --git a/dashboard/pnpm-lock.yaml b/dashboard/pnpm-lock.yaml index ae65710eb..c60569271 100644 --- a/dashboard/pnpm-lock.yaml +++ b/dashboard/pnpm-lock.yaml @@ -5,8 +5,8 @@ settings: excludeLinksFromLockfile: false overrides: - immutable: 4.3.8 - lodash-es: 4.17.23 + immutable: "4.3.8" + lodash-es: "4.17.23" importers: diff --git a/pyproject.toml b/pyproject.toml index da69c3311..ce59ac9ac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "AstrBot" -version = "4.23.1" +version = "4.23.2" description = "Easy-to-use multi-platform LLM chatbot and development framework" readme = "README.md" license = { text = "AGPL-3.0-or-later" }