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