一个基于 Vue 3 + Spring Boot + FastAPI 的全栈智能体管理平台,集成阿里云通义千问(Qwen)大模型 API,支持自定义智能体、对话管理和模型参数配置。
- 🤖 智能体管理 - 创建、编辑、删除自定义 AI 智能体
- 💬 智能对话 - 与智能体进行实时对话,支持流式响应
- ⚙️ 模型配置 - 自定义系统提示词、温度、最大 Token 等参数
- 🔐 用户认证 - JWT Token 认证,安全的用户登录系统
- 📱 响应式设计 - 适配桌面端和移动端
| 技术 | 版本 | 说明 |
|---|---|---|
| Vue.js | 3.5 | 渐进式 JavaScript 框架 |
| Vite | 7.2 | 下一代前端构建工具 |
| Element Plus | 2.11 | Vue 3 组件库 |
| Tailwind CSS | 4.1 | 原子化 CSS 框架 |
| Pinia | 3.0 | Vue 状态管理 |
| Vue Router | 4.6 | 官方路由管理器 |
| Axios | 1.13 | HTTP 客户端 |
| 技术 | 版本 | 说明 |
|---|---|---|
| Spring Boot | 4.0 | Java 企业级框架 |
| Java | 17 | 编程语言 |
| MyBatis | 4.0 | ORM 持久层框架 |
| MySQL | 8.0 | 关系型数据库 |
| Lombok | 1.18 | Java 代码简化工具 |
| JJWT | 0.12 | JWT Token 库 |
| 技术 | 版本 | 说明 |
|---|---|---|
| Python | 3.11+ | 编程语言 |
| FastAPI | 0.115 | 高性能异步 Web 框架 |
| OpenAI SDK | 1.58 | AI API 客户端 |
| Pydantic | 2.10 | 数据验证库 |
| Uvicorn | 0.34 | ASGI 服务器 |
| 技术 | 说明 |
|---|---|
| Docker | 容器化部署 |
| Docker Compose | 多容器编排 |
| Nginx | 前端静态资源服务 |
├── front_end/ # Vue 3 前端项目
│ ├── src/
│ │ ├── components/ # 公共组件
│ │ ├── views/ # 页面视图
│ │ ├── router/ # 路由配置
│ │ ├── data/ # API 接口
│ │ ├── stores/ # Pinia 状态管理
│ │ └── styles/ # 全局样式
│ └── package.json
│
├── back_end/ # Spring Boot 后端项目
│ ├── src/main/java/com/example/demo/
│ │ ├── app/ # 智能体模块
│ │ ├── user/ # 用户模块
│ │ ├── common/ # 公共模块
│ │ └── config/ # 配置类
│ └── pom.xml
│
├── ai_service/ # Python FastAPI AI 服务
│ ├── main.py # 主应用入口
│ ├── qwen_service.py # Qwen API 服务
│ ├── auth.py # JWT 认证
│ ├── database.py # 数据库连接
│ ├── models.py # 数据模型
│ └── requirements.txt
│
├── deploy/ # Docker 部署配置
│ ├── docker-compose.yml # 容器编排文件
│ ├── init-db/ # 数据库初始化脚本
│ ├── Dockerfile.backend # 后端镜像
│ ├── Dockerfile.frontend # 前端镜像
│ └── nginx.conf # Nginx 配置
│
└── README.md
- Node.js >= 20.19.0
- Java 17+
- Python 3.11+
- Docker & Docker Compose
- MySQL 8.0 (或使用 Docker)
- 克隆项目
git clone <repository-url>
cd Internet_PersonalPJ_New- 配置环境变量
复制环境变量模板并填写实际值:
cd deploy
cp .env.example .env编辑 .env 文件,配置你的 API Key 和数据库密码:
# 阿里云百炼 API Key (必填,从 https://bailian.console.aliyun.com 获取)
DASHSCOPE_API_KEY=your-api-key-here
# 数据库配置
MYSQL_ROOT_PASSWORD=your-root-password
MYSQL_PASSWORD=your-db-password
# JWT 密钥
JWT_SECRET=your-jwt-secret-key
⚠️ 安全提示:.env文件包含敏感信息,已被.gitignore忽略,不会提交到代码仓库。
- 启动所有服务
docker-compose up -d --build- 访问应用
- 🌐 前端应用: http://localhost
- 🔧 后端 API: http://localhost:8080
- 🤖 AI 服务: http://localhost:8001
- 📊 phpMyAdmin: http://localhost:8081
cd docker-mysql
docker-compose up -dcd back_end
./mvnw spring-boot:runcd ai_service
pip install -r requirements.txt
export DASHSCOPE_API_KEY="your-api-key"
python main.pycd front_end
npm install
npm run dev| 变量名 | 说明 | 默认值 |
|---|---|---|
DASHSCOPE_API_KEY |
阿里云百炼 API Key | (必填) |
JWT_SECRET |
JWT 签名密钥 | mySecretKey... |
JWT_ALGORITHM |
JWT 算法 | HS384 |
DB_HOST |
数据库主机 | mysql |
DB_PORT |
数据库端口 | 3306 |
DB_NAME |
数据库名称 | demo_db |
DB_USER |
数据库用户 | demo_user |
DB_PASSWORD |
数据库密码 | demo_pass_123 |
| 模型名称 | 说明 |
|---|---|
| qwen-plus | 通义千问 Plus (推荐) |
| qwen-turbo | 通义千问 Turbo (快速) |
| qwen-max | 通义千问 Max (最强) |
| qwen-long | 通义千问 Long (长文本) |
| 参数 | 范围 | 说明 |
|---|---|---|
| temperature | 0-2 | 控制输出随机性,值越高越随机 |
| max_tokens | 1-8000 | 最大输出 Token 数 |
| top_p | 0-1 | 核采样参数 |
| top_k | 1-100 | Top-K 采样参数 |
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/register |
用户注册 |
| POST | /api/login |
用户登录 |
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/apps |
获取智能体列表 |
| POST | /api/apps |
创建智能体 |
| PUT | /api/apps/{id} |
更新智能体 |
| DELETE | /api/apps/{id} |
删除智能体 |
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/ai/apps/{id}/config |
获取智能体配置 |
| PUT | /api/ai/apps/{id}/config |
更新智能体配置 |
| POST | /api/ai/chat |
发送聊天消息 |
| POST | /api/ai/chat/stream |
流式聊天 (SSE) |
| GET | /api/ai/apps/{id}/sessions |
获取会话列表 |
- JWT Token 采用 HS384 算法签名
- 密码使用 BCrypt 加密存储
- 所有 API 请求需携带 Authorization Header
- CORS 已配置允许跨域请求
- 前端使用 ESLint + Prettier
- 后端遵循阿里巴巴 Java 开发规范
- Python 遵循 PEP 8 规范
feat: 新功能
fix: 修复 Bug
docs: 文档更新
style: 代码格式
refactor: 重构
test: 测试
chore: 构建/工具
A: 检查 JWT 配置,确保前后端 JWT_SECRET 和 JWT_ALGORITHM 一致。
A: 检查 DASHSCOPE_API_KEY 是否正确配置。
A: 确保 MySQL 服务已启动,检查数据库连接参数。
MIT License
欢迎提交 Issue 和 Pull Request!
Made with ❤️ by Developer