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
  • 專案