itwanger/PaiAgent

🔥轻量级的AI工作流编排系统,类似dify、n8n,全程使用Vibe Coding,AI工具为Qoder+CLI。涉及到的技术栈包括SpringAI、LangGraph4J、SSE、MinIO、DAG自定引擎等。

PaiAgent – 企业级可视化AI工作流编排平台

是什么

PaiAgent 是一个 自托管、全栈式平台,让您无需编写代码即可构建、调度和运行AI驱动的流水线。前端的拖拽式编辑器(ReactFlow)允许业务用户和开发者通过节点组合调用大语言模型(OpenAI、DeepSeek、阿里通义千问、智谱AI等)和辅助工具(TTS、数据I/O、自定义插件)。运行时,平台可选择使用经典的 DAG引擎(拓扑排序 + 循环检测)或 LangGraph4j状态图引擎 来执行图结构,支持更丰富的条件路由。

核心功能

功能 你将获得
零代码工作流设计 可视化画布、节点面板、参数面板 – 无需Java/TS即可组装流水线
双执行引擎 DAG 用于简单线性/分支流程;LangGraph4j 用于状态图、条件和动态路由 – 每个工作流可独立选择
统一LLM访问 Spring AI + Spring AI 阿里巴巴适配器通过统一的 ChatClient API 暴露 OpenAI 兼容、DeepSeek、Qwen、智谱AI 和 AIPing 模型
技能系统 SKILL.md(YAML前言 + Markdown)中声明式定义“技能”。技能自动注册、懒加载(摘要 → 详情 → 引用),并作为 函数回调 暴露给LLM,使模型可自主调用
可扩展节点模型 实现 NodeExecutor(或继承 AbstractLLMNodeExecutor)并注册,平台将自动在UI中暴露该节点
实时调试 服务器发送事件流将执行日志实时推送到侧边栏,显示每个节点的开始/成功/错误状态
持久化与监控 MySQL 存储工作流定义和运行日志;可选 MinIO 存储文件块;UI中可查看执行历史
内置工具节点 输入/输出、TTS(通义千问3 TTS、StepAudio),以及任意自定义服务的插件钩子

典型使用场景

领域 示例工作流
内容创作 生成文章草稿 → 翻译 → 优化润色 → 合成语音旁白
客户支持 捕获用户查询 → 路由至相应LLM(知识库)→ 生成回复 → 记录工单
数据处理 拉取原始文本 → LLM驱动实体提取 → 存储结果至数据库
媒体制作 脚本生成 → TTS → 将音频嵌入视频元数据
自动化 定期生成报告 → 发送邮件 → 归档PDF

架构概览

前端 (React 18 + TypeScript)
  └─ ReactFlow 画布,Ant Design UI,Zustand 状态

后端 (Spring Boot 3.4, Java 21)
  ├─ Controllers → Services → MyBatis-Plus DAOs
  ├─ 引擎层
  │   ├─ EngineSelector (dag ↔ langgraph)
  │   ├─ DAGParser (Kahn 拓扑排序,DFS 循环检测)
  │   └─ LangGraphWorkflowEngine (StateGraph,异步节点动作)
  ├─ 技能子系统 (SkillRegistry,渐进式加载,FunctionCallback)
  └─ AI模型层 (Spring AI + Spring AI 阿里巴巴,ChatClientFactory)

数据层
  ├─ MySQL (工作流定义,执行日志)
  └─ MinIO (可选块存储)

技术栈

技术 版本
前端 React, TypeScript, Vite, ReactFlow, Ant Design, Tailwind, Zustand 18.x / 5.x / latest
后端 Spring Boot, Java 21, MyBatis-Plus, FastJSON2, Maven 3.4.1 / 21+
AI集成 Spring AI (1.0.0-M5), Spring AI 阿里巴巴 (1.0.0-M6.1)
工作流引擎 自定义DAG引擎,LangGraph4j Core (1.1.5) + Spring AI桥接 (1.8.0-beta3)
存储 MySQL 8+, 可选 MinIO

快速入门

  1. 克隆
    git clone https://github.com/itwanger/PaiAgent-one.git
    cd PaiAgent-one
    
  2. 创建MySQL数据库 并运行 backend/src/main/resources 下的 schema.sql
  3. 配置环境 – 将 backend/frontend/ 中的 .env.example 复制为 .env / .env.local,并填写数据库凭证、JWT密钥、MinIO密钥等。
  4. 运行后端
    cd backend
    ./mvnw spring-boot:run   # 启动于 http://localhost:8084
    
  5. 运行前端
    cd frontend
    npm install
    npm run dev               # 打开 http://localhost:5173
    
  6. 使用默认开发账户(admin / admin123)登录,或通过环境变量设置自定义账户。
  7. 创建工作流 – 拖拽一个 Input 节点、一个 OpenAI 节点、一个 TTS 节点和一个 Output 节点,连接它们,配置模型API密钥,点击 Debug 查看实时SSE日志。

发展路线图亮点

  • v1.1 – 条件IF/ELSE节点、循环(FOR/WHILE)节点、更多LLM提供商(Claude、Gemini、本地模型)、更多内置技能。
  • v1.5 – 子工作流调用、基于cron的调度、版本化工作流、模板市场、图像/视频处理节点。
  • v2.0 – 多租户RBAC、协作编辑、性能监控与告警、i18n、第三方插件市场。

谁会受益?

  • 产品团队:无需深入ML代码即可构建AI增强功能。
  • 企业:需要对LLM驱动自动化进行可控、可审计的流水线。
  • 开发者:希望获得即插即用引擎来快速原型化复杂LLM编排(如RAG、工具调用、多模型路由)。

以上所有信息均直接取自仓库的README;未添加任何外部假设。

相关

  • 项目
  • 项目
  • 项目
  • 项目