稀土掘金技术社区 03月20日
FlowGram 简介:开源前端流程搭建引擎
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

FlowGram 是一套基于节点编辑的流程搭建引擎,旨在帮助开发者快速创建固定布局或自由连线布局的流程。它提供了一套交互的最佳实践,尤其适用于有明确输入和输出的可视化工作流。该引擎通过可视化方式表达模型节点间的调用关系,使得即使没有编程经验的用户也能直观理解调用逻辑。目前,FlowGram已服务于字节跳动内部的30多个项目,包括扣子工作流、飞书低代码平台工作流和飞书多维表格工作流等,应用广泛。

💡FlowGram 是一套基于节点编辑的可视化流程搭建引擎,支持固定布局和自由连线布局,旨在简化流程创建过程,降低开发门槛。

🧩FlowGram 提供了丰富的交互体验和复合节点,例如Motion动画、模块化、批量操作、布局切换、辅助排版以及条件判断、循环和错误监控等复合节点,提升用户操作流程的流畅性。

🧰FlowGram 具备强大的扩展性,底层提供画布引擎、节点引擎、变量引擎和物料库,支持通过分层扩展交互和依赖注入来实现功能扩展,同时提供丰富的内置插件。

刘文成 2025-03-20 08:30 重庆

点击关注公众号,“技术干货”及时达!

点击关注公众号,“技术干货” 及时达!

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

Github:  https://github.com/bytedance/flowgram.ai

官网:https://flowgram.ai/

01


背景

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


02


业务应用



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

扣子工作流https://www.coze.cn/open/docs/guides/workflow

飞书低代码平台工作流:https://ae.feishu.cn/hc/zh-CN/articles/120610822514

飞书多维表格工作流:https://www.feishu.cn/hc/zh-CN/articles/908751305974-%E4%BB%80%E4%B9%88%E6%98%AF%E5%A4%9A%E7%BB%B4%E8%A1%A8%E6%A0%BC%E5%B7%A5%E4%BD%9C%E6%B5%81

03


快速上手



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

# 创建 Demonpx @flowgram.ai/create-app@latest
# 选择案例- fixed-layout # 固定布局最佳实践- free-layout # 自由布局最佳实践

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

固定布局,节点/分支支持指定位置拖拽移动,并提供分支、循环等复合节点

自由布局,节点支持任意位置移动,通过自由连线连接节点


04


了解更多





丰富的交互体验


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

Motion 动画:让节点变化有个过渡过程

模块化:分组及分支折叠

批量操作:框选拖拽、批量复制粘贴

布局切换:支持水平/垂直模式切换

辅助排版:参考线、吸附对齐、自动整理、缩略图



丰富的复合节点


Condition 条件判断,分固定布局模式和自由布局模式

Loop 循环,分固定布局模式和自由布局模式

Try/Catch 错误监控,固定布局模式,支持对一条分支的节点做监控

Slot 插槽,固定布局模式,支持将一类节点以插槽的形式挂载到目标节点上


具备 ReactFlow 大部分付费功能


功能

ReactFlow Pro 付费功能

FlowGram 是否支持

分组

redo/undo

copy/paste

HelpLines 辅助线

自定义节点及形状

自定义线条

AutoLayout,自动布局整理

ForceLayout,节点排斥效果

❌ 如有诉求可跟进

Expand/Collapse

Collaborative多人协同

❌ 计划中

WorkflowBuilder 相当于固定布局完整案例


强大的扩展性


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

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

@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() {} }

变量引擎能力:

    作用域约束

    变量树生成

    类型自动联动推导


丰富的内置插件


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


05


D2 大会分享



相关链接



项目地址:

点击关注公众号,“技术干货” 及时达!

阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

FlowGram 流程搭建引擎 可视化工作流
相关文章