99AI:基于 NineAI 2.4.2 二开的可商业化 AI Web 应用(免授权,无后门,非盗版,已整合前后端,支持快速部署)。
未编译源码暂不开源,相比稳定版,开发版进度更快一些。
![image](https://private-user-images.githubusercontent.com/24899308/313143651-9b6f3e28-1cfa-4c76-8f43-d898c7f72a08.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMDA5ODQsIm5iZiI6MTcyMTMwMDY4NCwicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNDM2NTEtOWI2ZjNlMjgtMWNmYS00Yzc2LThmNDMtZDg5OGM3ZjcyYTA4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDExMDQ0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTFjNmFkZWJkMjJjZDAzODc2MTEwYTcxODlkMWY3ZGY1MjY2YWMxMjFiMmMwNTg5MGMxMmIxMTJiZWE2MmJhNTYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.EXTI789A8BuSfDi9JXmbbWP-DqlvQsXHXRjgqHw5BHo)
![image](https://private-user-images.githubusercontent.com/24899308/313149448-bea19b79-3c55-47fa-ad7f-e844c63bfd28.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMDA5ODQsIm5iZiI6MTcyMTMwMDY4NCwicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNDk0NDgtYmVhMTliNzktM2M1NS00N2ZhLWFkN2YtZTg0NGM2M2JmZDI4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDExMDQ0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVmOTliNDBlYzIyYjJjZjEwYmU1YjNjYzc2NjRiNzVkZGIxYjkwYTY0Nzk3NWNlNTgyY2YxOTcxNjI5OWY4OWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.D5i_3hugilm6PEDin2wPcG3t1c3AXHjlzoveUhGzgjU)
![image](https://private-user-images.githubusercontent.com/24899308/313147394-28c59e00-c2c1-49fe-b578-77ec06ed286a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMDA5ODQsIm5iZiI6MTcyMTMwMDY4NCwicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNDczOTQtMjhjNTllMDAtYzJjMS00OWZlLWI1NzgtNzdlYzA2ZWQyODZhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDExMDQ0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE1Zjk1ODU4ZGVmODY1NTlmYWFlOTRlYjM3MjhmNWVhNzAzNDc5NTZjNjdjZDY3ZWQ0Y2M0ZmY5MDQ5ODNhZjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.6ervHRI6X9d227CSGsHkZBtUfDe2SutTcojAhN4gGRA)
![image](https://private-user-images.githubusercontent.com/24899308/313148574-9f145377-87a3-4164-a417-79fc071fd07c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMDA5ODQsIm5iZiI6MTcyMTMwMDY4NCwicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNDg1NzQtOWYxNDUzNzctODdhMy00MTY0LWE0MTctNzlmYzA3MWZkMDdjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDExMDQ0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ3NWQ0NTNmZDAyNTMyZjRiOTc1ZmM0NjgzNDhmMDA4ODllM2U3NTRiZjg0NWRkZWNhMzZkZjdhYTcxY2Y4YWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.qs_r4GvpBL4D7Pqm3D9eZBIo40X_TMQTor-0CzHYUn8)
![image](https://private-user-images.githubusercontent.com/24899308/313150180-8df83601-fb67-47c2-8764-1d01c1a5f76b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMDA5ODQsIm5iZiI6MTcyMTMwMDY4NCwicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNTAxODAtOGRmODM2MDEtZmI2Ny00N2MyLTg3NjQtMWQwMWMxYTVmNzZiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDExMDQ0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE2ZTFiOWNkYWFkZTJkOTYwM2QxMmIyNzAyYWNjNmE2N2I0ZTRlYjcxYjY5Zjc2NTk5MTVhYzU5YzIzNDRjZWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.eQbhLHe9gcRRfbnX0a1Lx-zQou7gNIeBHmxJoG_wElo)
![image](https://private-user-images.githubusercontent.com/24899308/313149761-36731988-98f1-48ba-9516-2fd6ff5ede7d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMDA5ODQsIm5iZiI6MTcyMTMwMDY4NCwicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNDk3NjEtMzY3MzE5ODgtOThmMS00OGJhLTk1MTYtMmZkNmZmNWVkZTdkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDExMDQ0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWEzYzAyNjI3NWVhMjJmYTcxODBhM2I0YjJhYThkNTBmMTJkYTYxNjI1NDgyYmQ0Y2EzNmMxYjkzMjc5NjY0ZDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.O6sSxPZ4E5J2YduBZt7DyN1QV3pcVsD-V7uMsF8zleg)
![image](https://private-user-images.githubusercontent.com/24899308/313149864-bf71768a-f996-4512-9cc5-d6ef6e39a8c0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMDA5ODQsIm5iZiI6MTcyMTMwMDY4NCwicGF0aCI6Ii8yNDg5OTMwOC8zMTMxNDk4NjQtYmY3MTc2OGEtZjk5Ni00NTEyLTljYzUtZDZlZjZlMzlhOGMwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDExMDQ0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg3NWQzZmE5Y2UxM2YzMzI3MTc3NmRjMDI4YzJkNTI0YzFjZjQwMmJkMTNkNjkzMDc2OWY0YjZhZjMyYjgyMjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.mTDKUaIi0LVUNQQWNgMCh94DpQcZJzXSusQ25qPGFOM)
前端改进
- 对话页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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMDA5ODQsIm5iZiI6MTcyMTMwMDY4NCwicGF0aCI6Ii8yNDg5OTMwOC8zMDIwOTA1MDItZWUyMDU3OGYtMDYzZC00OGQ4LWJmZjYtODVhYzNlMzhmZTYwLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDExMDQ0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRhMTExMWNkYzVhODc5ZTFlMDBhY2ZjMzNkOTE0M2RlOWU2YmE5ZmMxMzdiZGExM2UzMzJmYjM4NmM2OWUzMTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.TPw2B3PwbxY0k57ooaNqvNicIoiucI5YM0tb052zx3M)