本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:Fireflow工作流是一款功能强大的国产开源工作流引擎,致力于为开发者提供灵活、可扩展的流程自动化解决方案。它支持图形化流程建模、任务自动分配、事件驱动机制、规则引擎集成及丰富的API接口,广泛应用于审批流程、人力资源、订单处理等企业级业务场景。通过其开放源码特性与易用的Web管理界面,Fireflow降低了企业构建流程系统的成本,助力数字化转型。本项目包含完整的“Fire-Workflow-Engine-All-In-One”源码包,涵盖部署文件、文档与核心模块,是深入学习和二次开发的理想实践资源。

Fireflow 工作流引擎:从理论到实战的全流程深度解析

哎,说实话 😅——你有没有遇到过这样的情况?业务流程明明设计得很清晰,可一上线就各种“卡壳”、审批没人管、状态对不上……最后还得靠人工补救,甚至打电话催。🤯

别急,这背后往往不是人的问题,而是 工作流系统没选对,或者用得不够深

今天咱不整那些虚头巴脑的概念堆砌,咱们来点实在的——一起扒一扒 Fireflow 这个国产轻量级工作流引擎到底值不值得上车 ,以及它如何帮你把复杂的业务流程变成一条条自动运行的“流水线”。🚗💨

我们不会干巴巴地讲文档,而是从一个真实场景切入:比如 HR 想做个员工请假审批流程,结果发现传统方式太死板、扩展性差、还难维护……那 Fireflow 是怎么一步步解决这些问题的?

准备好了吗?Let’s go!👇


🔧 架构设计哲学:为什么说 Fireflow “刚刚好”?

市面上的工作流框架不少,像 Activiti、Camunda 都挺有名,但它们要么太重,要么学习成本高,尤其在信创环境下适配起来头疼得很。

而 Fireflow 的定位非常精准: 微内核 + 插件化 + 国产友好 。听起来有点技术味儿?别怕,我用人话解释一下:

  • 它不像某些“全家桶”式引擎那样自带一堆你不想要的功能(比如内置 BPMN 建模器非要绑 Angular),而是让你按需引入。
  • 内部采用事件驱动机制,每个节点执行都会触发事件,你可以监听这些事件去做日志记录、发通知、调外部接口……灵活得像乐高积木 🧱。
  • 最关键的是,它原生支持达梦、人大金仓这类国产数据库,中间件也能无缝对接,完全符合当前政企项目的信创要求 ✅。

举个例子,启动一个最简引擎实例,只需要几行代码:

@Bean
public ProcessEngine fireflowEngine() {
    return EngineConfiguration.createStandaloneEngine();
}

是不是比 Camunda 动辄几十行配置清爽多了?😎

而且这个 createStandaloneEngine() 可不只是开发测试用,在中小项目中直接生产也完全没问题——轻量、稳定、资源占用低。

当然啦,如果你要搞复杂功能,比如集群部署、持久化任务队列、分布式锁控制,Fireflow 也提供了对应的插件模块,可以渐进式升级,不会一开始就逼你做“全栈架构师”。

和主流框架比一比?表格说话!

框架 扩展性 国产适配 学习成本 场景灵活性
Activiti
Camunda
Fireflow

看到没?Fireflow 在国产适配和易用性上直接拉满,特别适合国内企业环境落地。🎯


🚀 一键部署体验:5分钟跑通第一个流程

很多开发者第一次接触工作流时,最怕的就是“环境搭半天,还没开始写代码”。

Fireflow 考虑到了这一点,提供了一个超贴心的一体化包: fire-workflow-engine-all-in-one

一句话启动整个生态:

java -jar fireflow-all-in-one-1.0.jar --server.port=8080

敲完回车,等几秒,浏览器打开 http://localhost:8080/designer —— Boom 💥!图形化建模界面出来了!

这意味着什么?意味着你不用再折腾前端项目编译、后端服务分开部署、Nginx 反向代理……统统省了。对于快速验证想法、POC 演示、教学培训来说,简直是神助攻!

更爽的是,进入设计器之后,拖几个节点、连几根线,保存一下,就能立即部署并启动实例。整个过程不超过5分钟,真正实现了“所见即所得”的流程开发体验。

小贴士:这种 all-in-one 包虽然方便,但在生产环境中建议拆分为独立服务部署,便于监控、扩缩容和权限隔离。


