# 练习 **Repository Path**: jeesrc/lagou ## Basic Information - **Project Name**: 练习 - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-18 - **Last Updated**: 2025-11-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AwesomeChat 高阶智能体问答服务系统 ## 项目简介 AwesomeChat是一个基于现代技术栈开发的智能体问答系统,支持多种智能体集成、实时会话交互、权限管理和数据分析功能。系统采用前后端分离架构,分为管理端和会话端两大类应用,提供PC端和移动端访问方式。 ## 系统架构 系统采用简化架构设计原则,将系统分为管理端和会话端两大类工程,共计5个工程组成。系统聚焦于核心功能实现,架构清晰、易于维护和扩展。 ```mermaid graph TD subgraph "用户层" AdminUser[管理员用户] ChatUser[会话用户] end subgraph "前端层" ManageWeb[管理端Web应用 Vue 3 + TypeScript + Tailwind CSS] ChatWeb[会话端Web应用 Vue 3 + TypeScript + Tailwind CSS] ChatH5[会话端H5应用 Vue 3 + TypeScript + Vant UI] end subgraph "后端服务层" ManageServer[管理服务 Spring Boot 3 + Sa-Token + JWT] ChatServer[会话服务 Spring Boot 3 + WebFlux] end subgraph "集成层" AgentIntegration[智能体集成 适配器模式] LLMIntegration[大模型集成 意图识别] end subgraph "数据层" MySQL[(MySQL数据库)] Redis[(Redis缓存)] end AdminUser --> ManageWeb ChatUser --> ChatWeb ChatUser --> ChatH5 ManageWeb --> ManageServer ChatWeb --> ChatServer ChatH5 --> ChatServer ManageServer --> MySQL ChatServer --> MySQL ChatServer --> Redis ManageServer --> AgentIntegration ChatServer --> AgentIntegration ChatServer --> LLMIntegration AgentIntegration --> ExternalAgents[外部智能体服务 dify/扣子等] LLMIntegration --> ExternalLLM[大模型服务 OpenAI/文心一言等] ``` ## 目录结构 ``` AwesomeChat/ ├── README.md # 项目说明文档 ├── build/ # 构建脚本目录 ├── chat-h5/ # 会话端H5应用工程 ├── chat-web/ # 会话端PC应用工程 │ ├── src/ # 源代码目录 │ ├── package.json # 前端依赖配置 │ ├── vite.config.ts # Vite构建配置 │ └── tailwind.config.js # Tailwind CSS配置 ├── doc/ # 项目文档目录 │ ├── 原型设计稿/ # UI原型设计稿 │ ├── 开发者开发过程帮助文档/ # 开发辅助文档 │ ├── 开发过程本地环境说明.md # 本地开发环境配置说明 │ ├── 概要设计方案.md # 系统概要设计 │ └── 详细设计方案.md # 系统详细设计 ├── java-server/ # Java后端服务目录 │ ├── chat-server/ # 会话服务模块 │ ├── manage-server/ # 管理服务模块 │ ├── common/ # 公共模块 │ └── database/ # 数据库脚本 ├── manage-web/ # 管理端PC应用工程 ├── resources/ # 静态资源目录 │ └── v1.0.0/ # 版本化资源 └── deploy/ # 部署介质目录(规划中) ``` ### 目录说明 - **chat-web**: 会话端的PC端工程,后台服务由chat-server提供 - **chat-h5**: 会话端的移动端H5工程,后台服务由chat-server提供 - **manage-web**: 管理端的PC端工程,后台服务由manage-server提供 - **java-server**: Java的服务端代码,包含chat-server和manage-server两个主要模块 - **doc**: 存储系统的文档资料,包括设计方案、原型设计稿和开发帮助文档 - **resources**: 存放公共图片、图标、主题配置等静态资源,部署时初始化到minio中 - **build**: 构建脚本目录,用于项目构建 - **deploy**: 部署介质目录,用于存放部署相关文件(规划中) ## 技术栈 ### 前端技术 - **运行环境**: Node.js 20 - **包管理器**: pnpm 9 - **框架**: Vue 3 - **构建工具**: Vite - **编程语言**: TypeScript - **样式解决方案**: Tailwind CSS - **移动端UI框架**: Vant UI (H5应用) - **状态管理**: Pinia - **HTTP请求**: Axios - **SSE客户端**: EventSource API (浏览器原生支持) ### 后端技术 - **编程语言**: Java 21 - **主框架**: Spring Boot 3 + Spring Framework - **权限认证**: Sa-Token + JWT - **持久层框架**: MyBatis-Plus - **数据库连接池**: Alibaba Druid - **数据库**: MySQL - **缓存**: Redis - **工具类框架**: Hutool、Lombok - **项目构建**: Maven ### 智能体集成 - **适配器模式**: 自定义适配器,支持不同类型智能体(dify、扣子等) - **大模型集成**: OpenAI API、阿里云通义千问、百度文心一言等 ## 核心功能 ### 管理端功能模块 #### 用户认证与会话管理 - 用户登录(管理员、审计员) - 修改密码 - 修改个人信息 - 会话管理(查看、关闭当前系统中的会话服务所建立的已有通道) #### 角色管理 - 新增角色(角色编码、角色名称、角色描述) - 编辑角色信息 - 删除角色 - 角色授权管理 #### 用户管理 - 用户新增(姓名、电话、登录名、用户角色、头像) - 用户编辑(编辑用户基本信息) - 用户删除 - 重置密码 - 第三方认证管理(微信、手机号绑定) #### 智能体管理 - 新增智能体(名称、logo、说明、调用地址、调用服务类型) - 编辑智能体基本信息 - 删除智能体 - 智能体状态查看(内置智能体不可管理操作) #### 授权管理 - 智能体授权(以会话用户角色为左侧筛选列表) - 人员管理(以会话用户角色为左侧筛选列表) #### 意图识别配置 - 配置意图识别的提示词 - 智能体链接信息配置 - 意图识别测试功能 #### 运行统计 - 实时统计(当前通道情况,各个智能体负载量) - 阶段统计(问答总数,各个智能体回答数,消耗Token数等) - 数据分析报表 ### 会话端功能模块 #### 用户认证与会话管理 - 用户登录 - 修改密码 - 修改个人信息 #### 会话历史管理 - 查看历史会话 - 删除会话 - 准确定标记会话 #### 当前会话交互 - 文本输入 - 语音输入 - 图片粘贴 - 文档上传 - 发送会话请求 - 数据显示(文本、功能卡片、表格等) - 停止当前会话 - 准确定标记当前会话 #### 通道管理 - SSE通道创建与维护 - 消息实时推送 - 通道状态监控 ## 开发流程 1. **需求沟通与设计阶段** - 沟通创建概要设计方案 - 沟通详细设计方案主体结构 - 生成原型设计稿(完善详细设计) - 编写开发过程本地环境说明 2. **项目初始化阶段** - 初始化前端、后端工程 - 配置项目依赖和基础架构 3. **开发阶段** - 开发后端接口 - 开发前端接口 - 编写数据初始化脚本 4. **测试与部署阶段** - 单元测试和集成测试 - 发布静态资源 - 部署应用 ## 快速开始 ### 环境要求 #### 前端环境 - Node.js 20+ - pnpm 9+ #### 后端环境 - JDK 21+ - Maven 3.8+ - MySQL 8.0+ - Redis 6.0+ ### 本地开发 #### 前端项目启动 1. 进入前端项目目录(chat-web、chat-h5或manage-web) 2. 安装依赖:`pnpm install` 3. 启动开发服务器:`pnpm run dev` #### 后端项目启动 1. 进入java-server目录 2. 构建项目:`mvn clean install` 3. 分别启动chat-server和manage-server模块 ### 数据库初始化 1. 进入`java-server/database/`目录 2. 按照版本顺序执行初始化脚本:`init-v1.0.0.sql`、`init-v1.0.1.sql`等 ## 文档说明 - **概要设计方案**: `doc/概要设计方案.md` - 系统整体架构和核心功能设计 - **详细设计方案**: `doc/详细设计方案.md` - 系统详细设计和接口定义 - **本地环境说明**: `doc/开发过程本地环境说明.md` - 本地开发环境配置指南 - **原型设计稿**: `doc/原型设计稿/` - UI原型设计文件 - **开发帮助文档**: `doc/开发者开发过程帮助文档/` - 开发辅助文档和提示词 ## 构建与部署 - 构建脚本位于`build/`目录 - 部署介质将存放于`deploy/`目录(规划中) - 静态资源部署到minio存储服务 ## 版本记录 v1.0.0 - 初始版本,包含基本的智能体管理、会话管理、用户认证等功能