Files
NebulaShell/store/@{FutureOSS}/dependency
qwen.ai[bot] 97ced1b5e6 Title: Implement minimal core framework with PL injection and update build config
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.
2026-04-25 10:47:26 +00:00
..
2026-04-17 23:15:15 +08:00

dependency 依赖解析

插件依赖关系管理,使用拓扑排序确定加载顺序。

功能

  • 拓扑排序Kahn 算法)
  • 循环依赖检测DFS
  • 缺失依赖检测
  • 自动按依赖顺序加载插件

使用

dep = dependency_plugin

# 添加插件及其依赖
dep.add_plugin("plugin-a", ["plugin-b", "plugin-c"])
dep.add_plugin("plugin-b", [])
dep.add_plugin("plugin-c", ["plugin-b"])

# 解析依赖顺序
order = dep.resolve()  # 返回 ["plugin-b", "plugin-c", "plugin-a"]

# 检查缺失依赖
missing = dep.get_missing_deps()

# 获取加载顺序
order = dep.get_order()

manifest.json 声明

{
  "metadata": {...},
  "dependencies": ["lifecycle", "circuit-breaker"]
}