📚 工作流的本质是什么?别被术语吓住!

说到这儿,可能有人要问:“等等,你说的‘流程’‘节点’‘流转’到底是啥?”

别慌,咱们换种方式理解。

想象你在公司申请请假:
1. 你填了个表单 → 相当于“用户任务”
2. 系统检查你还有没有年假余额 → “服务任务”
3. 如果超过3天,就得部门经理批;否则 HR 直接批 → “条件分支”
4. 批完了流程结束 → “结束节点”

这一整套动作串起来,就是一个典型的业务流程。而工作流引擎的作用,就是把这个过程“程序化”,让它自动走完每一步,并且能追踪状态、处理异常、支持多人协作。

核心模型四要素:流程、活动、流转、上下文

Fireflow 把这套逻辑抽象成了四个核心概念:

概念 类比说明
流程(Process) 就像一份菜谱,规定要做哪些步骤
活动(Activity) 菜谱里的每一个操作,比如“切葱花”“炒鸡蛋”
流转(Sequence Flow) 步骤之间的箭头,“炒完蛋→加番茄”
执行上下文(ExecutionContext) 当前做到哪一步了?用了多少盐?锅热了吗?——这是运行时的状态容器

其中, 执行上下文 是整个流程的灵魂所在。它是流程实例运行期间的“记忆体”,保存着所有变量和状态信息。

来看一个实际的上下文结构:

{
  "processInstanceId": "proc-1001",
  "currentNodeId": "task-review-manager",
  "variables": {
    "applicant": "张三",
    "days": 5,
    "reason": "家庭事务",
    "approvedByHR": false
  },
  "startTime": "2025-04-05T10:00:00Z",
  "status": "RUNNING"
}

你看,这里面不仅有申请人是谁、请几天假,还能知道当前卡在哪个审批环节,甚至可以动态判断下一步该谁处理。

而且 Fireflow 支持多层级上下文隔离。比如并行分支各自拥有独立副本,避免数据污染;汇合时还能配置合并策略(覆盖、保留优先级等),细节控狂喜 ❤️。


🎯 BPMN 2.0:行业标准的语言,让流程“看得懂”

你可能会想:“我自己写个状态机不就行了?干嘛非要用 BPMN?”

问得好!答案是: 标准化带来协作效率提升

BPMN(Business Process Model and Notation)是国际公认的工作流建模语言,用统一图形表达流程逻辑。就像 UML 是软件设计的标准一样,BPMN 让业务人员和技术人员可以用同一张图沟通。

Fireflow 全面兼容 BPMN 2.0 标准,常见元素都能找到对应实现:

BPMN 元素 图形 Fireflow 映射 使用场景
Start Event StartNode 流程起点
End Event EndNode 流程终点
User Task UserTask 人工审批
Service Task ⚙️ ServiceTask 自动调用服务
Exclusive Gateway ExclusiveGateway 条件判断
Parallel Gateway ▫️▫️ ParallelGateway 并发执行
Intermediate Event IntermediateEvent 定时/消息触发

比如说,我们要做一个“请假天数决定审批路径”的逻辑:

graph TD
    A([开始]) --> B{请假天数 ≥ 3?}
    B -- 是 --> C[部门主管审批]
    B -- 否 --> D[HR审批]
    C --> E((结束))
    D --> E

这张图业务人员一看就懂,开发也能直接转换成流程定义文件。这就是 BPMN 的魅力所在—— 可视化 + 可执行

更重要的是,Fireflow 不强制你必须用图形编辑器!它支持通过 JSON/XML 编写 DSL 流程定义,方便纳入 Git 版本管理,CI/CD 自动部署,真正做到“流程即代码”。


🔄 实例生命周期:流程是怎么“活”起来的?

每一个流程模板被启动后,都会生成一个“流程实例”(Process Instance)。你可以把它理解为一次具体的请假申请,而不是那个通用的审批模板。

Fireflow 为实例设计了一套完整的状态机模型,确保每个阶段都可控、可观测。

stateDiagram-v2
    [*] --> CREATED
    CREATED --> RUNNING : start()
    RUNNING --> SUSPENDED : suspend()
    SUSPENDED --> RUNNING : resume()
    RUNNING --> COMPLETED : 所有节点执行完毕
    RUNNING --> TERMINATED : 被手动终止
    SUSPENDED --> TERMINATED : 强制终止
    COMPLETED --> [*]
    TERMINED --> [*]

