|
|
2 hónapja | |
|---|---|---|
| .github | 3 hónapja | |
| bin | 2 éve | |
| common | 2 hónapja | |
| constant | 2 hónapja | |
| controller | 2 hónapja | |
| docs | 2 hónapja | |
| dto | 2 hónapja | |
| electron | 3 hónapja | |
| logger | 4 hónapja | |
| middleware | 2 hónapja | |
| model | 2 hónapja | |
| pkg | 2 hónapja | |
| relay | 2 hónapja | |
| router | 2 hónapja | |
| service | 2 hónapja | |
| setting | 2 hónapja | |
| types | 2 hónapja | |
| web | 2 hónapja | |
| .dockerignore | 2 hónapja | |
| .env.example | 2 hónapja | |
| .gitignore | 2 hónapja | |
| Dockerfile | 2 hónapja | |
| LICENSE | 7 hónapja | |
| README.en.md | 2 hónapja | |
| README.fr.md | 2 hónapja | |
| README.ja.md | 2 hónapja | |
| README.md | 2 hónapja | |
| VERSION | 2 éve | |
| docker-compose.yml | 4 hónapja | |
| go.mod | 2 hónapja | |
| go.sum | 2 hónapja | |
| main.go | 2 hónapja | |
| makefile | 9 hónapja | |
| new-api.service | 4 hónapja |
Quick Start • Key Features • Deployment • Documentation • Help
[!NOTE]
This is an open-source project developed based on One API[!IMPORTANT]
- This project is for personal learning purposes only, with no guarantee of stability or technical support
- Users must comply with OpenAI's Terms of Use and applicable laws and regulations, and must not use it for illegal purposes
- According to the 《Interim Measures for the Management of Generative Artificial Intelligence Services》, please do not provide any unregistered generative AI services to the public in China.
No particular order
Thanks to JetBrains for providing free open-source development license for this project
# Clone the project
git clone https://github.com/QuantumNous/new-api.git
cd new-api
# Edit docker-compose.yml configuration
nano docker-compose.yml
# Start the service
docker-compose up -d
Using Docker Commands
# Pull the latest image
docker pull calciumion/new-api:latest
# Using SQLite (default)
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v ./data:/data \
calciumion/new-api:latest
# Using 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
💡 Tip:
-v ./data:/datawill save data in thedatafolder of the current directory, you can also change it to an absolute path like-v /your/custom/path:/data
🎉 After deployment is complete, visit http://localhost:3000 to start using!
📖 For more deployment methods, please refer to Deployment Guide
Quick Navigation:
| Category | Link |
|---|---|
| 🚀 Deployment Guide | Installation Documentation |
| ⚙️ Environment Configuration | Environment Variables |
| 📡 API Documentation | API Documentation |
| ❓ FAQ | FAQ |
| 💬 Community Interaction | Communication Channels |
For detailed features, please refer to Features Introduction
| Feature | Description |
|---|---|
| 🎨 New UI | Modern user interface design |
| 🌍 Multi-language | Supports Chinese, English, French, Japanese |
| 🔄 Data Compatibility | Fully compatible with the original One API database |
| 📈 Data Dashboard | Visual console and statistical analysis |
| 🔒 Permission Management | Token grouping, model restrictions, user management |
API Format Support:
Intelligent Routing:
Format Conversion:
Reasoning Effort Support:
View detailed configuration
OpenAI series models:
o3-mini-high - High reasoning efforto3-mini-medium - Medium reasoning efforto3-mini-low - Low reasoning effortgpt-5-high - High reasoning effortgpt-5-medium - Medium reasoning effortgpt-5-low - Low reasoning effortClaude thinking models:
claude-3-7-sonnet-20250219-thinking - Enable thinking modeGoogle Gemini series models:
gemini-2.5-flash-thinking - Enable thinking modegemini-2.5-flash-nothinking - Disable thinking modegemini-2.5-pro-thinking - Enable thinking modegemini-2.5-pro-thinking-128 - Enable thinking mode with thinking budget of 128 tokens-low, -medium, or -high to any Gemini model name to request the corresponding reasoning effort (no extra thinking-budget suffix needed).For details, please refer to API Documentation - Relay Interface
| Model Type | Description | Documentation |
|---|---|---|
| 🤖 OpenAI GPTs | gpt-4-gizmo-* series | - |
| 🎨 Midjourney-Proxy | Midjourney-Proxy(Plus) | Documentation |
| 🎵 Suno-API | Suno API | Documentation |
| 🔄 Rerank | Cohere, Jina | Documentation |
| 💬 Claude | Messages format | Documentation |
| 🌐 Gemini | Google Gemini format | Documentation |
| 🔧 Dify | ChatFlow mode | - |
| 🎯 Custom | Supports complete call address | - |
View complete interface list
[!TIP] Latest Docker image:
calciumion/new-api:latest
| Component | Requirement |
|---|---|
| Local database | SQLite (Docker must mount /data directory) |
| Remote database | MySQL ≥ 5.7.8 or PostgreSQL ≥ 9.6 |
| Container engine | Docker / Docker Compose |
Common environment variable configuration
| Variable Name | Description | Default Value |
|---|---|---|
SESSION_SECRET |
Session secret (required for multi-machine deployment) | - |
CRYPTO_SECRET |
Encryption secret (required for Redis) | - |
SQL_DSN |
Database connection string | - |
REDIS_CONN_STRING |
Redis connection string | - |
STREAMING_TIMEOUT |
Streaming timeout (seconds) | 300 |
STREAM_SCANNER_MAX_BUFFER_MB |
Max per-line buffer (MB) for the stream scanner; increase when upstream sends huge image/base64 payloads | 64 |
MAX_REQUEST_BODY_MB |
Max request body size (MB, counted after decompression; prevents huge requests/zip bombs from exhausting memory). Exceeding it returns 413 |
32 |
AZURE_DEFAULT_API_VERSION |
Azure API version | 2025-04-01-preview |
ERROR_LOG_ENABLED |
Error log switch | false |
PYROSCOPE_URL |
Pyroscope server address | - |
PYROSCOPE_APP_NAME |
Pyroscope application name | new-api |
PYROSCOPE_BASIC_AUTH_USER |
Pyroscope basic auth user | - |
PYROSCOPE_BASIC_AUTH_PASSWORD |
Pyroscope basic auth password | - |
PYROSCOPE_MUTEX_RATE |
Pyroscope mutex sampling rate | 5 |
PYROSCOPE_BLOCK_RATE |
Pyroscope block sampling rate | 5 |
HOSTNAME |
Hostname tag for Pyroscope | new-api |
📖 Complete configuration: Environment Variables Documentation
Method 1: Docker Compose (Recommended)
# Clone the project
git clone https://github.com/QuantumNous/new-api.git
cd new-api
# Edit configuration
nano docker-compose.yml
# Start service
docker-compose up -d
Method 2: Docker Commands
Using SQLite:
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v ./data:/data \
calciumion/new-api:latest
Using 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
💡 Path explanation:
./data:/data- Relative path, data saved in the data folder of the current directory- You can also use absolute path, e.g.:
/your/custom/path:/data
Method 3: BaoTa Panel
[!WARNING]
- Must set
SESSION_SECRET- Otherwise login status inconsistent- Shared Redis must set
CRYPTO_SECRET- Otherwise data cannot be decrypted
Retry configuration: Settings → Operation Settings → General Settings → Failure Retry Count
Cache configuration:
REDIS_CONN_STRING: Redis cache (recommended)MEMORY_CACHE_ENABLED: Memory cache| Project | Description |
|---|---|
| One API | Original project base |
| Midjourney-Proxy | Midjourney interface support |
| Project | Description |
|---|---|
| neko-api-key-tool | Key quota query tool |
| new-api-horizon | New API high-performance optimized version |
| Resource | Link |
|---|---|
| 📘 FAQ | FAQ |
| 💬 Community Interaction | Communication Channels |
| 🐛 Issue Feedback | Issue Feedback |
| 📚 Complete Documentation | Official Documentation |
Welcome all forms of contribution!