songquanpeng /one-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.

★ 37,387⑂ 6,886👁 187⑃ 558● 1,841▤ 55◈ 0
JavaScriptMITCreated 2023-04-22oneapi.justsong.cn/
37,387
stars
+23
6,886
forks
187
watchers
558
prs
1,841
issues
55
releases
0
discussions

README

中文 | English | 日本語




  




 One API

_✨ 通过标准的 OpenAI API 格式访问所有的大模型,开箱即用 ✨_




  
    
  
  
    
  
  
    
  
  
    
  
  
    
  



  部署教程
  ·
  使用方法
  ·
  意见反馈
  ·
  截图展示
  ·
  在线演示
  ·
  常见问题
  ·
  相关项目
  ·
  赞赏支持


 [!NOTE]
 本项目为开源项目,使用者必须在遵循 OpenAI 的使用条款以及法律法规的情况下使用,不得用于非法用途。

 根据《生成式人工智能服务管理暂行办法》的要求,请勿对中国地区公众提供一切未经备案的生成式人工智能服务。

 [!NOTE]
 稳定版 / 预览版镜像地址:justsong/one-api
 或者 ghcr.io/songquanpeng/one-api

 alpha 版镜像地址:justsong/one-api-alpha
 或者 ghcr.io/songquanpeng/one-api-alpha

 [!WARNING]
 使用 root 用户初次登录系统后,务必修改默认密码 123456!

 功能
1. 支持多种大模型:
   + [x] OpenAI ChatGPT 系列模型(支持 Azure OpenAI API)
   + [x] Anthropic Claude 系列模型 (支持 AWS Claude)
   + [x] Google PaLM2/Gemini 系列模型
   + [x] Mistral 系列模型
   + [x] 字节跳动豆包大模型(火山引擎)
   + [x] 百度文心一言系列模型
   + [x] 阿里通义千问系列模型
   + [x] 讯飞星火认知大模型
   + [x] 智谱 ChatGLM 系列模型
   + [x] 360 智脑
   + [x] 腾讯混元大模型
   + [x] Moonshot AI
   + [x] 百川大模型
   + [x] MINIMAX
   + [x] Groq
   + [x] Ollama
   + [x] 零一万物
   + [x] 阶跃星辰
   + [x] Coze
   + [x] Cohere
   + [x] DeepSeek
   + [x] Cloudflare Workers AI
   + [x] DeepL
   + [x] together.ai
   + [x] novita.ai
   + [x] 硅基流动 SiliconCloud
   + [x] xAI
2. 支持配置镜像以及众多第三方代理服务。
3. 支持通过负载均衡的方式访问多个渠道。
4. 支持 stream 模式,可以通过流式传输实现打字机效果。
5. 支持多机部署,详见此处。
6. 支持令牌管理,设置令牌的过期时间、额度、允许的 IP 范围以及允许的模型访问。
7. 支持兑换码管理,支持批量生成和导出兑换码,可使用兑换码为账户进行充值。
8. 支持渠道管理,批量创建渠道。
9. 支持用户分组以及渠道分组,支持为不同分组设置不同的倍率。
10. 支持渠道设置模型列表。
11. 支持查看额度明细。
12. 支持用户邀请奖励。
13. 支持以美元为单位显示额度。
14. 支持发布公告,设置充值链接,设置新用户初始额度。
15. 支持模型映射,重定向用户的请求模型,如无必要请不要设置,设置之后会导致请求体被重新构造而非直接透传,会导致部分还未正式支持的字段无法传递成功。
16. 支持失败自动重试。
17. 支持绘图接口。
18. 支持 Cloudflare AI Gateway,渠道设置的代理部分填写 https://gateway.ai.cloudflare.com/v1/ACCOUNT_TAG/GATEWAY/openai 即可。
19. 支持丰富的自定义设置,
    1. 支持自定义系统名称,logo 以及页脚。
    2. 支持自定义首页和关于页面,可以选择使用 HTML & Markdown 代码进行自定义,或者使用一个单独的网页通过 iframe 嵌入。
20. 支持通过系统访问令牌调用管理 API,进而在无需二开的情况下扩展和自定义 One API 的功能,详情请参考此处 API 文档。
21. 支持 Cloudflare Turnstile 用户校验。
22. 支持用户管理,支持多种用户登录注册方式:
    + 邮箱登录注册(支持注册邮箱白名单)以及通过邮箱进行密码重置。
    + 支持飞书授权登录(这里有 One API 的实现细节阐述供参考)。
    + 支持 GitHub 授权登录。
    + 微信公众号授权(需要额外部署 WeChat Server)。
23. 支持主题切换,设置环境变量 THEME 即可,默认为 default,欢迎 PR 更多主题,具体参考此处。
24. 配合 Message Pusher 可将报警信息推送到多种 App 上。

 部署
 基于 Docker 进行部署
shell
 使用 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 的部署命令,在上面的基础上添加 -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 是宿主机的端口,可以根据需要进行修改。

数据和日志将会保存在宿主机的 /home/ubuntu/data/one-api 目录,请确保该目录存在且具有写入权限,或者更改为合适的目录。

如果启动失败,请添加 --privileged=true,具体参考 https://github.com/songquanpeng/one-api/issues/482 。

如果上面的镜像无法拉取,可以尝试使用 GitHub 的 Docker 镜像,将上面的 justsong/one-api 替换为 ghcr.io/songquanpeng/one-api 即可。

如果你的并发量较大,务必设置 SQL_DSN,详见下面环境变量一节。

更新命令:docker run --rm -v /var/

Top issues

Latest release

v0.6.10 v0.6.10 2025-02-02
What's Changed
 feat: support replicate chat models by @Laisky in https://github.com/songquanpeng/one-api/pull/1989
 feat: add openai o1 by @Laisky in https://github.com/songquanpeng/one-api/pull/1990
 feat: add gemini-2.0-flash-exp by @Laisky in https://github.com/songquanpeng/one-api/pull/1983
 chore(deps): bump golang.org/x/crypto from 0.24.0 to 0.31.0 by @dependabot in https://github.com/songquanpeng/one-api/pull/1976
 feat: update qwen model and price by @longkeyy in https://github.com/songquanpeng/one-api/pull/1966
 feat: enhance response handling to support gemini-2.0-thinking by 

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON