LIghtJUNction
d373a24320
merge: sync origin/master into dev
...
Resolved 76 file conflicts across backend, frontend, and tests:
- Core backend: agent, platform, provider, star, tools, cron, KB, utils
- Dashboard backend: auth, config, plugin routes, server, runtime bootstrap
- Frontend components: shared, extension, provider components
- Frontend views: console, trace, cron, extension, platform, provider, etc.
- Frontend infrastructure: layouts, router, stores, main.ts
- Assets: MDI font subset (css, woff, woff2)
- Tests: fixtures, plugin manager, anthropic provider, dashboard tests
Strategy per file:
- Most backend: merged master improvements (metrics, http_client -> default_headers,
download_url params, plugin i18n, runtime guards, auth middleware)
- Frontend views: adopted master dashboard-shell layout (v-container, is-dark theme)
- InstalledPluginsTab: kept dev pinned-plugins feature (drag-sort, pin/unpin)
- Binary assets: resolved via git checkout
- Tests: merged both branches' assertions and mock updates
2026-05-08 11:04:03 +08:00
bugkeep
938c241799
fix: align OpenAI http_client with SDK httpx ( #7773 )
...
* fix: align OpenAI http_client with SDK httpx
* fix: narrow openai httpx import fallback
2026-04-30 10:53:34 +08:00
LIghtJUNction
3d7dff64b2
test: final coverage batch - utils, pipeline, agent, star tests
...
- 22 unit test files added/modified across all core modules
- Fix jsonschema ValidationError import in test_tool
- Coverage increased from 23% to ~35% overall
2026-04-29 08:49:01 +08:00
LIghtJUNction
9f999e401d
test: add test for None think content edge case in openai_source
2026-04-29 07:12:39 +08:00
LIghtJUNction
0208dbb15f
Merge branch 'master' of https://github.com/AstrBotDevs/AstrBot into dev
...
# Conflicts:
# dashboard/vite.config.ts
2026-04-29 02:16:18 +08:00
Yufeng He
55c1558686
fix(openai): apply empty-assistant filter to streaming path ( fixes #7721 ) ( #7758 )
...
PR #7202 added empty-assistant filtering in `_query` so strict
providers (Moonshot, etc.) wouldn't 400 on history with blank
assistant entries. The streaming sibling `_query_stream` was
never updated, so DeepSeek Reasoner — which returns reasoning only
during tool calls, leaving serialized content as `""` — blew up with
`Invalid assistant message: content or tool_calls must be set` on
the next turn.
Hoisted the filter into a `_sanitize_assistant_messages` helper and
called it from both paths. Also widened the empty check to cover
`content == []`, which the original filter missed and which shows up
with providers that emit content as a list of parts.
2026-04-26 13:10:47 +08:00
LIghtJUNction
b802edeeb1
Merge dev and fix conflicts
2026-04-06 16:39:58 +08:00
Soulter
dc9c17c195
feat: support token usage extraction for llama.cpp ( #7358 )
...
* feat: support token usage extraction for llama.cpp
* chore: ruff format
2026-04-04 23:49:18 +08:00
LIghtJUNction
005b836fea
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# astrbot/core/knowledge_base/kb_helper.py
# astrbot/core/knowledge_base/kb_mgr.py
# dashboard/src/components/extension/PinnedPluginItem.vue
# dashboard/src/components/provider/ProviderModelsPanel.vue
# dashboard/src/components/provider/ProviderSourcesPanel.vue
# dashboard/src/components/shared/ConsoleDisplayer.vue
# dashboard/src/main.ts
# dashboard/src/stores/auth.ts
# dashboard/src/views/ConversationPage.vue
# dashboard/src/views/ProviderPage.vue
# dashboard/src/views/authentication/auth/LoginPage.vue
# dashboard/src/views/knowledge-base/KBList.vue
# requirements.txt
2026-04-02 21:37:21 +08:00
kaixinyujue
0ecddb4c06
修复:过滤空助手消息,以防止在严格API上出现400错误(fix: filter empty assistant messages to prevent 400 error on strict APIs) ( #7202 )
...
* fix: filter empty assistant messages to prevent 400 error on strict APIs
Some OpenAI-compatible APIs (e.g., Moonshot) reject requests with
empty content in assistant messages when no tool_calls are present.
This fix cleans up the messages payload before sending to avoid
'message at position X must not be empty' errors.
Closes related issue with fallback provider behavior.
* test(openai): add tests for empty assistant message filtering
* refactor(openai): simplify empty assistant message filtering logic
* style: format code
---------
Co-authored-by: RC-CHN <1051989940@qq.com >
2026-04-02 09:10:06 +08:00
LIghtJUNction
efa999c221
merge: origin/master into dev
...
Resolve merge conflicts:
- Version logic: keep dev (dynamic version from package metadata)
- Backend: merge EmptyModelOutputError retry logic from master
- Frontend: keep dev design, accept master functional enhancements
- SSL/config: keep dev inline implementation
2026-03-30 17:07:57 +08:00
Soulter
551c956107
feat: implement EmptyModelOutputError for handling empty responses across providers and enhance retry logic in ToolLoopAgentRunner ( #7104 )
...
closes : #7044
2026-03-29 00:03:05 +08:00
LIghtJUNction
bc01532e59
fix(provider): filter abort_signal from payloads to avoid JSON serialize error
...
`abort_signal` (asyncio.Event) is passed via **kwargs into payloads during
tool_call streaming, causing "Object of type Event is not JSON serializable"
when the OpenAI client tries to serialize the request body.
Regression test added: test_prepare_chat_payload_strips_non_json_serializable_kwargs
2026-03-28 01:15:21 +08:00
エイカク
cd4e999526
fix: harden OpenAI attachment recovery ( #7004 )
...
* fix: harden OpenAI attachment recovery
* fix: refine OpenAI image loading
* fix: restore OpenAI image encoding errors
* refactor: streamline OpenAI image helpers
* refactor: simplify OpenAI attachment helpers
* refactor: simplify OpenAI helper flow
* refactor: clarify OpenAI image modes
* refactor: reduce OpenAI materialization copies
2026-03-27 00:49:19 +09:00
Gargantua
dde02815c2
feat: add a toggle to disable thinking mode in Ollama ( #5941 )
...
* feat: add ollama thinking toggle
* fix: simplify hint for ollama_disable_thinking configuration
---------
Co-authored-by: Gargantua <22532097@zju.edu.cn >
Co-authored-by: Soulter <905617992@qq.com >
2026-03-21 00:19:08 +08:00
Stable Genius
64e0183b55
fix: drop Groq reasoning_content from assistant history ( #6065 )
...
Co-authored-by: Stable Genius <259448942+stablegenius49@users.noreply.github.com >
2026-03-15 22:51:52 +08:00
エイカク
4ff07e3c74
fix: 完善转发引用解析与图片回退并支持配置化控制 ( #5054 )
...
* feat: support fallback image parsing for quoted messages
* fix: fallback parse quoted images when reply chain has placeholders
* style: format network utils with ruff
* test: expand quoted parser coverage and improve fallback diagnostics
* fix: fallback to text-only retry when image requests fail
* fix: tighten image fallback and resolve nested quoted forwards
* refactor: simplify quoted message extraction and dedupe images
* fix: harden quoted parsing and openai error candidates
* fix: harden quoted image ref normalization
* refactor: organize quoted parser settings and logging
* fix: cap quoted fallback images and avoid retry loops
* refactor: split quoted message parser into focused modules
* refactor: share onebot segment parsing logic
* refactor: unify quoted message parsing flow
* feat: move quoted parser tuning to provider settings
* fix: add missing i18n metadata for quoted parser settings
* chore: refine forwarded message setting labels
2026-02-12 23:42:29 +09:00