这个项目能做什么
# One API
通过标准的 OpenAI API 格式访问所有大模型,开箱即用。
## 支持的模型与渠道
- OpenAI ChatGPT 系列(含 Azure OpenAI)
- Anthropic Claude 系列(含 AWS Claude)
- Google PaLM2 / Gemini 系列
- Mistral 系列
- 字节跳动豆包(火山引擎)
- 百度文心一言
- 阿里通义千问
- 讯飞星火
- 智谱 ChatGLM
- 360 智脑
- 腾讯混元
- Moonshot AI、百川、MINIMAX、DeepSeek
- Groq、Ollama、零一万物、阶跃星辰、Coze
- Cohere、Cloudflare Workers AI、together.ai、novita.ai
- 硅基流动 SiliconCloud、xAI、DeepL 等
## 核心功能
1. **统一 API 适配**:所有渠道均以 OpenAI 兼容格式对外提供接口,调用方无需修改代码即可切换模型。
2. **负载均衡**:支持多渠道路由,可基于分组倍率自动分配请求。
3. **令牌管理**:为每个访问令牌设置过期时间、额度上限、允许访问的 IP 范围和模型列表。
4. **渠道管理**:支持批量创建和管理多个下游渠道,可分别配置模型列表。
5. **用户分组**:不同用户组可配置不同的倍率和权限。
6. **兑换码**:批量生成和导出兑换码,用于账户充值。
7. **失败自动重试**:上游渠道失败时自动切换到其他可用渠道。
8. **绘图接口**:支持图像生成接口中继。
9. **邀请奖励**:支持用户邀请机制。
10. **多机部署**:支持 master/slave 架构的分布式部署,配合 Redis 实现缓存同步。
11. **自定义**:支持自定义系统名称、Logo、页脚、首页和关于页面。
12. **登录方式**:支持邮箱注册、飞书授权、GitHub 授权、微信公众号授权。
13. **Cloudflare AI Gateway**:可直接对接 Cloudflare AI Gateway。
14. **主题切换**:支持更换 UI 主题。
## 部署方式
### 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 模式
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
```
初始账号:用户名 `root`,密码 `123456`。
### Docker Compose 部署
```shell
docker-compose up -d
```
数据存储在 `./data/mysql` 目录。
### 手动部署
```shell
git clone https://github.com/songquanpeng/one-api.git
cd one-api/web/default && npm install && npm run build
cd ../.. && go mod download && go build -ldflags "-s -w" -o one-api
./one-api --port 3000 --log-dir ./logs
```
### 第三方平台
支持 Sealos、Zeabur、Render 等一键部署,也兼容宝塔面板。
## 使用方法
1. 在「渠道」页面中添加各模型的 API Key。
2. 在「令牌」页面中为指定用户创建访问令牌。
3. 在客户端中将 API Base 设置为 One API 地址(如 `https://your-domain/v1`),API Key 设为生成的令牌。
指定渠道可通过在令牌后附加 `-CHANNEL_ID` 实现,例如:`Authorization: Bearer ONE_API_KEY-1`。
## 环境变量要点
| 变量 | 说明 |
|---|---|
| `REDIS_CONN_STRING` | 启用 Redis 缓存 |
| `SESSION_SECRET` | 固定会话密钥,重启后保持登录状态 |
| `SQL_DSN` | 使用 MySQL/PostgreSQL 替代 SQLite |
| `SYNC_FREQUENCY` | 缓存同步频率(秒),多机部署推荐设置 |
| `NODE_TYPE` | `master` 或 `slave`,多机部署用 |
| `FRONTEND_BASE_URL` | 从服务器重定向前端请求 |
| `INITIAL_ROOT_TOKEN` | 首次启动时自动创建 root 令牌 |
## 开源协议
MIT 协议,要求在页面底部保留署名及指向本项目的链接。
评论
0 评分人数达到10人后显示
登录后参与讨论。