FlowGram 简介:开源前端流程搭建引擎

FlowGram 是一套基于节点编辑的流程搭建引擎,帮助开发者快速创建固定布局或自由连线布局的流程,并提供一套交互的最佳实践, 很适合有明确输入和输出的可视化工作流。

1. 背景

在 AI 如火如荼的当下,流程扮演串联不同 Agent 或大模型的角色,通过可视化方式表达模型节点间的调用关系,即使没有编程经验也能直观理解调用逻辑,而 FlowGram 便是这类流程的搭建引擎,下边是两个案例:

  • 扣子工作流:通过选择器节点判断用户输入的是图片、声音或文本,调用不同的模型节点总结分析再返回给用户。
  • ComfyUI:通过自由连接节点 + 图像实时预览,满足特定的图像生成需求。

2. 业务应用

目前已服务字节 30 + 项目。

案例 截图
扣子工作流
飞书低代码平台工作流
飞书多维表格工作流

3. 快速上手

通过 npx 快速创建官方最佳实践:

shell 复制代码
# 创建 Demo
npx @flowgram.ai/create-app@latest

# 选择案例
- fixed-layout # 固定布局最佳实践
- free-layout # 自由布局最佳实践

目前我们提供两种布局模式:

  • 固定布局,节点/分支支持指定位置拖拽移动,并提供分支、循环等复合节点
  • 自由布局,节点支持任意位置移动,通过自由连线连接节点

4. 了解更多

4.1 丰富的交互体验

我们提供一套交互的最佳实践,让操作流程更加丝滑

交互 截图
模块化:分组及分支折叠
批量操作:框选拖拽、批量复制粘贴
布局切换:支持水平/垂直模式切换
辅助排版:参考线、吸附对齐、自动整理、缩略图
Motion 动画:让节点变化有个过渡过程

4.2 丰富的复合节点

复合节点 截图
Condition 条件判断,分固定布局模式和自由布局模式
Loop 循环,分固定布局模式和自由布局模式
Try/Catch 错误监控,固定布局模式,支持对一条分支的节点做监控
Slot 插槽,固定布局模式,支持将一类节点以插槽的形式挂载到目标节点上

4.3 具备 ReactFlow 大部分付费功能

功能 ReactFlow Pro 付费功能 FlowGram 是否支持
分组 ✅ ✅
redo/undo ✅ ✅
copy/paste ✅ ✅
HelpLines 辅助线 ✅ ✅
自定义节点及形状 ✅ ✅
自定义线条 ✅ ✅
AutoLayout,自动布局整理 ✅ ✅
ForceLayout,节点排斥效果 ✅ ❌ 如有诉求可跟进
Expand/Collapse ✅ ✅
Collaborative多人协同 ✅ ❌ 计划中
WorkflowBuilder 相当于固定布局完整案例 ✅ ✅

4.4 强大的扩展性

底层提供画布引擎(通过分层扩展交互)、节点引擎 (节点的表单渲染、校验)、变量引擎(节点间变量的引用管理)、物料库 (扩展节点 及 UI 组件)来丰富业务扩展

通过将画布的交互分层 (Layer) 及 IOC (Inversion of Control) 依赖注入实现扩展:

typescript 复制代码
@injectable()
class MyLayer extends Layer {
    /**
     * 通过依赖注入监听自己想要的节点数据
     */
    @observeEntityDatas(FlowNodeEntity, FlowNodeTramsformData) transforms;
    /*
    * 渲染 Layer
    */
    render() {
     return this.transforms.map(trans => <div>x: {trans.x} y: {trans.y}</div>)
    }
    /**
     * 扩展画布生命周期
     */
    onReady() {}
    onResize() {}
    onFocus() {}
    onBlur() {}
    onZoom() {}
    onScroll() {}
    onViewportChange() {}
    onReadonlyOrDisabledChange() {}
 }

变量引擎能力:

  1. 作用域约束

  2. 变量树生成

  3. 类型自动联动推导

4.5 丰富的内置插件

一方即三方,内部大量功能都以插件化形式开放

5. D2 大会分享

相关推荐
愚农搬码5 天前
Flowable工作流引擎如何适配国产数据库?以达梦数据库举例说明
工作流引擎
songgeb5 天前
mspec体验:基于SDD的轻量AI工作流
ai编程·工作流引擎
大龄码农有梦想5 天前
企业工作流系统如何设计用户、部门、角色、岗位、动态关系五类流程办理人?
工作流引擎·flowable·流程引擎·oa·工作流系统·选人规则·bpm平台
愚农搬码8 天前
工作流里的转办、委托和工作移交的业务语义与技术实现
工作流引擎
大龄码农有梦想8 天前
工作流中的子流程节点能否驳回到父流程?
工作流引擎·流程引擎·oa·bpm·子流程·驳回·退回
愚农搬码9 天前
工作流中的子流程节点能否驳回到父流程?
工作流引擎
愚农搬码9 天前
流程图上的回退线与运行时动态回退,应该选择哪一种?
工作流引擎
大龄码农有梦想9 天前
开源流程引擎 Camunda 如何实现任意节点跳转?
工作流引擎·流程引擎·camunda·oa·bpn·流程跳转·会签
愚农搬码12 天前
在开源流程引擎 Flowable 里如何实现任意节点跳转?
工作流引擎
Behavior17 天前
一条指令,让 Claude Code 每天定时帮你追热点:动态工作流Workflows从 0 到 1 全流程
claude·workflow·工作流引擎