一个基于 Spring Boot 3.5(Java 21)的 AI Agent 后端项目,内置 MCP 客户端能力,并包含一个独立的图片搜索 MCP Server。
项目介绍(智能体用途):
- LoveApp 💘:恋爱陪伴与情感建议型智能体,强调温柔、共情、可对话的关系指导。
- WhisperNest 🌙:情绪陪伴型智能体,倾向安抚与倾听,提供安全、轻柔的情绪支持。
- EternityManus 🧭:参考 Manus 的设计方法,强调工具调用与可编排的任务执行,输出清晰的中文结果。
- AI Agent 对话与工具调用(包含多种 Agent 实现与 Advisor)
- RAG 能力(文档加载、向量检索、查询改写)
- MCP 客户端支持(stdio + sse)
- 图片搜索 MCP Server(可独立部署)
- Swagger/Knife4j 接口文档
负责 Agent 能力、对话逻辑、工具调用、RAG 相关功能与 API 暴露。
默认端口:8092,上下文路径:/api
独立的 MCP Server,可用 stdio 或 sse 方式接入主服务。
默认端口:8866
src/main/java/xyz/bx25/cljaiagent/agent:Agent 实现src/main/java/xyz/bx25/cljaiagent/advisor:对话 Advisorsrc/main/java/xyz/bx25/cljaiagent/rag:RAG 相关组件src/main/java/xyz/bx25/cljaiagent/tools:工具能力src/main/java/xyz/bx25/cljaiagent/controller:对外 APIsrc/main/resources:配置文件 / 文档 / 资源cli-image-search-mcp-server/:独立图片搜索 MCP Server
- MyLoggerAdvisor:记录模型输出,便于调试和排查对话效果。
- ReReadingAdvisor:对用户问题做“再阅读”式改写,提高模型理解一致性。
- RAG 相关 Advisor:在
rag包内提供检索增强配置与工厂。
- EternityManus:参考大名鼎鼎的 Manus 设计方法,强调可解释、可编排的 Agent 流程。
- ReActAgent:ReAct 思路的工具调用与推理流程。
- ToolCallAgent:面向工具调用的对话编排与执行。
- LoveAppDocumentLoader:加载
resources/document/*.md文档作为知识源。 - LoveAppVectorStoreConfig:向量库构建(SimpleVectorStore),含关键词补全。
- LoveAppRagCustomAdvisorFactory:构建检索增强 Advisor(带过滤与阈值)。
- LoveAppContextualQueryAugmenterFactory:空上下文时返回友好提示。
- QueryRewriter:查询改写(RewriteQueryTransformer)。
- LoveAppCloudAdvisorConfig:基于 DashScope 知识库的检索增强配置。
请务必在运行前设置这些环境变量,否则功能不可用。
主服务(clj-ai-agent)需要:
- DASHSCOPE_API_KEY = 你的 DashScope Key
- SEARCHAPI_API_KEY = 你的 SearchAPI Key
- AMAP_MAPS_API_KEY = 你的高德地图 Key(MCP stdio 用)
图片搜索 MCP Server 需要:
- PEXELS_API_KEY = 你的 Pexels Key
./mvnw -DskipTests package
export SPRING_PROFILES_ACTIVE=local
export DASHSCOPE_API_KEY=你的key
export SEARCHAPI_API_KEY=你的key
export AMAP_MAPS_API_KEY=你的key
java -jar target/clj-ai-agent-0.0.1-SNAPSHOT.jarSwagger UI:http://localhost:8092/api/swagger-ui.html
cd cli-image-search-mcp-server
./mvnw -DskipTests package
export SPRING_PROFILES_ACTIVE=sse
export PEXELS_API_KEY=你的key
java -jar target/cli-image-search-mcp-server-0.0.1-SNAPSHOT.jar主服务配置在 src/main/resources/application.yml 中:
stdioMCP:使用mcp-servers.jsonsseMCP:默认连接http://localhost:8866
如果你把 cli-image-search-mcp-server 改成 SSE,只要保证服务在 8866 启动,主服务会通过 SSE 连接它。
注意:如果生产要用图片搜索 MCP Server,请单独部署它,并把主服务的
sse指向对应地址。