MCPcopy
hub / github.com/QuantumNous/new-api

github.com/QuantumNous/new-api @v0.13.2 sqlite

repository ↗ · DeepWiki ↗ · release v0.13.2 ↗ · compare 2 versions
6,560 symbols 21,999 edges 948 files 1,006 documented · 15%
README

new-api

New API

🍥 次世代大規模モデルゲートウェイとAI資産管理システム

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

license release docker GoReportCard

QuantumNous%2Fnew-api | Trendshift

Featured|HelloGitHub New API - All-in-one AI asset management gateway. | Product Hunt

クイックスタート主な機能デプロイドキュメントヘルプ

📝 プロジェクト説明

[!IMPORTANT] - 本プロジェクトは個人学習用のみであり、安定性の保証や技術サポートは提供しません。 - ユーザーは、OpenAIの利用規約および法律法規を遵守する必要があり、違法な目的で使用してはいけません。 - 《生成式人工智能服务管理暂行办法》の要求に従い、中国地域の公衆に未登録の生成式AI サービスを提供しないでください。


🤝 信頼できるパートナー

順不同

Cherry Studio Aion UI 北京大学 UCloud 優刻得 Alibaba Cloud IO.NET


🙏 特別な感謝

JetBrains Logo

感謝 JetBrains が本プロジェクトに無料のオープンソース開発ライセンスを提供してくれたことに感謝します


🚀 クイックスタート

Docker Composeを使用(推奨)

# プロジェクトをクローン
git clone https://github.com/QuantumNous/new-api.git
cd new-api

# docker-compose.yml 設定を編集
nano docker-compose.yml

# サービスを起動
docker-compose up -d

Dockerコマンドを使用

# 最新のイメージをプル
docker pull calciumion/new-api:latest

# SQLiteを使用(デフォルト)
docker run --name new-api -d --restart always \
  -p 3000:3000 \
  -e TZ=Asia/Shanghai \
  -v ./data:/data \
  calciumion/new-api:latest

# 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

💡 ヒント: -v ./data:/data は現在のディレクトリの data フォルダにデータを保存します。絶対パスに変更することもできます:-v /your/custom/path:/data


🎉 デプロイが完了したら、http://localhost:3000 にアクセスして使用を開始してください!

📖 その他のデプロイ方法についてはデプロイガイドを参照してください。


📚 ドキュメント

📖 公式ドキュメント | Ask DeepWiki

クイックナビゲーション:

カテゴリ リンク
🚀 デプロイガイド インストールドキュメント
⚙️ 環境設定 環境変数
📡 APIドキュメント APIドキュメント
❓ よくある質問 FAQ
💬 コミュニティ交流 交流チャネル

✨ 主な機能

詳細な機能については機能説明を参照してください。

🎨 コア機能

機能 説明
🎨 新しいUI モダンなユーザーインターフェースデザイン
🌍 多言語 簡体字中国語、繁体字中国語、英語、フランス語、日本語をサポート
🔄 データ互換性 オリジナルのOne APIデータベースと完全に互換性あり
📈 データダッシュボード ビジュアルコンソールと統計分析
🔒 権限管理 トークングループ化、モデル制限、ユーザー管理

💰 支払いと課金

  • ✅ オンライン充電(EPay、Stripe)
  • ✅ モデルの従量課金
  • ✅ キャッシュ課金サポート(OpenAI、Azure、DeepSeek、Claude、Qwenなどすべてのサポートされているモデル)
  • ✅ 柔軟な課金ポリシー設定

🔐 認証とセキュリティ

  • 😈 Discord認証ログイン
  • 🤖 LinuxDO認証ログイン
  • 📱 Telegram認証ログイン
  • 🔑 OIDC統一認証
  • 🔍 Key使用量クォータ照会(neko-api-key-toolと併用)

🚀 高度な機能

APIフォーマットサポート: - ⚡ OpenAI Responses - ⚡ OpenAI Realtime API(Azureを含む) - ⚡ Claude Messages - ⚡ Google Gemini - 🔄 Rerankモデル(Cohere、Jina)

インテリジェントルーティング: - ⚖️ チャネル重み付けランダム - 🔄 失敗自動リトライ - 🚦 ユーザーレベルモデルレート制限

フォーマット変換: - 🔄 OpenAI Compatible ⇄ Claude Messages - 🔄 OpenAI Compatible → Google Gemini - 🔄 Google Gemini → OpenAI Compatible - テキストのみ、関数呼び出しはまだサポートされていません - 🚧 OpenAI Compatible ⇄ OpenAI Responses - 開発中 - 🔄 思考からコンテンツへの機能

Reasoning Effort サポート:

詳細設定を表示

OpenAIシリーズモデル: - o3-mini-high - 高思考努力 - o3-mini-medium - 中思考努力 - o3-mini-low - 低思考努力 - gpt-5-high - 高思考努力 - gpt-5-medium - 中思考努力 - gpt-5-low - 低思考努力

