Key features implemented: - Updated package metadata and dependencies in PKG-INFO, setup files - Added main.py entry point for backward compatibility with README launch method - Enhanced CLI with config options, system info command, and proper signal handling - Implemented minimal PluginManager loading only plugin-loader core plugin - Refactored PluginLoader to follow minimal core design, removed sandbox/isolation complexity - Updated auto-dependency plugin with safer PL injection mechanism and disabled pl_injection - Removed legacy plugin files (firewall, frp_proxy, ftp_server, multi_lang_deploy, ops_toolbox, security_gateway) as functionality moved to core plugin system - Improved gitignore with comprehensive ignore patterns The changes implement a minimal core framework design where only the plugin-loader is directly loaded by the core, with all other plugins managed through the PL injection mechanism, significantly simplifying the architecture.
31 lines
897 B
Python
31 lines
897 B
Python
"""插件信息模型"""
|
|
from typing import Any
|
|
|
|
|
|
class PluginInfo:
|
|
"""插件信息"""
|
|
def __init__(self):
|
|
self.name: str = ""
|
|
self.version: str = ""
|
|
self.author: str = ""
|
|
self.description: str = ""
|
|
self.readme: str = ""
|
|
self.config: dict[str, Any] = {}
|
|
self.extensions: dict[str, Any] = {}
|
|
self.lifecycle: Any = None
|
|
self.capabilities: set[str] = set()
|
|
self.dependencies: list[str] = []
|
|
self.status: str = "idle" # idle, running, stopped, error
|
|
self.error_count: int = 0
|
|
self.last_error: str = ""
|
|
|
|
def to_dict(self) -> dict:
|
|
return {
|
|
"name": self.name,
|
|
"version": self.version,
|
|
"author": self.author,
|
|
"description": self.description,
|
|
"status": self.status,
|
|
"error_count": self.error_count
|
|
}
|