Chat Nio,下一代 AI 一站式解决方案,一站式 Chat + 中转 API 站点,支持 OpenAI,Midjourney,Claude,讯飞星火,Stable Diffusion,DALL·E,ChatGLM,通义千问,腾讯混元,360 智脑,百川 AI,火山方舟,新必应,Google Gemini (PaLM2),Moonshot,LocalAI 等模型,支持对话分享,自定义预设,云端同步,模型市场,支持弹性计费 / 订阅计划模式,支持图片解析,支持联网搜索,支持模型缓存,丰富美观的后台管理与仪表盘数据统计。
相对于 NextChat 等偏前端轻量部署的项目, Chat Nio 优势在于更便捷的云端同步、账号管理、更丰富的分享等功能, 以及计费管理系统;相对于 OneAPI 等偏后端轻量部署的项目, Chat Nio 优势在于更丰富的用户界面, 同时渠道管理体系功能更多, 更丰富的用户管理, 并推出偏向用户界面的订阅管理系统。以下是Chat Nio的核心功能特性:
SMTP发件与邮件后缀白名单:Chat Nio支持启用SMTP发件服务,并允许自定义邮件后缀白名单,增强通信的安全性与定制化程度。
模型缓存机制:系统具备先进的模型缓存功能,可减少重复请求,降低计费成本。用户可根据需求自由设置最大缓存结果数、缓存模型类型以及缓存时间,一键操作即可实现全部或部分模型的缓存策略调整。
渠道管理体系:
自写渠道分配算法:基于Adapter兼容层架构设计,以低耦合、高扩展性为核心,保证了不同渠道间的无缝切换与高效运作。
多渠道优先级调配与权重负载:Chat Nio支持多渠道并行管理,通过优先级和权重设定,确保高优先级渠道优先响应且合理分配请求至各个权重通道中。
渠道状态管理与兼容多种格式:提供全面的渠道状态监控及灵活的模型兼容层,可轻松处理各种模型请求,并支持一键添加、清空模型,以及使用模板模型。
自定义模型与渠道重试:用户可以增加自定义模型,并配置渠道重试次数,当遇到故障时自动切换至优先级更低的渠道,有效提高服务可用性。
同渠道均衡负载与密钥管理:单个渠道内支持多个密钥随机分配请求,搭配Retry机制,即使在故障场景下也能保持内部资源的有效利用。
渠道模型映射与用户分组权限控制:提供精细化的模型映射规则,便于将目标模型适配至现有渠道支持列表中,并可针对不同用户分组设置模型访问权限。
内置安全防护:报错时自动隐藏敏感信息,如上游地址和秘钥,确保信息安全,防止滥用,同时方便问题排查。
Chat Nio支持Docker部署,建议使用Docker Compose进行部署,方面维护管理。
1、创建一个名为 docker-compose.yml
的文件,内容如下:
version: '3'
services:
mysql:
image: mysql:latest
container_name: db
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: chatnio
MYSQL_USER: chatnio
MYSQL_PASSWORD: chatnio123456!
expose:
- "3306"
volumes:
- ./db:/var/lib/mysql
networks:
- chatnio-network
redis:
image: redis:latest
container_name: redis
restart: always
expose:
- "6379"
volumes:
- ./redis:/data
networks:
- chatnio-network
chatnio:
image: programzmh/chatnio
container_name: chatnio
restart: always
ports:
- "8000:8094"
depends_on:
- mysql
- redis
links:
- mysql
- redis
ulimits:
nofile:
soft: 65535
hard: 65535
environment:
MYSQL_HOST: mysql
MYSQL_USER: chatnio
MYSQL_PASSWORD: chatnio123456!
MYSQL_DATABASE: chatnio
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_PASSWORD: ""
REDIS_DB: 0
SERVE_STATIC: "true"
volumes:
- ./config:/config
- ./logs:/logs
networks:
- chatnio-network
networks:
chatnio-network:
driver: bridge
- MySQL 数据库挂载目录项目 ~/db
- Redis 数据库挂载目录项目 ~/redis
- 配置文件挂载目录项目 ~/config
2、在终端中进入该文件所在的目录,运行以下命令启动 Chat Nio:
docker-compose up -d
3、运行成功后, 打开http://localhost:8000
,默认的管理员账号为root
, 密码 chatnio123456
1、在终端中执行以下命令 (需先部署好Mysql和redis服务)
docker run -d --name chatnio:latest \
--network host \
-p 8000:8094 \
-v ~/config:/config \
-v ~/logs:/logs \
-e MYSQL_HOST=localhost \
-e MYSQL_PORT=3306 \
-e MYSQL_DATABASE=chatnio \
-e MYSQL_USER=root \
-e MYSQL_PASSWORD=chatnio123456 \
-e REDIS_HOST=localhost \
-e REDIS_PORT=6379 \
-e SECRET=secret \
-e SERVE_STATIC=true \
programzmh/chatnio:latest
- --network host 指使用宿主机网络, 使 Docker 容器使用宿主机的网络, 可自行修改
- -p 8000:8094 指映射宿主机端口为 8000, 可自行修改冒号前的端口号
- SECRET: JWT 密钥, 自行生成随机字符串修改
- SERVE_STATIC: 是否启用静态文件服务 (正常情况下不需要更改此项, 详见下方常见问题解答)
- -v ~/config:/config 和 -v ~/logs:/logs 指挂载配置文件和日志文件的宿主机目录, 可自行修改
- 需配置 MySQL 和 Redis 服务, 请自行参考上方信息修改环境变量
- 如需使用 stable 版本, 请使用 programzmh/chatnio:stable 替代 programzmh/chatnio:latest
2、运行成功后, 打开http://localhost:8000
,默认的管理员账号为root
, 密码 chatnio123456
原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我持续创作的动力!