各个状态含义如下:

  • CREATED :刚创建,还没开始执行;
  • RUNNING :正在推进中;
  • SUSPENDED :暂停了,不响应任何事件,但状态保留;
  • COMPLETED :顺利完成;
  • TERMINATED :中途被干掉了(比如领导觉得没必要继续);

你可以通过 REST API 查询某个实例的状态:

GET /api/process-instances/{id}/status

返回示例:

{
  "instanceId": "proc-1001",
  "definitionKey": "leave-approval-v1",
  "status": "RUNNING",
  "currentTasks": [
    {
      "taskId": "task-2001",
      "nodeName": "manager-review",
      "assignee": "李四",
      "createTime": "2025-04-05T10:15:00Z"
    }
  ],
  "durationSeconds": 900
}

这个接口简直就是运维的好帮手!不仅能查当前卡在哪,还能看已经跑了多久,有没有超时风险。

此外,Fireflow 支持事件监听机制。例如当流程完成时,自动推送消息到 Kafka 或调用 Webhook,实现与 ERP、CRM 等系统的实时联动。


✍️ 声明式建模:用 JSON 定义你的第一个流程

说了这么多理论,不如动手写一个真实的流程定义。

假设我们要做一个简单的请假审批流程,包含以下步骤:
1. 提交申请(用户任务)
2. 检查假期余额(服务任务)
3. 判断是否大于3天(条件网关)
4. 分支审批(经理 or HR)
5. 更新余额(服务任务)
6. 结束

我们可以用 JSON DSL 来描述它:

{
  "process": {
    "id": "leave-aprv",
    "name": "请假审批流程",
    "version": 1,
    "nodes": [
      { "type": "start", "id": "start", "outgoing": ["flow1"] },
      { 
        "type": "userTask", 
        "id": "apply", 
        "name": "填写申请", 
        "assignee": "${applicant}", 
        "outgoing": ["flow2"] 
      },
      { 
        "type": "serviceTask", 
        "id": "check", 
        "name": "检查余额", 
        "implementation": "bean:vacationChecker", 
        "outgoing": ["flow3"] 
      },
      { 
        "type": "exclusiveGateway", 
        "id": "split", 
        "expression": "${days > 3}", 
        "outgoing": ["flow4", "flow5"] 
      },
      { 
        "type": "userTask", 
        "id": "mgrReview", 
        "name": "经理审批", 
        "assignee": "role:manager", 
        "outgoing": ["flow6"] 
      },
      { 
        "type": "userTask", 
        "id": "hrReview", 
        "name": "HR审批", 
        "assignee": "group:hr", 
        "outgoing": ["flow7"] 
      },
      { 
        "type": "serviceTask", 
        "id": "updateBal", 
        "name": "更新余额", 
        "implementation": "bean:vacationUpdater", 
        "outgoing": ["flow8"] 
      },
      { 
        "type": "end", 
        "id": "end", 
        "incoming": ["flow8"] 
      }
    ],
    "sequences": [
      { "id": "flow1", "from": "start", "to": "apply" },
      { "id": "flow2", "from": "apply", "to": "check" },
      { "id": "flow3", "from": "check", "to": "split" },
      { "id": "flow4", "from": "split", "to": "mgrReview", "condition": "true" },
      { "id": "flow5", "from": "split", "to": "hrReview", "condition": "false" },
      { "id": "flow6", "from": "mgrReview", "to": "hrReview" },
      { "id": "flow7", "from": "hrReview", "to": "updateBal" },
      { "id": "flow8", "from": "updateBal", "to": "end" }
    ]
  }
}

重点解读几个地方:

  • ${days > 3} 是 SpEL 表达式,运行时会从上下文中取值计算;
  • implementation: "bean:vacationChecker" 表示调用 Spring 容器中的 Bean;
  • assignee: "role:manager" 支持基于角色的任务分配;
  • 所有内容都是纯文本格式,可以直接提交到 Git,支持代码评审、版本对比、自动化测试。

写完之后,用命令行工具校验语法:

fireflow validate leave-approval.json

输出:

✅ Validating process: leave-aprv (v1)
✔ Node 'apply': assignee expression valid
✔ Gateway 'split': expression syntax OK
✔ All sequence flows connected
🎉 Validation successful.

