99AI:基于 NineAI 2.4.2 二开的可商业化 AI Web 应用(免授权,无后门,非盗版,已整合前后端,支持快速部署)。
未编译源码暂不开源,相比稳定版,开发版进度更快一些。
![image](https://private-user-images.githubusercontent.com/24899308/313143651-9b6f3e28-1cfa-4c76-8f43-d898c7f72a08.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNzQ4MzcsIm5iZiI6MTcyMzI3NDUzNywicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNDM2NTEtOWI2ZjNlMjgtMWNmYS00Yzc2LThmNDMtZDg5OGM3ZjcyYTA4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEwVDA3MjIxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk3YjZkMjBmY2JkMTQ1ODdkYTc0ZmJjZmFiNWE3ZmUzOWQzZTFjYjIzYmZhNWRhNzcxODgyZGFlNjg4Y2FlNzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.OhnTy_gK0zOQWJUtszs6fcbR_-DIEiY5UA3OPuv_29c)
![image](https://private-user-images.githubusercontent.com/24899308/313149448-bea19b79-3c55-47fa-ad7f-e844c63bfd28.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNzQ4MzcsIm5iZiI6MTcyMzI3NDUzNywicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNDk0NDgtYmVhMTliNzktM2M1NS00N2ZhLWFkN2YtZTg0NGM2M2JmZDI4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEwVDA3MjIxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc4YzViMTMyZmVkYTIwYmJlNGIyZDQ3NmQ4YzA2YjdkZjg3ZDNhN2E3NDFjYjI5MjhkODBkZDc1MzgzYzk1MjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.vV7d2G-dMTUah9t_oFhbUpOjgdrJ8AD-e_zN7XM3W4E)
![image](https://private-user-images.githubusercontent.com/24899308/313147394-28c59e00-c2c1-49fe-b578-77ec06ed286a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNzQ4MzcsIm5iZiI6MTcyMzI3NDUzNywicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNDczOTQtMjhjNTllMDAtYzJjMS00OWZlLWI1NzgtNzdlYzA2ZWQyODZhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEwVDA3MjIxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTZhNzU0OTM5ODRjZjJmN2MxZTBjZTQ0ZmNkYTNlZTUyOTgzZDZlYTExMjE1NjY4ODU1NzFiMzRmYWM0ODYxNDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.xLSED8zgFbfGebu4uIq3vA7iAcYYnQ2iCzpBmyDtaGE)
![image](https://private-user-images.githubusercontent.com/24899308/313148574-9f145377-87a3-4164-a417-79fc071fd07c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNzQ4MzcsIm5iZiI6MTcyMzI3NDUzNywicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNDg1NzQtOWYxNDUzNzctODdhMy00MTY0LWE0MTctNzlmYzA3MWZkMDdjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEwVDA3MjIxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI1NWVhNWU1YmI2ZmI3MjE2ZmIyNDEyY2ZiNDU3MWY5NzlmMjBlMGFiYWQ5NmMxMmRkZGE0YTk2N2FiNDk0ZTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ythXtocY6bHWPseaQWgau-GJ_ZkN27qqvVudmRlfnXY)
![image](https://private-user-images.githubusercontent.com/24899308/313150180-8df83601-fb67-47c2-8764-1d01c1a5f76b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNzQ4MzcsIm5iZiI6MTcyMzI3NDUzNywicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNTAxODAtOGRmODM2MDEtZmI2Ny00N2MyLTg3NjQtMWQwMWMxYTVmNzZiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEwVDA3MjIxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQxYTA5NzU3MjA2OGQ0NTliYmZkNTRlZTk0NWQyYjhiZWIwODQ0M2ZlZjFlN2E0OTlhMTZiODFhOWUxMDhiNDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.qq5GupUw7y0v-DNEV6KIXvN6U4GqKNWeaYOfxMwHo7w)
![image](https://private-user-images.githubusercontent.com/24899308/313149761-36731988-98f1-48ba-9516-2fd6ff5ede7d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNzQ4MzcsIm5iZiI6MTcyMzI3NDUzNywicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNDk3NjEtMzY3MzE5ODgtOThmMS00OGJhLTk1MTYtMmZkNmZmNWVkZTdkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEwVDA3MjIxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNkMDEzOGJjYmFkYjE5MWRkOGVjNGJlNTE4MTg3Zjk1NTQ4ZWVlZTUxMzRlYTcwN2I4OTA1MDk1NzVhYzY2YWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.9GAyDGZe-Nk5OZg5xxMuVb4k5nSsEYO-5p1zmZuXu6c)
![image](https://private-user-images.githubusercontent.com/24899308/313149864-bf71768a-f996-4512-9cc5-d6ef6e39a8c0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNzQ4MzcsIm5iZiI6MTcyMzI3NDUzNywicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNDk4NjQtYmY3MTc2OGEtZjk5Ni00NTEyLTljYzUtZDZlZjZlMzlhOGMwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEwVDA3MjIxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTliZDVhZDJmZTExM2U4ODVlMGY5ZDdjMzJlNDcxMjE0M2RhZmQyMzI1NjM4NzI2NWRhYTJhMzc4NzllMjRhYjImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.piBTnH2bNkcVkxR2X84LexKwm84yVloQPLlCHSntcjE)
前端改进
- 对话页UI重构,参考ChatGPT风格,增加美观度。
- 新增对话页 Midjourney 绘图功能,包括绘画进度反馈及点按操作。
- Dalle绘图支持模型绘画比例选择(方形/宽屏/垂直)。
- 绘图页面新增区域重绘功能。
- 全局字体优先使用系统默认,优化阅读体验。
- 适配ALL模型及GPTs返回图片,修正显示过大的问题。
- 对话页根据模型自动展示AI头像,可手动替换文件。
后台配置调整
- 模型配置迁移到模型管理,分普通对话/绘画/特殊模型。
- 后台支持模型文件上传模块开关,区分ALL/4V格式。
- 后台新增 Midjourney 提示词优化开关及优化词配置
注意
- 重要:旧版 Midjourney 配置不再生效,需在模型配置绘画模型中重新配置。
- 模型配置支持扣除积分类型选择。
- 后台管理菜单重新排版,精简非必要配置。
开发版已支持
- 应用页支持GPTS及固定模型功能。
- 对话使用TTS进行语音播报。
- Dalle绘图支持添加风格参数,支持交互式连续绘画。
- ...
历史日志
- 新增 mj-proxy-plus 支持:支持第三方中转,添加容错和重试机制。(可联系作者获得 mj-proxy-plus 支持)
- 简化模型配置流程:精简了 Midjourney 模型的配置要求,现在用户仅需填写地址和 key 即可完成后台配置,简化了操作步骤。
- 新增模型排序:引入了新的模型排序功能,优化了模型排序逻辑,以提升用户的操作体验。
- DALL-E 绘图功能整合:DALL-E 绘图功能现在可以在 Chat 组件内直接使用,DALL-E-3 模型可以在后台进行单独配置。
- 注意事项:本次升级 Midjourney 对历史数据不兼容,在升级前请做好数据备份,以防数据丢失。
- GPT-4V(gpt-4-1106-vision-preview)模型识图功能:添加了 GPT-4V 的图像识别功能,增强了模型的多媒体处理能力。
- 文件上传预览及显示美化:对文件上传预览及显示进行了美化,目前仅支持 4V 和 ALL 模型。
- 简化模型切换逻辑:简化了模型切换逻辑,支持更多国内模型。该功能需搭配类 OneAPI 的中转管理使用。
- Chat 页面 UI 精简和美化:对 Chat 页面进行了精简和美化。请注意,其他页面尚未进行同步优化,因此在多界面切换时可能会有一定的割裂感。后续将继续对其他页面进行优化。
- 部分页面 UI 精简。
- 管理端地址改为
/admin
,默认密码均设为123456
。 - 支持使用 GPT-4-All(第三方逆向)解析上传的文件、图片。
- 增加模型关联 Token 计费(可选)。
- MJ 版本默认调整为 v6.0。
-
安装 Node.js 环境
- 请根据您的操作系统下载并安装 Node.js。
- 可以从Node.js 官网下载。
-
安装 PM2
- 使用 npm 安装 PM2:
npm install pm2 -g
- PM2 是一个带有负载均衡功能的 Node 应用的进程管理器。
- 使用 npm 安装 PM2:
-
安装 PNPM
- 使用 npm 安装 PNPM:
npm install -g pnpm
- PNPM 是一个快速、节省磁盘空间的包管理工具。
- 使用 npm 安装 PNPM:
-
配置环境变量
- 复制
.env.example
文件为.env
。 - 根据需要修改
.env
文件中的配置项。
- 复制
-
安装项目依赖
- 运行命令:
pnpm install
(若安装失败可尝试使用国内源) - 这将根据
package.json
文件安装所有必需的依赖。
- 运行命令:
-
启动服务
- 使用命令:
pnpm start
- 这将启动项目,并默认在 9520 端口监听。
- 使用命令:
-
访问项目
- 在浏览器中访问
http://localhost:9520
,或者如果配置了 nginx 反向代理,则通过配置的域名访问。
- 在浏览器中访问
-
安装Docker及Docker-compose
- 使用Docker 官网提供的一键安装链接安装Docker及Docker-compose。
curl -fsSL https://get.docker.com | bash -s docker
-
启动服务
- 执行
docker-compose up -d
命令这将在后台启动服务。 - 如果您需要查看日志,可以使用
docker-compose logs
命令。 - 如果您需要停止服务,可以使用
docker-compose down
命令。 - 如果您需要重新构建并启动服务,可以使用
docker-compose up -d --build
命令。
- 执行
-
访问项目
- 在浏览器中访问
http://localhost:9520
,或者如果配置了 nginx 反向代理,则通过配置的域名访问。
- 在浏览器中访问
- 管理端地址:
/admin
- 普通管理员账号:
admin
- 超级管理员账号:
super
- 密码:
123456
普通管理员,可以预览后台非敏感信息。登入后台后请及时修改管理员密码,或按需要禁用普通管理员。
请确保遵循上述步骤进行配置和启动,以保证系统的正确运行。
-
拉取更新
- 拉取新的整合包:
git pull
- 拉取新的整合包:
-
删除旧进程
- 删除旧的 PM2 进程。
-
安装依赖
- 运行命令:
pnpm install
以安装package.json
中定义的必需依赖。
- 运行命令:
-
启动服务
- 使用命令:
pnpm start
来启动项目,它将默认在 9520 端口监听。
- 使用命令:
扫码添加微信备注 99,拉交流群
![](https://private-user-images.githubusercontent.com/24899308/302090502-ee20578f-063d-48d8-bff6-85ac3e38fe60.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMyNzQ4MzcsIm5iZiI6MTcyMzI3NDUzNywicGF0aCI6Ii8yNDg5OTMwOC8zMDIwOTA1MDItZWUyMDU3OGYtMDYzZC00OGQ4LWJmZjYtODVhYzNlMzhmZTYwLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODEwVDA3MjIxN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYwNjdmNTdiYjdiNWFjODkzZDE0YjVmYjMwOWQwNzRhZDczYWI3MjBmNjE2YWRiZGY3NDJkMDFlNjQyN2Q4YmImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.X037rWQgTvqMcK1gj1CoVqlvFmJmYSYKHzZ0Zwp9HNA)