
人工智能AI Agent流程编排后端前端【免费下载链接】PaiAgent轻量级的AI工作流编排系统类似dify、n8n全程使用Vibe CodingAI工具为QoderCLI。涉及到的技术栈包括SpringAI、LangGraph4J、SSE、MinIO、DAG自定引擎等。项目地址https://gitcode.com/javabetter/PaiAgent点击查看免费下载PaiAgent 是一个基于 Spring Boot 3.4.1 Java 21 React 18 的企业级 AI 工作流可视化编排平台通过拖拽式界面即可完成多模型、多工具节点的组合调度。本文以项目根目录 README.md 为主线结合后端引擎、LangGraph4j 集成、Skills 技能系统与前端工作流 API 的真实源码系统讲解其双引擎架构原理、技能系统设计与从零部署运行的完整实战流程。读完本文你将掌握 PaiAgent 的 DAG / LangGraph 双引擎切换机制、SKILL.md 声明式技能定义与三级加载策略、SSE 实时调试链路并能独立完成数据库初始化、环境变量配置、前后端启动与首个工作流的编排调试。一、项目定位与核心价值PaiAgent 定位为企业级 AI 工作流可视化编排平台核心理念是让 AI 能力的组合与调度变得简单高效开发者和业务人员无需编写代码仅通过可视化拖拽即可构建复杂的 AI 处理流程实现多种大模型的协同工作。其项目教程、用户使用指南与开发进度分别记录在 docs/USER_GUIDE.md、docs/PROGRESS.md 与 docs/SUMMARY.md 中。项目的主要优势体现在六个方面零代码编排可视化拖拽界面无需编程即可构建复杂 AI 工作流双引擎驱动自研 DAG 引擎 LangGraph4j 状态图引擎按需切换兼顾简洁与复杂场景多模型统一基于 Spring AI 框架统一接入 OpenAI、DeepSeek、通义千问、智谱 GLM 等主流大模型Skills 技能系统内置提示词工程技能框架支持 YAML 前置声明式技能定义与三级渐进式加载灵活扩展基于插件化设计节点执行器工厂轻松开发自定义节点实时调试内置调试面板支持 SSE 流式输出可视化执行过程。二、技术架构与选型2.1 分层架构README 给出完整的分层架构视图自顶向下依次为┌─────────────────────────────────────────────────────────┐ │ 前端层 (Frontend) │ │ React 18 TypeScript ReactFlow Ant Design │ │ • 可视化编辑器 • 节点面板 • 调试工具 │ └────────────────────┬────────────────────────────────────┘ │ REST API / SSE ┌────────────────────┴────────────────────────────────────┐ │ 应用层 (Backend) │ │ Spring Boot 3.4.1 Java 21 │ │ • Controller • Service • Interceptor │ └────────────────────┬────────────────────────────────────┘ │ ┌────────────────────┴────────────────────────────────────┐ │ 核心引擎层 (Engine) │ │ • EngineSelector: 引擎路由DAG / LangGraph │ │ • DAGParser: 拓扑排序 循环检测 │ │ • LangGraph4j: 状态图编排 条件路由 │ │ • SkillRegistry: 技能注册中心 渐进式加载 │ │ • NodeExecutor: 节点执行器工厂 │ └────────────────────┬────────────────────────────────────┘ │ ┌────────────────────┴────────────────────────────────────┐ │ AI 模型层 (Spring AI) │ │ • Spring AI: OpenAI/DeepSeek/智谱 等兼容接口 │ │ • Spring AI Alibaba: 通义千问 DashScope 原生支持 │ │ • ChatClientFactory: 统一的 ChatClient 动态工厂 │ └────────────────────┬────────────────────────────────────┘ │ ┌────────────────────┴────────────────────────────────────┐ │ 数据层 (Data Storage) │ │ • MySQL: 工作流配置、执行记录 │ │ • MinIO: 文件存储 (可选) │ └─────────────────────────────────────────────────────────┘2.2 技术栈详情层级技术选型版本要求说明前端React18.x现代化 UI 框架前端TypeScript5.x类型安全保障前端Vite5.x高性能构建工具前端ReactFlow最新版专业流程图库前端Ant Design Tailwind CSS-企业级 UI 组件前端Zustand最新版轻量级状态管理后端Spring Boot3.4.1企业级 Java 框架后端Java21LTS 长期支持版本后端MyBatis-Plus3.5.5增强版 ORM 框架后端Spring AI1.0.0-M5AI 模型统一调用框架后端Spring AI Alibaba1.0.0-M6.1通义千问 DashScope 原生支持后端MySQL8.0关系型数据库后端FastJSON2最新版高性能 JSON 库后端MinIO可选对象存储服务核心引擎自研 DAG 引擎-拓扑排序 循环检测核心引擎LangGraph4j Core1.1.5状态图工作流引擎核心引擎LangGraph4j Spring AI1.8.0-beta3LangGraph4j 与 Spring AI 集成桥接核心引擎Skills 技能系统-声明式提示词工程框架核心引擎EngineSelector-双引擎动态路由选择核心引擎Spring AI ChatClient-统一 AI 模型调用接口核心引擎ChatClientFactory-动态创建不同模型客户端数据库初始化脚本与核心配置分别位于 backend/src/main/resources/schema.sql 与 backend/src/main/resources/application.yml。workflow表通过engine_type字段默认dag记录每个工作流使用的引擎类型execution_record、execution_snapshot、execution_variable三张表分别承载执行记录、断点快照与执行变量用于断点续执行。三、核心特性详解3.1 可视化流程编辑器基于 ReactFlow 构建的专业流程图编辑器前端核心组件为 frontend/src/components/FlowCanvas.tsx画布、frontend/src/components/NodePanel.tsx可拖拽节点面板与 frontend/src/components/DebugDrawer.tsx调试抽屉支持节点拖拽、连线配置、参数编辑等完整功能。3.2 多大模型节点支持基于 Spring AI Spring AI Alibaba 框架统一接入OpenAI 节点GPT 系列模型Spring AI OpenAI 接口DeepSeek 节点国产大模型OpenAI 兼容接口通义千问节点阿里云千问系列Spring AI Alibaba DashScope 原生支持智谱 AI 节点GLM 系列模型OpenAI 兼容接口AIPing 节点第三方模型代理OpenAI 兼容接口schema.sql中预置的节点定义还包含step阶跃星辰、react_agentReAct Agent与tts超拟人音频合成等节点并给出了每个节点的input_schema/output_schema/config_schemaJSON Schema例如 OpenAI 节点默认模型gpt-3.5-turbo、temperature 默认0.7。3.3 工具节点生态TTS 音频合成支持通义 Qwen3 TTS 与阶跃星辰 StepAudio 的超拟人语音生成tts节点默认模型qwen3-tts-flash、默认音色Cherry、默认采样率24000输入/输出节点灵活的数据输入输出条件分支节点condition节点基于上游输出的 JSON 字段做条件判断支持eq/neq/gt/gte/lt/lte/contains/notContains/startsWith/endsWith/isEmpty/isNotEmpty共 12 种操作符自定义扩展基于统一接口开发专属节点。四、DAG 工作流引擎机制源码级解析4.1 工作流解析与执行流程DAG 引擎的核心位于 backend/src/main/java/com/paiagent/engine/WorkflowEngine.java 与 backend/src/main/java/com/paiagent/engine/dag/DAGParser.java其执行流水线为JSON 解析WorkflowConfigParser.parse(flowData)将前端配置解析为WorkflowConfig对象节点 边拓扑排序DAGParser.parse(config)使用 Kahn 算法确定节点执行顺序循环检测DFS 深度优先搜索检测循环依赖一旦发现立即抛出工作流存在循环依赖,节点: xxx异常节点调度按拓扑顺序依次执行节点NodeExecutorFactory根据node.getType()分发到对应执行器数据传递resolveNodeInput会优先聚合所有已执行前驱节点的输出作为当前节点输入否则回退到{input: inputData}结果记录保存每个节点的执行结果和日志同时写入ExecutionSnapshot快照供断点续执行。4.2 Kahn 拓扑排序与 DFS 循环检测在DAGParser中算法分三步实现构建依赖图遍历边集合构造dependencies节点 → 其前置节点列表与dependents节点 → 其后继节点列表DFS 循环检测借助visited与recStack递归栈两个集合做深度优先搜索若递归过程中再次遇到递归栈中的节点即判定存在环Kahn 拓扑排序统计每个节点的入度将所有入度为 0 的节点入队每弹出一个节点将其所有后继节点的入度减 1减为 0 时入队。若最终排序结果数量小于节点总数说明图中仍有环抛出运行时异常。// 节点执行器接口简化自 backend/src/main/java/com/paiagent/engine/executor/NodeExecutor.java public interface NodeExecutor { MapString, Object execute(WorkflowNode node, MapString, Object input) throws Exception; default MapString, Object execute(WorkflowNode node, MapString, Object input, ConsumerExecutionEvent progressCallback) throws Exception { return execute(node, input); } String getSupportedNodeType(); }4.3 数据传递与条件分支路由DAG 引擎支持一对多、多对一的连接方式并自动检测循环依赖防止死锁。当执行到condition节点时ConditionNodeExecutor 会在输出中写入__selectedBranch__字段未匹配任何条件时为default随后WorkflowEngine.markSkippedNodes依据条件节点出边的sourceHandle与选中分支的匹配关系递归标记未选中分支下游的所有节点为跳过状态——只有所有入边都来自已跳过节点时才跳过避免误伤多入边汇聚节点。4.4 断点续执行DAG 引擎还支持断点续执行resumeExecution会根据执行快照找到第一个FAILED或未完成的节点作为恢复起点支持通过ResumeExecutionRequest指定startNodeId、skipSuccessNodes跳过已成功节点与modifiedVariables修改执行变量后重跑执行变量表execution_variable记录用户修改过的变量及类型STRING/NUMBER/BOOLEAN/JSON。前端对应 API 封装在 frontend/src/api/workflow.ts 的resumeWorkflowExecution中默认开启skipSuccessNodes: true与useSnapshotVariables: true。五、LangGraph4j 状态图引擎机制5.1 双引擎选择与路由EngineSelector 根据工作流的engineType字段自动选择执行引擎dag路由到WorkflowEnginelanggraph路由到LangGraphWorkflowEngine未设置或为空时默认使用 DAG 引擎以确保向后兼容。两个引擎均实现统一的 WorkflowExecutor 接口execute/executeWithCallback/getEngineType因此引擎切换对上层 Controller 完全透明。// 引擎路由逻辑简化自 EngineSelector.selectEngine // engineType dag → WorkflowEngineDAG 引擎 // engineType langgraph → LangGraphWorkflowEngine // engineType null → DAG 引擎默认向后兼容5.2 LangGraph4j 执行流程LangGraphWorkflowEngine 的完整执行流程如下配置解析WorkflowConfigParser.parse将WorkflowConfig传入 GraphBuilder状态图构建GraphBuilder 将节点/边转换为 LangGraph4jStateGraph为每个WorkflowNodeaddNode为每条边addEdge并通过查找无前置节点的节点 / 无后继节点的节点自动设置START与END入口出口状态初始化StateManager 的initializeState初始化inputData、currentInput、nodeOutputs、status、startTime五类状态键异步执行compiledGraph.invoke(initialStateData)驱动图执行事件驱动执行过程触发ExecutionEvent回调workflowStart / nodeStart / nodeSuccess / nodeError / workflowComplete结果收集stateManager.extractNodeResults从nodeOutputs汇总所有节点输出构建ExecutionResponse并写入ExecutionRecord。5.3 NodeAdapter零改动复用既有节点执行器NodeAdapter 是 LangGraph 引擎与既有节点执行器之间的桥接层。它通过适配器模式将NodeExecutor包装为 LangGraph4j 的AsyncNodeActionAgentState节点开始前触发nodeStart事件从状态中取出currentInput作为节点输入为output节点额外注入__nodeOutputs__以便汇总所有节点输出执行executor.execute(node, currentInput, eventCallback)后将输出写回状态的nodeOutputs并更新currentInput为当前节点输出传递给下一个节点、currentNodeId为当前节点节点异常时把状态标记为FAILED并写入errorMessage同时触发nodeError事件。由于节点执行逻辑完全复用LangGraph 引擎上线无需重写任何业务代码。该设计的正确性可参考测试 backend/src/test/java/com/paiagent/engine/langgraph/LangGraphWorkflowEngineTest.java 与 backend/src/test/java/com/paiagent/engine/ConditionBranchRoutingTest.java。5.4 状态模型WorkflowState 统一管理工作流上下文核心状态键包括状态键含义inputData原始输入数据字符串currentInput当前节点输入节点间数据传递的载体nodeOutputs节点 ID → 节点输出 的映射globalContext全局上下文status运行状态RUNNING / SUCCESS / FAILEDcurrentNodeId当前执行节点 ID六、Skills 技能系统详解6.1 技能文件结构每个技能是一个独立目录包含SKILL.md主文件和可选的reference子目录。仓库内置示例技能ai-podcastAI 播客脚本生成位于 backend/src/main/resources/skills/ai-podcast/skills/ └── ai-podcast/ ├── SKILL.md # 技能主文件YAML Frontmatter Markdown └── reference/ # 引用文档目录 ├── script-template.md # 脚本模板 └── voice-guide.md # 语音风格指南6.2 SKILL.md 格式示例--- name: ai-podcast description: 生成专业播客脚本包含开场白、话题展开、问答环节和结尾。适用于创建音频内容、播客脚本、对话式内容。 --- # AI 播客脚本生成 ## 执行规则 **重要**你必须直接根据用户的提示词生成播客脚本**绝对不要反问用户任何问题**。 ## 固定参数不可更改 | 参数 | 固定值 | |------|--------| | 播客风格 | **双人对话**主持人A和主持人B | | 时长要求 | **1分钟**约150-180字 | | 目标听众 | **程序员/技术人员** |SkillLoader 使用正则^---\s*\n([\s\S]*?)\n---\s*\n([\s\S]*)$解析 YAML Frontmatter 与正文name为必填字段Frontmatter 支持简单的key: value键值对自动剥离引号。若缺少 Frontmatter 或name为空会抛出Invalid SKILL.md format异常。6.3 三级渐进式加载SkillRegistry 在应用启动时PostConstruct init()自动扫描 classpathclasspath*:skills/*/SKILL.md与文件系统目录paiagent.skills.path默认skills支持多路径回退查找注册到ConcurrentHashMap缓存。技能内容按需加载节省 Token 开销第一级 - 摘要仅加载技能名称和描述getSkillSummaries()返回SkillSummary(name, description)用于列表展示第二级 - 详情加载完整 SKILL.md 内容Skill.getFullContent()用于技能执行第三级 - 引用按需加载 reference 目录下的文档SkillRegistry.loadReference并对 reference 名做白名单校验^[a-zA-Z0-9._-]$与路径穿越防护startsWith(referenceDir)校验结果同样缓存。在 LLM 节点执行器中AbstractLLMNodeExecutor 对已关联技能采用直接打包策略通过skillRegistry.loadAllReferences一次加载全部引用文档再以Skill.getFullExecutionPrompt(references)生成完整执行 Prompt 嵌入系统提示词避免 LLM 多轮函数调用一次调用即可拿到全部上下文。6.4 LLM Function 集成与 REST API技能系统通过 Spring AIFunctionCallback暴露给大模型自主调用LoadSkillDetailFunction的load_skill_detail与LoadSkillReferenceFunction的load_skill_reference实现渐进式披露——大模型先看到技能摘要需要时再调用函数拉取详情与引用文档。前端 SkillSelector 组件支持在工作流节点中选择并应用技能。技能 REST API 由 SkillController 提供方法路径说明GET/api/skills获取所有技能摘要列表GET/api/skills/{name}获取指定技能详细内容GET/api/skills/{name}/references/{ref}获取技能引用文档七、LLM 节点与多模型统一调用层7.1 ChatClient 动态工厂ChatClientFactory 根据节点配置在运行时动态实例化不同厂商的ChatClient支持多租户场景下每个节点独立配置 API Key / API URL / 模型的能力。其核心设计提供商标识归一化normalizeProvider将open ai、通义千问、智谱、阶跃星辰、火山方舟、skyclaw等别名统一映射为内部标识openai/deepseek/qwen/step/zhipu/ai_ping/agnes/apifree/volcengine_agent_planURL 智能归一化normalizeBaseUrl自动剥离/v1/chat/completions、/v1后缀与尾部斜杠兼容用户误填完整接口地址的情况定制 ChatModelOpenAI 兼容厂商统一走OpenAiChatModelapifreeSkyClaw额外放宽text/plain响应类型volcengine_agent_plan显式覆盖为/api/plan/v3/chat/completions路径函数注册createClientWithFunctions通过builder.defaultFunctions(...)将 FunctionCallback 注册进 ChatClient。// 动态创建 ChatClient简化自 ChatClientFactory ChatClient chatClient chatClientFactory.createClientWithFunctions( provider, apiUrl, apiKey, model, temperature, functions); String response chatClient.prompt().user(prompt).call().content();7.2 AbstractLLMNodeExecutor 抽象基类AbstractLLMNodeExecutor 采用模板方法模式将 5 个 LLM 节点执行器的公共逻辑收敛到一处配置提取优先使用全局配置configId回退节点级配置→ 配置校验 → Skill 关联 → 系统提示构建 → 模板替换 → ChatClient 创建 → 三种执行模式普通 / 流式 / 带函数调用函数调用最多迭代 5 轮→ Token 统计与输出构建。子类只需实现getNodeType()即可例如OpenAINodeExecutor返回openai、DeepSeekNodeExecutor返回deepseek、QwenNodeExecutor返回qwen、ZhiPuNodeExecutor返回zhipu。该执行器还支持 RAG 增强当节点开启memoryEnabled或配置了knowledgeBaseId时会先调用agentMemoryService.retrieve/knowledgeBaseService.searchRuntime召回记忆与知识库上下文memoryTopK、knowledgeTopK默认 5knowledgeScoreThreshold默认 0.2拼接到用户提示词之前。7.3 Prompt 模板处理PromptTemplateService 统一处理{{variable}}模板变量替换与上下游节点参数引用映射支持两种输入参数类型input 静态值直接从节点配置的value字段取值reference 动态引用从上游节点输出中按referenceNode如llm_1.output取.后段作为键名动态取值并兼容user_input存储为input键的旧格式。// 模板替换示例 String userPrompt promptTemplateService.processTemplate( config.getPromptTemplate(), config.getInputParams(), input);八、SSE 实时流式调试8.1 后端事件推送链路ExecutionController 提供GET /api/workflows/{id}/execute/stream接口基于SseEmitter超时 300 秒实现实时反馈。执行线程将ConsumerExecutionEvent回调注册给引擎引擎在每个节点启动、成功、出错以及工作流完成时回调控制器将事件按SseEmitter.event().name(event.getEventType()).data(event)推送给前端。ExecutionEvent 定义了五类事件字段包含eventType、nodeId、nodeName、status、message、data、timestamp事件类型触发时机状态WORKFLOW_START工作流开始执行-NODE_START节点开始执行RUNNINGNODE_PROGRESS流式生成中携带chunk与累计文本RUNNINGNODE_SUCCESS节点执行成功携带输出与耗时SUCCESSNODE_ERROR节点执行失败FAILEDWORKFLOW_COMPLETE工作流执行完成携带总耗时SUCCESS / FAILED8.2 前端 EventSource 消费前端 frontend/src/api/workflow.ts 的executeWorkflowStream使用浏览器原生EventSource订阅上述事件将每个事件实时渲染到 DebugDrawer 调试抽屉中实现输入文本 → LLM 生成 → TTS 合成 → 输出播放全流程的可视化追踪。该接口还处理了鉴权失败跳转登录页与连接中断的兜底逻辑。九、快速开始一键启动指南9.1 环境要求工具版本要求说明Java21推荐使用 OpenJDK 或 Oracle JDKNode.js18包含 npm 包管理器MySQL8.0数据库服务Maven3.8Java 项目构建工具9.2 克隆项目与数据库初始化git clone https://gitcode.com/javabetter/PaiAgent cd PaiAgent创建数据库并导入初始化脚本backend/src/main/resources/schema.sql 同时创建workflow、node_definition、execution_record、execution_snapshot、execution_variable、llm_global_config、agent_memory、mcp_tool_config、knowledge_base等表并预置全部节点定义数据mysql -u root -pCREATE DATABASE paiagent DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;mysql -u root -p paiagent backend/src/main/resources/schema.sql9.3 配置环境变量项目使用环境变量管理敏感配置application.yml通过spring.config.import: optional:file:.env[.properties]与optional:file:backend/.env[.properties]自动导入.env文件。复制模板并编辑cd backend cp .env.example .env# 必填数据库密码生产环境必须使用强密码 MYSQL_PASSWORDyour_strong_password_here # 其他配置按需修改 MYSQL_HOSTlocalhost MYSQL_PORT3306 MYSQL_USERNAMEroot MYSQL_DATABASEpaiagent # JWT 密钥生产环境必须修改 JWT_SECRETyour_jwt_secret_key_minimum_32_characters # MinIO 凭证如使用对象存储 MINIO_ACCESS_KEYyour_access_key MINIO_SECRET_KEYyour_secret_key安全提示.env文件已加入.gitignore不会提交到版本库.env.example是配置模板不包含真实敏感信息生产环境建议通过系统环境变量或配置中心注入。application.yml中还内置了 JWT 密钥兜底逻辑——本地开发未配置JWT_SECRET时会自动生成临时强密钥但生产环境务必显式配置。9.4 启动后端服务cd backend ./mvnw spring-boot:run启动成功后控制台输出Started PaiAgentApplication in X.XXX seconds。后端服务地址为http://localhost:8084默认端口可在.env的SERVER_PORT或 application.yml 中修改。项目内置spring-boot-devtools修改代码触发编译后应用会自动热重启启动后可访问http://localhost:8084/swagger-ui.html查看 API 文档。9.5 启动前端服务cd frontend cp .env.example .env.local npm install npm run dev前端通过 Vite 环境变量VITE_API_BASE_URL连接后端默认http://localhost:8084。启动成功后可看到➜ Local: http://localhost:5173/前端不能直接读取 Spring Boot 的application.yml因此若后端端口变化需同步调整frontend/.env.local。9.6 首次登录与快速演示开发环境默认账户可在.env中通过APP_AUTH_DEFAULT_USERNAME/APP_AUTH_DEFAULT_PASSWORD修改配置项默认值说明用户名admin通过APP_AUTH_DEFAULT_USERNAME配置密码admin123通过APP_AUTH_DEFAULT_PASSWORD配置⚠️ 安全提示默认账户仅用于开发测试生产环境必须修改或禁用将两个变量都设为空值即可禁用默认账户。创建第一个工作流的操作路径登录系统使用默认凭证登录创建工作流点击「新建工作流」按钮拖拽节点从左侧节点面板拖拽「输入节点」→「OpenAI节点」→「输出节点」到画布连接节点按顺序连接各个节点配置参数点击 OpenAI 节点配置 API Key 和提示词执行调试点击「调试」按钮通过 SSE 实时查看执行结果。示例文本转语音工作流[输入节点] → [OpenAI节点] → [TTS节点] → [输出节点] 输入文本 生成脚本 语音合成 播放音频十、节点扩展开发指南方式一开发普通工具节点。实现NodeExecutor接口注册到 NodeExecutorFactory工厂在构造时通过Autowired ListNodeExecutor自动收集所有执行器并按getSupportedNodeType()注册public class CustomNodeExecutor implements NodeExecutor { Override public MapString, Object execute(WorkflowNode node, MapString, Object input) { // 自定义逻辑 return output; } Override public String getSupportedNodeType() { return custom; } }方式二开发 LLM 节点推荐。继承AbstractLLMNodeExecutor自动获得 Spring AI 能力与配置提取、模板替换、流式输出等全部基础能力Component public class CustomLLMNodeExecutor extends AbstractLLMNodeExecutor { Override protected String getNodeType() { return custom_llm; } }前端添加节点定义在节点面板注册参考 frontend/src/components/NodePanel.tsxconst customNode { type: custom, label: 自定义节点, category: tool };十一、开发路线图11.1 已完成功能v1.0当前完成度 98%基础架构搭建Spring Boot React TypeScript用户认证系统Token 认证 AuthInterceptor 拦截器可视化流程编辑器ReactFlow 集成DAG 工作流引擎拓扑排序 循环检测Spring AI 框架集成v1.0.0-M5统一 ChatClient 调用接口支持 OpenAI 兼容协议Spring AI Alibaba 集成v1.0.0-M6.1通义千问 DashScope 原生支持多大模型节点OpenAI / DeepSeek / 通义千问 / 智谱 / AIPing工具节点输入/输出、TTS 音频合成、音频播放器组件SSE 实时流式输出调试抽屉 日志输出 结果展示工作流 CRUD 管理与执行记录查询LangGraph4j 状态图引擎StateGraph 第二执行引擎、EngineSelector 双引擎路由、NodeAdapter 零改动复用、StateManager 统一状态管理Skills 技能系统YAML Frontmatter Markdown 声明式定义、SkillRegistry 自动扫描缓存、三级渐进式加载、Spring AI FunctionCallback 集成、前端 SkillSelector、REST API条件分支节点IF/ELSE 逻辑与断点续执行能力11.2 规划中功能v1.1近期循环执行节点FOR/WHILE、更多 LLM 节点Claude、Gemini、本地模型、更多内置技能、集成测试完善、执行性能监控v1.5中期子工作流调用、定时任务调度Cron 表达式、工作流版本管理Git 风格、工作流模板市场、更多工具节点图像处理、文档解析、Web 爬虫v2.0远期多租户与权限管理、协作与分享、性能监控与告警、国际化支持、插件市场十二、项目文档导航文档类型文档链接说明 使用指南docs/USER_GUIDE.md详细使用说明和最佳实践 开发进度docs/PROGRESS.md项目开发阶段和完成情况 项目总结docs/SUMMARY.md技术选型和实现总结 完成报告docs/PROJECT_COMPLETION_REPORT.md项目交付报告️ 架构设计docs/mermaid.md系统架构可视化图表 开发指南AGENTS.mdAI Agent 开发指引PaiAgent 采用 MIT License 开源。如需深入了解引擎实现细节可直接阅读 EngineSelector、DAGParser、LangGraphWorkflowEngine、SkillRegistry 与 ChatClientFactory 等核心源码以及 LangGraphWorkflowEngineTest、ConditionNodeExecutorTest 等测试用例作为行为规范参考。赞分享人工智能AI Agent流程编排后端前端【免费下载链接】PaiAgent轻量级的AI工作流编排系统类似dify、n8n全程使用Vibe CodingAI工具为QoderCLI。涉及到的技术栈包括SpringAI、LangGraph4J、SSE、MinIO、DAG自定引擎等。项目地址https://gitcode.com/javabetter/PaiAgent点击查看免费下载相关推荐PaiAgent 项目架构与开发指南基于 DAG/LangGraph 双引擎的 AI 工作流编排平台PaiAgent 项目架构与开发指南基于 DAG/LangGraph 双引擎的 AI 工作流编排平台 PaiAgent 是一个轻量级的企业级 AI 工作流编排人工智能AI Agent流程编排后端前端RuoYi-flowable工作流引擎企业级部署实战指南RuoYi flowable工作流引擎企业级部署实战指南 前言数字化转型中的流程管理挑战 在企业数字化转型浪潮中传统人工审批流程已无法满足现代业务需求。RuMagic Flow可视化编排构建企业级AI工作流的完整指南Magic Flow可视化编排构建企业级AI工作流的完整指南 Magic Flow作为开源AI生产力平台的核心组件为企业用户提供了零代码构建复杂AI工作流的AI AgentAI 应用后端前端企业应用上一篇网盘直链下载技术解析从痛点突破到实战应用指南下一篇3步实现115网盘Kodi原码播放免下载观影解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考