songrongzhen/easy-agent

easy-agent是Agent组件,零改造接入,为存量系统赋予智能体(Agent)能力。

解决的问题

Easy Agent 是 Java 应用程序的开发组件,可简化构建 AI 代理的过程。它允许开发者快速将业务逻辑暴露为大型语言模型(LLMs)的工具,使用本地文档实现检索增强生成(RAG),并通过模型上下文协议(MCP)提供工具服务。

工作原理

该项目以 Spring Boot Starter 的形式构建,与 Spring 生态系统深度集成。通过注解和 SPI 的组合来管理 AI 能力:

  • 工具注册:使用 @EasyTool 标记的方法会被自动发现并注册到 ToolRegistry 中,从而可被 LLM 或 MCP 客户端调用。
  • MCP 服务器:实现了轻量级的 MCP HTTP 服务器(JSON-RPC 2.0),将这些注册的工具暴露给 Claude Code 等客户端。
  • RAG 引擎:从类路径或 URL 加载 PDF、Excel 和 HTML 文件,将其分块为 DocumentChunk 对象并存储在内存中(预留 PGVector 支持)。支持多种搜索策略,包括嵌入、余弦相似度和 TF-IDF。
  • LLM 集成:提供统一的 HTTP 客户端以支持 OpenAI 兼容 API,支持 DashScope、DeepSeek、Ollama 和 OpenAI 等提供方,并内置自动工具调用循环和重试机制。
  • 技能生成:提供元工具,允许用户根据注册的工具生成特定于业务的 Skill Markdown 文件。

适用人群

使用 Spring Boot 3.5+ 和 JDK 17+,希望在不重写核心逻辑的前提下为现有业务应用添加代理能力的 Java 开发者。

主要亮点

  • 零侵入性:使用 @EasyTool 即可将现有服务方法转换为 AI 工具,无需更改业务代码结构。
  • MCP 支持:原生实现模型上下文协议(MCP),可无缝集成到 AI IDE 和客户端中。
  • 灵活的 RAG:支持自动索引本地 PDF/Excel 文件,并可在运行时添加 HTML 知识库。
  • 多模型兼容:通过单一配置支持多个 OpenAI 兼容提供方,并实现模型到提供方的自动映射。
  • 治理能力:通过白名单和黑名单,对通过 MCP 暴露的工具进行细粒度控制。

相关

  • 项目
  • 项目
  • 项目
  • Dispatch
  • 项目