Claude思考モデル: - claude-3-7-sonnet-20250219-thinking - 思考モードを有効にする

Google Geminiシリーズモデル: - gemini-2.5-flash-thinking - 思考モードを有効にする - gemini-2.5-flash-nothinking - 思考モードを無効にする - gemini-2.5-pro-thinking - 思考モードを有効にする - gemini-2.5-pro-thinking-128 - 思考モードを有効にし、思考予算を128トークンに設定する - Gemini モデル名の末尾に -low / -medium / -high を付けることで推論強度を直接指定できます(追加の思考予算サフィックスは不要です)。


🤖 モデルサポート

詳細についてはAPIドキュメント - 中継インターフェース

モデルタイプ 説明 ドキュメント
🤖 OpenAI-Compatible OpenAI互換モデル ドキュメント
🤖 OpenAI Responses OpenAI Responsesフォーマット ドキュメント
🎨 Midjourney-Proxy Midjourney-Proxy(Plus) ドキュメント
🎵 Suno-API Suno API ドキュメント
🔄 Rerank Cohere、Jina ドキュメント
💬 Claude Messagesフォーマット ドキュメント
🌐 Gemini Google Geminiフォーマット ドキュメント
🔧 Dify ChatFlowモード -
🎯 カスタム 完全な呼び出しアドレスの入力をサポート -

📡 サポートされているインターフェース

完全なインターフェースリストを表示


🚢 デプロイ

[!TIP] 最新のDockerイメージ: calciumion/new-api:latest

📋 デプロイ要件

コンポーネント 要件
ローカルデータベース SQLite(Dockerは /data ディレクトリをマウントする必要があります)
リモートデータベース MySQL ≥ 5.7.8 または PostgreSQL ≥ 9.6
コンテナエンジン Docker / Docker Compose

⚙️ 環境変数設定

一般的な環境変数設定

