* feat: add image caption provider configuration for group chat
- Introduced `image_caption_provider_id` to allow separate configuration for group chat image understanding.
- Updated metadata and hints in English and Chinese for clarity on new settings.
- Adjusted logic in long term memory to utilize the new provider ID for image captioning.
* fix: format
* Fix logic for image caption and active reply settings
* Fix indentation and formatting in long_term_memory.py
* chore: ruff format
---------
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com>
Co-authored-by: Soulter <905617992@qq.com>
Update the configuration hint for `words_count_threshold` to explicitly state that it acts as a maximum limit for segmentation, preventing user confusion about it being a minimum trigger.
- Added `ThirdPartyAgentSubStage` to handle interactions with third-party agent runners (Dify, Coze, Dashscope).
- Refactored `star_request.py` to ensure consistent return types in the `process` method.
- Updated `stage.py` to initialize and utilize the new `AgentRequestSubStage`.
- Modified `ProviderManager` to skip loading agent runner providers.
- Removed `Dify` source implementation as it is now handled by the new agent runner structure.
- Enhanced `DifyAPIClient` to support file uploads via both file path and file data.
- Cleaned up shared preferences handling to simplify session preference retrieval.
- Updated dashboard configuration to reflect changes in agent runner provider selection.
- Refactored conversation commands to accommodate the new agent runner structure and remove direct dependencies on Dify.
- Adjusted main application logic to ensure compatibility with the new conversation management approach.
* refactor: LLM response handling with reasoning content
- Added a `show_reasoning` parameter to `run_agent` to control the display of reasoning content.
- Updated `LLMResponse` to include a `reasoning_content` field for storing reasoning text.
- Modified `WebChatMessageEvent` to handle and send reasoning content in streaming responses.
- Implemented reasoning extraction in various provider sources (e.g., OpenAI, Gemini).
- Updated the chat interface to display reasoning content in a collapsible format.
- Removed the deprecated `thinking_filter` package and its associated logic.
- Updated localization files to include new reasoning-related strings.
* feat: add Groq chat completion provider and associated configurations
* Update astrbot/core/provider/sources/gemini_source.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
---------
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* feat: OPENAI系支持自定义添加请求头
* chore: add custom headers and extra body to config for zhipu
---------
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com>
* Add xai_native_search configuration option
* Implement xAI compatibility and search injection
Add support for xAI integration with search parameters injection.
* Refactor xAI handling in openai_source.py
Removed the _is_xai method and updated xAI search injection logic.
* Fix formatting of condition in default.py
* Fix formatting in openai_source.py
* feat:add Xinference rerank provider
* feat:add default rerank_api_key option for Xinference provider
* style: format code
* fix: refactor XinferenceRerankProvider initialization for better error handling
* fix: update XinferenceRerankProvider to use async client methods for initialization and reranking
* feat: add launch_model_if_not_running option to XinferenceRerankProvider for better control over model initialization
* chore: remove unused asyncio import from xinference_rerank_source.py