开源一款基于.NET9开发的AI工作流编排平台
Enable.AI工作流平台
项目概述
基于.NET 9开发的针对企业业务场景的智能工作流引擎,通过可视化节点编排实现企业级自动化流程。内置50+业务功能节点,通过拖拽和简单参数配置方式快速实现企业常见各类业务场景。
开源地址:https://gitee.com/yuyu622/enable.ai
核心功能
1. 系统架构

2. 技术栈
- 开发语言:.NET 9
- UI库:Blazor Fluent UI
- 定时调度:Hangfire
- 流程图:Blazor.Diagrams
- 流程引擎:平台自实现
3. 系统界面

3. 预置节点组件
- 流程开始:
- 简单文本输入 接收单一文本参数,通过HTTP接口调用触发任务。
- 多参数表单 接收自定义复杂JSON表单参数,通过HTTP接口调用触发任务。
- 定时任务 基于CORN表达式定时任务。
- MQ消息订阅 接收MQ消息触发执行任务。
- 流程控制:
- If判断 If判断,支持C#、Python(需要Python环境)、JS 语言脚本。
- Foreach遍历 对数组进行遍历。
- Switch多条件分支 多值分支判断。
- 变量聚合 对分支任务产生的不同结果做汇总聚合为统一变量名。
- 大模型:
- 会话大模型 支持在线和本地部署大模型,支持会话历史、MCP Tools节点集成。
- 向量化 支持在线和本地部署向量化模型,对文本进行向量化。
- 结巴分词 结巴分词器,针对大文本段落进行语义分词分段。
- 任务大模型 支持在线和本地部署的单任务大模型调用。
- MCP Tools 大模型子节点,为大模型节点增加MCP功能。
- 会话历史(内存) 基于内存存储的会话历史,多轮对话场景下根据会话Id自动存储和提取会话历史。
- Qdrant查询 从Qdrant向量数据库中查询指定文本,可设置返回记录数和负载内容。
- Qdrant写入 将向量化结果数据写入Qdrant数据库。
- 数据转换:
- 文本转JSON对象 将文本字符串转换为JSON对象。
- JSON对象转文本 将JSON对象转换为文本字符串。
- JSON转XML 将JSON对象转换为XML文本。
- XML转JSON 将XML文本转换为JSON对象。
- 文件处理:
- 文件扩展名获取 从完整文件名中获取文件类型扩展名。
- 文件名获取 从完整路径中获取文件名。
- 文件转Markdown 基于MarkItDown库(需要Python环境支持,并安装MarkItDwon库)将PPT、Excel、Word、Pdf等格式文件转换为MarkDown格式文本。
- PDF转文本 将PDF文件转换为文本字符串,支持OCR识别PDF文件中图片。
- Text文件读取 读取文本文件为字符串。
- Text文件写入 将文本字符串写入文本文件。
- Word模板文件生成 基于Mini.Word库按指定格式模板文件生成Word文件。
- Word转文本 将Word文件转换为文本字符串。
- 图片图像:
- TesseractOCR 基于Tesseract库图片识别为文本。
- 飞桨OCR 基于飞桨库将图片识别为文本。
- 条码生成 将指定文本生成为条码图片。
- 条码读取 读取条码图片为文本。
- 二维码读取 读取二维码图片为文本。
- 二维码生成 将文本生成为二维码图片。
- 数据仓库:
- 数据读取 支持简单(用户界面方式)和自定义SQL方式从主流关系型数据库中读取数据。
- 数据插入 支持简单(用户界面方式)和自定义SQL方式将数据插入到主流关系型数据库中。
- 数据更新 支持简单(用户界面方式)和自定义SQL方式将数据更新到主流关系型数据库中。
- 数据删除 支持简单(用户界面方式)和自定义SQL方式将数据从主流关系型数据库中删除。
- Redis读取 从Redis中读取指定Key数据。
- Redis写入 向Redis写入指定Key数据。
- Redis判断Key 判断指定Key在Redis中是否存在。
- 网络处理:
- Http请求 支持POST、GET发起Http请求并获取响应内容。
- 发送邮件 使用SMFT协议发送邮件
- 读取邮件 基于POP3读取邮件
- 串口写入 向指定串口写入数据。
- Socket连接 连接Socket服务并写入数据。
- 脚本代码:
- JS脚本 自定义JS脚本执行
- Python脚本 自定义Python脚本执行。(需要Python环境)
- C#脚本 自定义C#脚本执行。
- 异常处理:
- 异常监听 监听流程异常,当流程执行过程中出现异常是自动触发异常监听节点。
- 输出节点:
- 标准输出 自定义Http接口标准响应结果。

浙公网安备 33010602011771号