{"repo":"Vinist123/zhuling","free":true,"listed":false,"github":"https://github.com/Vinist123/zhuling","clone":"git clone https://github.com/Vinist123/zhuling.git","description":"ZhuLing — Zero-config AI Agent framework for Java. One YAML to launch Agents on Spring AI + DDD, with MCP tools, full observability and a ReAct core. Ai Agent 快速开发框架","language":"Java","stars":46,"topics":["agent","agentic","ai-agent","chatbot","ddd","java","llm","mcp","observability","spring-ai"],"license":"Apache-2.0","category":"ai-agents","readme_excerpt":"铸灵 ZhuLing 🌐 English 中文 铸造 AI 灵魂 —— 基于 SpringBoot 4.1 + Spring AI 2.0 + DDD 六边形架构的 AI Agent 开发脚手架 📖 项目简介 铸灵（ZhuLing）帮助 Java 开发者 零代码启动 Agent 应用 。只需编写一份 YAML 配置文件，即可获得： - ✅ 多 Agent 独立注册与运行时隔离 - ✅ 统一对话目标选择（Agent / Workflow） - ✅ 同步 & SSE 流式对话接口 - ✅ 多轮会话记忆与历史消息持久化 - ✅ MCP 工具调用（Local / SSE / Stdio 三种模式） - ✅ Skills 脚本包加载与执行 - ✅ 完整的可观测性（Token 统计、工具遥测、Trace ID、上下文占用比） - ✅ 版本化 SSE 事件信封（turn / message / reasoning / tool 生命周期事件） - ✅ 单 Agent ReAct 执行内核 （多步 thought → act → observe 、过程级观测、实时步骤轨迹） - ✅ 节点生命周期拦截器（观测、错误归一化、安全策略扩展点） - ✅ 内置可观测对话工作台 UI 🖼️ 界面预览 登录 对话目标选择 可观测对话工作台 🏗️ 技术栈 组件 版本 说明 --- --- --- JDK 21 支持虚拟线程 SpringBoot 4.1.0 核心框架 Spring AI 2.0.1-SNAPSHOT LLM 调用统一管理 Spring AI Alibaba 1.1.2.0 Agent 编排扩展 WebFlux — 仅用于对话流式输出 MyBatis-Plus 3.5.17 持久层（传统阻塞式） MySQL 8.0+ 会话 / 消息持久化 MCP SDK 2.0.0-M2 Model Context Protocol Jackson 2.17.2 JSON 序列化 📁 工程结构 依赖规则 ： Trigger → API → Case → Domain ← Infrastructure ，所有依赖向内指向 Domain。 🚀 快速开始 环境要求 - JDK 21+ - Maven 3.8+ - MySQL 8.0+（或 PostgreSQL 15+） 1. 克隆项目 2. 初始化数据库 创建数据库后，执行以下建表 SQL： 3. 修改配置 编辑 zhuling-app/src/main/resources/application-dev.yml ： 4. 配置你的 Agent 编辑 zhuling-app/src/main/resources/agent-config/agents/ 下的 YAML 文件（或新建一个），填写你的模型 API 信息： 💡 支持所有 OpenAI 兼容的 LLM 服务（OpenAI、通义千问、智谱、Moonshot、各种中转站等）。 5. 编译 & 启动 6. 验证 - 工作台 UI ：直接用浏览器打开 zhuling-ui/index.html - API 测试 ：参考下方 API 接口文档 📋 Agent YAML 配置详解 每个 Agent 对应 agent-config/agents/ 目录下的一个 YAML 文件，一个文件定义一个 Agent。 完整配置模板 配置校验规则 启动时会自动校验： - id 、 agent.agent-id 不能为空 - Agent ID 不能重复 - ai-api.base-url","default_branch":null,"files":null,"tree":[],"storefront":"/r/Vinist123","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Vinist123/zhuling/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}