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 | – |
快速入门
- 克隆
git clone https://github.com/itwanger/PaiAgent-one.git cd PaiAgent-one - 创建MySQL数据库 并运行
backend/src/main/resources下的schema.sql。 - 配置环境 – 将
backend/和frontend/中的.env.example复制为.env/.env.local,并填写数据库凭证、JWT密钥、MinIO密钥等。 - 运行后端
cd backend ./mvnw spring-boot:run # 启动于 http://localhost:8084 - 运行前端
cd frontend npm install npm run dev # 打开 http://localhost:5173 - 使用默认开发账户(
admin / admin123)登录,或通过环境变量设置自定义账户。 - 创建工作流 – 拖拽一个 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;未添加任何外部假设。
相关
- 项目
- 项目
- 项目
- 项目