Skip to content

快速开始

几分钟内从源码跑起 Infinia 4.0.0 —— 一个 AI 原生的流程编排平台。构建后端,然后分别启动后端与前端。

前置条件

工具版本用途
JDK21+(推荐 Eclipse Temurin)后端(Java 21
Node.js + Yarn 4 (corepack)24.18.0前端开发服务器
Node.js + Yarn 4 (corepack)24.18.0仅桌面端外壳需要(只用 Web 可跳过)

从源码构建

通过仓库自带的 Maven wrapper 构建后端:

bash
git clone https://github.com/MuskStark/FengYu.git
cd FengYu
./mvnw clean package -f FengYu/pom.xml -DskipTests

打包好的后端 jar 位于 FengYu/target/FengYu-*.jar(带版本号,例如 FengYu-4.0.0-beta.4.jar)。

运行后端

启动无头(headless)Spring Boot 后端。它默认绑定 127.0.0.1:24056,并在启动时打印 FENGYU_PORT=<n>

bash
java -jar FengYu/target/FengYu-*.jar --token=<your-token>

入口类是 fan.summer.fengyu.HeadlessLauncher。CLI 参数只有 --port--token 两个。

运行前端(开发模式)

Vue 3 + Vuetify 3 前端通过 Vite 连接后端,Vite 会把 /api/plugin-runtime 代理到 localhost:24056

bash
corepack enable   # once per machine: activates the pinned Yarn 4
cd frontend
yarn install
yarn run dev

打开打印出的本地 URL,UI 就会与你刚才启动的后端通信。

冒烟测试

一个辅助脚本会启动打包好的 jar,并探测每一个 endpoint。

bash
scripts/e2e-smoke.sh

每次构建后想做一次快速的端到端健康检查时都可以运行它。

运行桌面端(开发模式)

Electron 桌面外壳会以 sidecar 方式拉起 Java 后端。在仓库根目录下:

bash
cd desktop/electron
yarn install
yarn run dev       # 默认:连接 IDE 启动的后端 http://127.0.0.1:24056
                  #   (后端不带 --token 启动以禁用认证;外壳不拉起 java)
                  # 改为外壳自行拉起后端:设置 FENGYU_JAR=<已构建的 shaded jar>
                  #   (先用 ./mvnw -pl FengYu -am package -DskipTests -Drevision=4.0.0 构建)
                  #   或设置 FENGYU_DEV_BACKEND=disabled

构建可分发包:

bash
yarn run build    # = yarn build:ts && electron-builder(当前平台)

TIP

桌面外壳自带 Chromium(无需系统 WebView)。你只需 Java 来运行后端。暂存 JAR / 插件以及带/不带 JRE 的两种构建变体,请参见 desktop README

发布

发布标签(v4.0.0v4.0.0-beta.*v4.0.0-rc.*)会触发一条 GitHub Actions 流水线,发布未签名的 Electron 安装包(Windows/macOS/Linux)和一个可移植的 Web 分发包。Web 压缩包直接从文件夹运行同一套后端 + 内嵌的 Vue SPA:

bash
# 解压 Infinia-<version>-web.zip 后:
./run.sh          # macOS/Linux(Windows 用 run.bat)

需要 Java 21(或使用内嵌 JRE 的 Electron 构建版本)。后端仅绑定回环地址127.0.0.1)。代码签名将留待后续版本实现;Electron 自动更新器通过 GitHub Releases 发布。

下一步

  • 架构概述——无头后端、Vue UI 与 Electron 外壳如何拼装在一起。
  • 配置——端口、令牌、数据库选择与 AI 后端。

Released under the GPL-3.0 License.