npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@yiyi_zhang/reactflow-ui

v0.1.0

Published

Conductor Workflow IDE — a visual workflow designer built with React 19, ReactFlow and Zustand for editing, validating and monitoring Netflix Conductor workflows.

Readme

Conductor Workflow IDE (ReactFlow UI)

基于 React 19, ReactFlow 和 Vite 构建的企业级 Netflix Conductor 工作流可视化设计器。

Workflow IDE

✨ 特性

  • 从零创建: 无需预先提供 JSON,通过空状态引导面板即可新建空白工作流或 AI 一键生成。
  • 可视化建模: 支持 DAG 工作流的拖拽式设计,连接线默认使用清晰的折线样式。
  • 智能布局: 支持复杂图表的自动布局 (TB/LR),包括针对超大流程优化的"蛇形布局"。
  • 运行态监控: 实时可视化执行状态,支持路径高亮和任务详情查看。
  • 强大的搜索: 毫秒级任务搜索与高亮定位。
  • AI 灵感辅助 (AI Copilot):
    • 从零生成: 空画布下直接通过自然语言描述生成完整工作流。
    • 对话建模: 通过自然语言描述直接生成 Conductor 流程草图。
    • 智能提示: 在属性面板中基于上下文自动推荐参数配置 (JSONPath)。
  • 企业级能力:
    • TypeScript 全量类型定义 (WorkflowDef, TaskDef)
    • 深色/浅色主题支持
    • 只读模式 / 编辑模式切换
    • 撤销/重做 & 智能剪贴板
    • 命令式 API (ref) 支持程序化创建、保存、导出

📦 安装

npm install reactflow-ui

🚀 使用指南

库模式 (集成到 React 应用)

import { useRef } from 'react';
import { WorkflowIDE, WorkflowIDERef } from 'reactflow-ui';
import 'reactflow-ui/style.css';

function App() {
  const ideRef = useRef<WorkflowIDERef>(null);

  return (
    <div style={{ height: '100vh' }}>
      {/* 宿主应用可通过 ref 程序化新建工作流 */}
      <button onClick={() => ideRef.current?.createBlankWorkflow('my_flow')}>新建</button>

      <WorkflowIDE
        ref={ideRef}
        theme="dark"
        onSave={(workflow) => console.log('保存:', workflow)}
        onRequestImport={() => { /* 打开文件选择器 */ }}
      />
    </div>
  );
}

不传 workflowDef 时,画布会显示引导面板,支持空白创建、AI 生成或导入 JSON。

详细集成步骤和 API 参考,请查阅 集成指南

🛠️ 开发指南 (Development Guide)

如果您希望参与本项目的开发或进行二次开发,请参考以下步骤。

环境准备

  • Node.js >= 18.0.0
  • npm 或 yarn

启动本地开发环境

本项目包含一个演示应用 (src/demo),用于开发和调试 IDE 组件。

# 1. 克隆仓库
git clone https://github.com/yiyisf/reactflow-ui.git
cd reactflow-ui

# 2. 安装依赖
npm install

# 3. 启动开发服务器
npm run dev

启动后访问 http://localhost:5173 即可看到演示页面。

构建库文件

打包生成用于发布的 ESM 和 UMD 文件:

npm run build

产物将生成在 dist/ 目录下。

项目结构

  • src/components/: IDE 核心组件 (设计器、属性面板等)。
  • src/store/: 基于 Zustand 的状态管理。
  • src/types/: TypeScript 类型定义 (Conductor 协议与 UI 状态)。
  • src/demo/: 开发阶段使用的演示应用。
  • src/WorkflowIDE.tsx: 组件库的主入口文件。

📚 文档资源

📄 许可证

MIT