Files
2026-02-25 15:22:23 +08:00

35 lines
1000 B
Python

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}"
)