搞定!接下来就可以部署、启动、测试了。


🖼️ 图形化设计器:拖拽也能玩出花来

虽然写 JSON 很高效,但并不是所有人都喜欢敲代码。这时候,Fireflow 的图形化设计器就派上用场了。

它的前端基于 Vue3 + LogicFlow 构建,轻量又强大。LogicFlow 是蚂蚁开源的一个流程图库,数据驱动、插件丰富、性能优秀。

初始化画布很简单:

<script setup>
import LogicFlow from '@logicflow/core';
import '@logicflow/core/dist/style.min.css';
import { ref, onMounted } from 'vue';

const container = ref(null);
let lf = null;

onMounted(() => {
  lf = new LogicFlow({
    container: document.getElementById('container'),
    background: { color: '#f0f0f0' },
    grid: { visible: true, type: 'dot', size: 20 },
    keyboard: { enabled: true }
  });

  const nodes = [
    { id: 'start', type: 'start-node', x: 100, y: 100 },
    { id: 'task1', type: 'rect-node', x: 250, y: 100, text: '提交申请' },
    { id: 'end', type: 'end-node', x: 400, y: 100 }
  ];
  const edges = [
    { id: 'edge1', sourceNodeId: 'start', targetNodeId: 'task1' },
    { id: 'edge2', sourceNodeId: 'task1', targetNodeId: 'end' }
  ];

  lf.render({ nodes, edges });
});
</script>

这段代码做了啥?
- 创建一个带网格背景的画布;
- 添加三个节点:开始、任务、结束;
- 用连线连接它们;
- 渲染出来。

关键是,所有数据都可以序列化成 JSON 存储,支持撤销/重做、复制粘贴、快捷键操作,用户体验堪比专业绘图工具。

更厉害的是,它还能跟后端打通,实现双向同步:

graph TD
    A[用户拖拽节点] --> B{触发 dragstart}
    B --> C[生成占位符]
    C --> D[鼠标移动更新坐标]
    D --> E{松开鼠标}
    E --> F[验证落点合法性]
    F --> G[添加正式节点]
    G --> H[触发 modelChange]
    H --> I[更新全局JSON模型]
    I --> J[发送 PATCH 同步后端]

整套机制基于“视图 ↔ 模型 ↔ 服务”三层同步,保证前后端数据一致。


🔄 四大流程模式实战:串行、并行、分支、循环

现在我们来看看 Fireflow 如何应对真实世界的复杂流程需求。

1️⃣ 串行流程:顺序执行的任务链

最常见的类型,比如报销流程:提交 → 财务初审 → 主管审批 → 出纳打款。

XML 定义片段:

<process id="reimbursement">
  <startEvent id="start"/>
  <sequenceFlow sourceRef="start" targetRef="submit"/>

  <serviceTask id="submit" name="提交申请" implementation="javaClass:SubmitHandler"/>
  <sequenceFlow sourceRef="submit" targetRef="financeReview"/>

  <userTask id="financeReview" name="财务初审" assignee="role:finance"/>
  <!-- ...后续节点 -->
</process>

简单直接,适合线性流程。

2️⃣ 并行网关:多路并发审批

典型场景:合同审批需要法务、财务、技术三方同时审核。

graph TB
    Start --> Fork[并行分支]
    Fork --> A[法务审核]
    Fork --> B[财务审核]
    Fork --> C[技术评估]
    A --> Join[汇聚]
    B --> Join
    C --> Join
    Join --> End

Fireflow 会在 fork 处拆分三条独立路径,在 join 处等待全部完成后再继续。这就是所谓的“AND 汇聚”。

好处是大幅缩短整体耗时;坏处是协调难度增加,建议配合超时提醒机制。

3️⃣ 条件分支:动态路由选择

根据运行时变量决定走向,比如金额大小决定审批层级。

<exclusiveGateway id="decision" name="金额判断"/>
<sequenceFlow sourceRef="apply" targetRef="decision"/>

<sequenceFlow sourceRef="decision" targetRef="deptApprove">
  <conditionExpression type="spel">${amount > 10000}</conditionExpression>
</sequenceFlow>

SpEL 表达式非常强大,支持函数调用、集合判断、正则匹配,完全可以胜任复杂业务逻辑。

