from fastapi import FastAPI from uvicorn.server import logger class Plugin: def __init__( self, app: FastAPI, name="Unnamed Plugin", version="1.0.0", *args, **kwargs ): self.app = app self.name = name self.version = version def install(self): pass class PluginManager: def __init__(self, app: FastAPI): self.app = app def register_plugin(self, plugin: Plugin): plugin_name = getattr(plugin, "name", "Unnamed Plugin") plugin_version = getattr(plugin, "version", "Unknown Version") logger.info(f"[插件] Registering plugin: [{plugin_name} {plugin_version}] ") try: plugin.install() logger.info( f"[插件] Plugin [{plugin_name} {plugin_version}] installed successfully ✅" ) except Exception as e: logger.error( f"[插件] Failed to install plugin [{plugin_name} {plugin_version}]: {e} ❌" )