项目简介
本项目是基于Spring Boot后端框架和Vue前端框架构建的智能聊天管理系统,致力于提供高效、简洁且用户友好的聊天体验。系统融合多种实用功能,除基础聊天管理功能外,还支持与OpenAI服务集成,带来更智能的交互体验。
项目的主要特性和功能
后端(Spring Boot)
- 采用Spring Boot框架,确保系统稳定且高性能。
- 提供RESTful API接口,方便前端调用。
- 实现用户管理、会话管理、消息管理等基础功能。
- 支持使用OpenAI API密钥调用OpenAI服务,提供智能聊天功能。
前端(Vue)
- 运用Vue.js框架构建用户界面,交互体验流畅。
- 支持多会话管理,可同时打开多个聊天窗口。
- 具备搜索历史消息功能,便于查找过往对话。
- 提供角色管理,区分管理员和普通用户不同权限。
- UI设计优雅简洁,功能强大,满足不同用户需求。
- 支持PWA,提升移动体验。
- 支持Prompts预设,可用空格或 / 进行模糊搜索。
- 支持多个对话,每个对话可单独设置,通过URL直达。
- 支持导出和导入对话及设置。
- 实时显示当前对话消耗的token及回答的token,可及时打断。
- 支持多种余额查询方式,可定时查询内置账号余额并发送到微信。
- 支持URL query,可当作搜索引擎使用。
安装使用步骤
环境准备
- 安装Java和Maven,用于构建和运行后端代码。
- 安装Node.js和npm,用于安装前端依赖。
具体步骤
- 复制项目代码到本地。
- 后端项目操作:
- 进入后端项目目录。
- 运行
mvn spring-boot:run
启动Spring Boot应用。
- 前端项目操作:
- 进入前端项目目录。
- 运行
npm install
安装依赖。 - 运行
npm run serve
启动Vue应用。
- 访问前端页面,开始使用聊天系统。
部署说明
- 推荐使用Docker进行容器化部署,便于管理和扩展应用。
- 可将应用部署到任何支持HTTP服务的服务器上。
- 也支持部署到Vercel、Netlify、Railway等平台,Vercel为首选,因其支持设置Edge Function服务器地区。
环境变量设置
v1.0.0版本环境变量变化较大,需重新设置。以 CLIENT_
开头的变量会暴露给前端,请勿填写敏感信息。可通过以下两种方式设置:
1. 将 .env.example
文件修改为 .env
,在 .env
中设置。
2. 在Vercel中设置 Environment Variables
,此方式较方便,下次部署时生效。
具体环境变量及说明如下:
| 环境变量 | 说明 | 默认值 |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| OPENAI_API_KEY
| OpenAI API Key,可以填写多个,用 \| 或者 换行 隔开,随机调用。最好是多填几个,API 有并发上的限制。如果用户不填自己的 key,那么就会使用你的 key。 | 无 |
| OPENAI_API_BASE_URL
| 本地开发时可以填写 OpenAI 的代理服务器,但是 Vercel 不需要。并且不建议生产阶段使用。 | api.openai.com |
| NO_GFW
| 表示可以服务器可以直连,不需要OPENAI_API_BASE_URL
,就算设置了也不使用。 | false |
| TIMEOUT
| OpenAI API 超时。单位为毫秒,Vercel Edge Function 最大超时为 30000。 | 30000 |
| PASSWORD
| 网站密码 | 无 |
| CLIENT_DEFAULT_MESSAGE
| 默认提示信息 | - xx xx |
| CLIENT_GLOBAL_SETTINGS
| 默认全局设置 | {"APIKey":"","password":"","enterToSend":true} |
| CLIENT_SESSION_SETTINGS
| 默认对话设置,对话设置在每个对话中都是独立的。 | {"title":"","saveSession":true,"APITemperature":0.6,"continuousDialogue":true,"APIModel":"gpt-3.5-turbo"} |
| CLIENT_MAX_INPUT_TOKENS
| 有效上下文+输入的 token 数。OpenAI 不同模型的最大 token 不一样,价格也不同,可以分别设置。并且 OpenAI 会统计输入+输出之和,但我们这里只限制输入。 | {"gpt-3.5-turbo":4096,"gpt-4":8192,"gpt-4-32k":32768} |
| SEND_KEY
| 使用 Server 酱 推送帐号余额以及可用状态到微信,如果需要自行获取。推送时间为早上 8 点和晚上 8 点,在 vercel.json 文件中修改。如果 key 太多,超过 20 个,有可能失败。 | 无 |
| SEND_CHANNEL
| Server 酱 的推送通道,默认微信服务号。 | 9 |
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】