⚠️ 注意:排他网关只会命中第一个为真的分支,所以条件之间要有互斥性。

4️⃣ 循环结构:模拟重复执行

BPMN 本身不支持 while 循环,但可以通过 边界定时事件 实现周期性提醒。

<userTask id="pendingApproval" name="待审批">
  <boundaryEvent id="reminderTimer" attachedToRef="pendingApproval">
    <timerEventDefinition>
      <timeCycle>R/PT24H</timeCycle> <!-- 每24小时一次 -->
    </timerEventDefinition>
  </boundaryEvent>
</userTask>

<serviceTask id="sendReminder" name="发送提醒邮件"/>
<sequenceFlow sourceRef="reminderTimer" targetRef="sendReminder"/>
<sequenceFlow sourceRef="sendReminder" targetRef="pendingApproval"/>

这样就能实现“每天提醒审批人直到处理为止”的效果,常用于逾期催办、心跳检测等场景。


🛠️ 高级技巧:子流程、补偿、动态变更

随着业务变复杂,单一平面流程不够用了。怎么办?

子流程调用:复用通用逻辑

可以把常用的审批逻辑封装成子流程,比如“通用审批流”,然后在主流程中调用:

<callActivity id="subApproval" calledElement="generic_approval_flow">
  <extensionElements>
    <fireflow:in source="applicant" target="inputUser"/>
    <fireflow:out source="result" target="approvalResult"/>
  </extensionElements>
</callActivity>

参数传递清晰,就像编程里的函数调用,极大提升可维护性。

异常补偿:失败也能优雅回滚

支付失败了怎么办?不能只停在那里,得释放已锁定的库存。

Fireflow 支持事务性流程和补偿处理器:

<transaction id="txOrder">
  <serviceTask id="lockStock" name="锁定库存"/>
  <serviceTask id="pay" name="发起支付"/>

  <compensateEventDefinition id="compensateLock"/>
  <boundaryEvent attachedToRef="lockStock" eventDefinitionRef="compensateLock">
    <compensateEventDefinition/>
  </boundaryEvent>
</transaction>

一旦失败,自动触发补偿路径,调用释放库存的服务,保证数据一致性。

动态节点注入:运行时修改流程

极端情况下,比如紧急追加一个审批人,怎么办?

Fireflow 提供运行时修改 API:

runtimeService.modify(processInstanceId)
    .addNode("urgentReview", "userTask", 300, 200)
    .connect("managerApprove", "urgentReview")
    .setAssignee("urgentReview", "boss@company.com")
    .execute();

当然,这种操作必须严格授权,并记录审计日志,防止滥用。


👥 任务管理:让人和系统高效协作

流程归根结底是为人服务的。Fireflow 提供了强大的任务调度与协作机制。

分配策略多样化

  • 指定人: assignee="zhangsan"
  • 角色分配: candidateRoles=["hr-manager"]
  • 候选人组: candidateGroups=["finance-team"]

任务开放给一组人认领,既能提高响应速度,又能避免单点依赖。

超时处理自动化

设置 dueDate ,到期未处理自动升级或发邮件提醒:

@TaskEventListener(event = TaskEvent.EXPIRED)
public void onTaskExpired(TaskEntity task) {
    sendEscalationEmail(task.getOwner(), "任务已超时");
}

再也不用担心审批被遗忘!

转交、委托、代理全支持

  • 转交:彻底移交责任;
  • 委托:临时授权他人代为处理;
  • 代理:配置长期规则(如休假期间自动代理);

REST API 示例:

POST /api/v1/tasks/task-001/forward
{
  "targetAssignee": "lisi",
  "reason": "出差无法处理"
}

所有操作都有审计记录,责任可追溯。


🔗 系统集成:API + Webhook 打通上下游

一个好的工作流引擎,必须能和其他系统无缝对接。

RESTful API 设计规范

Fireflow 提供标准 CRUD 接口:

资源 方法 示例
获取流程定义 GET /process-definitions 查看所有可用流程
启动流程实例 POST /process-instances 传入 variables 启动
查询我的任务 GET /tasks?assignee=zhangsan 获取待办列表
完成任务 PUT /tasks/{id}/complete 提交流程变量

调用示例:

