Dt8333
f624971613
chore: fix bunches of type checking errors ( #3213 )
...
* chore(core.utils): 🚨 修正错误Lint
* chore(core.provider): 🚨 修复基类错误Lint
* chore(core.utils): 补全session_get()的重载
* chore(core.provider): 🚨 修正实现错误Lint
* chore(core.platform): 🚨 修正platform基类和webchat的错误Lint
* chore(core.platform): 修正错误实现Lint
* fix(core.provider): 修复循环调用和错误assert
* chore(core.platform): 修复部分实现Lint
* chore(core.provider): 补充Dify.text_chat_stream的参数类型
* chore(core.pipeline): 🚨 修复错误Lint
* fix(core.slack): 补充遗漏导入
* chore(core.utils): 修复错误的session_get声明
* chore(core.platform): 移除Lark adapter import中的wildcard
* chore(core.db): 修复声明和部分逻辑
* chore(core.db): 添加typings,使faiss参数能被正确识别。
* chore(core): 修复声明
* chore(core): 修改声明
* chore: 补充faiss声明
* chore(dashboard): 修改实现,减少报错
* chore(package): 修改部分声明与实现,减少报错
* chore(core): 添加Handler的overload,以去除部分assert同时通过类型检查
* chore(core.pipeline): 修改Pipeline Scheduler的execute,将判断属性改为判断类型,通过静态类型检查
* chore(core.config): 添加类型标注,通过类型检查
* chore(core.message): 为File._download_file添加检查,通过类型检查
* fix: 将断言改为条件判断以实现优雅关闭的容错性
* refactor: 移除 discord 客户端中的 assert,改用 if None 判断并抛出异常
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: DiscordPlatformAdapter 对 self.client.user 为 None 做日志并返回,移除断言
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 增强 Lark 相关空值/异常检查并完善日志输出
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 将断言替换为条件检查并加入日志与错误处理
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* chore: 移除LLM生成的无用注释
* refactor: 使用 File.get_file 替换下载逻辑并移除 assert,提供默认 filename
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: Slack Socket 未初始化抛出运行时异常,图片 URL 判空改为非空判断
* refactor: 将 WeChatPadProAdapter 的断言改为空值判断并添加日志
* refactor: 使用 isinstance 替代断言实现类型判断,便于静态检查
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 去除cast,直接使用字段与字典访问,修正端口解析
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 使用 match-case 重构 ProviderManager 加载并通过类型检查抛出 TypeError
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: group_name_display 时若 group 对象为空则记录错误并返回
* fix: 将 _get_current_persona_id 的 assert 替换成 if guard 并返回 None
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 优化插件目录存在性检查及图片URL非空验证,更新JSON排序配置
* fix: 将 datetime_str 的 assert 替换为显式检查并抛出异常
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 移除 cast,改为运行时检查并在找不到调度器时跳过
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 移除 cast,改用 isinstance 检查 FaissVecDB 并警告
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 删除 typing.cast 导入,并在获取文件绝对路径前校验 file_
* refactor: 移除 typing.cast,简化内容安全检查调用
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 将 PlatformMetadata.id 设为必填并在注册时传入 id,移除 cast
* refactor: 移除 cast,改用 HasInitialize 与 isinstance 进行初始化
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 为 ProviderManager.initialize 增加ID类型判断,避免 None 导致 get 失败
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 为 OTTSProvider 与 AzureNativeProvider 引入 _client 与 client 属性改进上下文管理
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 为 Whisper 自托管源添加模型未初始化校验并直接调用 transcribe
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 移除未使用的 cast 导入并简化 platform_name 赋值
* refactor: 引入 cast 并对 id 使用 cast(str, ...) 提升类型安全
* fix: 将 _id_to_sid 返回改为 str,空值返回空串;对 id 与 message_id 使用 cast
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 重构 Discord 处理逻辑:强制 类型转换、优先斜杠指令并优化提及判断
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* fix: 统一对 id 获取执行 cast,并在微信消息解析失败时抛错
* Revert "fix: 去除cast,直接使用字段与字典访问,修正端口解析"
This reverts commit 1cbfdf9d1b .
* fix: 百炼 Rerank 会话关闭时返回空结果;初始化 request.prompt 避免空值拼接
* fix: 统一处理搜索结果链接为字符串,新增 _get_url 助手并适配 Bing/Sogo
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
* refactor: 调整 call_handler 泛型、Discord 通道注解及 FishAudioTTS API 请求类型
* refactor: 使用 col(...) 替代列引用并对结果进行 CursorResult 强转
* chore: ruff format
---------
Co-authored-by: aider (openai/gemini-3-pro-high) <aider@aider.chat >
Co-authored-by: Soulter <905617992@qq.com >
2025-12-09 14:13:47 +08:00
Soulter
ab2c94e19a
chore: comment out error logging in provider sources to reduce verbosity
2025-11-28 19:59:33 +08:00
Soulter
afb56cf707
feat: add supports for gemini-3 series thought signature ( #3698 )
...
* feat: add supports for gemini-3 series thought signature
* feat: refactor tools_call_extra_content to use a dictionary for better structure
2025-11-19 18:54:56 +08:00
Soulter
605bb2cb90
refactor: disable debug logging for chunk delta in OpenAI provider
2025-11-15 22:29:06 +08:00
Soulter
6849af2bad
refactor: LLM response handling with reasoning content ( #3632 )
...
* 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>
2025-11-15 18:59:17 +08:00
nazo
1ce0ff87bd
feat: supports to add custom headers for openai providers ( #3581 )
...
* feat: OPENAI系支持自定义添加请求头
* chore: add custom headers and extra body to config for zhipu
---------
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
2025-11-09 15:12:52 +08:00
Soulter
50144ddcae
refactor: revise LLM message schema and fix the reload logic when using dataclass-based LLM Tool registration ( #3234 )
...
* refactor: llm message schema
* feat: implement MCPTool and local LLM tools with enhanced context handling
* refactor: reorganize imports and enhance docstrings for clarity
* refactor: enhance ContentPart validation and add message pair handling in ConversationManager
* chore: ruff format
* refactor: remove debug print statement from payloads in ProviderOpenAIOfficial
* Update astrbot/core/agent/tool.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/agent/message.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/agent/message.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/agent/tool.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/pipeline/process_stage/method/llm_request.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/agent/message.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* refactor: enhance documentation and import mcp in tool.py; update call method return type
* fix: 修复以数据类的方式注册 tool 时的插件重载机制问题
* refactor: change role attributes to use Literal types for message segments
* fix: add support for 'decorator_handler' method in call_local_llm_tool
* fix: handle None prompt in text_chat method and ensure context is properly formatted
---------
Co-authored-by: LIghtJUNction <lightjunction.me@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-02 18:12:20 +08:00
LIghtJUNction
0b7fc29ac4
style: add ruff lint module of isort and pyupgrade, and some ruff check fix ( #3214 )
...
Co-authored-by: Dt8333 <25431943+Dt8333@users.noreply.github.com >
Co-authored-by: Soulter <905617992@qq.com >
2025-11-01 13:26:19 +08:00
Chris
50b1dccff3
feat: support xAI Grok Live Search config ( #3203 )
...
* 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
2025-10-31 21:48:45 +08:00
Soulter
36ffcf3cc3
fix: typing error
2025-10-21 10:56:44 +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
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
6c662a36c1
fix: 适配 qwen3 的 thinking 类模型
...
fixes : #2631
2025-09-04 20:26:52 +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
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
你们的饺子
eb0325e627
fix: 修复了 OpenAI 类型的 LLM 空内容响应导致的无法解析 completion 的错误。 ( #2279 )
2025-08-02 15:46:11 +08:00
Soulter
c19bca798b
fix: xfyun model tool use error workaround
...
fixes : #1359
2025-07-14 22:07:33 +08:00
uersula
8c03e79f99
Fix: Remove buggy flag logic in _remove_image_from_context
2025-07-08 23:01:11 +08:00
uersula
e678413214
Fix: Prevent KeyError in _remove_image_from_context
2025-07-07 02:30:50 +08:00
Soulter
ad14e9bf40
chore: remove unnecessary logging of payloads in chat completion
2025-07-03 10:50:03 +08:00
Soulter
5f0d601baa
feat: add support for selecting provider and models in webchat
2025-07-03 10:42:20 +08:00
Raven95676
72702beb0b
chore: clean code
2025-07-02 10:29:10 +08:00
Soulter
4e3d5641c8
chore: code quality
2025-06-29 15:51:56 +08:00
Soulter
a55a07c5ff
remove: useless provider init params
2025-06-29 14:43:36 +08:00
Soulter
94ee8ea297
feat: 支持多轮次工具调用并且存储到数据库
...
移除了 llm tuner 适配器
2025-06-29 14:27:00 +08:00
Soulter
29c07ba83e
🐛 fix: function tools argument type issue
...
fixes : #1454
2025-05-27 13:54:16 +08:00
Soulter
c5bc709898
🎈 perf: 优化 openai_source 方法默认参数
2025-05-06 23:15:11 +08:00
Raven95676
ab227a08d0
fix: 修复openai source中e的作用域问题
2025-04-22 11:50:47 +08:00
Soulter
784dcf2a9a
Merge pull request #1228 from Raven95676/gemini
...
refactor: 使用Google官方SDK重构gemini_source
2025-04-15 20:04:20 +08:00
Soulter
bced9ffff9
🐛 fix: 修复zhipu工具调用问题
2025-04-12 15:24:37 +08:00
Soulter
7231403e16
🐛 fix: xai missing field parameters
2025-04-12 09:47:11 +08:00
Raven95676
e8ffebc006
fix: 修复消息处理流程中可能出现的空消息
2025-04-11 15:01:20 +08:00
Soulter
5f0b8161b7
perf: 优化 WebUI Chat 的流式传输性能
2025-04-09 15:22:35 +08:00
anka
8ed3d5f3db
fix: 将openai_source的结果消息链的构造方式和其他统一
2025-04-06 09:12:52 +00:00
anka
ba252c5356
fix: 修正一个偶然发现的命名错误()
2025-04-06 08:12:00 +00:00
Soulter
c1cf2be533
✨ feat: 完善流式处理
2025-04-06 11:56:06 +08:00
Soulter
109650faf3
✨ feat: 支持流式输出
2025-04-06 00:56:33 +08:00
Soulter
b757c91d93
🐛 fix: 修复无法识别到函数调用异常的问题
2025-04-04 01:02:39 +08:00
Soulter
2eb9e5dde3
perf: 添加重试等待
2025-03-30 22:51:34 +08:00
渡鸦95676
627d2a4701
新增重试间隔
2025-03-30 22:33:21 +08:00
Soulter
76895fe86d
chore: improve variable names
2025-03-30 22:12:34 +08:00
Soulter
7288348857
🎈 perf: OpenAI sources supports api key load balance(random)
2025-03-30 22:00:45 +08:00
Soulter
1aac8d8041
✨ feat: 适配完整的 function-calling 流程
2025-03-23 22:21:47 +08:00
Soulter
c59c8e05f7
🐛 fix: tools result
2025-03-23 17:03:18 +08:00
Soulter
046f5e645e
✨ feat: 完善 MCP 管理和实现 WebUI MCP 相关的页面
2025-03-23 16:33:44 +08:00
pre-commit-ci[bot]
3dea60366a
🎈 auto fixes by pre-commit hooks
2025-03-15 11:54:09 +00:00
Alero
d4d9a1df4c
feat:新增MCP服务支持并优化工具调用逻辑
...
引入MCP客户端支持,增加mcp_server.json配置样例,完善工具描述生成及调用逻辑以支持MCP服务工具功能。同时调整相关逻辑以区分本地工具与MCP工具的调用方式,提升扩展性和灵活性。
2025-03-15 19:47:06 +08:00
Soulter
49bba9bf98
style: format codes
2025-03-03 13:30:55 +08:00
Soulter
98e8ecb8e2
🐛 fix: add type check for completion response from API to ensure correct handling
2025-02-25 11:46:44 +08:00