変数名 説明 デフォルト値
SESSION_SECRET セッションシークレット(マルチマシンデプロイに必須) -
CRYPTO_SECRET 暗号化シークレット(Redisに必須) -
`SQL_DSN** データベース接続文字列 -
REDIS_CONN_STRING Redis接続文字列 -
STREAMING_TIMEOUT ストリーミング応答のタイムアウト時間(秒) 300
STREAM_SCANNER_MAX_BUFFER_MB ストリームスキャナの1行あたりバッファ上限(MB)。4K画像など巨大なbase64 data: ペイロードを扱う場合は値を増加させてください 64
MAX_REQUEST_BODY_MB リクエストボディ最大サイズ(MB、解凍後に計測。巨大リクエスト/zip bomb によるメモリ枯渇を防止)。超過時は 413 32
AZURE_DEFAULT_API_VERSION Azure APIバージョン 2025-04-01-preview
ERROR_LOG_ENABLED エラーログスイッチ false
PYROSCOPE_URL Pyroscopeサーバーのアドレス -
PYROSCOPE_APP_NAME Pyroscopeアプリ名 new-api
PYROSCOPE_BASIC_AUTH_USER Pyroscope Basic Authユーザー -
PYROSCOPE_BASIC_AUTH_PASSWORD Pyroscope Basic Authパスワード -
PYROSCOPE_MUTEX_RATE Pyroscope mutexサンプリング率 5
PYROSCOPE_BLOCK_RATE Pyroscope blockサンプリング率 5
HOSTNAME Pyroscope用のホスト名タグ new-api

📖 完全な設定: 環境変数ドキュメント

🔧 デプロイ方法

方法 1: Docker Compose(推奨)

# プロジェクトをクローン
git clone https://github.com/QuantumNous/new-api.git
cd new-api

# 設定を編集
nano docker-compose.yml

# サービスを起動
docker-compose up -d

方法 2: Dockerコマンド

SQLiteを使用:

docker run --name new-api -d --restart always \
  -p 3000:3000 \
  -e TZ=Asia/Shanghai \
  -v ./data:/data \
  calciumion/new-api:latest

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

💡 パス説明: - ./data:/data - 相対パス、データは現在のディレクトリのdataフォルダに保存されます - 絶対パスを使用することもできます:/your/custom/path:/data

方法 3: 宝塔パネル

  1. 宝塔パネル(9.2.0バージョン以上)をインストールし、アプリケーションストアでNew-APIを検索してインストールします。

📖 画像付きチュートリアル

⚠️ マルチマシンデプロイの注意事項

[!WARNING] - 必ず設定する必要があります SESSION_SECRET - そうしないとマルチマシンデプロイ時にログイン状態が不一致になります - 共有Redisは必ず設定する必要があります CRYPTO_SECRET - そうしないとデータを復号化できません

🔄 チャネルリトライとキャッシュ

リトライ設定: 設定 → 運営設定 → 一般設定 → 失敗リトライ回数

キャッシュ設定: - REDIS_CONN_STRING:Redisキャッシュ(推奨) - MEMORY_CACHE_ENABLED:メモリキャッシュ


🔗 関連プロジェクト

上流プロジェクト

プロジェクト 説明
One API オリジナルプロジェクトベース
Midjourney-Proxy Midjourneyインターフェースサポート

補助ツール

プロジェクト 説明
neko-api-key-tool キー使用量クォータ照会ツール
new-api-horizon New API高性能最適化版

💬 ヘルプサポート

📖 ドキュメントリソース

リソース リンク
📘 よくある質問 FAQ
💬 コミュニティ交流 交流チャネル
🐛 問題のフィードバック 問題フィードバック
📚 完全なドキュメント 公式ドキュメント

🤝 貢献ガイド

あらゆる形の貢献を歓迎します!

  • 🐛 バグを報告する
  • 💡 新しい機能を提案する
  • 📝 ドキュメントを改善する
  • 🔧 コードを提出する

📜 ライセンス

このプロジェクトは GNU Affero General Public License v3.0 (AGPLv3) の下でライセンスされています。

本プロジェクトは、One API(MITライセンス)をベースに開発されたオープンソースプロジェクトです。

お客様の組織のポリシーがAGPLv3ライセンスのソフトウェアの使用を許可していない場合、またはAGPLv3のオープンソース義務を回避したい場合は、こちらまでお問い合わせください:support@quantumnous.com

--

Extension points exported contracts — how you extend this code

Provider (Interface)
Provider defines the interface for OAuth providers [5 implementers]
oauth/provider.go
Request (Interface)
(no doc) [12 implementers]
dto/request_common.go
Adaptor (Interface)
(no doc) [32 implementers]
relay/channel/adapter.go
FundingSource (Interface)
--------------------------------------------------------------------------- FundingSource — 资金来源接口(钱包 or 订阅) ----------- [2 …
service/funding_source.go
BodyStorage (Interface)
BodyStorage 请求体存储接口 [2 implementers]
common/body_storage.go
TaskPollingAdaptor (Interface)
TaskPollingAdaptor 定义轮询所需的最小适配器接口,避免 service -> relay 的循环依赖 [1 implementers]
service/task_polling.go
HTTPClient (Interface)
HTTPClient interface for making HTTP requests [1 implementers]
pkg/ionet/types.go
BillingSettler (Interface)
BillingSettler 抽象计费会话的生命周期操作。 由 service.BillingSession 实现,存储在 RelayInfo 上以避免循环引用。 [1 implementers]
relay/common/billing.go

Core symbols most depended-on inside this repo

showError
called by 648
web/src/helpers/utils.jsx
Set
called by 482
types/rw_map.go
ApiError
called by 281
common/gin.go
Equal
called by 271
model/task.go
Unmarshal
called by 244
relay/channel/volcengine/protocols.go
showSuccess
called by 237
web/src/helpers/utils.jsx
Error
called by 209
controller/oauth.go
Contains
called by 203
types/set.go

Shape

Function 4,487
Method 1,241
Struct 776
TypeAlias 34
Interface 16
Class 4
FuncType 2

Languages

Go70%
TypeScript30%

Modules by API surface

relay/common/override_test.go80 symbols
relay/common/override.go79 symbols
model/user.go63 symbols
web/src/helpers/render.jsx60 symbols
web/src/components/table/channels/modals/ParamOverrideEditorModal.jsx60 symbols
model/channel.go60 symbols
pkg/billingexpr/billingexpr_test.go58 symbols
web/src/helpers/utils.jsx54 symbols
dto/gemini.go54 symbols
model/subscription.go51 symbols
dto/claude.go49 symbols
dto/openai_response.go46 symbols

Dependencies from manifests, versioned

github.com/Calcium-Ion/go-epayv0.0.4 · 1×
github.com/DmitriyVTitov/sizev1.5.0 · 1×
github.com/abema/go-mp4v1.4.1 · 1×
github.com/andybalholm/brotliv1.1.1 · 1×
github.com/anknown/ahocorasickv0.0.0-2019090406384 · 1×
github.com/anknown/dartsv0.0.0-2015121606571 · 1×
github.com/aws/aws-sdk-go-v2v1.41.5 · 1×
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstreamv1.7.8 · 1×
github.com/aws/aws-sdk-go-v2/credentialsv1.19.10 · 1×
github.com/aws/aws-sdk-go-v2/internal/configsourcesv1.4.21 · 1×
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2v2.7.21 · 1×
github.com/aws/aws-sdk-go-v2/service/bedrockruntimev1.50.4 · 1×

Datastores touched

(mysql)Database · 1 repos
new-apiDatabase · 1 repos

For agents

$ claude mcp add new-api \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact