About Love Master Agent
Love Master Agent is an MCP server published by szq333 in the Developer Tools category: ai智能项目.
The repository has 2 stars and 0 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/szq333/love-master-agentThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Love Master Agent
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
Yu AI Agent - 智能AI代理平台
一个基于Spring AI和Vue3构建的智能AI代理平台,集成了多种AI能力,包括恋爱顾问、超级智能体、RAG知识库、工具调用和MCP协议支持。
🌟 项目特色
- 🤖 多AI应用集成:恋爱顾问、超级智能体等多种AI应用
- 🧠 RAG知识库:基于PGVector的向量数据库,支持文档检索增强
- 🔧 工具调用:丰富的工具集,包括文件操作、网页抓取、PDF生成等
- 🌐 MCP协议:支持模型上下文协议,可扩展外部服务
- 💬 实时对话:支持SSE流式响应,提供流畅的对话体验
- 🎨 现代化UI:基于Vue3的响应式前端界面
- 🐳 容器化部署:支持Docker一键部署
🏗️ 技术架构
后端技术栈
- 框架:Spring Boot 3.4.4
- AI框架:Spring AI 1.0.0-M6
- 数据库:MySQL + PostgreSQL (PGVector)
- ORM:MyBatis-Plus
- 连接池:Druid
- 文档:Knife4j (Swagger)
- 工具库:Hutool
- 认证:JWT
前端技术栈
- 框架:Vue 3.3.4
- 路由:Vue Router 4.2.4
- HTTP客户端:Axios
- 构建工具:Vite
- 实时通信:Server-Sent Events (SSE)
AI能力
- 大模型:阿里云百炼、灵积大模型
- 向量数据库:PGVector
- 工具调用:Spring AI Tool Framework
- MCP协议:模型上下文协议支持
📁 项目结构
yu-ai-agent/
├── src/main/java/com/yupi/yuaiagent/
│ ├── app/ # AI应用层
│ │ └── LoveApp.java # 恋爱顾问应用
│ ├── advisor/ # 拦截器
│ ├── chatmemory/ # 对话记忆
│ ├── config/ # 配置类
│ ├── controller/ # 控制器
│ ├── entity/ # 实体类
│ ├── interceptor/ # 拦截器
│ ├── mapper/ # 数据访问层
│ ├── model/ # AI模型
│ │ ├── YuManus.java # 超级智能体
│ │ └── ToolCallAgent.java # 工具调用代理
│ ├── rag/ # RAG相关
│ ├── service/ # 业务服务
│ ├── tools/ # 工具集
│ │ ├── FileOperationTool.java
│ │ ├── WebScrapingTool.java
│ │ ├── PDFGenerationTool.java
│ │ └── ...
│ └── utils/ # 工具类
├── src/main/resources/
│ ├── document/ # 知识库文档
│ ├── prompt/ # 提示词模板
│ └── mcp-servers/ # MCP服务器
├── yu-ai-agent-frontend/ # 前端项目
└── yu-image-search-mcp-server/ # 图片搜索MCP服务器
🚀 快速开始
环境要求
- Java 21+
- Node.js 16+
- MySQL 8.0+
- PostgreSQL 13+ (支持pgvector扩展)
- Maven 3.6+
1. 克隆项目
git clone <repository-url>
cd yu-ai-agent
2. 数据库配置
MySQL配置
CREATE DATABASE yu_ai_agent CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
PostgreSQL配置
CREATE DATABASE yu_ai_agent;
-- 安装pgvector扩展
CREATE EXTENSION vector;
3. 配置文件
复制并修改配置文件:
cp src/main/resources/application-local.yml.example src/main/resources/application-local.yml
配置示例:
spring:
datasource:
mysql:
url: jdbc:mysql://localhost:3306/yu_ai_agent
username: your_username
password: your_password
postgresql:
url: jdbc:postgresql://localhost:5432/yu_ai_agent
username: your_username
password: your_password
ai:
dashscope:
api-key: your_dashscope_api_key
mcp:
client:
stdio:
servers-configuration: classpath:mcp-servers.json
4. 启动后端
# 使用Maven启动
mvn spring-boot:run
# 或使用JAR包启动
mvn clean package
java -jar target/yu-ai-agent-0.0.1-SNAPSHOT.jar
5. 启动前端
cd yu-ai-agent-frontend
npm install
npm run dev
6. 访问应用
- 前端地址:http://localhost:5173
- 后端API:http://localhost:8123/api
- API文档:http://localhost:8123/api/swagger-ui.html
🐳 Docker部署
构建镜像
# 构建后端镜像
docker build -t yu-ai-agent:latest .
# 构建前端镜像
cd yu-ai-agent-frontend
docker build -t yu-ai-agent-frontend:latest .
使用Docker Compose
version: '3.8'
services:
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: yu_ai_agent
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
postgresql:
image: pgvector/pgvector:pg15
environment:
POSTGRES_DB: yu_ai_agent
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
backend:
image: yu-ai-agent:latest
ports:
- "8123:8123"
depends_on:
- mysql
- postgresql
environment:
SPRING_PROFILES_ACTIVE: prod
frontend:
image: yu-ai-agent-frontend:latest
ports:
- "80:80"
depends_on:
- backend
volumes:
mysql_data:
postgres_data:
🔧 功能特性
1. AI恋爱顾问
- 基于专业恋爱知识库的智能咨询
- 支持多轮对话记忆
- 生成个性化恋爱报告
- RAG检索增强回答
2. 超级智能体 (YuManus)
- 多工具集成调用
- 复杂任务分解执行
- 支持文件操作、网页抓取、PDF生成等
- 智能任务规划
3. RAG知识库
- 基于PGVector的向量存储
- 支持文档切片和检索
- 查询重写和优化
- 上下文增强
4. 工具调用
- 文件操作:创建、读取、写入文件
- 网页抓取:使用Jsoup抓取网页内容
- PDF生成:支持中文字体的PDF生成
- 资源下载:下载网络资源
- 终端操作:执行系统命令
- 网络搜索:集成搜索API
5. MCP协议支持
- 支持高德地图API
- 自定义图片搜索服务
- 可扩展的外部服务集成
📚 API文档
主要接口
AI对话接口
GET /api/ai/love_app/chat/sync?message={message}&chatId={chatId}
GET /api/ai/love_app/chat/sse?message={message}&chatId={chatId}
超级智能体接口
GET /api/ai/manus/chat?message={message}
MCP工具接口
GET /api/ai/mcp/chat?message={message}&chatId={chatId}
用户管理接口
POST /api/user/register
POST /api/user/login
GET /api/user/current
🔧 开发指南
添加新工具
- 创建工具类:
@Component
public class MyCustomTool {
@Tool(description = "工具描述")
public String myTool(@ToolParam(description = "参数描述") String param) {
// 工具实现
return "结果";
}
}
- 注册工具:
@Configuration
public class ToolRegistration {
@Bean
public ToolCallback[] allTools() {
return ToolCallbacks.from(
// 现有工具...
new MyCustomTool()
);
}
}
添加MCP服务器
- 在
mcp-servers.json中配置:
{
"mcpServers": {
"my-server": {
"command": "java",
"args": ["-jar", "my-server.jar"],
"env": {
"API_KEY": "your-api-key"
}
}
}
}
自定义RAG
- 创建文档加载器:
@Component
public class MyDocumentLoader {
public List<Document> loadDocuments() {
// 加载文档逻辑
}
}
- 配置向量存储:
@Configuration
public class VectorStoreConfig {
@Bean
public VectorStore myVectorStore() {
// 向量存储配置
}
}
🧪 测试
# 运行后端测试
mvn test
# 运行前端测试
cd yu-ai-agent-frontend
npm test
📝 配置说明
环境配置
application.yml- 基础配置application-local.yml- 本地开发配置application-prod.yml- 生产环境配置
关键配置项
# AI模型配置
spring:
ai:
dashscope:
api-key: ${DASHSCOPE_API_KEY}
# 数据库配置
datasource:
mysql:
url: jdbc:mysql://localhost:3306/yu_ai_agent
postgresql:
url: jdbc:postgresql://localhost:5432/yu_ai_agent
# MCP配置
mcp:
client:
stdio:
servers-configuration: classpath:mcp-servers.json
🤝 贡献指南
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
🙏 致谢
⭐ 如果这个项目对你有帮助,请给它一个星标!
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.