New API
🍥 Passerelle de modèles étendus de nouvelle génération et système de gestion d'actifs d'IA
Démarrage rapide • Fonctionnalités clés • Déploiement • Documentation • Aide
📝 Description du projet
Il s'agit d'un projet open-source développé sur la base de One API
- Ce projet est uniquement destiné à des fins d'apprentissage personnel, sans garantie de stabilité ni de support technique.
- Les utilisateurs doivent se conformer aux Conditions d'utilisation d'OpenAI et aux lois et réglementations applicables, et ne doivent pas l'utiliser à des fins illégales.
- Conformément aux 《Mesures provisoires pour la gestion des services d'intelligence artificielle générative》, veuillez ne fournir aucun service d'IA générative non enregistré au public en Chine.
🤝 Partenaires de confiance
Sans ordre particulier
🙏 Remerciements spéciaux
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:/datasauvegardera les données dans le dossierdatadu 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
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 LinuxDO
- 📱 Connexion par autorisation Telegram
- 🔑 Authentification unifiée OIDC
🚀 Fonctionnalités avancées
Prise en charge des formats d'API:
- ⚡ OpenAI Responses
- ⚡ OpenAI Realtime API (y compris Azure)
- ⚡ Claude Messages
- ⚡ Google Gemini
- 🔄 Modèles Rerank (Cohere, Jina)
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 ⇄ Claude Messages
- 🔄 OpenAI ⇄ Gemini Chat
- 🔄 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 o d'OpenAI:
o3-mini-high- Effort de raisonnement élevéo3-mini-medium- Effort de raisonnement moyeno3-mini-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éegemini-2.5-flash-nothinking- Désactiver le mode de penséegemini-2.5-pro-thinking- Activer le mode de penséegemini-2.5-pro-thinking-128- Activer le mode de pensée avec budget de pensée de 128 tokens
🤖 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 GPTs | série gpt-4-gizmo-* | - |
| 🎨 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
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 |
AZURE_DEFAULT_API_VERSION |
Version de l'API Azure | 2025-04-01-preview |
ERROR_LOG_ENABLED |
Interrupteur du journal d'erreurs | false |
📖 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
- Installez le panneau BaoTa (version 9.2.0 ou supérieure), recherchez New-API dans le magasin d'applications et installez-le.
- Recherchez New-API dans le magasin d'applications et installez-le.
⚠️ Considérations sur le déploiement multi-machines
- 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é |
💬 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
🌟 Historique des étoiles
💖 Merci d'utiliser New API
Si ce projet vous est utile, bienvenue à nous donner une ⭐️ Étoile!
Documentation officielle • Commentaires sur les problèmes • Dernière version
Construit avec ❤️ par QuantumNous
