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;未添加任何外部假設。

相關

  • 專案
  • 專案
  • 專案
  • 專案