暂无描述

Seefs 117c9a8699 Revert "fix(ui): use distinct color palette for group tags" 1 月之前
.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 e2ebd42a8c feat(cache): enhance disk cache management with concurrency control and cleanup optimizations 1 月之前
constant 9ef7740fe7 feat(file): unify file handling with a new FileSource abstraction for URL and base64 data 1 月之前
controller e2ebd42a8c feat(cache): enhance disk cache management with concurrency control and cleanup optimizations 1 月之前
docs cc1da72d10 feat: openai response /v1/response/compact (#2644) 1 月之前
dto 9ef7740fe7 feat(file): unify file handling with a new FileSource abstraction for URL and base64 data 1 月之前
electron c1a696e6f0 chore(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 in /electron 3 月之前
logger a9a8676f7c fix: logger 4 月之前
middleware 9ef7740fe7 feat(file): unify file handling with a new FileSource abstraction for URL and base64 data 1 月之前
model 9ef7740fe7 feat(file): unify file handling with a new FileSource abstraction for URL and base64 data 1 月之前
pkg d7d3a2f763 feat: channel affinity (#2669) 1 月之前
relay 9ef7740fe7 feat(file): unify file handling with a new FileSource abstraction for URL and base64 data 1 月之前
router 85b5d0100a feat(epay): enhance parameter parsing for notify and return handlers 1 月之前
service e2ebd42a8c feat(cache): enhance disk cache management with concurrency control and cleanup optimizations 1 月之前
setting c50eff53d4 feat: default enable channel affinity 1 月之前
types e2ebd42a8c feat(cache): enhance disk cache management with concurrency control and cleanup optimizations 1 月之前
web 117c9a8699 Revert "fix(ui): use distinct color palette for group tags" 1 月之前
.dockerignore 725d61c5d3 feat: ionet integrate (#2105) 2 月之前
.env.example 65fd33e3ef feat: Add trusted redirect domains. 1 月之前
.gitignore 443b05821f feat: add plans directory to .gitignore 2 月之前
Dockerfile 48a17efade fix: health check 2 月之前
LICENSE e74b92276e Update LICENSE file 1 月之前
README.fr.md 59c076978e feat: add license section to README files in multiple languages 1 月之前
README.ja.md 59c076978e feat: add license section to README files in multiple languages 1 月之前
README.md 59c076978e feat: add license section to README files in multiple languages 1 月之前
README.zh.md 59c076978e feat: add license section to README files in multiple languages 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 d7d3a2f763 feat: channel affinity (#2669) 1 月之前
go.sum d7d3a2f763 feat: channel affinity (#2669) 1 月之前
main.go 9da3412fde ✨ feat: add subscription billing system (#2808) 1 月之前
makefile 27bbd951f0 feat: use bun when develop locally 9 月之前
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 docker GoReportCard


Démarrage rapideFonctionnalités clésDéploiementDocumentationAide

📝 Description du projet

[!NOTE]
Il s'agit d'un projet open-source développé sur la base de One API

[!IMPORTANT]


🤝 Partenaires de confiance

Sans ordre particulier

Cherry Studio 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
# 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, l'anglais, le français, 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


🚢 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

🔧 Méthodes de déploiement

Méthode 1: Docker Compose (recommandé)
# 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:

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

💡 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

⚠️ 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).

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 à : support@quantumnous.com


🌟 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