大模型API网关-基于New-API和One-API,整合了NewAPI,OneAPI所有功能及众多第三方插件为一身,功能超强!

aiprodcoder fc2a4cfb04 Update README.md 3 місяців тому
.github 02c1fe7ae3 project init 3 місяців тому
bin 02c1fe7ae3 project init 3 місяців тому
common c48bd6bf7f project init 3 місяців тому
constant 02c1fe7ae3 project init 3 місяців тому
controller 02c1fe7ae3 project init 3 місяців тому
docs 02c1fe7ae3 project init 3 місяців тому
dto 02c1fe7ae3 project init 3 місяців тому
i18n 02c1fe7ae3 project init 3 місяців тому
middleware 02c1fe7ae3 project init 3 місяців тому
model 02c1fe7ae3 project init 3 місяців тому
relay c48bd6bf7f project init 3 місяців тому
router 02c1fe7ae3 project init 3 місяців тому
service 02c1fe7ae3 project init 3 місяців тому
setting 02c1fe7ae3 project init 3 місяців тому
tokenSearchWeb 02c1fe7ae3 project init 3 місяців тому
types 02c1fe7ae3 project init 3 місяців тому
web 02c1fe7ae3 project init 3 місяців тому
.dockerignore 02c1fe7ae3 project init 3 місяців тому
.env.example 02c1fe7ae3 project init 3 місяців тому
.gitignore 02c1fe7ae3 project init 3 місяців тому
Dockerfile.backup 02c1fe7ae3 project init 3 місяців тому
LICENSE 356d9c99f0 Initial commit 3 місяців тому
README.md fc2a4cfb04 Update README.md 3 місяців тому
docker-compose.yml 02c1fe7ae3 project init 3 місяців тому
go.mod 02c1fe7ae3 project init 3 місяців тому
go.sum 02c1fe7ae3 project init 3 місяців тому
main.go 02c1fe7ae3 project init 3 місяців тому
makefile 02c1fe7ae3 project init 3 місяців тому

README.md

中文 | English

MIXAPI

🍥新一代大模型网关,聚合大模型API调用,通过标准的 OpenAI API 格式访问所有的大模型,开箱即用

<img src="https://img.shields.io/github/license/Calcium-Ion/new-api?color=brightgreen" alt="license">

📝 项目说明

全新AI大模型接口管理与API聚合分发系统,支持将多种大模型转换成统一的OpenAI兼容接口,Claude接口,Gemini接口,可供个人或者企业内部大模型API 统一管理和渠道分发使用(key管理与二次分发),支持国际国内所有主流大模型,gemini,claude,qwen3,kimi-k2,豆包等,提供单可执行文件, docker镜像,一键部署,开箱即用,完全开源,自主可控!本项目基于New-API和One-API,整合了NewAPI,OneAPI所有功能及众多第三方插件为一身,功能超强!

[!IMPORTANT]

  • 本项目仅供个人学习使用,不保证稳定性,且不提供任何技术支持。
  • 使用者必须在遵循 OpenAI 的使用条款以及法律法规的情况下使用,不得用于非法用途。
  • 根据《生成式人工智能服务管理暂行办法》的要求,请勿对中国地区公众提供一切未经备案的生成式人工智能服务。

📚 文档

详细文档请访问我们的官方Wiki:https://docs.newapi.pro/

也可访问AI生成的DeepWiki: Ask DeepWiki

✨ 主要特性

