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

github.com/QuantumNous/new-api @v1.0.0-rc.15 sqlite

repository ↗ · DeepWiki ↗ · release v1.0.0-rc.15 ↗ · compare 2 versions
10,921 symbols 34,887 edges 1,941 files 1,161 documented · 11%
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] - 本プロジェクトは、合法的に許可された AI API ゲートウェイ、組織レベルの認証、マルチモデル管理、利用量分析、コスト管理、プライベートデプロイのシナリオのみを対象としています。 - ユーザーは、上流の API キー、アカウント、モデルサービス、インターフェース権限を合法的に取得し、上流のサービス利用規約および適用される法律法規を遵守する必要があります。 - ユーザーは、利用方法が上流のサービス利用規約および適用される法律法規に準拠していることを確認してください。 - 生成 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 にアクセスして使用を開始してください!

[!WARNING] 本プロジェクトを公衆向け生成 AI サービスまたは API 再販サービスとして運営する場合、ユーザーは届出、コンテンツセキュリティ、本人確認、ログ保持、税務、決済、上流認可などの必要なコンプライアンス義務を先に完了してください。

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


📚 ドキュメント

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

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

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

✨ 主な機能

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

🎨 コア機能

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

💰 認可済み利用量とコスト管理

  • ✅ 合法的に許可されたシナリオでの内部チャージとクォータ割り当て(EPay、Stripe)
  • ✅ 組織レベルのリクエスト単位、使用量ベース、キャッシュヒットのコスト会計
  • ✅ OpenAI、Azure、DeepSeek、Claude、Qwen などのモデルのキャッシュ課金統計
  • ✅ 内部管理または認可済み企業顧客向けの柔軟な課金ポリシー

🔐 認証とセキュリティ

  • 😈 Discord認証ログイン
  • 🤖 LinuxDO認証ログイン
  • 📱 Telegram認証ログイン
  • 🔑 OIDC統一認証
  • 🔍 Key使用量クォータ照会(new-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インターフェースサポート

補助ツール

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

💬 ヘルプサポート

📖 ドキュメントリソース

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

🤝 貢献ガイド

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

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

📜 ライセンス

このプロジェクトは [GNU Affero General Public License

Extension points exported contracts — how you extend this code

SystemTaskHandler (Interface)
SystemTaskHandler executes a claimed task of a specific type. Run owns the task lifecycle from claim to terminal state: [6 …
service/system_task.go
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) [33 implementers]
relay/channel/adapter.go
TaskPollingAdaptor (Interface)
TaskPollingAdaptor 定义轮询所需的最小适配器接口,避免 service -> relay 的循环依赖 [2 implementers]
service/task_polling.go
FundingSource (Interface)
--------------------------------------------------------------------------- FundingSource — 资金来源接口(钱包 or 订阅) ----------- [2 …
service/funding_source.go
BodyStorage (Interface)
BodyStorage 请求体存储接口 [2 implementers]
common/body_storage.go
HTTPClient (Interface)
HTTPClient interface for making HTTP requests [1 implementers]
pkg/ionet/types.go

Core symbols most depended-on inside this repo

cn
called by 829
web/default/src/lib/utils.ts
showError
called by 661
web/classic/src/helpers/utils.jsx
Set
called by 471
types/rw_map.go
Equal
called by 433
model/task.go
ApiError
called by 286
common/gin.go
Contains
called by 251
types/set.go
Unmarshal
called by 248
relay/channel/volcengine/protocols.go
showSuccess
called by 245
web/classic/src/helpers/utils.jsx

Shape

Function 8,238
Method 1,334
Struct 861
Interface 445
TypeAlias 36
Class 4
FuncType 3

Languages

TypeScript52%
Go48%

Modules by API surface

relay/common/override_test.go83 symbols
relay/common/override.go80 symbols
model/channel.go71 symbols
model/user.go64 symbols
web/classic/src/helpers/render.jsx62 symbols
web/default/src/features/dashboard/lib/flow.ts61 symbols
web/classic/src/components/table/channels/modals/ParamOverrideEditorModal.jsx60 symbols
web/default/src/components/ai-elements/prompt-input.tsx56 symbols
pkg/billingexpr/billingexpr_test.go56 symbols
model/subscription.go55 symbols
web/classic/src/helpers/utils.jsx54 symbols
dto/gemini.go54 symbols

Dependencies from manifests, versioned

github.com/Azure/go-ntlmsspv0.1.1 · 1×
github.com/Calcium-Ion/go-epayv0.0.4 · 1×
github.com/ClickHouse/ch-gov0.65.0 · 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×

Datastores touched

new-apiDatabase · 1 repos
(mysql)Database · 1 repos
dbDatabase · 1 repos
new-api-logDatabase · 1 repos

For agents

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

⬇ download graph artifact