Gemini CLI转API代理服务geminicli2api
简介
Gemini CLI
的免费层级和 Gemini API
的免费层级,存在速率和额度上的差异。感觉上 Gemini API
在高频或批量请求的场景可能更容易触发上限,而 Gemini CLI
则是为了支持编码等复杂任务,所以限制少且更宽松。
如果你觉得 Gemini API
更简单,可以去看看老苏之前写的文章
文章传送门:
什么是 geminicli2api ?
geminicli2api
是一个基于FastAPI
的代理服务器,旨在将Gemini CLI
工具转换为OpenAI
兼容和原生的Gemini API
接口。它允许用户通过熟悉的OpenAI API
接口或直接调用Gemini API
来利用Gemini API
配额。
主要特点
- OpenAI 兼容 API:提供与
OpenAI
聊天补全API
兼容的接口。 - 原生 Gemini API:直接代理
Google
的Gemini API
,支持多种调用。 - 实时流支持:提供实时流式响应,适用于不同
API
格式。 - 多模态支持:能够处理文本和图像输入。
- 多种认证方式:支持
Bearer
、Basic
和API
密钥等多种认证方法。 - Google 搜索整合:通过
-search
模型启用 Google 搜索功能。 - 推理控制:提供
-nothinking
和-maxthinking
等模型以控制推理过程。 - 容器化部署:支持
Docker
部署,便于使用和管理。 - Hugging Face Spaces 兼容:可在
Hugging Face Spaces
进行部署,简化使用流程。
应用场景
- 开发者工具:帮助开发者快速构建与
Google Gemini
交互的应用程序。 - AI 应用:适合实时响应的聊天机器人和其他
AI
驱动的应用。 - 研究与实验:为研究人员提供多模态和推理控制功能,进行深入研究。
- 教育工具:可用于构建教育平台,支持互动式学习。
通过这些特点和应用场景,geminicli2api
成为一个灵活且功能强大的工具,能够满足多种用户需求。
准备
网络
网络是前提,无论你是安装在群晖还是本机,都需要能访问 google
及相关的站点
安装
本文假设你已经安装了 Gemini CLI
而且采用 Login with Google
登录成功过,会生成一个认证凭证文件
Windows
:可以在C:\Users\用户名\.gemini
中找到oauth_creds.json
文件macOS/Linux
:~/.gemini/oauth_creds.json
新建目录
在群晖的 docker
目录中新建 geminicli2api
目录
1 | # 新建文件夹 geminicli2api |
将 oauth_creds.json
文件放入
安装
在群晖上以 Docker 方式安装。
docker cli 安装
如果你熟悉命令行,可能用 docker cli
更快捷
1 | # 运行容器 |
关于环境变量的简单说明
环境变量 | 说明 |
---|---|
GEMINI_AUTH_PASSWORD |
用于 API 访问的认证密码。 |
GEMINI_CREDENTIALS |
包含 Google OAuth 凭证的 JSON 字符串(可选)。 |
GOOGLE_APPLICATION_CREDENTIALS |
指向 Google OAuth 凭证文件的路径(可选)。 |
GOOGLE_CLOUD_PROJECT |
Google Cloud 项目 ID (可选)。 |
GEMINI_PROJECT_ID |
替代项目 ID 变量(可选)。 |
PORT |
服务器监听的端口,默认为 8888 (可选)。 |
docker-compose 安装
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
1 | version: '3' |
然后执行下面的命令
1 | # 将 docker-compose.yml 放入当前目录 |
运行
在浏览器中输入 http://群晖IP:8899
就能看到信息界面
基础模型
支持的基础模型只有 gemini-2.5-pro
和 gemini-2.5-flash
两种,而且没有嵌入式模型
模型变体
代理会自动为 gemini-2.5-pro
和 gemini-2.5-flash
型号创建变体
- **
-search
**:将-search
附加到模型名称可以启用Google
搜索。- 示例:
gemini-2.5-pro-search
- 示例:
- **
-nothinking
**:附加-nothinking
可以最小化推理步骤。- 示例:
gemini-2.5-flash-nothinking
- 示例:
- **
-maxthinking
**:附加-maxthinking
可以最大化推理预算。- 示例:
gemini-2.5-pro-maxthinking
- 示例:
Cherry Studio
现在我们把它添加到 Cherry Studio
中
提供商类型选择
OpenAI
和Gemini
都是可以的;
API
密码:就是我们环境变量GEMINI_AUTH_PASSWORD
设置的值;API
地址:即为http://群晖IP:8899
点 管理
然后你可以根据需要添加模型
搜个新闻
参考文档
gzzhongqi/geminicli2api
地址:https://github.com/gzzhongqi/geminicli2api