节点式工作流引擎
Node-based Workflow Engine
如何设计声明式依赖的节点工作流引擎并自动解析执行顺序
子问题
1.节点元数据与依赖声明
2.自动递归依赖解析
3.节点优先级与候选fallback
4.执行模式切换(auto/skip/default)
5.MCP拦截器层的依赖注入与产物序列化
6.同kind多实现的产物合并与最新选取策略
7.节点注册表的自动发现与包扫描机制
各项目的解法1 solutions
Signals
横向对比
| 维度 | FireRed-OpenStoryline |
|---|---|
| 节点抽象 | NodeMeta dataclass 声明式依赖 + BaseNode 双抽象方法(process/default_process) |
| 依赖解析 | NodeManager 正向/反向索引 + ToolInterceptor 递归补全缺失前置节点 |
| 执行模式 | auto/default/skip 三模式,auto 走完整处理,default 走最小依赖降级 |
| 候选机制 | 同 kind 多实现按 priority 降序排列,高优先级失败自动尝试下一个 |
| 产物存储 | ArtifactStore JSON 文件持久化,按 session_id+node_id 索引最新产物 |
| 节点发现 | Registry 装饰器 + scan_package 自动导入触发注册 |
最佳实践
1.用NodeMeta声明依赖而非硬编码
2.递归解析缺失前置节点避免手动编排
3.用before/after拦截器分离依赖解析与业务逻辑
4.ArtifactStore按session+node索引支持多会话隔离
5.Registry.scan_package自动导入触发装饰器注册