One API是一个开源的LLM API管理与分发系统,支持OpenAI、Azure、Anthropic Claude、Google Gemini、DeepSeek、ChatGLM等主流模型,统一API适配,可用于key管理与二次分发。该项目提供单可执行文件,支持Docker镜像,实现一键部署,开箱即用。
项目支持众多主流大语言模型提供商:
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
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
# 目前支持MySQL启动,数据存储在./data/mysql文件夹内
docker-compose up -d
# 查看部署状态
docker-compose ps
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
chmod u+x one-api
./one-api --port 3000 --log-dir ./logs
PORT=3000
和SQL_DSN
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
:查看帮助root
,密码123456
# 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格式,提供:
docker run --name chat-next-web -d -p 3001:3000 yidadaa/chatgpt-next-web
在页面设置接口地址和API Key即可。
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协议开源,要求在页面底部保留署名以及指向本项目的链接。