Louis Young aab4183d65
feat(runtime): flowgram workflow node.js runtime (#304)
* feat(runtime): init nodejs runtime

* feat(runtime): init folder struct

* feat(runtime): interface & test

* feat(runtime): basic api & schema interfaces

* feat(runtime): init runtime model framework

* feat(runtime): create document & node entities

* feat(runtime): runtime engine basic execute logic

* feat(runtime): node add variable data

* refactor(runtime): split to sub domains

* test(runtime): document module test

* feat(runtime): variable store

* feat(runtime): workflow runtime executor

* chore(demo): reset initial data

* feat(runtime): workflow runtime branch logic

* feat(runtime): workflow runtime access to ai model

* feat(runtime): workflow runtime data all add to context

* feat(runtime): workflow runtime invoke record snaphots

* feat(runtime): workflow runtime status

* feat(runtime): main api request processing chain

* chore(demo): reset initial data

* refactor(runtime): types move to interface package

* feat(runtime): router access api defines & interfaces

* feat(runtime): standardize api register & gen api docs

* feat(runtime): create snapshot before node execute

* fix(sub-canvas): tips cannot close

* chore(demo): reset initial data

* feat(demo): make node schema runnable

* feat(demo): access test run

* feat(runtime): runtime core can run in both browser & server env

* fix(runtime): condition value empty issue

* feat(runtime): beautify structure data view

* feat(demo): test run sidesheet

* chore(demo): test run sidesheet button fixed

* feat(demo): running node show flowing line

* chore(demo): hide node result overflow

* chore(demo): reset initial data

* feat(runtime): workflow runtime support loop node

* fix(container): sub canvas height issue

* feat(demo): test run multiple result render

* test(runtime): enbale test coverage

* refactor(runtime): interface folders structure

* refactor(runtime): core folders structure

* refactor(runtime): core export apis & access to router

* feat(demo): runtime plugin

* feat(runtime): server add try-catch protection

* fix(runtime): node process reset end time

* chore: format json

* chore: rush update

* refactor(demo): running service move to runtime-plugin as built-in runtime service

* fix(runtime): build error

* test(runtime): disable nodejs test

* fix(demo): test run result key indent width
2025-06-09 09:13:24 +00:00
2025-02-21 16:26:12 +08:00
2025-05-27 06:52:20 +00:00
2025-02-27 18:12:04 +08:00
2025-02-27 17:31:02 +08:00
2025-06-03 11:56:25 +00:00
2025-02-21 16:26:12 +08:00

FlowGram.AI

FlowGram is a node-based flow building engine that helps developers quickly create workflows in either fixed layout or free connection layout modes. It provides a set of interaction best practices and is particularly suitable for visual workflows with clear inputs and outputs.

In the current AI boom, we are also focusing on how to empower workflows with AI capabilities, hence the AI suffix in our name.

License @flowgram.ai/editor

📖 Documentation

📦 Packages

Package Description Version
@flowgram.ai/create-app App Creator npm
@flowgram.ai/fixed-layout-editor Fixed Layout Editor npm
@flowgram.ai/free-layout-editor Free Layout Editor npm

🎮 Examples

Fixed Layout

Fixed layout where nodes can be dragged to specified positions, with support for compound nodes like branches and loops.

Free Layout

Free layout where nodes can be placed anywhere and connected using free-form lines.

🚀 Getting Started

# create demo
npx @flowgram.ai/create-app@latest

# in PowerShell
npx "@flowgram.ai/create-app@latest"

# select demo
- fixed-layout # full-feature overview
- free-layout # full-feature overview
- fixed-layout-simple # basic usage
- free-layout-simple # basic usage

🔨 Development

  1. Install Node.js 18+
nvm install lts/hydrogen
nvm alias default lts/hydrogen # set default node version
nvm use lts/hydrogen
  1. Clone the repository
git clone git@github.com:bytedance/flowgram.ai.git
  1. Install required global dependencies
npm i -g pnpm@9.12.0 @microsoft/rush@5.140.0
  1. Install project dependencies
rush update
  1. Build the project
rush build
  1. Run docs or demo
rush dev:docs # docs
rush dev:demo-fixed-layout
rush dev:demo-free-layout

After that, you can start to develop projects inside this repository.

Enjoy it!

Stats

Repo Stats

🌟 Contributors

FlowGram.AI Contributors

🌟 Contact us

Description
FlowGram是一个基于节点的流程构建引擎,帮助开发者快速创建固定布局或自由连接布局的 workflows。
Readme MIT 77 MiB
Languages
TypeScript 79.9%
MDX 10.9%
JSON-with-Comments 5.3%
JavaScript 2.7%
CSS 0.8%
Other 0.2%