Home
Login

LLM API 管理與分發系統,支援多種大語言模型的統一介面管理

MITJavaScript 25.9ksongquanpengone-api Last Updated: 2025-02-21

One API - LLM API 管理與分發系統

項目概述

One API 是一個開源的 LLM API 管理與分發系統,支援 OpenAI、Azure、Anthropic Claude、Google Gemini、DeepSeek、ChatGLM 等主流模型,統一 API 适配,可用於 key 管理與二次分發。該項目提供單可執行文件,支援 Docker 鏡像,實現一鍵部署,開箱即用。

核心特性

📋 多模型支援

項目支援眾多主流大語言模型提供商:

  • OpenAI 系列:ChatGPT 系列模型(支援 Azure OpenAI API)
  • Anthropic:Claude 系列模型(支援 AWS Claude)
  • Google:PaLM2/Gemini 系列模型
  • other:其它系列模型

🔧 核心功能

API 管理與分發

  • 支援配置鏡像以及眾多第三方代理服務
  • 支援通過負載均衡的方式訪問多個渠道
  • 支援 stream 模式,可以通過流式傳輸實現打字機效果
  • 支援多機部署
  • 支援失敗自動重試
  • 支援繪圖接口

用戶與權限管理

  • 令牌管理:設置令牌的過期時間、額度、允許的 IP 範圍以及允許的模型訪問
  • 兌換碼管理:支援批量生成和導出兌換碼,可使用兌換碼為賬戶進行充值
  • 用戶分組:支援用戶分組以及渠道分組,支援為不同分組設置不同的倍率
  • 渠道管理:批量創建渠道,支援渠道設置模型列表

監控與統計

  • 支援查看額度明細
  • 支援用戶邀請獎勵
  • 支援以美元為單位顯示額度
  • 配合 Message Pusher 可將報警信息推送到多種 App 上

自定義功能

  • 支援發布公告,設置充值鏈接,設置新用戶初始額度
  • 支援模型映射,重定向用戶的請求模型
  • 支援自定義系統名稱、logo 以及頁腳
  • 支援自定義首頁和關於頁面
  • 支援通過系統訪問令牌調用管理 API

🔐 安全與認證

多種登錄方式

  • 郵箱登錄註冊(支援註冊郵箱白名單)以及通過郵箱進行密碼重置
  • 飛書授權登錄
  • GitHub 授權登錄
  • 微信公眾號授權(需要額外部署 WeChat Server)

安全特性

  • 支援 Cloudflare Turnstile 用戶校驗
  • 支援主題切換
  • 支援 Cloudflare AI Gateway

部署方式

Docker 部署(推薦)

使用 SQLite

docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api

使用 MySQL

docker run --name one-api -d --restart always -p 3000:3000 -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api

Docker Compose 部署

# 目前支援 MySQL 啟動,數據存儲在 ./data/mysql 文件夾內
docker-compose up -d

# 查看部署狀態
docker-compose ps

手動部署

  1. 從 GitHub Releases 下載可執行文件或從源碼編譯:
git clone https://github.com/songquanpeng/one-api.git

# 構建前端
cd one-api/web/default
npm install
npm run build

# 構建後端
cd ../..
go mod download
go build -ldflags "-s -w" -o one-api
  1. 運行:
chmod u+x one-api
./one-api --port 3000 --log-dir ./logs

雲平台部署

Zeabur 部署

  • Fork 代碼倉庫
  • 在 Zeabur 創建 Project,添加 MySQL 服務
  • 配置環境變量 PORT=3000SQL_DSN
  • 部署並配置域名

Render 部署

  • 直接部署 Docker 鏡像
  • 無需 Fork 倉庫

配置說明

環境變量配置

數據庫配置

  • SQL_DSN:數據庫連接字符串(推薦使用 MySQL 或 PostgreSQL)
  • LOG_SQL_DSN:日誌表獨立數據庫連接

緩存配置

  • REDIS_CONN_STRING:Redis 連接字符串,用於緩存
  • MEMORY_CACHE_ENABLED:啟用內存緩存
  • SYNC_FREQUENCY:數據庫同步頻率(秒)

集群配置

  • SESSION_SECRET:固定會話密鑰
  • NODE_TYPE:節點類型(master/slave)
  • FRONTEND_BASE_URL:前端重定向地址

安全配置

  • GLOBAL_API_RATE_LIMIT:API 速率限制
  • GLOBAL_WEB_RATE_LIMIT:Web 速率限制
  • RELAY_TIMEOUT:中繼超時設置

命令行參數

  • --port <port_number>:指定端口號(默認 3000)
  • --log-dir <log_dir>:指定日誌文件夾
  • --version:打印版本號
  • --help:查看幫助

使用方法

  1. 初始登錄:使用默認賬號 root,密碼 123456
  2. 渠道配置:在渠道頁面添加 API Key
  3. 令牌創建:在令牌頁面創建訪問令牌
  4. 客戶端配置:將 API Base 設置為 One API 部署地址,API Key 設置為生成的令牌

API 使用示例

# OpenAI 官方庫配置
OPENAI_API_KEY="sk-xxxxxx"
OPENAI_API_BASE="https://<HOST>:<PORT>/v1"

渠道指定

可以通過在令牌後添加渠道 ID 來指定使用特定渠道:

Authorization: Bearer ONE_API_KEY-CHANNEL_ID

架構設計

用戶 → One API → OpenAI/Azure/Claude/Gemini 等多個提供商

One API 作為中間層,統一不同提供商的 API 格式,提供:

  • 負載均衡
  • 請求中繼和格式轉換
  • 用戶管理和權限控制
  • 使用量統計和計費

集成案例

ChatGPT Next Web

docker run --name chat-next-web -d -p 3001:3000 yidadaa/chatgpt-next-web

在頁面設置接口地址和 API Key 即可。

ChatGPT Web

docker run --name chatgpt-web -d -p 3002:3002 -e OPENAI_API_BASE_URL=https://openai.justsong.cn -e OPENAI_API_KEY=sk-xxx chenzhaoyu94/chatgpt-web

許可證

本項目使用 MIT 協議開源,要求在頁面底部保留署名以及指向本項目的鏈接。

項目地址

Star History Chart