LiteFlow 规则引擎
轻量、快速、稳定的可编程组件式规则引擎,支持 AI Agent 编排。
- Star 数
- ★ 3.9k
- 最近更新
- 28 天前
- License
- Apache-2.0
- 主语言
- Java
- FA 评分
- 29/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 需要解耦复杂业务逻辑的 Java 开发者,通过规则文件编排业务流程。
- 不适合
- 需要 JDK 8/11/17 等旧版运行环境的团队(AI Agent 模块要求 JDK 21+)
- 偏好英文文档与英文社区支持的团队
- 只想调用现成大模型、不愿学习 DSL 与组件模型的团队
这个 Agent 能做什么,适合哪些场景?
LiteFlow 是一个现代规则引擎框架,结合了编排和规则引擎的优点,用于处理复杂的组件化业务编排。DSL 规则驱动整个复杂业务,可实现平滑刷新热部署,支持嵌入多种脚本语言规则。自 v2.16.0 起,LiteFlow 将 AI Agent 封装为标准组件,可直接编排到业务规则中。拥有超过 2000 个测试用例,支持 JDK 8 至 JDK 25,Spring Boot 2.X、3.X 及 4.X。规则支持 XML、JSON、YML 三种格式,可从多种外部存储加载。
LiteFlow 通过 DSL 规则文件(XML、JSON、YML)定义流程编排,使用 THEN、WHEN、IF 等表达式实现同步/异步混合编排。引擎负责解析规则、执行组件调用、处理上下文隔离、支持组件重试、脚本语言节点(Groovy、Java、Kotlin、JavaScript、QLExpress、Python、Lua、Aviator)。AI Agent 模块(liteflow-react-agent)将 ReAct Agent 封装为组件,通过 model() 方法切换模型,支持多轮对话记忆、技能系统、流式输出。框架提供平滑热刷新机制,规则变化无需重启应用。
- 需要解耦复杂业务逻辑的 Java 开发者,通过规则文件编排业务流程。
- 在微服务或单体应用中,需要动态调整规则且不能重启服务的场景。
- 希望将 AI Agent 集成到现有业务规则的团队,利用 LiteFlow 编排 Agent 节点。
- 需要跨多种脚本语言(如 Groovy、Python、JavaScript)编写规则的开发者。
- 追求高性能、高稳定性的企业级系统,LiteFlow 已在多家公司核心系统稳定运行。
如何安装或部署这个 Agent?
在项目的 pom.xml 中添加依赖:
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-spring-boot-starter</artifactId>
<version>2.17.0</version>
</dependency>对于 AI Agent 模块,需 JDK 21+,添加 liteflow-react-agent 依赖。
如何使用这个 Agent?
- 定义组件:实现
NodeComponent接口,重写process()方法。 - 编写规则文件(如
flow.xml):<chain name="chain1"><then node="a,b,c"/></chain> - 在配置文件中指定规则路径:
liteflow.rule-source=flow.xml。 - 调用
FlowExecutor.execute("chain1", context)执行流程。 - 对于 AI Agent,声明组件并实现方法,通过
model()切换模型,然后在规则中编排。
这个 Agent 有哪些优点和局限?
- DSL 表达式简单易学,5 分钟上手,支持复杂编排。
- 支持平滑热刷新,无需重启应用即可更新规则。
- 多种脚本语言支持,与 Java 无缝集成。
- AI Agent 作为一等公民,可直接编排,多模型接入,切换模型一行代码。
- AI Agent 模块需要 JDK 21+,对旧项目有运行时要求。
- 文档和社区主要以中文为主,英文资源有限。
- 规则引擎本身有一定学习曲线,需要理解 DSL 和组件模型。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| LiteFlow 规则引擎 当前 | 29 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 3.9k | 28 天前 | Java | — |
| ReachAI 企业智能体开发平台 | 60 · 存在缺口 | 自托管服务免费 + 模型费 | ★ 952 | 今天 | Java | OpenAI API |
| Atmosphere JVM 实时智能体引擎 | 46 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 3.8k | 1 天前 | Java | OpenAI API · Claude API |
| Embabel Agent Framework | 0 · 缺口较多 | 开发框架免费 + 模型费 | ★ 4.5k | 1 天前 | Kotlin | OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:仓库未提供权限模型、用户确认机制、数据流透明性、敏感数据处理、依赖安全、外部影响、回滚或来源归属的明确说明。因此所有信任标准得分为0。
证据显示:README声称有2000多个测试用例,但未提供测试结果或执行证据,因此自洽性得分为1。依赖可用性:README提到支持多种存储和脚本语言,但未提供依赖清单或可用性保证,得分为1。失败消息:未提供错误处理或失败消息的文档,得分为0。
证据显示:README明确了目标受众(Java开发者)和场景(复杂业务编排),得分为2。能力边界:README列出了功能,但未明确限制或边界,得分为1。触发精度:规则表达式示例清晰,但未详细说明触发条件,得分为1。环境适配:README提到支持Spring Boot 2.X/3.X/4.X和JDK8-25,得分为2。
证据显示:README提供了概述、功能、场景和AI Agent介绍,信息架构良好,得分为2。安装说明:README未提供具体安装步骤,得分为1。命名稳定性:README提到版本v2.16.0,但未提供命名约定,得分为1。示例和FAQ:README提供了代码示例,但无FAQ,得分为2。已知限制:README提到AI Agent需要JDK21+,但未全面列出限制,得分为1。许可证:LICENSE文件为Apache-2.0,得分为2。版本和变更日志:README提到版本,但未提供变更日志,得分为1。维护责任:README提到社区驱动,但未明确维护者,得分为1。
证据显示:输出可用性:README描述了输出功能(如流式输出),但未提供具体输出格式,得分为1。边际价值:README强调AI Agent编排的独特价值,得分为2。成本效益:README未提供性能基准或成本分析,得分为1。
证据显示:声明可追溯性:README中的声明未提供具体证据或链接,得分为1。跨来源佐证:未提供其他来源的验证,得分为1。事实与推断分离:README中事实和推断混合,未明确区分,得分为1。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 静态审查仅基于README和少量配置文件,未检查源代码,因此无法验证安全性和功能实现。
- README中的声明(如2000+测试用例)缺乏可验证的证据。
- AI Agent模块依赖agentscope-java和JDK21+,但未提供依赖安全分析。
常见问题
LiteFlow 与传统的规则引擎(如 Drools)有何区别?
AI Agent 模块如何接入不同的模型?
model() 方法一行切换,支持 OpenAI、Claude、Gemini 等,无需修改其他代码。