imi-ai 开源项目安装与使用指南
项目简介
imi-ai 是一个基于 PHP+Swoole+Vue 的 ChatGPT 开源实现,旨在提供聊天、问答、代码写作、文章创作以及作业帮助等功能。该项目以优雅的代码结构和合理的项目架构为特点,支持快速部署,适合学习、自用及商业二次开发。
1. 项目目录结构及介绍
imi-ai/
│
├── server # 服务端代码,包括PHP逻辑和Swoole配置
│ ├── resource # 配置文件,如JWT密钥等
│ ├── env.tpl # 环境配置模板文件
│ ├── .gitignore # Git忽略文件配置
│ └── ... # 其他服务端相关文件
│
├── web # 前端Vue应用,负责用户界面
│ ├── src # Vue应用源码
│ ├── public # 静态资源
│ ├── env.tpl # 前端环境配置模板文件
│ └── ... # 其他前端相关文件
│
├── admin # 后台管理系统源码,也是Vue应用
│ ├── src # 后台源码
│ ├── public # 后台静态资源
│ ├── env.tpl # 后台环境配置模板文件
│ └── ... # 其他后台相关文件
│
├── README.md # 项目主读我文件
├── LICENSE # 开源协议文件
└── ...
2. 项目启动文件介绍
服务端
服务端的主要启动脚本位于 server
目录下,运行服务通常使用:
vendor/bin/imi-swoole swoole/start
用于开发和测试环境。- 生产环境下还需编辑
env
文件,确保禁用热更新和调试模式。
前端与后台
前端(web)和后台(admin)均使用Node.js进行构建和启动,主要启动命令位于各自目录下的npm脚本:
- 开发调试前端:
npm run dev
(位于web
目录) - 生产环境编译前端:
npm run build-only
或npm run build
(位于web
目录) - 后台的开发调试同前端流程,配置和启动命令一致,但应用于不同的目录。
3. 项目的配置文件介绍
通用配置
- env: 存在于
server
,web
, 和admin
目录中的.tpl
文件需要复制并重命名为env
,然后根据项目需求修改相应的配置项,例如数据库连接信息、API基础URL等。- 服务端
env
包含JWT签名密钥、数据库连接、Redis设置等。 - 前端和后台的
env
主要用于指定与服务端通信的API基础URL和其他特定环境变量。
- 服务端
服务端特定配置
- server/resource/jwt:存放JWT相关的私钥和公钥,用于安全通信。
- service.php:Swoole的配置文件,调整如监听端口、工作进程数等。
数据库初始化
- 服务端和后台需要导入MySQL或PostgreSQL的数据库结构,通过提供的脚本完成初始化。
此文档提供了快速理解及配置imi-ai项目的概览。确保在进行任何部署前,仔细阅读项目的官方文档和README文件,以获取最新和详细的操作步骤。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考