搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

songquanpeng/one-api

AI 工程

自托管 LLM API 网关,把多家模型统一成 OpenAI 兼容接口,并提供渠道、令牌和额度管理。

37,413
6,893
JavaScript
MIT
创建于 3 年前

项目介绍

One API 是一个自托管的 LLM 网关,把多个模型厂商的接口统一成 OpenAI API 格式。上游包括 Anthropic Claude、Google Gemini、DeepSeek、智谱 ChatGLM、百度文心一言、Moonshot、Groq、Ollama 等,现有 OpenAI SDK 或客户端只需改 Base URL 和 Key 就能接入功能列表。

它同时承担访问管理:管理员把各家的 API Key 配置成渠道,在令牌页面创建带过期时间、额度、IP 范围和模型限制的令牌;用户组和渠道组可设置不同倍率,请求默认在多个渠道间负载均衡并支持失败重试。令牌后追加渠道 ID 可指定单次请求走哪个渠道。

适合已经持有多个厂商 Key、希望对外只暴露一个入口、按用户控制额度的团队或个人,而不必把原始厂商密钥直接分发出去。

快速使用

用 Docker 部署最直接。先在宿主机准备可写的数据目录,再运行 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

如果拉不到 Docker Hub 镜像,可换用 ghcr.io/songquanpeng/one-api Docker 部署。浏览器打开 http://localhost:3000/,初始账号 root、密码 123456,登录后应立即修改密码。接着在「渠道」页添加厂商 API Key,在「令牌」页新建访问令牌,然后把任何兼容 OpenAI 的客户端指向该实例:

OPENAI_API_KEY="sk-xxxxxx"
OPENAI_API_BASE="https://<HOST>:<PORT>/v1"

也可以下载二进制或从源码编译:后端 go build、前端 npm run build,再执行 ./one-api --port 3000 --log-dir ./logs 手动部署。

使用约束

并发量较大时务必设置 SQL_DSN 改用 MySQL 或 PostgreSQL,而不是 SQLite。SQLite 部署依赖挂载的 /data 卷保存数据,不挂载则容器重启后数据丢失。多机部署要求所有节点共用一个数据库、SESSION_SECRET 一致,从节点设置 NODE_TYPE=slave,可选启用 Redis 缓存多机部署。

额度按「分组倍率 × 模型倍率 ×(提示 token + 补全 token × 补全倍率)」计算,令牌额度与账户额度分开管理。模型映射会重新构造请求体而不是直接透传,尚未正式支持的字段可能无法传递。项目采用 MIT 协议,但额外要求页面底部保留指向本项目的署名链接,除非另行获得授权。在中国地区,README 要求不要向公众提供未经备案的生成式人工智能服务,并遵守 OpenAI 使用条款注意事项。

HotRepo 点评

在 2026 年 11 月 11 日的 JavaScript 日榜上,项目当天新增 21 Star、最好名次第 9,累计 37,402 Star 和 6,892 Fork。这只是单次快照而非趋势线,但在竞争激烈的语言榜中进入前列,说明这个长期运行的 API 网关仍有持续关注度。README 中对渠道测试、余额轮询和限流的关注表明,它面向的是运营共享访问的场景,而不只是单人代理。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。

相关推荐

  1. QuantumNous/new-api把多家模型服务收到一个自托管网关后面,对外提供 OpenAI、Claude 或 Gemini 兼容接口,适合需要共享额度与统一计费的团队。Go50,631
  2. Mag1cFall/AIStudio2API把 Google AI Studio 网页能力封装成 OpenAI、Anthropic 或 Gemini 兼容接口,供现有客户端和 Agent 调用。Go596
  3. langchain4j/langchain4j面向 JVM 开发者的 Java 库,用统一 API 接入多家 LLM 与向量库,并支持工具调用、Agent 和 RAG。Java13,368
  4. cutetailbud/FastAIToken面向程序员的付费 API 中转,用一个 Key 调用多种大模型和视频模型。Python107
  5. eliasbiondo/antirion面向多模型调用的自托管网关,统一处理路由、预算、防护规则与请求观测。Rust240