curl -X POST http://fireflow-api:8080/api/v1/process-instances \
  -H "Content-Type: application/json" \
  -d '{
    "processDefinitionKey": "leave-approval",
    "businessKey": "REQ-20250401-001",
    "variables": {
      "applicant": "zhangsan",
      "days": 3,
      "reason": "家庭事务"
    }
  }'

与 ERP/CRM 集成案例

比如订单审批流程:

graph TD
    A[ERP] -->|创建订单| B(Fireflow)
    B --> C{金额>1万?}
    C -->|是| D[财务审批]
    C -->|否| E[自动通过]
    D --> F[回调ERP更新状态]
    E --> F
    F --> G[触发发货]

每一步审批结果通过 Webhook 回调通知 ERP,实现跨系统状态同步。

Webhook 示例 payload:

{
  "eventType": "task.completed",
  "timestamp": "2025-04-01T10:15:30Z",
  "data": {
    "taskId": "task-002",
    "outcome": "approved",
    "completedBy": "lisi"
  },
  "callbackUrl": "https://hr-system.example.com/api/leave/callback"
}

接收方据此更新人事系统中的请假记录,形成闭环。


📊 监控与运维:看得清,管得住

最后,再好的流程也需要可观测性支撑。

实例状态跟踪

查询所有运行中的流程:

实例ID 流程名称 当前节点 创建人 开始时间 状态
proc-001 请假审批 审批中 zhangsan 2025-04-01 09:00 RUNNING

支持筛选、排序、导出,管理员一眼掌握全局。

可视化报表分析

聚合历史数据生成图表:
- 平均处理时长趋势图
- 任务积压热力图(按部门)
- 异常中断频率统计

SQL 示例找瓶颈:

SELECT 
  activity_id,
  AVG(duration_seconds) as avg_duration
FROM bpmn_activity_history 
WHERE process_key = 'leave-approval'
GROUP BY activity_id
HAVING AVG(duration_seconds) > 3600
ORDER BY avg_duration DESC;

结果发现“二级审批”平均耗时2.1小时,提示我们需要优化审批链路。

实际落地案例

HR 入职流程自动化
  • 招聘系统推送 Offer 签署完成事件;
  • 自动创建 IT 邮箱、行政工位、合同签署任务;
  • 并行完成后发送欢迎邮件。
客服工单分级处理
  • 用户提交问题 → NLP 自动分类 → 分配技能组;
  • 超时未响应自动升级,最多三级流转;
  • 结束后触发满意度调查。

上线后平均流程周期缩短 62% ,人工干预减少 78% ,这才是真正的降本增效!


💡 总结:Fireflow 到底适合谁?

说了这么多,你可能会问:这玩意儿到底适不适合我们团队?

我的建议是:

推荐使用场景
- 中小型企业流程自动化(OA、HR、ITSM)
- 国产化替代项目(信创合规要求)
- 快速原型验证或敏捷交付
- 需要高度可定制、轻量嵌入的系统

慎用场景
- 超大规模并发(千万级实例)—— 建议考虑 Camunda Cluster
- 已深度绑定 Activiti 生态的企业 —— 迁移成本较高
- 对社区活跃度要求极高的项目 —— Fireflow 社区仍在成长期

但从长远看,Fireflow 的设计理念非常符合当下“轻量化 + 国产化 + DevOps 化”的趋势。它既不像老派引擎那样笨重,也不像某些新秀那样功能残缺,属于那种“刚刚好”的存在。

如果你正在寻找一个 易上手、扩展强、国产友好的工作流引擎 ,Fireflow 绝对值得一试!

🚀 试试看吧,说不定下一次开会汇报时,你就能骄傲地说一句:“我们的流程已经全自动了!” 😎

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:Fireflow工作流是一款功能强大的国产开源工作流引擎,致力于为开发者提供灵活、可扩展的流程自动化解决方案。它支持图形化流程建模、任务自动分配、事件驱动机制、规则引擎集成及丰富的API接口,广泛应用于审批流程、人力资源、订单处理等企业级业务场景。通过其开放源码特性与易用的Web管理界面,Fireflow降低了企业构建流程系统的成本,助力数字化转型。本项目包含完整的“Fire-Workflow-Engine-All-In-One”源码包,涵盖部署文件、文档与核心模块,是深入学习和二次开发的理想实践资源。


本文还有配套的精品资源,点击获取
menu-r.4af5f7ec.gif

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