import importlib import pkgutil from yuxi.utils.logging_config import logger def load_plugins(package_name: str = "yuxi.channel.extensions") -> list[str]: """自动扫描并导入内置渠道插件包,触发 define_channel_plugin_entry 注册。""" loaded: list[str] = [] try: package = importlib.import_module(package_name) except ModuleNotFoundError: logger.warning("Channel plugin package '%s' not found, skipping load", package_name) return loaded prefix = f"{package_name}." for _, module_name, is_pkg in pkgutil.iter_modules(package.__path__, prefix): if is_pkg: continue importlib.import_module(module_name) loaded.append(module_name) return loaded