From 98e7ed6920caa1847d8cd6278779bee74406e0ae Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 23 Mar 2025 08:34:05 +0000 Subject: [PATCH] :balloon: auto fixes by pre-commit hooks --- .../process_stage/method/llm_request.py | 4 +++- astrbot/core/provider/func_tool_manager.py | 8 +++---- astrbot/core/provider/manager.py | 4 +++- astrbot/dashboard/routes/tools.py | 24 ++++++++++--------- 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/astrbot/core/pipeline/process_stage/method/llm_request.py b/astrbot/core/pipeline/process_stage/method/llm_request.py index 3767cc59d..9689ef34e 100644 --- a/astrbot/core/pipeline/process_stage/method/llm_request.py +++ b/astrbot/core/pipeline/process_stage/method/llm_request.py @@ -181,7 +181,9 @@ class LLMRequestSubStage(Stage): logger.info( f"从 MCP 服务 {func_tool.mcp_server_name} 调用工具函数:{func_tool.name},参数:{func_tool_args}" ) - client = req.func_tool.mcp_client_dict[func_tool.mcp_server_name] + client = req.func_tool.mcp_client_dict[ + func_tool.mcp_server_name + ] res = await client.session.call_tool( func_tool.name, func_tool_args ) diff --git a/astrbot/core/provider/func_tool_manager.py b/astrbot/core/provider/func_tool_manager.py index 93d99de65..b795027da 100644 --- a/astrbot/core/provider/func_tool_manager.py +++ b/astrbot/core/provider/func_tool_manager.py @@ -237,7 +237,9 @@ class FuncCall: data = await self.mcp_service_queue.get() if data["type"] == "init": if "name" in data: - asyncio.create_task(self._init_mcp_client(data["name"], data["cfg"])) + asyncio.create_task( + self._init_mcp_client(data["name"], data["cfg"]) + ) else: await self._init_mcp_clients() elif data["type"] == "terminate": @@ -297,9 +299,7 @@ class FuncCall: await self.mcp_client_dict[name].cleanup() del self.mcp_client_dict[name] except Exception as e: - logger.info( - f"清空 MCP 客户端资源 {name}: {e}。" - ) + logger.info(f"清空 MCP 客户端资源 {name}: {e}。") # 移除关联的FuncTool self.func_list = [ f diff --git a/astrbot/core/provider/manager.py b/astrbot/core/provider/manager.py index 71b38682f..ef9040445 100644 --- a/astrbot/core/provider/manager.py +++ b/astrbot/core/provider/manager.py @@ -129,7 +129,9 @@ class ProviderManager: logger.warning("未启用任何用于 文本转语音 的提供商适配器。") # 初始化 MCP Client 连接 - asyncio.create_task(self.llm_tools.mcp_service_selector(), name="mcp-service-handler") + asyncio.create_task( + self.llm_tools.mcp_service_selector(), name="mcp-service-handler" + ) self.llm_tools.mcp_service_queue.put_nowait({"type": "init"}) async def load_provider(self, provider_config: dict): diff --git a/astrbot/dashboard/routes/tools.py b/astrbot/dashboard/routes/tools.py index 8ba166784..36da48ce4 100644 --- a/astrbot/dashboard/routes/tools.py +++ b/astrbot/dashboard/routes/tools.py @@ -65,7 +65,7 @@ class ToolsRoute(Route): "name": name, "active": server_config.get("active", True), } - + # 复制所有配置字段 for key, value in server_config.items(): if key != "active": # active 已经处理 @@ -94,7 +94,7 @@ class ToolsRoute(Route): server_data = await request.json name = server_data.get("name", "") - + # 检查必填字段 if not name: return Response().error("服务器名称不能为空").__dict__ @@ -102,13 +102,13 @@ class ToolsRoute(Route): # 移除特殊字段并检查配置是否有效 has_valid_config = False server_config = {"active": server_data.get("active", True)} - + # 复制所有配置字段 for key, value in server_data.items(): if key not in ["name", "active", "tools"]: # 排除特殊字段 server_config[key] = value has_valid_config = True - + if not has_valid_config: return Response().error("必须提供有效的服务器配置").__dict__ @@ -140,7 +140,7 @@ class ToolsRoute(Route): server_data = await request.json name = server_data.get("name", "") - + if not name: return Response().error("服务器名称不能为空").__dict__ @@ -150,26 +150,28 @@ class ToolsRoute(Route): return Response().error(f"服务器 {name} 不存在").__dict__ # 获取活动状态 - active = server_data.get("active", config["mcpServers"][name].get("active", True)) - + active = server_data.get( + "active", config["mcpServers"][name].get("active", True) + ) + # 创建新的配置对象 server_config = {"active": active} - + # 仅更新活动状态的特殊处理 only_update_active = True - + # 复制所有配置字段 for key, value in server_data.items(): if key not in ["name", "active", "tools"]: # 排除特殊字段 server_config[key] = value only_update_active = False - + # 如果只更新活动状态,保留原始配置 if only_update_active: for key, value in config["mcpServers"][name].items(): if key != "active": # 除了active之外的所有字段都保留 server_config[key] = value - + config["mcpServers"][name] = server_config if self.save_mcp_config(config):