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
6d6fefc435
fix: anyio.ClosedResourceError when calling mcp tools ( #3700 )
...
* fix: anyio.ClosedResourceError when calling mcp tools
added reconnect mechanism
fixes: 3676
* fix(mcp_client): implement thread-safe reconnection using asyncio.Lock
2025-11-20 16:01:22 +08:00
Soulter
388c1ab16d
fix: ensure parameter properties are correctly handled in spec_to_func
2025-11-16 11:50:58 +08:00
Soulter
f867c2a271
feat: enhance parameter type handling in LLM tool registration with JSON schema support ( #3655 )
...
* feat: enhance parameter type handling in LLM tool registration with JSON schema support
* refactor: remove debug print statement from FunctionToolManager
2025-11-16 00:55:40 +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
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
563972fd29
fix: bugfixes
2025-08-22 17:41:06 +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
b711140f26
Feature: 优化 WebSearch 的爬取网页速度并且支持使用 Tavily 作为搜索引擎 ( #2427 )
...
* feat: 优化了 websearch 的速度;支持 Tavily 作为搜索引擎
* fix: 优化日志记录格式,修复搜索结果处理中的索引和内容显示问题
2025-08-14 10:52:35 +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
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
343e0b54b9
feat: MCP supports Streamable HTTP transport method
...
fixes : #1637 #1342
2025-05-27 15:39:02 +08:00
Soulter
ecb70cb6f7
feat: add support for custom headers in SSE client configuration
...
fixes : #1659
2025-05-27 15:05:42 +08:00
Raven95676
c111da4681
refactor: 修改框架路径获取方式,规范化路径拼接
2025-05-06 17:30:34 +08:00
Raven95676
4d1a6994aa
fix: 保证Gemini anyOf 字段唯一
2025-05-02 10:56:05 +08:00
Raven95676
8c19b7d163
chore: clean code,format
2025-04-22 17:52:25 +08:00
Raven95676
f5024984f7
perf: 移除冗余判断
2025-04-21 00:55:20 +08:00
Raven95676
f4880fd90d
fix: 修复get_func_desc_google_genai_style未正确转换函数调用的问题
2025-04-21 00:11:31 +08:00
Soulter
bf4c2ecd33
✨ feat: MCP 支持 SSE 传输协议连接到服务器
2025-04-20 11:02:28 +08:00
Soulter
33fd6a5016
perf: 优化 MCP 服务器的日志回显
2025-04-17 13:59:10 +08:00
Soulter
709c324e18
🐛 fix: 修复 MCP 服务器配置处理逻辑,确保正确处理空 mcpServers 情况并优化代码可读性
2025-04-12 18:19:06 +08:00
Soulter
b75d24d92c
🎈 perf: 适配 MCP 配置文件带 mcpServers 的情况(Cursor)
...
🐛 fix: 关闭/删除 MCP 服务器后 Tools 没有清除的问题
2025-04-12 17:56:23 +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
Soulter
a4f212a18f
🐛 fix: 修复使用 OneAPI + Gemini(openai) 传递空参数函数工具时可能报错的问题
...
fixes : #1060
2025-04-11 00:20:08 +08:00
Soulter
8047f82bfd
🎈 perf: 优化删除插件目录的逻辑,抛出异常细节;完善 mcp 未安装时的提示
2025-03-24 23:07:56 +08:00
Soulter
1aac8d8041
✨ feat: 适配完整的 function-calling 流程
2025-03-23 22:21:47 +08:00
Soulter
873b7715f4
🎈 perf: 优化 MCP Client 异步 Event 管理
2025-03-23 16:51:28 +08:00
pre-commit-ci[bot]
98e7ed6920
🎈 auto fixes by pre-commit hooks
2025-03-23 08:34:05 +00:00
Soulter
046f5e645e
✨ feat: 完善 MCP 管理和实现 WebUI MCP 相关的页面
2025-03-23 16:33:44 +08:00
pre-commit-ci[bot]
9f8e960ebe
🎈 auto fixes by pre-commit hooks
2025-03-23 03:31:20 +00:00
Soulter
4179b0be0a
chore: 优化注解格式和 requirements.txt
2025-03-23 11:31:10 +08:00
Alero
8585cd8e21
修复codecheck
2025-03-15 20:26:17 +08:00
Alero
9fa2a7eeea
修复codecheck
2025-03-15 20:24:36 +08:00
pre-commit-ci[bot]
2d1f74228d
🎈 auto fixes by pre-commit hooks
2025-03-15 12:10:17 +00:00
Alero
3d6f7aa0e1
修复codecheck
2025-03-15 20:09:49 +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
邹永赫
ef86838f62
修改注册函数工具时的打印信息
2025-03-15 12:15:05 +09:00
pre-commit-ci[bot]
60e58b4f5f
🎈 auto fixes by pre-commit hooks
2025-03-13 09:52:03 +00:00
Soulter
681940d466
🐛 fix: 修复重载插件时函数工具可能多次家在的问题
2025-03-13 17:02:58 +08:00
Soulter
7eea4615b6
perf: 优化了日志显示
2025-03-08 15:22:22 +08:00
Soulter
49bba9bf98
style: format codes
2025-03-03 13:30:55 +08:00