From da2ca0f59f018977bb34afc625afd6fab79c7baf Mon Sep 17 00:00:00 2001 From: UnCLAS-Prommer Date: Sun, 15 Jun 2025 02:33:59 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E5=8A=A0=E8=BD=BD=E9=97=AE=E9=A2=98=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E5=A2=9E=E5=8A=A0=E9=87=8D=E5=A4=8D=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E8=AD=A6=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") From 3ac8eaca9e8a1be9e097b93f32eee79e99e92ea1 Mon Sep 17 00:00:00 2001 From: UnCLAS-Prommer Date: Sun, 15 Jun 2025 02:50:27 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B3=A8=E5=86=8C=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugin_system/core/component_registry.py | 9 +++++++++ src/plugin_system/core/plugin_manager.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/plugin_system/core/component_registry.py b/src/plugin_system/core/component_registry.py index 863146a86..fba04e8d5 100644 --- a/src/plugin_system/core/component_registry.py +++ b/src/plugin_system/core/component_registry.py @@ -252,7 +252,16 @@ class ComponentRegistry: def get_registry_stats(self) -> Dict[str, Any]: """获取注册中心统计信息""" + action_components: int = 0 + command_components: int = 0 + for component in self._components.values(): + if component.component_type == ComponentType.ACTION: + action_components += 1 + elif component.component_type == ComponentType.COMMAND: + command_components += 1 return { + "action_components": action_components, + "command_components": command_components, "total_components": len(self._components), "total_plugins": len(self._plugins), "components_by_type": { diff --git a/src/plugin_system/core/plugin_manager.py b/src/plugin_system/core/plugin_manager.py index a27cd2e1f..311a2b4bd 100644 --- a/src/plugin_system/core/plugin_manager.py +++ b/src/plugin_system/core/plugin_manager.py @@ -136,7 +136,7 @@ class PluginManager: if plugin_info: # 插件基本信息 version_info = f"v{plugin_info.version}" if plugin_info.version else "" - author_info = f"by {plugin_info.author}" if plugin_info.author else "" + author_info = f"by {plugin_info.author}" if plugin_info.author else "unknown" info_parts = [part for part in [version_info, author_info] if part] extra_info = f" ({', '.join(info_parts)})" if info_parts else "" From 4c386e1e3dffb9acc4dd3adfb7498ac477a579ef Mon Sep 17 00:00:00 2001 From: UnCLAS-Prommer Date: Sun, 15 Jun 2025 02:52:38 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E8=AF=B4=E4=BA=BA=E8=AF=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugin_system/core/plugin_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugin_system/core/plugin_manager.py b/src/plugin_system/core/plugin_manager.py index 311a2b4bd..2304a838f 100644 --- a/src/plugin_system/core/plugin_manager.py +++ b/src/plugin_system/core/plugin_manager.py @@ -42,7 +42,7 @@ class PluginManager: self.plugin_directories.append(directory) logger.debug(f"已添加插件目录: {directory}") else: - logger.warning(f"插件 {directory} 重复加载") + logger.warning(f"插件不可重复加载: {directory}") def add_plugin_directory(self, directory: str): """添加插件目录"""