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 来利用 Google 的免费 Gemini API 配额。

主要特点

  1. OpenAI 兼容 API:提供与 OpenAI 聊天补全 API 兼容的接口。
  2. 原生 Gemini API:直接代理 GoogleGemini API,支持多种调用。
  3. 实时流支持:提供实时流式响应,适用于不同 API 格式。
  4. 多模态支持:能够处理文本和图像输入。
  5. 多种认证方式:支持 BearerBasicAPI 密钥等多种认证方法。
  6. Google 搜索整合:通过 -search 模型启用 Google 搜索功能。
  7. 推理控制:提供 -nothinking-maxthinking 等模型以控制推理过程。
  8. 容器化部署:支持 Docker 部署,便于使用和管理。
  9. 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
2
3
4
5
# 新建文件夹 geminicli2api 
mkdir -p /volume1/docker/geminicli2api

# 进入 geminicli2api 目录
cd /volume1/docker/geminicli2api

oauth_creds.json 文件放入

安装

在群晖上以 Docker 方式安装。

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
# 运行容器
docker run -d \
--restart unless-stopped \
--name geminicli2api \
-p 8899:8888 \
-v $(pwd)/oauth_creds.json:/app/oauth_creds.json \
-e GEMINI_AUTH_PASSWORD=1234 \
-e GOOGLE_APPLICATION_CREDENTIALS=oauth_creds.json \
-e PORT=8888 \
ghcr.io/gzzhongqi/geminicli2api:latest

关于环境变量的简单说明

环境变量 说明
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: '3'

services:
geminicli2api:
image: ghcr.io/gzzhongqi/geminicli2api:latest
container_name: geminicli2api
restart: unless-stopped
ports:
- "8899:8888"
volumes:
- ./oauth_creds.json:/app/oauth_creds.json
environment:
GEMINI_AUTH_PASSWORD: "1234"
GOOGLE_APPLICATION_CREDENTIALS: "oauth_creds.json"
PORT: "8888"

然后执行下面的命令

1
2
3
4
# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8899 就能看到信息界面

基础模型

支持的基础模型只有 gemini-2.5-progemini-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

提供商类型选择 OpenAIGemini 都是可以的;

  • API 密码:就是我们环境变量 GEMINI_AUTH_PASSWORD 设置的值;
  • API 地址:即为 http://群晖IP:8899

管理

然后你可以根据需要添加模型

搜个新闻

参考文档

gzzhongqi/geminicli2api
地址:https://github.com/gzzhongqi/geminicli2api