MIXAPI提供了丰富的功能,详细特性请参考特性说明

  1. 🎨 全新的UI界面
  2. 🌍 多语言支持
  3. 💰 支持在线充值功能(易支付)
  4. 🔍 支持用key查询使用额度(配合neko-api-key-tool
  5. 🔄 兼容原版One API的数据库
  6. 💵 支持模型按次数收费
  7. ⚖️ 支持渠道加权随机
  8. 📈 数据看板(控制台)
  9. 🔒 令牌分组、模型限制
  10. 🤖 支持更多授权登陆方式(LinuxDO,Telegram、OIDC)
  11. 🔄 支持Rerank模型(Cohere和Jina),接口文档
  12. ⚡ 支持OpenAI Realtime API(包括Azure渠道),接口文档
  13. ⚡ 支持Claude Messages 格式,接口文档
  14. 支持使用路由/chat2link进入聊天界面
  15. 🧠 支持通过模型名称后缀设置 reasoning effort:
    1. OpenAI o系列模型
      • 添加后缀 -high 设置为 high reasoning effort (例如: o3-mini-high)
      • 添加后缀 -medium 设置为 medium reasoning effort (例如: o3-mini-medium)
      • 添加后缀 -low 设置为 low reasoning effort (例如: o3-mini-low)
    2. Claude 思考模型
      • 添加后缀 -thinking 启用思考模式 (例如: claude-3-7-sonnet-20250219-thinking)
  16. 🔄 思考转内容功能
  17. 🔄 针对用户的模型限流功能
  18. 💰 缓存计费支持,开启后可以在缓存命中时按照设定的比例计费:
    1. 系统设置-运营设置 中设置 提示缓存倍率 选项
    2. 在渠道中设置 提示缓存倍率,范围 0-1,例如设置为 0.5 表示缓存命中时按照 50% 计费
    3. 支持的渠道:
      • OpenAI
      • Azure
      • DeepSeek
      • Claude
  19. 🔄 新增对token令牌的控制,可控制分钟请求次数限制和日请求次数限制
  20. 📊 新增用量日统计
  21. 📊 新增用量月统计
  22. 📋 新增令牌管理显示该令牌的今日次数和总次数
  23. 📝 新增通过令牌请求的内容记录显示
  24. 📝 支持通过令牌查询余额

模型支持

此版本支持多种模型,详情请参考接口文档-中继接口

  1. 第三方模型 gpts (gpt-4-gizmo-*)
  2. 第三方渠道Midjourney-Proxy(Plus)接口,接口文档
  3. 第三方渠道Suno API接口,接口文档
  4. 自定义渠道,支持填入完整调用地址
  5. Rerank模型(CohereJina),接口文档
  6. Claude Messages 格式,接口文档
  7. Dify,当前仅支持chatflow

环境变量配置

详细配置说明请参考安装指南-环境变量配置

  • GENERATE_DEFAULT_TOKEN:是否为新注册用户生成初始令牌,默认为 false
  • STREAMING_TIMEOUT:流式回复超时时间,默认300秒
  • DIFY_DEBUG:Dify渠道是否输出工作流和节点信息,默认 true
  • FORCE_STREAM_OPTION:是否覆盖客户端stream_options参数,默认 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模型最大图片数量,默认 16
  • MAX_FILE_DOWNLOAD_MB: 最大文件下载大小,单位MB,默认 20
  • CRYPTO_SECRET:加密密钥,用于加密数据库内容
  • AZURE_DEFAULT_API_VERSION:Azure渠道默认API版本,默认 2025-04-01-preview
  • NOTIFICATION_LIMIT_DURATION_MINUTE:通知限制持续时间,默认 10分钟
  • NOTIFY_LIMIT_COUNT:用户通知在指定持续时间内的最大数量,默认 2
  • ERROR_LOG_ENABLED=true: 是否记录并显示错误日志,默认false

部署

详细部署指南请参考安装指南-部署方式

多机部署注意事项

  • 必须设置环境变量 SESSION_SECRET,否则会导致多机部署时登录状态不一致
  • 如果公用Redis,必须设置 CRYPTO_SECRET,否则会导致多机部署时Redis内容无法获取

部署要求

  • 本地数据库(默认):SQLite(Docker部署必须挂载/data目录)
  • 远程数据库:MySQL版本 >= 5.7.8,PgSQL版本 >= 9.6

部署方式

本地运行方式

go run main.go

构造并使用Docker镜像

# 使用SQLite
docker run --name mixapi -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/mixapi:/data 打包好的镜像名称:latest

# 使用MySQL
docker run --name mixapi -d --restart always -p 3000:3000 -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" -e TZ=Asia/Shanghai -v /home/ubuntu/data/mixapi:/data 打包好的镜像名称:latest

渠道重试与缓存

渠道重试功能已经实现,可以在设置->运营设置->通用设置设置重试次数,建议开启缓存功能。

缓存设置方法

  1. REDIS_CONN_STRING:设置Redis作为缓存
  2. MEMORY_CACHE_ENABLED:启用内存缓存(设置了Redis则无需手动设置)

接口文档

详细接口文档请参考接口文档

相关项目

其他基于New API的项目:

帮助支持

如有问题,请参考帮助支持

🌟 Star History

Star History Chart