Repolode
yym68686

yym68686/uni-api

自托管网关,通过统一的 OpenAI 格式接口调用 OpenAI、Anthropic、Gemini 等多家大模型服务,并支持负载均衡。

可替代:OpenRouter

Star
1,270
Fork
158
未关闭 Issue
15
最近提交
3天前

这是什么?

uni-api 是一个自托管的大模型 API 统一管理网关。它可以通过一个兼容 OpenAI 格式的接口,调用 OpenAI、Anthropic、Gemini、Vertex、Azure、AWS、xAI、Cohere、Groq、Cloudflare、OpenRouter 等多家后端服务。服务商和密钥通过 YAML 配置文件定义,没有图形界面,模型也可以重命名或分组,方便客户端使用简单的模型名。

在管理多个服务商和多组 API Key 时,网关会处理常见的运维问题:支持渠道级加权、轮询等调度策略,以及渠道内多 Key 轮询;请求失败时自动切换到下一个渠道,并对故障渠道冷却一段时间。按 Key 的模型权限(支持通配符)、速率限制、模型超时和可选的消息审核也都在同一配置文件中设置。

除聊天补全外,它还提供 responses、图像生成、embeddings、语音转写与合成、内容审核和模型列表等 OpenAI 风格的路由。项目使用 Rust 编写,可直接使用 Docker 镜像运行,默认数据库为 SQLite,也可切换为 PostgreSQL。

核心功能

  • 01通过一个兼容 OpenAI 格式的接口统一调用 OpenAI、Anthropic、Gemini、Vertex、Azure 等多家服务。
  • 02完全通过 YAML 文件配置,无需图形界面。
  • 03支持渠道级加权与轮询负载均衡,并可在渠道内轮换多个 Key。
  • 04请求失败时自动切换到下一个渠道,并对故障渠道进行冷却。
  • 05支持按 Key 设置模型权限(含通配符)、速率限制和分模型超时。
  • 06提供聊天、responses、图像、embeddings、语音、内容审核和模型列表等接口。

适用场景

  • 个人或小团队用一个 Key 统一访问多家大模型服务。
  • 把流量分散到多个 API Key 或账号,减少限流报错。
  • 让已支持 OpenAI 接口的客户端无需改代码即可调用 Claude、Gemini 等模型。
  • 搭建共享网关,为不同用户分配独立 Key 并设置权限和审核。

快速上手

  1. 1

    编写包含服务商 base_url 和 API 密钥的 api.yaml 配置文件

  2. 2

    按照 README 说明,通过挂载 api.yaml 或设置 CONFIG_URL 启动 uni-api

使用前须知

  • 在 uni-api 启动之前,必须先编写 YAML 配置文件。

收录于专题

标签

常见问题

uni-api 是什么?
自托管网关,通过统一的 OpenAI 格式接口调用 OpenAI、Anthropic、Gemini 等多家大模型服务,并支持负载均衡。 uni-api 是一个自托管的大模型 API 统一管理网关。它可以通过一个兼容 OpenAI 格式的接口,调用 OpenAI、Anthropic、Gemini、Vertex、Azure、AWS、xAI、Cohere、Groq、Cloudflare、OpenRouter 等多家后端服务。服务商和密钥通过 YAML 配置文件定义,没有图形界面,模型也可以重命名或分组,方便客户端使用简单的模型名。
uni-api 可以免费使用吗?用的什么许可证?
uni-api 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
uni-api 还在维护吗?
活跃维护中。uni-api 最近一次提交是在 2026年11月4日。
uni-api 适合用来做什么?
个人或小团队用一个 Key 统一访问多家大模型服务。 把流量分散到多个 API Key 或账号,减少限流报错。 让已支持 OpenAI 接口的客户端无需改代码即可调用 Claude、Gemini 等模型。 搭建共享网关,为不同用户分配独立 Key 并设置权限和审核。
uni-api 怎么安装和运行?
编写包含服务商 base_url 和 API 密钥的 api.yaml 配置文件 按照 README 说明,通过挂载 api.yaml 或设置 CONFIG_URL 启动 uni-api
在哪里获取 uni-api?
源代码和安装说明在 GitHub 上:https://github.com/yym68686/uni-api

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目