LiteFlow 规则引擎
轻量、快速、稳定的可编程组件式规则引擎,支持 AI 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。
- 静态审查仅基于README和少量配置文件,未检查源代码,因此无法验证安全性和功能实现。
- README中的声明(如2000+测试用例)缺乏可验证的证据。
- AI Agent模块依赖agentscope-java和JDK21+,但未提供依赖安全分析。
这个 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 有哪些优点和局限?
- DSL 表达式简单易学,5 分钟上手,支持复杂编排。
- 支持平滑热刷新,无需重启应用即可更新规则。
- 多种脚本语言支持,与 Java 无缝集成。
- AI Agent 作为一等公民,可直接编排,多模型接入,切换模型一行代码。
- AI Agent 模块需要 JDK 21+,对旧项目有运行时要求。
- 文档和社区主要以中文为主,英文资源有限。
- 规则引擎本身有一定学习曲线,需要理解 DSL 和组件模型。
如何安装或部署这个 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()切换模型,然后在规则中编排。
常见问题
LiteFlow 与传统的规则引擎(如 Drools)有何区别?
AI Agent 模块如何接入不同的模型?
model() 方法一行切换,支持 OpenAI、Claude、Gemini 等,无需修改其他代码。