DagFlow 是一个 企业级 DAG 工作流引擎,基于 sqlor + ahserver 构建,支持多组织(org_id)隔离、子流程、人工节点(审批任务)、RBAC 角色分配,并提供清晰的流程实例与任务查询接口,适用于:
企业流程编排
审批流 / 工单流
自动化运维 / AI Agent 编排
多租户 SaaS 工作流系统
所有核心数据表均包含 org_id
流程定义、流程实例、任务实例完全隔离
天然支持同一流程在不同组织复用
基于 YAML DSL 描述流程
支持条件边(when)
支持并行节点
自动推进 / 收敛至 end 节点
流程定义、实例、节点执行、人工任务全部持久化
引擎无状态,可水平扩展
支持调度器 / worker 分离部署
human 节点会生成待办任务
流程在人工节点阻塞
支持:
角色(role)分配
用户领取 / 完成
输出回写流程上下文
支持流程嵌套
父子流程上下文映射
子流程完成后自动回写父流程
| 字段 | 说明 |
|---|---|
| id | 流程定义 ID |
| org_id | 组织 ID |
| name | 流程名称 |
| version | 版本 |
| dsl | YAML DSL |
| created_at | 创建时间 |
| 字段 | 说明 |
|---|---|
| id | 实例 ID |
| org_id | 组织 ID |
| flow_def_id | 流程定义 ID |
| status | running / finished |
| ctx | 流程上下文(JSON) |
| active_nodes | 当前活跃节点 |
| created_at | 创建时间 |
| 字段 | 说明 |
|---|---|
| id | 执行记录 ID |
| org_id | 组织 ID |
| instance_id | 流程实例 ID |
| node_id | 节点 ID |
| input_ctx | 输入上下文 |
| output_ctx | 输出上下文 |
| status | success / failed |
| error | 错误信息 |
| created_at | 执行时间 |
| 字段 | 说明 |
|---|---|
| id | 任务 ID |
| org_id | 组织 ID |
| instance_id | 流程实例 ID |
| node_id | 节点 ID |
| role | 角色 |
| assignee | 实际处理人 |
| status | pending / done |
| input | 输入上下文 |
| output | 输出结果 |
| timeout_at | 超时时间 |
| created_at | 创建时间 |
| completed_at | 完成时间 |
完成后:
任务状态 → done
输出自动合并到流程 ctx
流程可继续推进
Engine 无状态
Scheduler 可多实例
支持分布式部署
企业审批流(请假 / 报销 / 发布)
自动化运维流程
AI Agent 调度与编排
SaaS 多租户流程平台
✔ 乐观锁 / version 防并发
✔ 并行网关 / 排他网关
✔ 任务转派 / 会签
✔ SLA / 超时补偿
✔ 流程可视化建模器