public static void main(String[] args) throws Exception {
List<BaseOxy> oxySpaceList = getDefaultOxySpace();
Mas mas = new Mas("app", oxySpaceList);
mas.setOxySpace(oxySpaceList);
mas.init();
Map<String, Object> info = new HashMap<>();
info.put("query", "What time is it now? Please save it into time.txt.");
System.out.println("Starting chatWithAgent request");
mas.chatWithAgent(info);
}
public static List<BaseOxy> getDefaultOxySpace() {
return Arrays.asList(
HttpLlm.builder()
.name("default_llm")
.apiKey(EnvUtils.getEnv("OXY_LLM_API_KEY"))
.baseUrl(EnvUtils.getEnv("OXY_LLM_BASE_URL"))
.modelName(EnvUtils.getEnv("OXY_LLM_MODEL_NAME"))
.llmParams(Map.of("temperature", 0.01)) // Use Map.of to create immutable Map
.timeout(30)
.build(),
// 2. Time tools (assuming preset_tools.time_tools is a predefined Tool instance)
PresetTools.TIME_TOOLS, // Need to define PresetTools class
// 3. Time agent
ReActAgent.builder()
.name("time_agent")
.desc("A tool that can query the time")
.tools(Arrays.asList("time_tools")) // Tool name list
.build(),
// 4. File tools
PresetTools.FILE_TOOLS,
// 5. File agent
ReActAgent.builder()
.name("file_agent")
.desc("A tool that can operate the file system")
.tools(Arrays.asList("file_tools"))
.build(),
// 6. Math tools
PresetTools.MATH_TOOLS,
// 7. Math agent
ReActAgent.builder()
.name("math_agent")
.desc("A tool that can perform mathematical calculations.")
.tools(Arrays.asList("math_tools"))
.build(),
// 8. Master Agent
ReActAgent.builder()
.isMaster(true) // Set as master agent
.name("master_agent")
.llmModel("default_llm")
.subAgents(Arrays.asList("time_agent", "file_agent", "math_agent")) // Sub-agent list
.build()
);
}
中文
一个先进的Java框架,使开发者能够快速构建生产级智能系统。
🌐 访问官网: OxyGent | 📚 开源地址: Python版本 | Java版本
🔍 1. 项目概述
OxyGent 是一个开源的多智能体框架,将 Agent / LLM / Tool 统一为可组合的 Oxy 组件,提供透明的端到端流水线与可编排能力,支持在生产环境下持续演进与无限扩展。
JDOxyGent4J 与 Python 版本理念一致,并针对 Java 生态深度优化:原生类型安全与编译期校验、Spring Boot 无缝集成、企业级并发与稳定性、面向 Java 开发者的友好 API。
JDOxyGent4J 已在多个实际业务场景中得到验证和应用,证明了其在生产环境下的稳定性与扩展性。
⚡ 2. 核心特性
⚙️ Java生态深度集成
🛡️ 企业级可靠性保障
⚡ 高性能并发处理
🔄 灵活配置与可扩展存储
🗂️ 3. 项目结构
🚀 4. 快速开始
环境要求
安装方式
方式一:Maven依赖(推荐)
方式二:本地构建
启动参数(必需)
由于使用反射和动态代理,需添加以下 JVM 参数:
可参考IDEA配置 idea_env_vm_config
或者启动IDEA配置脚本 (必需)
📚 详细示例
项目提供了多个完整的示例,位于 SAMPLES.md;更多教程请阅读
docs/docs_zh。示例启动后可预览前端页面:
import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map;
public class DemoInReadme {
}
访问地址
http://localhost:8080🤝 6. 贡献指南
我们欢迎任何形式的贡献!包括但不限于:
dev分支)贡献流程:
git checkout -b feat/your-feature)我们感谢各种形式的贡献!🎉🎉🎉 如果您在开发过程中遇到问题,请查看我们的文档:* 文档
📣 7. 社区与支持
关注文档更新:docs/
如果你在OxyGent的开发或使用过程中遇到任何问题,欢迎在项目的Issue区域提交可复现的步骤或日志片段。 如果您有企业内部Slack,请直接联系OxyGent Core团队。
欢迎沟通和联系我们:
🙏 8. 致谢
感谢所有为 OxyGent 项目做出贡献的开发者!
📄 9. 开源协议
本项目采用 Apache License 2.0 开源协议。
© 2025 京东 OxyGent 团队 —— 让智能体开发更简单、更高效!