AI模型接口管理与分发系统,支持将多种大模型转为OpenAI格式调用、支持Midjourney Proxy、Suno、Rerank,兼容易支付协议,可供个人或者企业内部管理与分发渠道使用,本项目基于One API二次开发。
主要功能
-
🎨 全新的UI界面(部分界面还待更新)
-
🌍 多语言支持(待完善)
-
🎨 添加Midjourney-Proxy(Plus)接口支持,对接文档
-
💰 支持在线充值功能,可在系统设置中设置:
- 易支付
-
🔍 支持用key查询使用额度:
- 配合项目neko-api-key-tool可实现用key查询使用
-
📑 分页支持选择每页显示数量
-
🔄 兼容原版One API的数据库,可直接使用原版数据库(one-api.db)
-
💵 支持模型按次数收费,可在 系统设置-运营设置 中设置
-
⚖️ 支持渠道加权随机
-
📈 数据看板(控制台)
-
🔒 可设置令牌能调用的模型
-
🤖 支持Telegram授权登录:
- 系统设置-配置登录注册-允许通过Telegram登录
- 对@Botfather输入指令/setdomain
- 选择你的bot,然后输入http(s)://你的网站地址/login
- Telegram Bot 名称是bot username 去掉@后的字符串
-
🔄 支持Rerank模型,目前兼容Cohere和Jina,可接入Dify,对接文档
-
⚡ OpenAI Realtime API - 支持OpenAI的Realtime API,支持Azure渠道
-
支持使用路由/chat2link 进入聊天界面
-
🧠 支持通过模型名称后缀设置 reasoning effort:
-
OpenAI o系列模型
- 添加后缀 设置为 high reasoning effort (例如:
-higho3-mini-high
) - 添加后缀 设置为 medium reasoning effort (例如:
-mediumo3-mini-medium
) - 添加后缀 设置为 low reasoning effort (例如:
-lowo3-mini-low
)
- 添加后缀 设置为 high reasoning effort (例如:
-
Claude 思考模型
- 添加后缀 启用思考模式 (例如:
-thinkingclaude-3-7-sonnet-20250219-thinking
)
- 添加后缀 启用思考模式 (例如:
-
-
🔄 思考转内容,支持在 中设置 选项,默认,开启后会将思考内容转换为标签拼接到内容中返回。
渠道-编辑-渠道额外设置thinking_to_contentfalsereasoning_content<think>
-
🔄 模型限流,支持在 中设置模型限流,支持设置总请求数限制和成功请求数限制
系统设置-速率限制设置
模型支持
- 第三方模型 gps (gpt-4-gizmo-*)
- Midjourney-Proxy(Plus)接口,对接文档
- 自定义渠道,支持填入完整调用地址
- Suno API 接口,对接文档
- Rerank模型,目前支持Cohere和Jina,对接文档
- Dify
您可以在渠道中添加自定义模型gpt-4-gizmo-*,此模型并非OpenAI官方模型,而是第三方模型,使用官方key无法调用。
安装和使用
Tip
最新版Docker镜像: 默认账号root 密码123456calciumion/new-api:latest
多机部署
- 必须设置环境变量 ,否则会导致多机部署时登录状态不一致。
SESSION_SECRET
- 如果公用Redis,必须设置 ,否则会导致多机部署时Redis内容无法获取。
CRYPTO_SECRET
部署要求
- 本地数据库(默认):SQLite(Docker 部署默认使用 SQLite,必须挂载 目录到宿主机)
/data
- 远程数据库:MySQL 版本 >= 5.7.8,PgSQL 版本 >= 9.6
使用宝塔面板Docker功能部署
安装宝塔面板 (9.2.0版本及以上),前往 宝塔面板 官网,选择正式版的脚本下载安装 安装后登录宝塔面板,在菜单栏中点击 Docker ,首次进入会提示安装 Docker 服务,点击立即安装,按提示完成安装 安装完成后在应用商店中找到 New-API ,点击安装,配置基本选项 即可完成安装 图文教程
基于 Docker 进行部署
Tip
默认管理员账号root 密码123456
使用 Docker Compose 部署(推荐)
# 下载项目
git clone https://github.com/Calcium-Ion/new-api.git
cd new-api
# 按需编辑 docker-compose.yml
# nano docker-compose.yml
# vim docker-compose.yml
# 启动
docker-compose up -d
更新版本
docker-compose pull
docker-compose up -d
直接使用 Docker 镜像
# 使用 SQLite 的部署命令:
docker run --name new-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/new-api:/data calciumion/new-api:latest
# 使用 MySQL 的部署命令,在上面的基础上添加 `-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi"`,请自行修改数据库连接参数。
# 例如:
docker run --name new-api -d --restart always -p 3000:3000 -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" -e TZ=Asia/Shanghai -v /home/ubuntu/data/new-api:/data calciumion/new-api:latest
更新版本
# 拉取最新镜像
docker pull calciumion/new-api:latest
# 停止并删除旧容器
docker stop new-api
docker rm new-api
# 使用相同参数运行新容器
docker run --name new-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/new-api:/data calciumion/new-api:latest
或者使用 Watchtower 自动更新(不推荐,可能会导致数据库不兼容):
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR