## 📝 项目描述
## 🤝 信任的合作伙伴
排名不分先后
## 🙏 特别感谢
感谢 JetBrains 为本项目提供免费的开源开发许可证
## 🚀 快速开始
### 使用 Docker Compose(推荐)
```
# Clone the project
git clone https://github.com/QuantumNous/new-api.git
cd new-api
# 编辑 docker-compose.yml 配置
nano docker-compose.yml
# 启动服务
docker-compose up -d
```
使用 Docker 命令
```
# 拉取最新 image
docker pull calciumion/new-api:latest
# 使用 SQLite(默认)
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v ./data:/data \
calciumion/new-api:latest
# 使用 MySQL
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 ./data:/data \
calciumion/new-api:latest
```
🎉 部署完成后,访问 `http://localhost:3000` 即可开始使用!
📖 关于更多部署方式,请参考[部署指南](https://docs.newapi.pro/en/docs/installation)
## 📚 文档
### 📖 [官方文档](https://docs.newapi.pro/en/docs) | [](https://deepwiki.com/QuantumNous/new-api)
**快速导航:**
| 分类 | 链接 |
|------|------|
| 🚀 部署指南 | [安装文档](https://docs.newapi.pro/en/docs/installation) |
| ⚙️ 环境配置 | [环境变量](https://docs.newapi.pro/en/docs/installation/config-maintenance/environment-variables) |
| 📡 API 文档 | [API 文档](https://docs.newapi.pro/en/docs/api) |
| ❓ 常见问题 | [FAQ](https://docs.newapi.pro/en/docs/support/faq) |
| 💬 社区交流 | [交流渠道](https://docs.newapi.pro/en/docs/support/community-interaction) |
## ✨ 核心功能
### 🎨 核心功能
| 功能 | 描述 |
|------|------|
| 🎨 全新 UI | 现代化的用户界面设计 |
| 🌍 多语言 | 支持简体中文、繁体中文、英文、法文、日文 |
| 🔄 数据兼容 | 完全兼容原版 One API 数据库 |
| 📈 数据看板 | 可视化控制台和统计分析 |
| 🔒 权限管理 | Token 分组、模型限制、用户管理 |
### 💰 授权使用计量与计费
- ✅ 适用于合法授权场景的内部充值与额度分配(EPay, Stripe)
- ✅ 组织级别的按次请求、按使用量及缓存命中的成本核算
- ✅ 支持 OpenAI、Azure、DeepSeek、Claude、Qwen 及受支持模型的缓存计费统计
- ✅ 适用于内部管理或授权企业客户的灵活计费策略
### 🔐 授权与安全
- 😈 Discord 授权登录
- 🤖 LinuxDO 授权登录
- 📱 Telegram 授权登录
- 🔑 OIDC 统一身份验证
- 🔍 Key 额度查询使用(借助 [new-api-key-tool](https://github.com/Calcium-Ion/new-api-key-tool))
### 🚀 高级功能
- ⚡ [OpenAI Responses](https://docs.newapi.pro/en/docs/api/ai-model/chat/openai/create-response)
- ⚡ [OpenAI Realtime API](https://docs.newapi.pro/en/docs/api/ai-model/realtime/create-realtime-session)(包含 Azure)
- ⚡ [Claude Messages](https://docs.newapi.pro/en/docs/api/ai-model/chat/create-message)
- ⚡ [Google Gemini](https://doc.newapi.pro/en/api/google-gemini-chat)
- 🔄 [Rerank 模型](https://docs.newapi.pro/en/docs/api/ai-model/rerank/create-rerank)(Cohere, Jina)
**智能路由:**
- ⚖️ 渠道加权随机
- 🔄 失败自动重试
- 🚦 用户级模型速率限制
**格式转换:**
- 🔄 **兼容 OpenAI ⇄ Claude Messages**
- 🔄 **兼容 OpenAI → Google Gemini**
- 🔄 **Google Gemini → 兼容 OpenAI** - 仅支持文本,暂不支持 function calling
- 🚧 **兼容 OpenAI ⇄ OpenAI Responses** - 开发中
- 🔄 **Thinking-to-content 功能**
查看详细配置
**OpenAI 系列模型:**
- `o3-mini-high` - 高强度推理
- `o3-mini-medium` - 中等强度推理
- `o3-mini-low` - 低强度推理
- `gpt-5-high` - 高强度推理
- `gpt-5-medium` - 中等强度推理
- `gpt-5-low` - 低强度推理
**Claude thinking 模型:**
- `claude-3-7-sonnet-20250219-thinking` - 启用 thinking 模式
**Google Gemini 系列模型:**
- `gemini-2.5-flash-thinking` - 启用 thinking 模式
- `gemini-2.5-flash-nothinking` - 禁用 thinking 模式
- `gemini-2.5-pro-thinking` - 启用 thinking 模式
- `gemini-2.5-pro-thinking-128` - 启用 thinking 模式,thinking 预算为 128 tokens
- 你也可以在任意 Gemini 模型名后追加 `-low`、`-medium` 或 `-high`,以请求相应的推理强度(无需额外的 thinking-budget 后缀)。
### 📡 支持的接口
查看完整接口列表
- [对话接口 (Chat Completions)](https://docs.newapi.pro/en/docs/api/ai-model/chat/openai/createchatcompletion)
- [响应接口 (Responses)](https://docs.newapi.pro/en/docs/api/ai-model/chat/openai/createresponse)
- [图像接口 (Image)](https://docs.newapi.pro/en/docs/api/ai-model/images/openai/post-v1-images-generations)
- [音频接口 (Audio)](https://docs.newapi.pro/en/docs/api/ai-model/audio/openai/create-transcription)
- [视频接口 (Video)](https://docs.newapi.pro/en/docs/api/ai-model/audio/openai/createspeech)
- [Embedding 接口 (Embeddings)](https://docs.newapi.pro/en/docs/api/ai-model/embeddings/createembedding)
- [Rerank 接口 (Rerank)](https://docs.newapi.pro/en/docs/api/ai-model/rerank/creatererank)
- [实时对话 (Realtime)](https://docs.newapi.pro/en/docs/api/ai-model/realtime/createrealtimesession)
- [Claude 对话](https://docs.newapi.pro/en/docs/api/ai-model/chat/createmessage)
- [Google Gemini 对话](https://docs.newapi.pro/en/docs/api/ai-model/chat/gemini/geminirelayv1beta)
## 🚢 部署
### 📋 部署要求
| 组件 | 要求 |
|------|------|
| **本地数据库** | SQLite(使用 Docker 时必须挂载 `/data` 目录)|
| **远程数据库** | MySQL ≥ 5.7.8 或 PostgreSQL ≥ 9.6 |
| **容器引擎** | Docker / Docker Compose |
| **系统架构** | 仅支持 64 位(amd64 / arm64);不支持 32 位系统 |
### ⚙️ 环境变量配置
常用的环境变量配置
| 变量名 | 描述 | 默认值 |
|--------|------|--------|
| `SESSION_SECRET` | Session 密钥(多机部署时必填) | - |
| `CRYPTO_SECRET` | 加密密钥(使用 Redis 时必填) | - |
| `SQL_DSN` | 数据库连接字符串 | - |
| `REDIS_CONN_STRING` | Redis 连接字符串 | - |
| `RELAY_IDLE_CONN_TIMEOUT` | 中继 HTTP 客户端的空闲保活超时时间,单位为秒。默认遵循 Go 标准库行为;设为 `0` 则禁用 | `90` |
| `STREAMING_TIMEOUT` | 流式传输超时时间(秒) | `300` |
| `STREAM_SCANNER_MAX_BUFFER_MB` | 流扫描器的最大单行缓冲区大小(MB);当上游发送巨大的图片/base64 payload 时可适当增大 | `64` |
| `MAX_REQUEST_BODY_MB` | 最大请求体大小(MB,**解压后**计算;防止超大请求/zip 炸弹耗尽内存)。超出此限制将返回 `413` | `32` |
| `AZURE_DEFAULT_API_VERSION` | Azure API 版本 | `2025-04-01-preview` |
| `ERROR_LOG_ENABLED` | 错误日志开关 | `false` |
| `PYROSCOPE_URL` | Pyroscope 服务器地址 | - |
| `PYROSCOPE_APP_NAME` | Pyroscope 应用名称 | `new-api` |
| `PYROSCOPE_BASIC_AUTH_USER` | Pyroscope Basic Auth 用户名 | - |
| `PYROSCOPE_BASIC_AUTH_PASSWORD` | Pyroscope Basic Auth 密码 | - |
| `PYROSCOPE_MUTEX_RATE` | Pyroscope 互斥锁采样率 | `5` |
| `PYROSCOPE_BLOCK_RATE` | Pyroscope 阻塞采样率 | `5` |
| `HOSTNAME` | 用于 Pyroscope 的主机名标签 | `new-api` |
📖 **完整配置:** [环境变量文档](https://docs.newapi.pro/en/docs/installation/config-maintenance/environment-variables)
### 🔧 部署方式
方式一:Docker Compose(推荐)
```
# Clone the project
git clone https://github.com/QuantumNous/new-api.git
cd new-api
# 编辑配置
nano docker-compose.yml
# 启动服务
docker-compose up -d
```
方式二:Docker 命令
**使用 SQLite:**
```
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v ./data:/data \
calciumion/new-api:latest
```
**使用 MySQL:**
```
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 ./data:/data \
calciumion/new-api:latest
```
方式三:宝塔面板
1. 安装宝塔面板(≥ 9.2.0 版本)
2. 在应用商店中搜索 **New-API**
3. 一键安装
📖 [图文教程](./docs/BT.md)
### ⚠️ 多机部署注意事项
### 🔄 渠道重试与缓存
**重试配置:** `设置 → 运营设置 → 通用设置 → 失败重试次数`
**缓存配置:**
- `REDIS_CONN_STRING`:Redis 缓存(推荐)
- `MEMORY_CACHE_ENABLED`:内存缓存
## 🔗 相关项目
### 上游项目
| 项目 | 描述 |
|------|------|
| [One API](https://github.com/songquanpeng/one-api) | 原始项目基础 |
| [Midjourney-Proxy](https://github.com/novicezk/midjourney-proxy) | Midjourney 接口支持 |
### 辅助工具
| 项目 | 描述 |
|------|------|
| [new-api-key-tool](https://github.com/Calcium-Ion/new-api-key-tool) | Key 额度查询工具 |
| [new-api-horizon](https://github.com/Calcium-Ion/new-api-horizon) | New API 高性能优化版 |
### 📖 文档资源
| 资源 | 链接 |
|------|------|
| 📘 常见问题 | [FAQ](https://docs.newapi.pro/en/docs/support/faq) |
| 💬 社区交流 | [交流渠道](https://docs.newapi.pro/en/docs/support/community-interaction) |
| 🐛 问题反馈 | [问题反馈](https://docs.newapi.pro/en/docs/support/feedback-issues) |
| 📚 完整文档 | [官方文档](https://docs.newapi.pro/en/docs) |
### 🤝 贡献指南
欢迎各种形式的贡献!
- 🐛 报告 Bug
- 💡 提出新功能
- 📝 改进文档
- 🔧 提交代码
## 📜 许可证
本项目基于 [GNU Affero General Public License v3.0 (AGPLv3)](./LICENSE) 授权。
适用 AGPLv3 第 7 条下的附加条款。修改后的版本必须在相应的法律声明中,以及在用户界面中任何显眼的关于、法律、页脚或署名位置,保留作者署名通知 `Frontend design and development by New API
contributors.`。
提供用户界面的修改版本还必须保留指向原始项目的可见链接:
。
这是一个基于 [One API](https://github.com/songquanpeng/one-api)(MIT 许可证)开发的开源项目。
### 💖 感谢您使用 New API
如果这个项目对您有帮助,欢迎给我们点个 ⭐️ Star!
**[官方文档](https://docs.newapi.pro/en/docs)** • **[问题反馈](https://github.com/Calcium-Ion/new-api/issues)** • **[最新发布](https://github.com/Calcium-Ion/new-api/releases)**
由 QuantumNous 用 ❤️ 构建