Skip to content

插件管理API

插件管理API模块提供了对插件的加载、卸载、重新加载以及目录管理功能。

导入方式

python
from src.plugin_system.apis import plugin_manage_api
# 或者
from src.plugin_system import plugin_manage_api

功能概述

插件管理API主要提供以下功能:

  • 插件查询 - 列出当前加载的插件或已注册的插件。
  • 插件管理 - 加载、卸载、重新加载插件。
  • 插件目录管理 - 添加插件目录并重新扫描。

主要功能

1. 列出当前加载的插件

python
def list_loaded_plugins() -> List[str]:

列出所有当前加载的插件。

Returns:

  • List[str] - 当前加载的插件名称列表。

2. 列出所有已注册的插件

python
def list_registered_plugins() -> List[str]:

列出所有已注册的插件。

Returns:

  • List[str] - 已注册的插件名称列表。

3. 获取插件路径

python
def get_plugin_path(plugin_name: str) -> str:

获取指定插件的路径。

Args:

  • plugin_name (str): 要查询的插件名称。 Returns:
  • str - 插件的路径,如果插件不存在则 raise ValueError。

4. 卸载指定的插件

python
async def remove_plugin(plugin_name: str) -> bool:

卸载指定的插件。

Args:

  • plugin_name (str): 要卸载的插件名称。

Returns:

  • bool - 卸载是否成功。

5. 重新加载指定的插件

python
async def reload_plugin(plugin_name: str) -> bool:

重新加载指定的插件。

Args:

  • plugin_name (str): 要重新加载的插件名称。

Returns:

  • bool - 重新加载是否成功。

6. 加载指定的插件

python
def load_plugin(plugin_name: str) -> Tuple[bool, int]:

加载指定的插件。

Args:

  • plugin_name (str): 要加载的插件名称。

Returns:

  • Tuple[bool, int] - 加载是否成功,成功或失败的个数。

7. 添加插件目录

python
def add_plugin_directory(plugin_directory: str) -> bool:

添加插件目录。

Args:

  • plugin_directory (str): 要添加的插件目录路径。

Returns:

  • bool - 添加是否成功。

8. 重新扫描插件目录

python
def rescan_plugin_directory() -> Tuple[int, int]:

重新扫描插件目录,加载新插件。

Returns:

  • Tuple[int, int] - 成功加载的插件数量和失败的插件数量。