New API:基于One API的开源后端框架
项目说明
New API 是一个在 One API 基础上进行二次开发的开源项目,旨在为开发者提供一个功能丰富、灵活高效的后端API框架。该项目由 Calcium-Ion 维护,代码托管于 GitHub(https://github.com/Calcium-Ion/new-api)。
注意事项
- 使用限制:使用者必须遵守 OpenAI 使用条款 及相关法律法规,不得将本项目用于非法用途。
- 用途声明:本项目仅限个人学习使用,不保证稳定性,且不提供任何技术支持。
- 合规要求:根据《生成式人工智能服务管理暂行办法》,请勿在中国地区向公众提供未经备案的生成式人工智能服务。
✨ 主要特性
New API 在继承 One API 功能的基础上,新增了多项实用特性,以下是其亮点:
-
🎨 全新的UI界面
- 提供焕然一新的用户界面(部分界面仍在更新中)。
-
🌍 多语言支持
- 支持多种语言(功能待完善)。
-
🎨 Midjourney-Proxy(Plus) 接口支持
- 新增对接 Midjourney 服务,具体参考 对接文档。
-
💰 在线充值功能
- 支持通过 易支付 进行在线充值,可在 系统设置 中配置。
-
🔍 Key查询使用额度
- 配合项目 neko-api-key-tool 可通过 Key 查询使用情况。
-
📑 分页支持
- 可自定义每页显示数量。
-
🔄 兼容原版数据库
- 可直接使用原版 One API 的数据库(
one-api.db
)。
- 可直接使用原版 One API 的数据库(
-
💵 模型按次数收费
- 在 系统设置 > 运营设置 中支持按次数计费。
-
⚖️ 渠道加权随机
- 支持根据权重随机选择渠道。
-
📈 数据看板
- 提供控制台数据可视化功能。
-
🔒 令牌模型限制
- 可设置令牌能调用的模型范围。
-
🤖 Telegram授权登录
- 在 系统设置 > 配置登录注册 中启用 Telegram 登录:
- 对
@Botfather
输入/setdomain
,选择 Bot 并输入http(s)://你的网站地址/login
。 - Telegram Bot 名称为 Bot Username 去掉
@
后的字符串。
- 对
- 在 系统设置 > 配置登录注册 中启用 Telegram 登录:
-
🎵 Suno API 接口支持
- 新增 Suno API 集成,参考 对接文档。
-
🔄 Rerank模型支持
- 支持 Cohere 和 Jina 的 Rerank 模型,可接入 Dify,参考 对接文档。
-
⚡ OpenAI Realtime API
- 支持 OpenAI Realtime API 及 Azure 渠道,使用路由
/chat2link
进入聊天界面。
- 支持 OpenAI Realtime API 及 Azure 渠道,使用路由
-
🧠 Reasoning Effort 设置
- 通过模型名称后缀调整推理力度:
- OpenAI o系列模型:
-high
:高推理力度(如o3-mini-high
)-medium
:中等推理力度(如o3-mini-medium
)-low
:低推理力度(如o3-mini-low
)
- Claude 思考模型:
-thinking
:启用思考模式(如claude-3-7-sonnet-20250219-thinking
)
- OpenAI o系列模型:
- 通过模型名称后缀调整推理力度:
-
🔄 思考转内容
- 在 渠道 > 编辑 > 渠道额外设置 中设置
thinking_to_content
(默认false
),开启后将推理内容转换为<think>
标签返回。
- 在 渠道 > 编辑 > 渠道额外设置 中设置
-
🔄 模型限流
- 在 系统设置 > 速率限制设置 中支持设置总请求数和成功请求数限制。
-
💰 缓存计费支持
- 缓存命中时可按比例计费:
- 在 系统设置 > 运营设置 中设置 提示缓存倍率。
- 在渠道中设置倍率(0-1,如 0.5 表示 50% 计费)。
- 支持的渠道:OpenAI、Azure、DeepSeek、Claude。
- 缓存命中时可按比例计费:
模型支持
New API 扩展了模型支持范围,新增以下模型:
- 第三方模型:
gpt-4-gizmo-*
(非 OpenAI 官方模型,使用官方 Key 无法调用) - Midjourney-Proxy(Plus):参考 对接文档
- 自定义渠道:支持填入完整调用地址
- Suno API:参考 对接文档
- Rerank模型:支持 Cohere 和 Jina,参考 对接文档
- Dify
比原版One API多出的配置
New API 增加了多项环境变量配置,以下是新增选项及其说明:
配置项 | 说明 | 默认值 |
---|---|---|
GENERATE_DEFAULT_TOKEN |
是否为新用户生成初始令牌 | false |
STREAMING_TIMEOUT |
流式回复超时时间(秒) | 60 |
DIFY_DEBUG |
Dify 渠道是否输出工作流和节点信息到客户端 | true |
FORCE_STREAM_OPTION |
是否强制上游返回流模式 usage | true (建议开启) |
GET_MEDIA_TOKEN |
是否统计图片 Token(关闭可能导致与上游计费不一致) | true |
GET_MEDIA_TOKEN_NOT_STREAM |
非流模式下是否统计图片 Token | true |
UPDATE_TASK |
是否更新异步任务(Midjourney、Suno) | true |
COHERE_SAFETY_SETTING |
Cohere 模型安全设置(NONE , CONTEXTUAL , STRICT ) |
NONE |
GEMINI_VISION_MAX_IMAGE_NUM |
Gemini 模型最大图片数量(-1 为无限制) | 16 |
MAX_FILE_DOWNLOAD_MB |
最大文件下载大小(MB) | 20 |
CRYPTO_SECRET |
数据库内容加密密钥 | 无 |
AZURE_DEFAULT_API_VERSION |
Azure 渠道默认 API 版本 | 2024-12-01-preview |
NOTIFICATION_LIMIT_DURATION_MINUTE |
通知限制持续时间(分钟) | 10 |
NOTIFY_LIMIT_COUNT |
指定时间内用户通知最大数量 | 2 |
已废弃的环境变量
GEMINI_MODEL_MAP
:改为在 设置 > 模型相关设置 中配置。GEMINI_SAFETY_SETTING
:改为在 设置 > 模型相关设置 中配置。
部署
部署要求
- 本地数据库:默认使用 SQLite(Docker 部署需挂载
/data
目录) - 远程数据库:
- MySQL ≥ 5.7.8
- PostgreSQL ≥ 9.6
- 默认账号:
root
,密码123456
多机部署注意事项
- 必须设置
SESSION_SECRET
,否则登录状态不一致。 - 若共用 Redis,需设置
CRYPTO_SECRET
,否则无法获取 Redis 内容。
使用宝塔面板部署
- 安装宝塔面板(≥ 9.2.0,官网下载正式版脚本)。
- 登录面板,进入 Docker 模块,安装 Docker 服务。
- 在应用商店搜索 New-API,配置基本选项后安装。
- 参考 图文教程。
基于 Docker 部署
使用 Docker Compose(推荐)
直接使用 Docker 镜像
使用 Watchtower 自动更新(不推荐)
注意:可能导致数据库不兼容。
渠道重试与缓存设置
渠道重试
- 在 设置 > 运营设置 > 通用设置 中设置重试次数,建议开启缓存。
- 重试按渠道优先级顺序进行。
特定错误码重试
- 默认不重试错误码:
400
、504
、524
。 - 若需重试
400
,在 渠道 > 编辑 中设置状态码复写:
缓存设置
REDIS_CONN_STRING
:配置 Redis 缓存,例如:MEMORY_CACHE_ENABLED
:启用内存缓存(默认false
,若配置 Redis 则无需设置),可能导致额度更新延迟。
接口设置文档
界面截图
总结
New API 在 One API 的基础上进行了大幅优化与功能扩展,新增了多语言支持、Midjourney 和 Suno API 集成、Telegram 登录等特性,同时提升了部署灵活性和用户体验。无论是个人学习还是小型项目开发,New API 都是一个值得尝试的开源工具。欢迎访问 GitHub 仓库参与贡献!
评论区