使用 Nestjs 和 Vue3 搭建的 AIGC 生态社区
NiniAi 开源版本现已上线
当前特色支持功能
- GPT3/4模型支持与控制
- openai DALL-E2绘画支持
- Midjourney绘画支持
- 全套卡密系统支持
- 完善的后台管理系统支持
部分截图
功能支持
- 支持邮件激活账号
- 支持上下文对话
- 精准统计绘画token、记录所有用户消费排行
- 支持模糊匹配自定义回复消息
- 支持按此按张按余额多种扣费方式
- 支持套餐卡密生成及自定义卡密生成
- 支持自定义配置发卡地址
- 支持网站信息配置、名称、客服QV
- 支持自定义邮件模板,发送定制化邮件内容
- 支持自定义公告信息,支持md格式、html格式实时公告
- 支持Dell模型绘画,及SD绘画【用户端待接入】
- 支持注册配置自定义赠送额度
- 支持生成专属邀请码邀请用户双方共同获得额度
- 支持敏感词配置,记录敏感词触发行为状态IP等。
- 支持手动锁定封禁用户账号。
- 支持自定义绘画内容推荐
- 支持多级权限区分,普通演示账号无编辑删除等权限且不能查阅详情的敏感信息比如邮箱!
- 支持特定用户有权访问4.0API,指定名单访问指定模型
- 接入SD、MJ等更加优质的绘画服务
- 增加多人实时聊天房间接入AI机器人
下版本计划
- 支持站内支付宝微信支付
- 用户端接入、应用商店、更加精准的prompt的预设分类
- 接入微信登录|公众号登录
- 用户端Ui更新调整
- 用户端自主选择模型
- MJ绘画流程优化简化
手摸手部署文档教程请转到 【两步启动】
必要环境
- nodejs version > 16
- pnpm version > 6
- mysql version >= 5.7
- redis
目录结构
- chat 用户端代码
- admin 管理端代码
- service 服务端代码
本地开发
- 进入
service
目录,创建.env
文件,修改和测试数据库信息连接信息和 Redis 配置。 - 数据库名称不能已经存在默认是chatgpt
- redis、mysql 一定要先本地测试通,再保存.env文件
- 上诉工作完成后执行:
pnpm i
pnpm dev
注意注意!这一步必须做,自动创建数据库,否则后面没有数据库、各种失败!
# 安装依赖
pnpm install
# 启动项目
pnpm dev
# 打包项目
pnpm build
三端统一命令
project-root
|-- chat # 用户端代码
|-- admin # 管理端代码
|-- service # 服务端代码
启动项目
分别安装依赖并启动项目:
- 进入
chat
目录,执行以下命令启动用户端:
pnpm i
pnpm dev
- 进入
admin
目录,执行以下命令启动管理端:
pnpm i
pnpm dev
关于授权
授权模块位于 src/modules/globalConfig/globalConfig.service.ts
文件下。如果要移除授权,请清空 nineAiCheckAuth
函数内容,并移除 onModuleInit
中的 nineAiCheckAuth
。 对应的定时任务也可以移除,位于 src/modules/task/task.service.ts
文件中的 checkauth
定时任务。
打包路径问题
后端服务
后端服务只需执行以下命令即可:
pnpm build
生成七个文件,其中 .env
是环境变量文件,需要在后续部署时自行挂载或创建。项目提供示例文件 .env.example
。
chat(前端项目)
前端项目打包使用配置文件 .env.production
,与 admin
相同。修改文件中的变量即可,如果分开部署,请填写线上后端服务地址。
admin(管理端)
管理端与 chat 部署方式相同,修改 .env.production
中的配置即可。分离部署时,只需替换线上地址,其余配置暂时用不到。
其他文件
后端服务打包后需要这七个文件
-
chat:前端项目打包的配置文件是.env.production 和admin相同
-
只需要改变这个变量 如果分开部署的则填写你的线上后端服务地址 建议分开 第一行地址填写这个自己的线上地址就行
-
admin:管理端是同理、一样修改这个文件
-
同样分离部署只需要打开红框的内容即可、替换为自己的线上地址 其余配置并不需要修改 也暂时用不到
其他问题
刷新404问题:前端history项目刷新都会404 需要对nginx进行配置
- 最新
- 最热
只看作者