Open-source AI gateway. Self-hosted LLM gateway with OpenAI-, Claude- and Gemini-compatible APIs, model routing, access control, usage tracking and cost accounting.

★ 51,688⑂ 12,592👁 160⑃ 3,591● 3,961▤ 536◈ 113
GoAGPL-3.0Created 2023-11-10www.newapi.ai
51,688
stars
+84+471+2,406
12,592
forks
160
watchers
3,591
prs
3,961
issues
536
releases
113
discussions

README

!new-api

 New API

连接模型、应用与 Agent 的 AI 网关


  简体中文 |
  繁體中文 |
  English |
  Français |
  日本語



  
    
  
    
  
    
  
  
    
  



  
    
  
  
  
    
  
  
    
  



  项目截图 •
  核心能力 •
  快速开始 •
  部署运维 •
  开发扩展 •
  文档社区




---

 📝 项目说明

New API 是面向应用、Agent 和团队的自托管 AI 网关。将不同厂商的模型服务接入统一入口,在同一套控制台中管理渠道、访问权限、用量与成本。

你可以用它为团队分配已授权的模型资源,在切换上游时减少客户端改动,或搭建自己的多模型服务。支持接入 OpenAI、Anthropic、Google Gemini、Azure OpenAI、AWS Bedrock、Vertex AI、DeepSeek、通义千问及其他兼容服务。

 [!IMPORTANT]
 - 本项目仅面向合法授权的 AI API 网关、组织内部鉴权、多模型管理、用量统计、成本核算和私有化部署场景。
 - 使用者必须合法取得上游 API Key、账号、模型服务或接口权限,并遵守上游服务条款及适用法律法规。
 - 使用者应确保其使用方式符合上游服务条款及适用法律法规。
 - 面向公众提供生成式人工智能服务时,使用者应遵守《生成式人工智能服务管理暂行办法》等监管要求,自行完成所在司法辖区要求的备案、许可、内容安全、实名、日志留存、税务和上游授权等合规义务。



 [!WARNING]
 将本项目作为面向公众的生成式 AI 服务或 API 转售服务运营时,使用者应先完成备案、内容安全、实名、日志留存、税务、支付和上游授权等合规义务。

---



 项目截图

以下账号、渠道、插件安装状态、用量、价格和费用均为模拟数据,插件市场展示官方目录。点击图片可查看原图。

| 数据看板 | 插件市场 |
| --- | --- |
|  |  |
| 模型广场 | 使用日志 |
|  |  |

---

 🤝 我们信任的合作伙伴


  排名不分先后



  
    
  
    
  
    
  
    
  
    
  


---

 🙏 特别鸣谢


  
    
  



  感谢 JetBrains 为本项目提供免费的开源开发许可证


---



 核心能力

| 方向 | 可以做什么 |
| --- | --- |
| 模型接入 | 支持 OpenAI Chat Completions、Responses、Anthropic Messages 和 Gemini 协议,以及上游支持的流式输出、工具调用、推理与多模态输入 |
| 渠道调度 | 配置模型映射、渠道优先级与权重、失败重试、渠道亲和性和多密钥管理 |
| 用量与成本 | 管理额度、订阅套餐、用量日志、缓存计费,以及基于表达式的阶梯定价 |
| 访问控制 | 管理用户、分组、细粒度权限和 API Key 限制;支持 OAuth/OIDC、通行密钥、两步验证与登录会话管理 |
| 异步任务 | 通过 JavaScript 插件扩展图片、视频等任务 API,统一查询任务状态和获取产物 |
| Web 控制台 | 配置渠道与模型、查看用量和审计日志、在 Playground 中调试模型;支持简体中文、繁体中文、英语、法语、日语、俄语和越南语 |

 协议与接口

| 接口类型 | 常用入口 |
| --- | --- |
| OpenAI Chat / Responses | POST /v1/chat/completions、POST /v1/responses |
| Anthropic Messages | POST /v1/messages |
| Gemini | POST /v1beta/models/{model}:generateContent、POST /v1beta/models/{model}:streamGenerateContent |
| Realtime / Responses WebSocket | GET /v1/realtime、GET /v1/responses(WebSocket 升级) |
| 图片 / 音频 | /v1/images/generations、/v1/images/edits、/v1/audio/speech、/v1/audio/transcriptions、/v1/audio/translations |
| 向量 / 重排 | POST /v1/embeddings、POST /v1/rerank |
| 任务插件 | POST /v1/tasks/{pluginKey}、GET /v1/tasks/{taskId},以及各插件声明的协议路由 |

RelayKit 提供上述四种文本协议之间的请求、响应和流式转换。实际可用能力取决于渠道、上游模型和转换路径;协议特有的工具与字段可能无法完整映射。WebSocket 同样需要上游与渠道配置支持。

本 README 描述当前源码的能力,部署时请同时查看所选版本的发布说明。



 快速开始

 使用 Docker 本地体验

以下命令使用 SQLite 启动单实例,仅监听本机端口:

bash
mkdir -p data
docker run --name new-api -d --restart unless-stopped \
  -p 127.0.0.1:3000:3000 \
  -e TZ=Asia/Shanghai \
  -v "$(pwd)/data:/data" \
  calciumion/new-api:latest


打开 http://localhost:3000,按初始化向导创建管理员账号。SQLite 数据库存放在挂载的 data 目录中,更换容器后仍会保留。

 发起第一次请求

1. 新建渠道,填写上游 API Key、可用模型和所属分组,执行渠道测试。
2. 配置模型价格,确保调用用户有可用额度或有效订阅。
3. 在控制台创建 API Key,确保它能访问对应分组和模型。
4. 对于 OpenAI 兼容客户端,将 Base URL 设为 http://localhost:3000/v1,密钥使用 New API 签发的 Key。

在终端中将 NEW_API_KEY 环境变量设为该密钥,查询它可以访问的模型:

bash
curl --fail-with-body http://localhost:3000/v1/models \
  -H "Authorization: Bearer ${NEW_API_KEY}"


然后调用 Responses,将 your-enabled-model 替换为已启用且支持该接口的模型名称:

bash
curl --fail-with-body http://localho

Top issues

Discussions

Latest release

v1.0.0-rc.49 v1.0.0-rc.49 2026-11-08
[!IMPORTANT]
 增加了 gpt-image-2.6 的支持。它的新参数 complexity、svg、frame_count、frame_duration_ms 和 markup 会转发给上游,可以生成 SVG 和 GIF,编辑图片时可以带 markup 标注图层。

 修复了 Redis 集群和分片 Redis 上修改用户或令牌时报 keys must in same slot 的问题。多节点部署请把所有节点一起升级,新旧版本混跑时,一个节点上的用户和令牌变更不一定能及时同步到另一个版本的节点。

 SQLITE_PATH 只写文件路径时,现在和默认配置一样开启 WAL 和写入等待。数据库旁边会多出 -wal 和 -shm 文件,备份时要一起复制。

 模型定价保存时会逐个模型列出当前价格和新价格,确认后才保存。删掉的价格在保存前可以撤销。

 Added support for gpt-image-2.6. Its new parameters complexity, svg, frame_count, frame_duration_ms, and markup are forwarded to the upstream, so it can generate SVG and GIF images, and image edits can include a mar

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON