From da2ca0f59f018977bb34afc625afd6fab79c7baf Mon Sep 17 00:00:00 2001 From: UnCLAS-Prommer Date: Sun, 15 Jun 2025 02:33:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=8F=92=E4=BB=B6=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E5=8A=A0=E8=BD=BD=E9=97=AE=E9=A2=98=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=87=8D=E5=A4=8D=E5=8A=A0=E8=BD=BD=E8=AD=A6?= =?UTF-8?q?=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugin_system/core/plugin_manager.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/plugin_system/core/plugin_manager.py b/src/plugin_system/core/plugin_manager.py index de2305234..a27cd2e1f 100644 --- a/src/plugin_system/core/plugin_manager.py +++ b/src/plugin_system/core/plugin_manager.py @@ -38,14 +38,20 @@ class PluginManager: if not os.path.exists(directory): os.makedirs(directory, exist_ok=True) logger.info(f"创建插件目录: {directory}") - self.plugin_directories.append(directory) - logger.debug(f"已添加插件目录: {directory}") + if directory not in self.plugin_directories: + self.plugin_directories.append(directory) + logger.debug(f"已添加插件目录: {directory}") + else: + logger.warning(f"插件 {directory} 重复加载") def add_plugin_directory(self, directory: str): """添加插件目录""" if os.path.exists(directory): - self.plugin_directories.append(directory) - logger.debug(f"已添加插件目录: {directory}") + if directory not in self.plugin_directories: + self.plugin_directories.append(directory) + logger.debug(f"已添加插件目录: {directory}") + else: + logger.warning(f"插件不可重复加载: {directory}") else: logger.warning(f"插件目录不存在: {directory}") @@ -342,7 +348,9 @@ class PluginManager: # 全局插件管理器实例 plugin_manager = PluginManager() +# 注释掉以解决插件目录重复加载的情况 # 默认插件目录 -plugin_manager.add_plugin_directory("src/plugins/built_in") -plugin_manager.add_plugin_directory("src/plugins/examples") -plugin_manager.add_plugin_directory("plugins") # 用户插件目录 +# plugin_manager.add_plugin_directory("src/plugins/built_in") +# plugin_manager.add_plugin_directory("src/plugins/examples") +# 用户插件目录 +# plugin_manager.add_plugin_directory("plugins")