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

Calcium-Ion f77381cc75 Merge pull request #2926 from seefs001/fix/status_code_mapping 11 ساعت پیش
.cursor eca4eff5f0 feat: Improve backend multilingual support 12 ساعت پیش
.github 1ee80930d4 fix(workflow): enhance tag resolution and error handling in Docker image build 1 هفته پیش
bin d84b0b0f5d chore: add model parameter to the time_test script (#245) 2 سال پیش
common 197b89ea58 feat: refactor request body handling to use BodyStorage for improved efficiency 1 روز پیش
constant f60fce6584 feat(i18n): add backend multi-language support with user language preference 1 هفته پیش
controller f77381cc75 Merge pull request #2926 from seefs001/fix/status_code_mapping 11 ساعت پیش
docs 5cc16d6d8f feat: add Aion UI link to README files 1 روز پیش
dto b1ef7d1517 feat: add OpenRouter pricing support to upstream ratio sync 13 ساعت پیش
electron c1a696e6f0 chore(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 in /electron 2 ماه پیش
i18n eca4eff5f0 feat: Improve backend multilingual support 12 ساعت پیش
logger a9a8676f7c fix: logger 3 ماه پیش
middleware eca4eff5f0 feat: Improve backend multilingual support 12 ساعت پیش
model 61a5fa39dd Merge pull request #2928 from RedwindA/fix/token-Search 11 ساعت پیش
oauth 2567cff6c8 fix(oauth): enhance error handling and transaction management for OAuth user creation and binding 1 هفته پیش
pkg d7d3a2f763 feat: channel affinity (#2669) 2 هفته پیش
relay c78b37662b fix: ignore header passthrough during channel tests 11 ساعت پیش
router d814d62e2f refactor: enhance API security with read-only token authentication and improved rate limiting 6 روز پیش
service 4ac59ca6e6 fix: support numeric status code mapping in ResetStatusCode 11 ساعت پیش
setting 44c5fac5ea refactor(ratio): replace maps with RWMap for improved concurrency handling 5 روز پیش
types 44c5fac5ea refactor(ratio): replace maps with RWMap for improved concurrency handling 5 روز پیش
web f77381cc75 Merge pull request #2926 from seefs001/fix/status_code_mapping 11 ساعت پیش
.dockerignore 725d61c5d3 feat: ionet integrate (#2105) 1 ماه پیش
.env.example 65fd33e3ef feat: Add trusted redirect domains. 2 هفته پیش
.gitattributes 9a7a29eed8 Remove deprecated components and hooks 1 هفته پیش
.gitignore 443b05821f feat: add plans directory to .gitignore 1 ماه پیش
AGENTS.md eca4eff5f0 feat: Improve backend multilingual support 12 ساعت پیش
CLAUDE.md eca4eff5f0 feat: Improve backend multilingual support 12 ساعت پیش
Dockerfile 48a17efade fix: health check 2 ماه پیش
LICENSE e74b92276e Update LICENSE file 2 هفته پیش
README.fr.md 036c2df423 chore: remove deprecated Docker badge from README 1 روز پیش
README.ja.md 036c2df423 chore: remove deprecated Docker badge from README 1 روز پیش
README.md 036c2df423 chore: remove deprecated Docker badge from README 1 روز پیش
README.zh_CN.md 036c2df423 chore: remove deprecated Docker badge from README 1 روز پیش
README.zh_TW.md 036c2df423 chore: remove deprecated Docker badge from README 1 روز پیش
VERSION 7e80e2da3a fix: add a blank VERSION file (#135) 2 سال پیش
docker-compose.yml 67c321c4fb feat: add Umami and Google Analytics integration 4 ماه پیش
go.mod f60fce6584 feat(i18n): add backend multi-language support with user language preference 1 هفته پیش
go.sum f60fce6584 feat(i18n): add backend multi-language support with user language preference 1 هفته پیش
main.go af54ea85d2 feat(oauth): implement custom OAuth provider management #1106 1 هفته پیش
makefile 27bbd951f0 feat: use bun when develop locally 8 ماه پیش
new-api.service e1c7a4f41f format: package name -> github.com/QuantumNous/new-api (#2017) 4 ماه پیش

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