One API 是一个开源的 AI API 网关,由 songquanpeng 开发,GitHub 上已有 30K+ Star。
它将 OpenAI、Claude、Gemini、DeepSeek、通义千问等所有平台的 API Key 整合到一个统一入口,对外暴露统一的 OpenAI 格式接口,让你自己掌控全部流量,不依赖任何中转站。
One API 解决的核心痛点
痛点 1:多个 Key 散落各处
OpenAI 一个、Claude 一个、火山方舟一个、阿里百炼一个……配置散在十几个项目里,管理混乱。
痛点 2:切换模型要改代码
每家 SDK 都不一样,从 GPT 切到 Claude 需要重写一遍调用逻辑,开发成本高。
痛点 3:成本和用量看不清
十几个平台账单分别算,一个月花了多少 Token 心里没数,难以优化成本。
装上 One API 之后,所有调用统一为:
POST https://你的域名/v1/chat/completions
Authorization: Bearer ***
{ "model": "gpt-4o", ... }
把 model 换成 claude-opus-4 或 deepseek-chat,后端自动路由,代码一行不用改。
⚠️ 重要澄清:One API 本身不提供任何 Token,它只是个工具。你需要自己去各平台买 Key 灌进去,这才是合法、可控的"自建中转"。
自建 vs 中转站对比
| 维度 | 中转站 | 自建 One API |
|---|---|---|
| 模型来源 | 对方说啥就是啥 | 你自己选官方 |
| 跑路风险 | 高(号池随时崩) | 零 |
| 数据隐私 | Prompt 全被记录 | 仅你能访问 |
| 价格 | 看似便宜,实际算汇率后未必=官方原价 | 官方原价 |
| 部署难度 | 零 | 15 分钟 |
| 月成本(个人) | 看用量 | 0–5 美元服务器费 |
如果你已经有 OpenAI / Claude / 国产平台的官方 Key,One API 就是把它们装进同一个壳子的最佳工具——没有差价,没有跑路,没有数据风险。
部署指南:Docker 一行命令
准备一台能上网的 Linux 服务器(阿里云/腾讯云/NAS/树莓派都行),最低配置 1 核 1G。执行:
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
浏览器打开 http://你的服务器IP:3000:
- 初始账号:
root - 初始密码:
123456
⚠️ 登录后第一件事必须改密码。
如果服务器流量大、并发高,把 SQL_DSN 加上换 MySQL。
三步上手:渠道 → 令牌 → 调用
登录后台,左侧菜单只看三个:渠道、令牌、日志。
第一步:配置"渠道"(Channel)
渠道 = 你买的官方 Key 的来源。点【添加渠道】→ 选类型(OpenAI/Anthropic/阿里通义等)→ 把官方 Key 粘进去 → 选支持的模型 → 保存。
第二步:创建"令牌"(Token)
令牌 = 你给自己应用调用 One API 用的 Key。点【添加令牌】→ 设额度(建议先设 $10 试水)→ 复制生成的 sk-xxx。
第三步:代码里替换 Base URL
把原来代码里的 https://api.openai.com 改成 https://你的域名,把 Key 换成上一步的令牌。代码主体不动。
Python 调用示例:
from openai import OpenAI
client = OpenAI(
api_key="sk-你的令牌",
base_url="https://你的域名/v1"
)
resp = client.chat.completions.create(
model="claude-opus-4", # ← 改这里就能切模型
messages=[{"role":"user","content":"你好"}]
)
无论你切到 GPT、Claude、DeepSeek、Gemini,这段代码完全不变,只改 model 字段。
三个隐藏技巧
① 多 Key 负载均衡
同一个渠道里能填多个 Key(每行一个),One API 会自动轮询。某个 Key 被限流,自动切下一个。中小团队薅免费额度的神技。
② 模型映射(Model Mapping)
把 gpt-4o 偷偷映射到 deepseek-chat。老应用一行不改,后端模型已经被换了。
③ 分组定价 + 兑换码
如果你想给团队成员或朋友分发 Key,可以按用户分组定不同倍率,还能批量生成兑换码。注意:对外提供生成式服务在国内需要备案,仅限内部使用。
踩坑记录
坑 1:别用 SQLite 跑生产
默认 SQLite 单文件,并发稍高就锁库。有点流量就上 MySQL,加个 SQL_DSN 环境变量就行。
坑 2:Root 密码必改
默认 root/123456 是公开的,全网扫描器满天飞。不改 = 把你的所有 Key 拱手送人。
坑 3:只开 3000 端口给信任 IP
公网直接暴露 3000 端口很危险。最好挂 Nginx 反向代理,加 HTTPS,或者用 Cloudflare Tunnel 这种零信任方案。
坑 4:日志会爆磁盘
所有请求都会记日志,定期清理或单独配 LOG_SQL_DSN 把日志放别的库。
坑 5:别对外卖 Token
国内法规要求生成式 AI 服务必须备案。自用、团队内部用没问题,公开收钱卖 = 你就成了中转站。
总结
真正聪明的方式,是把"便宜"和"安全"两件事拆开:
- 去官方买你需要的最便宜的渠道
- 用 One API 把它们统一起来
- 中间不再有第三个人
对于个人开发者和中小团队来说,自建 One API 是管理多个 AI API Key 的最佳实践。
开源地址
GitHub:songquanpeng/one-api