📦
Love Master Agent
ai智能项目
0 installs
Trust: 34 — Low
Devtools
Ask AI about Love Master Agent
Powered by Claude · Grounded in docs
I know everything about Love Master Agent. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Loading tools...
Reviews
Documentation
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 文件了解详情。
🙏 致谢
⭐ 如果这个项目对你有帮助,请给它一个星标!
