颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定
引言
在 AI 技术爆发式发展的今天,OpenAI、百度文心一言、智谱 ChatGLM、腾讯混元等主流大模型纷纷涌现,各自凭借独特优势占据市场。但对开发者而言,多平台对接却成了棘手难题:不同的 API 格式、繁杂的鉴权方式、各异的返回结构,意味着要维护多套代码、反复研读不同文档,不仅耗时耗力,还大幅增加了系统维护成本。
而开源工具 One-API 的出现,正以 "万能接口翻译官" 的姿态,彻底破解这一行业痛点。
什么是One-API
1个平台管理30+大模型API并支持秘钥付费。
LLM API 管理 & 分发系统,支持 OpenAI、Azure、Anthropic Claude、Google Gemini、DeepSeek、字节豆包、ChatGLM、文心一言、讯飞星火、通义千问、360 智脑、腾讯混元等主流模型,统一 API 适配,可用于 key 管理与二次分发。单可执行文件,提供 Docker 镜像,一键部署,开箱即用。LLM API management & key redistribution system, unifying multiple providers under a single API. Single binary, Docker-ready, with an English UI.
One-API 支持几十种模型服务商,包括但不限于:
- • OpenAI / Azure OpenAI
- • DeepSeek
- • Moonshot
- • Anthropic Claude
- • Google Gemini
- • 阿里 Qwen
- • 百度文心
- • 讯飞星火
- • 本地模型代理(如 LM Studio、Ollama)
并提供:
- • 轮询
- • 权重分配
- • 故障自动切换
- • 负载均衡
让调用更稳定。
演示站:
部署One-API前置条件
Docker部署
1.使用 SQLite 的部署命令
mkdir -p /data/docker/one-api docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /data/docker/one-api:/data justsong/one-api浏览器访问:IP+端口
2.使用 MySQL 的部署命令
在上面的基础上添加-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi",请自行修改数据库连接参数,不清楚如何修改请参见下面环境变量一节。
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其中,-p 3000:3000中的第一个3000是宿主机的端口,可以根据需要进行修改。
数据和日志将会保存在宿主机的/data/docker/one-api目录,请确保该目录存在且具有写入权限,或者更改为合适的目录。
如果启动失败,请添加--privileged=true。
如果上面的镜像无法拉取,可以尝试使用 GitHub 的 Docker 镜像,将上面的justsong/one-api替换为ghcr.io/songquanpeng/one-api即可。
如果你的并发量较大,务必设置SQL_DSN,详见下面环境变量一节。
更新命令:docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR
3.基于 Docker Compose 进行部署
wget https://raw.githubusercontent.com/songquanpeng/one-api/refs/heads/main/docker-compose.yml # 目前支持 MySQL 启动,数据存储在 ./data/mysql 文件夹内 docker-compose up -d # 查看部署状态 docker-compose psNginx 的参考配置
server{ server_name openai.justsong.cn; # 请根据实际情况修改你的域名 location / { client_max_body_size 64m; proxy_http_version 1.1; proxy_pass http://localhost:3000; # 请根据实际情况修改你的端口 proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_cache_bypass $http_upgrade; proxy_set_header Accept-Encoding gzip; proxy_read_timeout 300s; # GPT-4 需要较长的超时时间,请自行调整 } }certbot 配置 HTTPS
# Ubuntu 安装 certbot: sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot # 生成证书 & 修改 Nginx 配置 sudo certbot --nginx # 根据指示进行操作 # 重启 Nginx sudo service nginx restart使用One-API
1.登录
初始账号
用户名为 root
密码为 123456
2.添加渠道
如下图,点击渠道、 添加新的渠道
支持
- • OpenAI(含官方和各种代理)
- • Azure OpenAI
- • Anthropic Claude
- • 百度文心一言
- • 科大讯飞星火
- • 阿里通义千问
- • 智谱AI
- • 腾讯混元
- • 等等十几家...
添加千问的渠道
填入密钥
测试
3.创建令牌
为你的应用创建授权令牌,这是调用API的凭证。
依次点击,令牌、添加新的令牌
创建新的令牌
可以设置名称、模型范围、IP限制等
复制令牌
4.修改应用配置
http://192.168.1.3:3000/v1/chat/completions测试是否成功
http://192.168.1.3:3000/v1/chat/completionsCURL测试是否成功
curl -X POST "http://192.168.1.3:3000/v1/chat/completions" \ -H "Authorization: Bearer sk-D1aztx0oY9xBsez1Df0a188cD7434aAcB7C4E199D0DbBc2f" \ -H "Content-Type: application/json" \ -d "{ \"model\": \"qwen-plus\", \"messages\": [ { \"role\": \"system\", \"content\": \"You are a helpful assistant.\" }, { \"role\": \"user\", \"content\": \"你是谁?\" } ] }" {"id":"9b59d121-ce38-4ad6-afd9-bac2b616e371","model":"qwen","object":"chat.completion","created":1768471983,"choices":[{"index":0,"message":{"role":"assistant","content":"我是通义千问,阿里巴巴集团旗下的超大规模语言模型。我能够回答问题、创作文字,如写故事、公文、邮件、剧本等,还能进行逻辑推理、编程,甚至表达观点和玩游戏。我支持多种语言,包括中文、英文、德语、法语、西班牙语等。如果你有任何问题或需要帮助,欢迎随时告诉我!"},"finish_reason":"stop"}],"usage":{"prompt_tokens":22,"completion_tokens":78,"total_tokens":100}}3.查看用量
总览查看请求的趋势
日志可以查看具体的使用情况
再用相同的方法配置多个渠道
结尾
无论你是想做团队内部的模型网关,还是想搭建一个对外的聚合服务,甚至只是想把各种大模型的 Key 管理得更优雅一点,One-API 都是个非常省心的选择。
如果你在部署过程中遇到什么奇怪的问题,可以随时来交流。
我这边会继续补充更多踩坑经验和最佳实践,帮你少走弯路。希望你也能顺利把 One-API 跑起来,早点享受到“一个平台管所有模型”的爽感。祝你折腾愉快!