🎬 演示项目
LiteFlow Re-Act Agent 提供了一组可运行的 Spring Boot 示例项目,源码位于:
这个仓库用于演示 liteflow-react-agent 在不同模型平台、OpenAI 兼容网关、Skills 技能系统、流式事件和 Web 会话界面中的使用方式。每个模块都是一个独立 Maven 子模块,可以按需单独运行。
# 模块说明
| 模块 | 主要演示内容 |
|---|---|
react-agent-openai-example | 使用 OpenAI.of(modelName) 接入 OpenAI 平台,演示最基础的 Agent 组件、EL chain、模型配置和本地文件记忆。 |
react-agent-openai-compatible-deepseek-example | 使用 DeepSeek.of(modelName) 接入 DeepSeek,演示 OpenAI 兼容模型入口的厂商封装。 |
react-agent-openai-compatible-glm-example | 使用 GLM.of(modelName) 接入智谱 GLM,演示通过 liteflow.agent.openai-compatible.glm 配置兼容接口。 |
react-agent-openai-compatible-minimax-example | 使用 Minimax.of(modelName) 接入 MiniMax,演示不同 OpenAI 兼容服务商的独立配置前缀。 |
react-agent-openai-compatible-kimi-example | 使用 Kimi.of(modelName) 接入 Kimi,演示 Moonshot 兼容接口和默认模型配置。 |
react-agent-openai-compatible-custom-example | 使用 OpenAICompatible.custom("gateway", modelName) 接入自定义 OpenAI 兼容网关,适合统一模型网关、代理服务或私有部署场景。 |
react-agent-openai-compatible-skill-stream-example | 演示自定义 OpenAI 兼容网关、stream(true)、Skills 技能系统、SSE 流式事件和 Web 聊天界面的组合使用。 |
react-agent-dashscope-example | 使用 DashScope.of(modelName) 接入阿里云百炼 DashScope,演示 DashScope 平台入口。 |
react-agent-gemini-example | 使用 Gemini.of(modelName) 接入 Gemini,演示 Gemini 模型入口及可扩展的 thinking 选项。 |
react-agent-anthropic-example | 使用 Anthropic.of(modelName) 接入 Anthropic,演示 Anthropic 模型入口及可扩展的 thinking 选项。 |
这些基础模块的共同点是:都包含一个 AgentApplication 启动类、一条 LiteFlow EL chain、一个继承 ReActAgentComponent 的 Agent 组件,以及 LOCAL_FILE 模式的会话记忆配置。
# Skill + 流式输出示例
react-agent-openai-compatible-skill-stream-example 是这个仓库中最完整的演示模块。它不仅演示命令行运行 Agent,还提供了一个 Web 界面,用于观察 Re-Act 执行 skill 的完整过程。
这个模块主要演示:
- 自定义模型网关:通过
OpenAICompatible.custom("gateway", modelName).stream(true)接入自定义 OpenAI 兼容网关,并开启模型流式输出。 - Skills 技能系统:开启
liteflow.agent.skills.enabled=true,从agent/skills目录加载 skill。 - 称骨算命 skill:内置
chenggu-analysisskill,用于演示袁天罡称骨算命的结构化流程。这个 skill 会要求 Agent 先标准化出生日期,再读取权重表、歌诀表和输出模板,最终生成可审计的中文结果。 - Re-Act 事件流:通过
ExecuteOption.eventListener(...)接收agent.reasoning、agent.tool_result、agent.result等事件。 - Web 会话界面:通过
ChatController暴露 SSE 接口,前端页面实时展示 reasoning、acting、工具返回结果和最终 Markdown 回复。 - 会话和记忆:每个 Web 会话使用稳定的
conversationId,使同一会话中的 Agent 可以复用上下文记忆。
对应的 LiteFlow chain 很简单:
<chain name="skillStreamChain">
THEN(prepare, skillStreamAgent, recordReply);
</chain>
其中 skillStreamAgent 是真正执行 Re-Act + Skill 的 Agent 节点,prepare 和 recordReply 分别用于准备请求和记录结果。
# Web 界面效果
Web 界面会把一次称骨算命请求拆成可观察的 Re-Act 轨迹:先展示模型的 reasoning,再展示每次 acting 调用的工具和返回结果,最后展示整理后的中文答复。

最终结果会把称骨规则中的年、月、日、时权重、总骨重、等级、原始歌诀、结构化分析和建议展示出来,便于验证 Agent 是否按 skill 的规则执行。

# 运行方式
从示例项目根目录运行:
export GATEWAY_API_KEY=your_api_key
export GATEWAY_BASE_URL=https://your-gateway.example.com/v1
export GATEWAY_MODEL=your-model
mvn -pl react-agent-openai-compatible-skill-stream-example spring-boot:run
启动后访问:
http://localhost:8900/
如果从仓库根目录运行,SKILLS_PATH 可以不设置;示例默认使用:
react-agent-openai-compatible-skill-stream-example/src/main/resources/agent/skills
如果从模块目录或打包后的应用运行,请把 SKILLS_PATH 指向实际的技能目录。


