Gemini Business2API logo

Gemini Business2API

Gemini Business → OpenAI 兼容 API 网关

简体中文 | English

当前稳定版本:v0.3.3 | 发布说明 | 全部版本

> [!IMPORTANT] > 自 **v0.3.0** 起,主线仓库已彻底归为 **2API 主线**: > 只保留 **2API 主服务**、**管理后台**、**可选 refresh-worker**。 > > 已移除或迁出:**注册机**、**注册流程**、**主服务内嵌刷新执行器**、**依赖浏览器显示环境的旧链路**。如需刷新能力,请通过独立的 `refresh-worker` 分支 / 镜像按需接入。 --- ## 项目定位 Gemini Business2API 是一个把 [Gemini Business](https://business.gemini.google) 能力转换为 **OpenAI 兼容接口** 的网关服务,内置后台管理面板,适合统一管理账号池、系统设置、图片 / 视频能力与运行状态。 当前主线目标很明确:**稳定提供 2API 主服务**,把历史上的注册、刷新、实验性链路从主仓库主流程中彻底拆出去。 --- ## 联系我们 点击链接加入群聊【Business2API 交流群】: - [https://qm.qq.com/q/yegwCqJisS](https://qm.qq.com/q/yegwCqJisS) --- ## 核心能力 - OpenAI 兼容接口,可直接对接常见 OpenAI SDK / 中间层 - 多账号调度,支持轮询、可用性切换、批量管理 - 管理后台,支持账号导入 / 导出 / 编辑 / 批量操作 / 状态筛选 - 多模态能力,覆盖文本、文件、图片、视频相关链路 - 图片生成 / 图片编辑,支持 Base64 或 URL 输出 - 视频生成与统一输出控制 - 系统设置统一收口,集中管理代理、邮箱、刷新、输出格式等配置 - 仪表盘 / 监控 / 日志 / 画廊,方便观察服务状态 - 支持 SQLite / PostgreSQL - 可选接入 `refresh-worker`,但不再与主服务强耦合 --- ## 模型能力概览 | 模型 ID | 识图 | 原生联网 | 文件多模态 | 图片生成 | 视频生成 | | ------------------------ | ---- | -------- | ---------- | -------- | -------- | | `gemini-auto` | ✅ | ✅ | ✅ | 可选 | - | | `gemini-2.5-pro` | ✅ | ✅ | ✅ | 可选 | - | | `gemini-3.5-flash` | ✅ | ✅ | ✅ | 可选 | - | | `gemini-3.1-pro-preview` | ✅ | ✅ | ✅ | 可选 | - | | `gemini-imagen` | ✅ | ✅ | ✅ | ✅ | - | | `gemini-veo` | ✅ | ✅ | ✅ | - | ✅ | > `gemini-imagen` 为专用图片生成模型,`gemini-veo` 为专用视频生成模型。 --- ## 功能架构 ```mermaid flowchart TB Admin["管理员"] --> Frontend["管理后台前端"] Client["OpenAI 兼容客户端"] --> Gateway["2API 网关"] subgraph Features["后台功能模块"] Dashboard["概览中心"] Accounts["账号管理"] Settings["系统设置"] Monitor["监控状态"] Logs["运行日志"] Gallery["图片画廊"] Docs["文档教程"] end Frontend --> Dashboard Frontend --> Accounts Frontend --> Settings Frontend --> Monitor Frontend --> Logs Frontend --> Gallery Frontend --> Docs Dashboard --> AdminAPI["后台管理接口"] Accounts --> AdminAPI Settings --> AdminAPI Monitor --> AdminAPI Logs --> AdminAPI Gallery --> AdminAPI Docs --> AdminAPI Gateway --> Runtime["模型 / 对话 / 图片 / 视频接口"] AdminAPI --> Domain["账号池 / 配置中心 / 调度 / 监控 / 日志"] Runtime --> Domain Domain --> DB["SQLite / PostgreSQL"] Domain --> Data["data 目录"] Domain -. "可选接入" .-> Refresh["refresh-worker"] ``` 当前主线:**前台只做 2API 与后台管理,刷新能力按可选 worker 外挂接入。** --- ## 部署结构 ```text docker-compose.yml ├─ gemini-api │ ├─ 运行 2API 主服务 │ ├─ 运行管理后台 │ ├─ 暴露 7860 │ └─ 挂载 ./data:/app/data │ └─ refresh-worker(可选) ├─ 默认不启动 ├─ 使用 profile refresh 启动 ├─ 不暴露业务 API ├─ 读取同一个 ./data └─ 负责账号刷新 ``` - 主线只跑 2API:`docker compose up -d` - 如需接入刷新 worker:`docker compose --profile refresh up -d` --- ## 快速开始 ### 方式一:Docker Compose(推荐) ```bash git clone https://github.com/yukkcat/gemini-business2api.git cd gemini-business2api cp .env.example .env # 至少设置 ADMIN_KEY docker compose up -d ``` 如需启用 refresh-worker: ```bash docker compose --profile refresh up -d ``` ### 方式二:交互式安装脚本 交互式安装脚本适用于需要命令行引导安装的场景。执行过程中会提示填写或选择以下配置项: - 使用 **Docker 部署** 还是 **Python 本地模式** - 服务端口 - `ADMIN_KEY` - `DATABASE_URL` - **是否启用 refresh-worker** 默认安装: ```bash curl -fsSL https://raw.githubusercontent.com/yukkcat/gemini-business2api/main/deploy/install.sh | sudo bash ``` 固定到当前正式版: ```bash curl -fsSL https://raw.githubusercontent.com/yukkcat/gemini-business2api/v0.3.3/deploy/install.sh | sudo bash ``` 预设 `refresh-worker` 默认开启: ```bash curl -fsSL https://raw.githubusercontent.com/yukkcat/gemini-business2api/main/deploy/install.sh | sudo bash -s -- --with-refresh ``` > `--with-refresh` 用于将“是否启用 refresh-worker”的默认选项预设为开启, > 并不代表另一套独立安装流程。 --- ## 访问地址 - 管理后台:`http://localhost:7860/` - OpenAI 兼容接口:`http://localhost:7860/v1/chat/completions` - 健康检查:`http://localhost:7860/health` --- ## 配置与数据边界 ### `.env` 关键项 ```env ADMIN_KEY=your-admin-login-key # PORT=7860 # DATABASE_URL=postgresql://user:password@host:5432/dbname?sslmode=require # REFRESH_WORKER_IMAGE=cooooookk/gemini-refresh-worker:latest # REFRESH_HEALTH_PORT=8080 ``` 说明: - 主服务镜像来自当前主线仓库 - `REFRESH_WORKER_IMAGE` 指向独立 refresh-worker 分支产出的镜像 - 未配置 `DATABASE_URL` 时默认使用本地 SQLite(推荐) - 配置 `DATABASE_URL` 后可切换到 PostgreSQL ### 数据目录 Compose 默认挂载: ```text ./data -> /app/data ``` 这里会保存: - SQLite 数据库 - 运行时持久化数据 - 本地生成文件与缓存 --- ## API 兼容接口 | 接口 | 方法 | 说明 | | ------------------------ | ---- | -------- | | `/v1/models` | GET | 模型列表 | | `/v1/chat/completions` | POST | 对话补全 | | `/v1/images/generations` | POST | 图片生成 | | `/v1/images/edits` | POST | 图片编辑 | | `/health` | GET | 健康检查 | --- ## 可选:油猴导入助手 如需从 Gemini Business 页面一键复制可导入账号 JSON,可安装 Tampermonkey 用户脚本: - 安装地址:[gemini-business-import.user.js](https://raw.githubusercontent.com/yukkcat/gemini-business2api/main/tools/tampermonkey/gemini-business-import.user.js) - 仓库位置:`tools/tampermonkey/gemini-business-import.user.js` - 点击 `Copy JSON` 复制;`Shift + Click` 下载 JSON 文件 - 导出的 `expires_at` 默认是**当前时间 + 12 小时** 使用前请先确认: 1. Tampermonkey -> **通用** -> **配置模式**:`高级` 2. Tampermonkey -> **安全** -> **允许脚本访问 Cookie**:`All` 3. 如果仍然没有 Cookie 权限,请在浏览器扩展页开启**开发者模式** 4. 修改后刷新 `business.gemini.google` 页面再试 脚本如果检测不到 Cookie 权限,会直接弹窗提醒上述设置。 --- ## 许可证 本项目采用 **Cooperative Non-Commercial License (CNC-1.0)**。 ## ⭐ Star History [![Star History Chart](https://api.star-history.com/svg?repos=yukkcat/gemini-business2api&type=date&legend=top-left)](https://www.star-history.com/#yukkcat/gemini-business2api&type=date&legend=top-left) **如果这个项目对你有帮助,请给个 ⭐ Star!**