Soulter
9430e3090d
feat: add progress callback for document upload and enhance upload progress tracking
2025-10-24 17:13:44 +08:00
Soulter
ba44f9117b
feat: enhance document upload process with batch settings and improved chunk handling
2025-10-24 16:37:37 +08:00
anka
5e9c7cdd91
fix: 当没有填写 api key 时,设置为空字符串 ( #2834 )
...
* fix: 修复空key导致的无法创建Provider对象的问题
* style: format code
* Update astrbot/core/provider/provider.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>
Co-authored-by: Soulter <905617992@qq.com >
2025-10-12 10:50:01 +08:00
Yaron
8c120b020e
fix: 修复阿里云百炼平台 TTS 下接入 CosyVoice V2, Qwen TTS 生成报错的问题 ( #2964 )
...
* fix: 修复了CosyVoice V2,Qwen TTS生成报错的问题。Fixed compatability problems with CosyVoice V2, Qwen TTS.
* fix: 将urlopen的同步请求替换为aiohttp的异步请求以下载音频
* fix: cozyvoice 报错显示
* fix: 添加阿里云百炼 TTS API Key 获取提示信息
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-10-12 01:03:06 +08:00
Soulter
baf5ad0fab
fix: 修复接入智谱提供商后,工具调用无限循环的问题,并停止支持 glm-4v-flash ( #2931 )
...
fixes : #2912
2025-10-02 16:03:24 +08:00
Soulter
afe007ca0b
refactor: 优化 packages/astrbot 内置插件的代码结构以提高可维护性和可读性 ( #2924 )
...
* refactor: code structure for improved readability and maintainability
* style: ruff format
* Update packages/astrbot/commands/provider.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* Update packages/astrbot/commands/persona.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* Update packages/astrbot/commands/llm.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* Update packages/astrbot/commands/conversation.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* fix: improve error handling message formatting in key switching
* fix: update LLM command to use safe get for provider settings
* feat: implement ProcessLLMRequest class for handling LLM requests and persona injection
---------
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-10-01 21:29:15 +08:00
anka
ccb380ce06
feat: 支持接入 Coze ( #2858 )
...
* feat: 适配 coze 供应商
1. 支持文件上传
2. 支持多模态
3. 支持流式传输
4. 支持 API 端的上下文保存历史记录
5. 支持类似 dify 的 forget 接口
* style: format code
* fix: type checking error
* fix: 修复:
1. 使用coze api端的上下文时, 现在不会重复传递上下文
2. 使用 AstrBot 的上下文时, 正确处理其中的图片信息
3. 上传图片时, 提供一个非持久化的缓存避免重复上传(在解析上下文并将文件转化为file_id传递给coze api时, 如果没有缓存会导致很多的网络资源浪费)
4. 修复reset等指令不能正确重置上下文的问题
* fix: 移除某些地方多余的针对 dify 的断言, 以兼容 Coze
* style: 修改配置项显示/webchat平台对于非预期的类型的处理
* fix: 让conversation_id放到请求中正确的位置
* refactor: extract coze api client
* refactor: improve image processing logic in ProviderCoze
* chore: remove file ext guessing
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-09-27 14:23:29 +08:00
Soulter
1542ea3e03
fix: context.get_provider_by_id issue
2025-09-22 17:22:50 +08:00
Soulter
80a86f5b1b
fix: 修复 astrbot.core.star 等包下的 type checking error ( #2787 )
...
* fix: 修复 astrbot.core.star 等包下的 type checking error
* refactor: improve type checking and annotations
* chore: ruff format
2025-09-21 18:10:04 +08:00
Soulter
9ec8839efa
perf: 检查服务提供商可用性时跳过未启用的提供商
2025-09-14 21:01:32 +08:00
Soulter
7740e1e131
ci: add ci stage of code format checking ( #2750 )
...
* style: ruff format
* ci(dashboard-ci): ensure GitHub Release action only runs on push events
* ci(code-format): ruff format and ruff check
2025-09-14 18:05:58 +08:00
Soulter
4788c20816
fix: model variable referenced before assignment
2025-09-13 16:18:22 +08:00
Yokami
e841b6af88
feat: 支持在 WebUI 自定义 OpenAI API extra_body 参数 ( #2719 )
...
* feat: 支持OPENAI系 模型的自定义标头,以解决qwen模型无法使用的问题
* fix: 修复AI说的问题
* fix: 布尔开关向右对齐
2025-09-13 13:23:49 +08:00
Soulter
d597fd056d
fix: 修复知识库不能创建的问题
2025-09-11 17:27:57 +08:00
Soulter
6c662a36c1
fix: 适配 qwen3 的 thinking 类模型
...
fixes : #2631
2025-09-04 20:26:52 +08:00
Soulter
fa53b468fd
fix: ensure function call name and args are not None before processing
2025-09-04 11:18:58 +08:00
Soulter
388ae49e55
fix: 修复 e.message 为 None 时报错的问题和一些 lint error
2025-09-03 22:25:18 +08:00
Soulter
8f4625f53b
Merge remote-tracking branch 'origin/master' into releases/4.0.0
2025-08-31 20:37:53 +08:00
ZvZPvz
10b9228060
feat: 调用 deepseek-reasoner 时自动移除 tools ( #2531 )
...
* 调用DeepSeek为思考模式时自动移除tools
* Update astrbot/core/provider/sources/openai_source.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* Update openai_source.py
* Update openai_source.py
---------
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-08-26 20:44:56 +08:00
Raven95676
29845fcc4c
feat: Gemini添加对LLMResponse的raw_completion支持
2025-08-23 14:14:25 +08:00
Soulter
563972fd29
fix: bugfixes
2025-08-22 17:41:06 +08:00
AkkoYK
cbe94b84fc
feat: 为 FishAudio TTS 添加可选的 reference_id 直接指定功能 ( #2513 )
...
* 移除TTS提供商:FishAudio TTS的角色名称查询机制,改为直接使用参考模型ID
/// 修改内容 ///
- 移除复杂的角色查询逻辑
删除了 get_reference_id_by_character 方法
移除了通过角色名称搜索模型ID的API调用逻辑
- 简化配置字段
将 fishaudio-tts-character 字段替换为 fishaudio-tts-reference-id
设置默认值为可莉的模型ID:626bb6d3f3364c9cbc3aa6a67300a664
- 优化代码结构
直接在初始化时获取reference_id
简化请求生成逻辑,直接使用配置的模型ID
/// 修改原因 ///
避免同名冲突:不同模型可能使用相同的角色名称,导致获取错误的模型
提高性能:移除了额外的API查询步骤,减少延迟
增强可靠性:用户直接指定准确的模型ID,避免搜索失败的情况
简化维护:减少了代码复杂度,降低维护成本
/// 新的使用方式 ///
用户需要从 FishAudio 模型的详情页面/URL 中获取具体的模型ID(如 626bb6d3f3364c9cbc3aa6a67300a664),并在配置中直接填入 fishaudio-tts-reference-id 字段。
这个修改使得FishAudio TTS的配置更加直观和可靠,同时提升了系统的整体性能。
* Refactor: 添加FishAudio TTS reference_id格式验证
添加ID格式验证逻辑,防止无效的reference_id调用API失败。
验证32位十六进制格式并提供详细错误提示。
* Feat: 添加FishAudio TTS可选reference_id配置实现向前兼容
新增可选的reference_id字段,优先使用直接ID,未配置时回退到角色名称查询。
保持完全向前兼容,现有配置无需修改。
2025-08-22 16:55:07 +08:00
Soulter
9903b028a3
Feature: 支持配置重排序模型(vLLM API 格式)用于 score 任务 ( #2496 )
...
* feat: 支持添加重排序模型(vLLM API 格式)用于 score 任务
* fix: update rerank API base URL to use localhost
2025-08-19 16:15:31 +08:00
Soulter
64bcbc9fc0
refactor: 重构 SharedPreference 类并采用数据库存储替换 json 存储 ( #2482 )
2025-08-18 19:12:26 +08:00
Soulter
1df49d1d6f
refactor: 重构 Function Tool 管理并初步引入 Multi Agent 及 Agent Handsoff 机制 ( #2454 )
...
* stage
* refactor: 重构 Function Tool 管理并引入 multi agent handsoff 机制
- Updated `star_request.py` to use the global `call_handler` instead of context-specific calls.
- Modified `entities.py` to remove the dependency on `FunctionToolManager` and streamline the function tool handling.
- Refactored `func_tool_manager.py` to simplify the `FunctionTool` class and its methods, removing deprecated code and enhancing clarity.
- Adjusted `provider.py` to align with the new function tool structure, removing unnecessary type unions.
- Enhanced `star_handler.py` to support agent registration and tool association, introducing `RegisteringAgent` for better encapsulation.
- Updated `star_manager.py` to handle tool registration for agents, ensuring proper binding of handlers.
- Revised `main.py` in the web searcher package to utilize the new agent registration system for web search tools.
* chore: websearch
* perf: 减少嵌套
* chore: 移除未使用的 mcp 导入
2025-08-17 10:57:25 +08:00
Soulter
cf64e6c231
Merge remote-tracking branch 'origin/master' into releases/4.0.0
2025-08-14 13:36:19 +08:00
Copilot
2cae941bae
Fix incomplete Gemini streaming responses in chat history ( #2429 )
...
* Initial plan
* Fix incomplete Gemini streaming responses in chat history
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
Co-authored-by: Raven95676 <Raven95676@gmail.com >
2025-08-14 11:56:50 +08:00
Copilot
bc0784f41d
fix: enable_thinking parameter for qwen3 models in non-streaming calls ( #2424 )
...
* Initial plan
* Fix ModelScope enable_thinking parameter for non-streaming calls
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
* Tighten enable_thinking condition to only Qwen/Qwen3 models
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
* qwen3 model handle
* Update astrbot/core/provider/sources/openai_source.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-14 11:18:29 +08:00
Soulter
b711140f26
Feature: 优化 WebSearch 的爬取网页速度并且支持使用 Tavily 作为搜索引擎 ( #2427 )
...
* feat: 优化了 websearch 的速度;支持 Tavily 作为搜索引擎
* fix: 优化日志记录格式,修复搜索结果处理中的索引和内容显示问题
2025-08-14 10:52:35 +08:00
Soulter
0759a11a85
fix: 修复 stage 在不同 pipeline 中被重复使用的问题和 persona 相关问题
2025-08-13 13:13:04 +08:00
Soulter
cb749a38ab
chore: remove status checking in chat page
2025-08-13 10:45:50 +08:00
Soulter
369eab18ab
Refactor: 重构配置文件管理,以支持更灵活的、会话粒度的(基于 umo part)配置文件隔离 ( #2328 )
...
* refactor: 重构配置文件管理,以支持更灵活的、基于 umo part 的配置文件隔离
* Refactor: 重构配置前端页面,新增数个配置项 (#2331 )
* refactor: 重构配置前端页面,新增数个配置项
* feat: 完善多配置文件结构
* perf: 系统配置入口
* fix: normal config item list not display
* fix: 修复 axios 请求中的上下文引用问题
2025-08-13 09:18:49 +08:00
Soulter
a8e7dadd39
fix: 修复访问令牌的空格问题
2025-08-04 17:26:22 +08:00
Soulter
2f8d921adf
feat: add support to sync mcp servers from ModelScope ( #2313 )
2025-08-04 17:24:07 +08:00
Soulter
b1e3018b6b
Improve: 引入全新的人格管理模式以及重构函数工具管理器 ( #2305 )
...
* feat: add persona management
* refactor: 重构函数工具管理器,引入 ToolSet,并让 Persona 支持绑定 Tools
* feat: 更新 Persona 工具选择逻辑,支持全选和指定工具的切换
* feat: 更新 BaseDatabase 中的 persona 方法返回类型,支持返回 None
2025-08-04 00:56:26 +08:00
你们的饺子
eb0325e627
fix: 修复了 OpenAI 类型的 LLM 空内容响应导致的无法解析 completion 的错误。 ( #2279 )
2025-08-02 15:46:11 +08:00
Misaka Mikoto
a27f05fcb4
chore: 修改 OpenAI 嵌入模型提供商默认向量维度为1024 ( #2209 )
2025-07-23 23:35:04 +08:00
Soulter
17d62a9af7
refactor: mcp server reload mechanism ( #2161 )
...
* refactor: mcp server reload mechanism
* fix: wait for client events
* fix: all other mcp servers are terminated when disable selected server
* fix: resolve type hinting issues in MCPClient and FuncCall methods
* perf: optimize mcp server loaders
* perf: improve MCP client connection testing
* perf: improve error message
* perf: clean code
* perf: increase default timeout for MCP connection and reset dialog message on close
---------
Co-authored-by: Raven95676 <Raven95676@gmail.com >
2025-07-20 15:53:13 +08:00
Raven95676
f86c8e8cab
perf: ensure MCP client termination in cleanup process
2025-07-17 23:17:23 +08:00
Raven95676
cb12cbdd3d
fix: managing MCP connections with AsyncExitStack
2025-07-16 23:44:51 +08:00
Soulter
c19bca798b
fix: xfyun model tool use error workaround
...
fixes : #1359
2025-07-14 22:07:33 +08:00
Soulter
1bfd747cc6
perf: add system_prompt to payload_vars in dify text_chat method
2025-07-14 11:00:13 +08:00
Soulter
9f41d5f34d
Merge remote-tracking branch 'origin/master' into RC-CHN/master
2025-07-13 17:35:53 +08:00
Soulter
d8842ef274
perf: code quality
2025-07-13 17:27:40 +08:00
sheffey
7cbaed8c6c
fix: add status checking for embedding model providers
2025-07-11 18:36:40 +08:00
uersula
8c03e79f99
Fix: Remove buggy flag logic in _remove_image_from_context
2025-07-08 23:01:11 +08:00
Ruochen
14564c392a
feat:meta方法增加provider_type字段
2025-07-08 15:33:02 +08:00
Soulter
622dcf8fd5
fix: 通过指令选择提供商重启后失效
2025-07-08 01:24:19 +08:00
uersula
e678413214
Fix: Prevent KeyError in _remove_image_from_context
2025-07-07 02:30:50 +08:00
Soulter
1063b11ef6
fix: check provider availability errors on dify
2025-07-04 10:19:58 +08:00