一切皆为插件的开发者工具运行时框架
🧩 核心特性:
- 插件热插拔 (importlib 动态加载)
- 依赖自动解析 (拓扑排序 + 循环检测)
- 企业级稳定 (熔断/降级/重试/隔离)
- 事件驱动 (发布/订阅事件总线)
- 完整配置 (YAML 配置 + 热重载)
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"]
}