这个项目能做什么

# 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 协议,要求在页面底部保留署名及指向本项目的链接。