AI模型聚合管理中转分发系统,一个应用管理您的所有AI模型,支持将多种大模型转为统一格式调用,支持OpenAI、Claude、Gemini等格式,可供个人或者企业内部管理与分发渠道使用。

CaIon 8bb9a42f68 feat: add clipboard magic string for quick channel creation from token copy 1 week ago
.cursor 2cf3c1836c fix: preserve explicit zero values in native relay requests 1 month ago
.github a5e20269dd security: harden Docker and release CI workflows 2 weeks ago
bin 6a34813bea chore: add model parameter to the time_test script (#245) 2 years ago
common 5238f279db feat: record stream interruption reasons via StreamStatus 1 week ago
constant 202a433f86 feat(waffo): Waffo payment gateway integration with configurable methods 3 weeks ago
controller e099117c61 refactor: use POST for account binding endpoints and normalize reset responses 1 week ago
docs e80d867f38 Update docs/installation/BT.md 3 weeks ago
dto 9ae9040b3c Merge pull request #3401 from seefs001/fix/convert-openai-detail-field 2 weeks ago
electron 0015763021 chore(deps-dev): bump minimatch from 3.1.2 to 3.1.5 in /electron 1 month ago
i18n 4fdd12ac70 feat: Improve backend multilingual support 1 month ago
logger dcd0911612 fix: log management race condition, partial delete reporting, and UX issues 3 weeks ago
middleware c667e4706a Merge pull request #3333 from seefs001/fix/channel-affinity-disable 2 weeks ago
model 5238f279db feat: record stream interruption reasons via StreamStatus 1 week ago
oauth 1911520eba fix: normalize generic oauth bearer token type 3 weeks ago
pkg d9321b7da3 feat: channel affinity (#2669) 2 months ago
relay d22f889e5d fix(xAI): set MaxTokens to nil when MaxCompletionTokens is 0 for grok-3-mini model 1 week ago
router e099117c61 refactor: use POST for account binding endpoints and normalize reset responses 1 week ago
service 5238f279db feat: record stream interruption reasons via StreamStatus 1 week ago
setting 20399d3c8f fix: harden SSRF protection for unauthenticated and user-level endpoints 1 week ago
types ba25ba88fe refactor(task): extract billing and polling logic from controller to service layer 1 month ago
web 8bb9a42f68 feat: add clipboard magic string for quick channel creation from token copy 1 week ago
.dockerignore b10f1f7b85 feat: ionet integrate (#2105) 3 months ago
.env.example db5b07bf98 feat: Add trusted redirect domains. 2 months ago
.gitattributes 986aa02bf2 chore: update .gitattributes 1 month ago
.gitignore 7fc39363d7 feat: enhance Claude request header handling with append functionality 1 month ago
AGENTS.md 2cf3c1836c fix: preserve explicit zero values in native relay requests 1 month ago
CLAUDE.md 2cf3c1836c fix: preserve explicit zero values in native relay requests 1 month ago
Dockerfile a5e20269dd security: harden Docker and release CI workflows 2 weeks ago
LICENSE f2108a7deb Update LICENSE file 2 months ago
README.fr.md 06fc6015bb Update README 1 month ago
README.ja.md 06fc6015bb Update README 1 month ago
README.md 06fc6015bb Update README 1 month ago
README.zh_CN.md cf86fe5fea docs: 完善宝塔面板部署教程并修复链接错误 3 weeks ago
README.zh_TW.md 4e492b26f6 Update README.zh_TW.md 2 weeks ago
VERSION f4450040b9 fix: add a blank VERSION file (#135) 2 years ago
docker-compose.yml 9cfaa68e5a fix(compose): Add explicit bridge network 1 month ago
go.mod 40dc43f44e chore(deps): bump golang.org/x/image from 0.23.0 to 0.38.0 1 week ago
go.sum 40dc43f44e chore(deps): bump golang.org/x/image from 0.23.0 to 0.38.0 1 week ago
main.go 70821e2051 feat: auto fetch upstream models (#2979) 1 month ago
makefile 8c9dfd3bb4 feat: use bun when develop locally 10 months ago
new-api.service 5010f2d004 format: package name -> github.com/QuantumNous/new-api (#2017) 6 months ago

README.fr.md

![new-api](/web/public/logo.png) # New API 🍥 **Passerelle de modèles étendus de nouvelle génération et système de gestion d'actifs d'IA**

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

licence version docker GoReportCard


Démarrage rapideFonctionnalités clésDéploiementDocumentationAide

📝 Description du projet

[!IMPORTANT]


🤝 Partenaires de confiance

Sans ordre particulier

Cherry Studio Aion UI Université de Pékin UCloud Alibaba Cloud IO.NET


🙏 Remerciements spéciaux

JetBrains Logo

Merci à JetBrains pour avoir fourni une licence de développement open-source gratuite pour ce projet


🚀 Démarrage rapide

Utilisation de Docker Compose (recommandé)

# Cloner le projet
git clone https://github.com/QuantumNous/new-api.git
cd new-api

# Modifier la configuration docker-compose.yml
nano docker-compose.yml

# Démarrer le service
docker-compose up -d
Utilisation des commandes Docker ```bash # Tirer la dernière image docker pull calciumion/new-api:latest # Utilisation de SQLite (par défaut) docker run --name new-api -d --restart always \ -p 3000:3000 \ -e TZ=Asia/Shanghai \ -v ./data:/data \ calciumion/new-api:latest # Utilisation de 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 ``` > **💡 Astuce:** `-v ./data:/data` sauvegardera les données dans le dossier `data` du répertoire actuel, vous pouvez également le changer en chemin absolu comme `-v /your/custom/path:/data`

🎉 Après le déploiement, visitez http://localhost:3000 pour commencer à utiliser!

📖 Pour plus de méthodes de déploiement, veuillez vous référer à Guide de déploiement


📚 Documentation

### 📖 [Documentation officielle](https://docs.newapi.pro/en/docs) | [![Demander à DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/QuantumNous/new-api)

Navigation rapide:

Catégorie Lien
🚀 Guide de déploiement Documentation d'installation
⚙️ Configuration de l'environnement Variables d'environnement
📡 Documentation de l'API Documentation de l'API
❓ FAQ FAQ
💬 Interaction avec la communauté Canaux de communication

✨ Fonctionnalités clés

Pour les fonctionnalités détaillées, veuillez vous référer à Présentation des fonctionnalités |

🎨 Fonctions principales

Fonctionnalité Description
🎨 Nouvelle interface utilisateur Conception d'interface utilisateur moderne
🌍 Multilingue Prend en charge le chinois simplifié, le chinois traditionnel, l'anglais, le français et le japonais
🔄 Compatibilité des données Complètement compatible avec la base de données originale de One API
📈 Tableau de bord des données Console visuelle et analyse statistique
🔒 Gestion des permissions Regroupement de jetons, restrictions de modèles, gestion des utilisateurs

💰 Paiement et facturation

  • ✅ Recharge en ligne (EPay, Stripe)
  • ✅ Tarification des modèles de paiement à l'utilisation
  • ✅ Prise en charge de la facturation du cache (OpenAI, Azure, DeepSeek, Claude, Qwen et tous les modèles pris en charge)
  • ✅ Configuration flexible des politiques de facturation

🔐 Autorisation et sécurité

  • 😈 Connexion par autorisation Discord
  • 🤖 Connexion par autorisation LinuxDO
  • 📱 Connexion par autorisation Telegram
  • 🔑 Authentification unifiée OIDC
  • 🔍 Requête de quota d'utilisation de clé (avec neko-api-key-tool)

🚀 Fonctionnalités avancées

Prise en charge des formats d'API:

Routage intelligent:

  • ⚖️ Sélection aléatoire pondérée des canaux
  • 🔄 Nouvelle tentative automatique en cas d'échec
  • 🚦 Limitation du débit du modèle pour les utilisateurs

Conversion de format:

  • 🔄 OpenAI Compatible ⇄ Claude Messages
  • 🔄 OpenAI Compatible → Google Gemini
  • 🔄 Google Gemini → OpenAI Compatible - Texte uniquement, les appels de fonction ne sont pas encore pris en charge
  • 🚧 OpenAI Compatible ⇄ OpenAI Responses - En développement
  • 🔄 Fonctionnalité de la pensée au contenu

Prise en charge de l'effort de raisonnement:

Voir la configuration détaillée **Modèles de la série OpenAI :** - `o3-mini-high` - Effort de raisonnement élevé - `o3-mini-medium` - Effort de raisonnement moyen - `o3-mini-low` - Effort de raisonnement faible - `gpt-5-high` - Effort de raisonnement élevé - `gpt-5-medium` - Effort de raisonnement moyen - `gpt-5-low` - Effort de raisonnement faible **Modèles de pensée de Claude:** - `claude-3-7-sonnet-20250219-thinking` - Activer le mode de pensée **Modèles de la série Google Gemini:** - `gemini-2.5-flash-thinking` - Activer le mode de pensée - `gemini-2.5-flash-nothinking` - Désactiver le mode de pensée - `gemini-2.5-pro-thinking` - Activer le mode de pensée - `gemini-2.5-pro-thinking-128` - Activer le mode de pensée avec budget de pensée de 128 tokens - Vous pouvez également ajouter les suffixes `-low`, `-medium` ou `-high` aux modèles Gemini pour fixer le niveau d’effort de raisonnement (sans suffixe de budget supplémentaire).

🤖 Prise en charge des modèles

Pour les détails, veuillez vous référer à Documentation de l'API - Interface de relais

Type de modèle Description Documentation
🤖 OpenAI-Compatible Modèles compatibles OpenAI Documentation
🤖 OpenAI Responses Format OpenAI Responses Documentation
🎨 Midjourney-Proxy Midjourney-Proxy(Plus) Documentation
🎵 Suno-API Suno API Documentation
🔄 Rerank Cohere, Jina Documentation
💬 Claude Format Messages Documentation
🌐 Gemini Format Google Gemini Documentation
🔧 Dify Mode ChatFlow -
🎯 Personnalisé Prise en charge de l'adresse d'appel complète -

📡 Interfaces prises en charge

Voir la liste complète des interfaces - [Interface de discussion (Chat Completions)](https://docs.newapi.pro/en/docs/api/ai-model/chat/openai/createchatcompletion) - [Interface de réponse (Responses)](https://docs.newapi.pro/en/docs/api/ai-model/chat/openai/createresponse) - [Interface d'image (Image)](https://docs.newapi.pro/en/docs/api/ai-model/images/openai/post-v1-images-generations) - [Interface audio (Audio)](https://docs.newapi.pro/en/docs/api/ai-model/audio/openai/create-transcription) - [Interface vidéo (Video)](https://docs.newapi.pro/en/docs/api/ai-model/audio/openai/createspeech) - [Interface d'incorporation (Embeddings)](https://docs.newapi.pro/en/docs/api/ai-model/embeddings/createembedding) - [Interface de rerank (Rerank)](https://docs.newapi.pro/en/docs/api/ai-model/rerank/creatererank) - [Conversation en temps réel (Realtime)](https://docs.newapi.pro/en/docs/api/ai-model/realtime/createrealtimesession) - [Discussion Claude](https://docs.newapi.pro/en/docs/api/ai-model/chat/createmessage) - [Discussion Google Gemini](https://docs.newapi.pro/en/docs/api/ai-model/chat/gemini/geminirelayv1beta)

🚢 Déploiement

[!TIP] Dernière image Docker: calciumion/new-api:latest

📋 Exigences de déploiement

Composant Exigence
Base de données locale SQLite (Docker doit monter le répertoire /data)
**Base de données distante MySQL ≥ 5.7.8 ou PostgreSQL ≥ 9.6
Moteur de conteneur Docker / Docker Compose

⚙️ Configuration des variables d'environnement

Configuration courante des variables d'environnement | Nom de variable | Description | Valeur par défaut | |--------|------|--------| | `SESSION_SECRET` | Secret de session (requis pour le déploiement multi-machines) | | `CRYPTO_SECRET` | Secret de chiffrement (requis pour Redis) | - | | `SQL_DSN` | Chaine de connexion à la base de données | - | | `REDIS_CONN_STRING` | Chaine de connexion Redis | - | | `STREAMING_TIMEOUT` | Délai d'expiration du streaming (secondes) | `300` | | `STREAM_SCANNER_MAX_BUFFER_MB` | Taille max du buffer par ligne (Mo) pour le scanner SSE ; à augmenter quand les sorties image/base64 sont très volumineuses (ex. images 4K) | `64` | | `MAX_REQUEST_BODY_MB` | Taille maximale du corps de requête (Mo, comptée **après décompression** ; évite les requêtes énormes/zip bombs qui saturent la mémoire). Dépassement ⇒ `413` | `32` | | `AZURE_DEFAULT_API_VERSION` | Version de l'API Azure | `2025-04-01-preview` | | `ERROR_LOG_ENABLED` | Interrupteur du journal d'erreurs | `false` | | `PYROSCOPE_URL` | Adresse du serveur Pyroscope | - | | `PYROSCOPE_APP_NAME` | Nom de l'application Pyroscope | `new-api` | | `PYROSCOPE_BASIC_AUTH_USER` | Utilisateur Basic Auth Pyroscope | - | | `PYROSCOPE_BASIC_AUTH_PASSWORD` | Mot de passe Basic Auth Pyroscope | - | | `PYROSCOPE_MUTEX_RATE` | Taux d'échantillonnage mutex Pyroscope | `5` | | `PYROSCOPE_BLOCK_RATE` | Taux d'échantillonnage block Pyroscope | `5` | | `HOSTNAME` | Nom d'hôte tagué pour Pyroscope | `new-api` | 📖 **Configuration complète:** [Documentation des variables d'environnement](https://docs.newapi.pro/en/docs/installation/config-maintenance/environment-variables)

🔧 Méthodes de déploiement

Méthode 1: Docker Compose (recommandé) ```bash # Cloner le projet git clone https://github.com/QuantumNous/new-api.git cd new-api # Modifier la configuration nano docker-compose.yml # Démarrer le service docker-compose up -d ```
Méthode 2: Commandes Docker **Utilisation de SQLite:** ```bash docker run --name new-api -d --restart always \ -p 3000:3000 \ -e TZ=Asia/Shanghai \ -v ./data:/data \ calciumion/new-api:latest ``` **Utilisation de MySQL:** ```bash 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 ``` > **💡 Explication du chemin:** > - `./data:/data` - Chemin relatif, données sauvegardées dans le dossier data du répertoire actuel > - Vous pouvez également utiliser un chemin absolu, par exemple : `/your/custom/path:/data`
Méthode 3: Panneau BaoTa 1. Installez le panneau BaoTa (version ≥ 9.2.0) 2. Recherchez **New-API** dans le magasin d'applications 3. Installation en un clic 📖 [Tutoriel avec des images](./docs/BT.md)

⚠️ Considérations sur le déploiement multi-machines

[!WARNING]

  • Doit définir SESSION_SECRET - Sinon l'état de connexion sera incohérent sur plusieurs machines
  • Redis partagé doit définir CRYPTO_SECRET - Sinon les données ne pourront pas être déchiffrées

🔄 Nouvelle tentative de canal et cache

Configuration de la nouvelle tentative: Paramètres → Paramètres de fonctionnement → Paramètres généraux → Nombre de tentatives en cas d'échec

Configuration du cache:

  • REDIS_CONN_STRING: Cache Redis (recommandé)
  • MEMORY_CACHE_ENABLED: Cache mémoire

🔗 Projets connexes

Projets en amont

Projet Description
One API Base du projet original
Midjourney-Proxy Prise en charge de l'interface Midjourney

Outils d'accompagnement

Projet Description
neko-api-key-tool Outil de recherche de quota d'utilisation avec une clé
new-api-horizon Version optimisée haute performance de New API

💬 Aide et support

📖 Ressources de documentation

Ressource Lien
📘 FAQ FAQ
💬 Interaction avec la communauté Canaux de communication
🐛 Commentaires sur les problèmes Commentaires sur les problèmes
📚 Documentation complète Documentation officielle

🤝 Guide de contribution

Bienvenue à toutes les formes de contribution!

  • 🐛 Signaler des bogues
  • 💡 Proposer de nouvelles fonctionnalités
  • 📝 Améliorer la documentation
  • 🔧 Soumettre du code

📜 Licence

Ce projet est sous licence GNU Affero General Public License v3.0 (AGPLv3).

Il s'agit d'un projet open-source développé sur la base de One API (licence MIT).

Si les politiques de votre organisation ne permettent pas l'utilisation de logiciels sous licence AGPLv3, ou si vous souhaitez éviter les obligations open-source de l'AGPLv3, veuillez nous contacter à : [email protected]


🌟 Historique des étoiles

[![Graphique de l'historique des étoiles](https://api.star-history.com/svg?repos=Calcium-Ion/new-api&type=Date)](https://star-history.com/#Calcium-Ion/new-api&Date)

### 💖 Merci d'utiliser New API Si ce projet vous est utile, bienvenue à nous donner une ⭐️ Étoile! **[Documentation officielle](https://docs.newapi.pro/en/docs)** • **[Commentaires sur les problèmes](https://github.com/Calcium-Ion/new-api/issues)** • **[Dernière version](https://github.com/Calcium-Ion/new-api/releases)** Construit avec ❤️ par QuantumNous