One API是开发者JustSong(songquanpeng)开源的LLM API管理与分发系统,MIT许可。通过标准OpenAI API格式访问所有大模型——OpenAI、Azure、Anthropic Claude、Google Gemini、DeepSeek、字节豆包、ChatGLM、文心一言、讯飞星火、通义千问、360智脑、腾讯混元等30+提供商,统一API适配。单可执行文件,提供Docker镜像,一键部署,开箱即用。可用于Key管理与二次分发,是中文社区最经典的AI中转站。
项目概述
One API由独立开发者JustSong(songquanpeng)于2023年初ChatGPT API刚发布时创建 ,是”用OpenAI格式统一所有模型”这一范式的开创者——后来几乎所有的同类项目(包括New API等增强版)都从它这里借鉴了架构思路 。项目2026年在GitHub已收获数万Stars(不同统计时点2.9万-3.5万+),是中文开发者圈子最经典的AI中转站 。
核心定位哲学:
One API官方自我定位是”LLM API management & key redistribution system” ——它解决的是大模型API碎片化时代的”接口聚合”痛点:市面上每个大模型厂商的API格式都不一样,请求体字段不同、返回结构不同、stream模式实现方式也不同,项目里对接三五个模型光适配层就要写一堆 。One API把所有模型统一到OpenAI的接口格式下,充当上层应用与底层异构模型算力之间的API网关与反向代理层 ,下游不用改代码,上游随便换模型。
它做什么 / 不做什么(关键归类):
- ✅ 做:接收OpenAI格式的请求 → 翻译成目标提供商的native请求 → 调用提供商API → 将响应翻译回OpenAI格式返回 → 在此之上提供Key管理、负载均衡、额度控制、调用统计
- ❌ 不做:自己不加载模型权重、不管理KV Cache、不执行推理计算。它严格属于”API封装/LLM网关”子类,不是推理引擎;后端接的是各家云端API或本地推理引擎(Ollama/vLLM/LocalAI)
架构与技术栈:
- 后端:Go语言
- 前端:React
- 数据库:SQLite(默认)/ MySQL / PostgreSQL
- 缓存:Redis(可选,多机部署推荐)
- 部署形态:单可执行文件 / Docker镜像 / 源码编译,提供英文UI
支持的模型提供商(30+,部分代表) :
- 国际大厂:OpenAI、Azure OpenAI、Anthropic Claude(含AWS)、Google Gemini/PaLM2、Mistral、Groq、Cohere、xAI
- 国产模型:DeepSeek、百度文心一言、阿里通义千问、讯飞星火、智谱ChatGLM、360智脑、腾讯混元、字节豆包(火山引擎)、Moonshot、百川、MiniMax、零一万物、阶跃星辰
- 开源/自部署:Ollama、LocalAI、FastChat、vLLM
- 中转服务:API2D、OhMyGPT、OpenRouter、Together.ai、Novita.ai、SiliconCloud(硅基流动)、Cloudflare Workers AI、Coze
- 其他:DeepL翻译
许可策略:MIT许可证 ,允许商用、修改、再分发、出售,无任何限制,是”最干净许可”阵营中最宽松的。
💡 One API的独特定位:它是”API封装/LLM网关”子类中中文社区的开创者与经典之作。与LiteLLM(海外最热门、100+提供商、网关+SDK双形态、企业治理全家桶)、Portkey Gateway(TS轻量、200+模型)、Kong AI Gateway(企业API网关AI插件)、Higress(阿里系国产)形成差异化:One API的核心竞争力在”单可执行文件+Docker一键部署的开箱即用体验 + 30+提供商统一OpenAI格式 + Key管理与二次分发的完整后台” ——它是API封装层的”中文圈参照系”,MIT许可 与LiteLLM/llama.cpp/MLX并列最干净许可阵营。One API自己不执行推理计算(非vLLM/SGLang那种推理引擎),而是把各家云端API或本地推理引擎统一封装成OpenAI兼容接口,在此之上提供渠道管理、负载均衡、额度控制、调用统计、兑换码、用户分组等分发系统必备能力 。2023年ChatGPT API发布时JustSong就做了这个项目,定义了”用OpenAI格式统一所有模型”的范式 。需要注意的是,One API偏中文社区与中转分发场景,大规模企业治理/观测集成不如LiteLLM完整;统一OpenAI格式可能无法覆盖所有提供商的私有特性。官方明确警告”使用root用户初次登录系统后,务必修改默认密码123456″ ——这是部署时的关键安全必检项。
核心能力
- 统一OpenAI格式:通过标准OpenAI API格式访问所有大模型,下游应用无需改代码
- 30+提供商支持:OpenAI/Azure/Claude/Gemini/DeepSeek/豆包/ChatGLM/文心/讯飞/通义/混元等全覆盖
- 渠道管理:支持批量创建渠道,每个渠道可设置模型列表、优先级、权重
- 负载均衡:支持多个渠道/多个API Key间的自动负载均衡,提高可用性
- 自动重试:渠道失败时自动重试与故障转移
- 流式传输:支持stream模式,实现打字机效果(SSE)
- 令牌管理:设置令牌的过期时间、使用次数、IP白名单、模型访问权限
- 兑换码管理:支持批量生成和导出兑换码,用户可使用兑换码充值账户
- 用户与渠道分组:不同用户组/渠道组可设置不同费率,支持模型映射
- 额度控制:多级额度管理,防止滥用,详细额度使用明细
- 多机部署:支持分布式部署,所有服务器SESSION_SECRET设置相同值,连接同一个MySQL数据库,从服务器设置NODE_TYPE为slave
- 用户认证:支持邮箱、GitHub、微信、飞书等多种登录方式
- 调用统计:可视化报表,按请求数、成本、模型热度等维度跟踪
- 自定义设置:自定义系统名称、Logo、页脚、首页/关于页(HTML/Markdown/iframe)
- 管理API:通过系统访问令牌调用管理API,无需修改核心代码即可扩展功能
- Cloudflare AI Gateway集成:可对接Cloudflare AI Gateway
- 画图接口:支持图像生成API
- 消息推送集成:通过Message Pusher向各类App推送告警
- 单可执行文件:Go编译的单文件二进制,无依赖,下载即运行
- Docker一键部署:官方Docker镜像
justsong/one-api,提供Docker Compose - 宝塔面板一键部署:宝塔面板9.2.0+应用商店搜索One-API一键安装
优势亮点
- MIT最干净许可:商用、修改、再分发、出售均无限制,与LiteLLM/llama.cpp并列最宽松阵营
- API封装层中文圈开创者:2023年ChatGPT API发布即创建,定义了”用OpenAI格式统一所有模型”的范式
- 开箱即用:单可执行文件或Docker一键部署,5分钟跑通第一个跨模型请求
- 30+提供商统一:国产模型覆盖最全面(文心/通义/讯飞/ChatGLM/豆包/DeepSeek/混元等),这是海外网关LiteLLM/Portkey的薄弱环节
- 完整分发系统:Key管理、额度控制、兑换码、用户分组、费率设置——是做API中转生意的基础设施
- Go语言高性能:Go后端添加的转换层延迟约5ms
- 多数据库支持:SQLite/MySQL/PostgreSQL灵活选择,多机部署成熟方案
- 可视化后台:渠道管理、用户管理、额度查看、调用统计全在Web UI完成
- 社区生态活跃:2026年GitHub数万Stars,100+贡献者,是中文LLM基础设施最热门工具之一
- 无缝迁移:业务从国外模型迁移到国产模型(或反之),只需在控制台点击几次,无需修改业务代码
局限
- 自己不执行推理:One API是协议转换与分发层,后端必须接各家API或本地推理引擎(Ollama/vLLM)
- 企业治理不如LiteLLM完整:缺少LiteLLM的虚拟密钥预算体系、80+观测集成、MCP Server暴露等现代企业治理特性
- 统一OpenAI格式的局限:无法覆盖所有提供商的私有特性(如自定义参数),部分高级功能可能受限
- 默认密码安全风险:初始账号root/密码123456,官方明确警告必须修改 ,否则有安全风险
- 大规模部署需额外配置:高并发场景需要配置负载均衡、数据库扩展
- 海外提供商适配略滞后:主要面向中文社区,OpenAI/Anthropic/Google等海外新模型Day-1适配速度可能不及LiteLLM
- 观测能力基础:调用统计以基础报表为主,缺少LiteLLM的Langfuse/Prometheus/OpenTelemetry深度集成
- 单点性能依赖上游:性能取决于上游提供商延迟与网络条件
- 合规提醒:项目Note中明确声明”根据《生成式人工智能服务管理暂行办法》的要求,请勿对中国地区公众提供一切未经备案的生成式人工智能服务” ——国内公开服务需注意备案合规
适用人群
- 中文开发者:需要用统一接口调用文心/通义/讯飞/ChatGLM/DeepSeek/豆包等国产模型
- API中转服务商:做API二次分发生意,需要完整的Key管理、额度控制、兑换码、用户分组
- 个人开发者:Key太多管不过来,需要统一入口与额度控制
- 企业IT管理员:组织内需要集中管理多家提供商API Key、控制员工访问、监控用量
- 需要国产模型合规部署的团队:One API对国产模型的支持最全面
- 快速原型验证:Docker一键部署,5分钟跑通跨模型请求
- 多模型切换场景:业务需要在GPT-4/Claude/文心/通义间无缝切换,不想改代码
- 成本敏感团队:需要跨提供商成本跟踪与额度控制
安装与部署
1. 环境要求
- Linux/Windows/macOS(Go编译的单文件二进制,无特殊依赖)
- 数据库:SQLite(默认)/ MySQL / PostgreSQL
- 可选:Redis(多机部署推荐)
- Docker部署:需安装Docker
2. Docker一键部署(推荐)
# 拉取最新镜像 docker run -d --name one-api \ -p 3000:3000 \ -e TZ=Asia/Shanghai \ -v $(pwd)/one-api-data:/data \ --restart=always \ justsong/one-api:latest # 如果justsong/one-api拉不动,改用GitHub镜像 docker run -d --name one-api \ -p 3000:3000 \ -e TZ=Asia/Shanghai \ -v $(pwd)/one-api-data:/data \ --restart=always \ ghcr.io/songquanpeng/one-api:latest # 访问 http://localhost:3000 # 初始账号:root / 密码:123456(务必修改!)
3. 单文件直跑
# Linux/macOS curl -L https://github.com/songquanpeng/one-api/releases/download/v0.6.10/one-api-linux-amd64 -o one-api chmod +x one-api ./one-api # Windows:下载one-api-windows-amd64.exe双击运行
4. Docker Compose部署
version: "3.9"
services:
one-api:
image: justsong/one-api:latest
container_name: one-api
restart: always
ports:
- "3000:3000"
environment:
- TZ=Asia/Shanghai
- SQL_DSN=root:password@tcp(mysql:3306)/oneapi
- SESSION_SECRET=your-session-secret
- NODE_TYPE=master
volumes:
- ./data:/data
depends_on:
- mysql
mysql:
image: mysql:8.0
container_name: one-api-mysql
restart: always
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=oneapi
volumes:
- ./mysql-data:/var/lib/mysql
5. 源码编译部署
git clone https://github.com/songquanpeng/one-api.git cd one-api # 构建前端 cd 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
6. 多机部署
# 所有服务器SESSION_SECRET设置一样的值 export SESSION_SECRET="your-shared-secret" # 必须设置SQL_DSN,使用MySQL数据库而非SQLite export SQL_DSN="root:password@tcp(mysql-host:3306)/oneapi" # 主服务器(默认) export NODE_TYPE=master # 从服务器 export NODE_TYPE=slave # 推荐设置SYNC_FREQUENCY并启用Redis export SYNC_FREQUENCY=60 export REDIS_CONN_STRING="redis:6379" ./one-api --port 3000
7. 添加第一个模型渠道
# 1. 登录后台 http://localhost:3000(root/123456) # 2. 左侧菜单点击"渠道" → 右上角"+ 添加渠道" # 3. 填写: # 渠道名称:我的OpenAI主通道 # 类型:OpenAI # API Key:your-openai-api-key # 基础URL:留空(自动使用官方地址) # 4. 保存
8. 用原生OpenAI SDK直连(零代码改造)
from openai import OpenAI
# 只需把base_url改成One API地址,其余完全不变
client = OpenAI(
api_key="your-one-api-key",
base_url="http://localhost:3000/v1"
)
# 调用OpenAI
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}]
)
# 切换到Claude(只需改model参数,代码不变)
response = client.chat.completions.create(
model="claude-sonnet-4-20250514",
messages=[{"role": "user", "content": "Hello!"}]
)
# 切换到DeepSeek
response = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "Hello!"}]
)
# 切换到通义千问
response = client.chat.completions.create(
model="qwen-max",
messages=[{"role": "user", "content": "Hello!"}]
)
9. 部署前必检清单
- 确认仓库位于
github.com/songquanpeng/one-api(官方) - 许可:MIT ,商用最友好,无copyleft限制
- 务必修改默认密码:root/123456是官方明确警告的安全风险点
- 严格属于”API封装/LLM网关”子类,自己不执行推理计算,后端需接各家API或本地推理引擎
- 30+提供商支持,国产模型覆盖最全面(这是相比LiteLLM的核心优势)
- 生产部署建议使用MySQL + Redis,多机部署设置SESSION_SECRET一致
- Docker镜像地址:
justsong/one-api或ghcr.io/songquanpeng/one-api(alpha版:justsong/one-api-alpha) - 最新Docker镜像可能是alpha版,要求稳定请手动指定版本标签
- 国内公开服务需注意《生成式人工智能服务管理暂行办法》的备案合规要求
- 统一OpenAI格式可能无法覆盖所有提供商的私有特性
相关导航
Portkey Gateway

n1n

LocalAI

Higress

OpenRouter

