Gemini-CLI-2-API
扫码查看

将Gemini CLI封装成兼容OpenAI API的代理服务

Gemini-CLI-2-API

综合介绍

Gemini-CLI-2-API是一个开源的本地代理工具,其核心功能是将Google Gemini CLI的功能封装成一个与OpenAI API完全兼容的本地接口。 许多现有的AI应用和客户端都是围绕OpenAI的API标准构建的,这个项目解决了这些应用无法直接使用Gemini模型的问题。 它通过一个Node.js服务器,在本地接收OpenAI格式的API请求,将其转换为Gemini CLI能够理解的格式,然后调用Gemini服务,最后将返回结果再转换成OpenAI格式响应给客户端。 这样一来,用户就可以在不修改任何代码的情况下,将他们常用的AI工具(如LobeChat、NextChat等)无缝切换到使用Gemini模型,同时还能享受到通过Gemini CLI授权带来的更高免费调用额度。

功能列表

  • 兼容OpenAI API:项目的核心亮点,提供与OpenAI API完全兼容的接口,使得任何支持OpenAI的客户端都无需修改代码即可直接使用Gemini模型。
  • 突破官方额度限制:通过调用Gemini CLI的账号授权,用户可以获得比Google官方免费API更高的每日请求限额。
  • 自动格式转换:能在内部自动将OpenAI格式的请求(包含messagesmodel等字段)无缝转换为Gemini所要求的格式,反之亦然。
  • 支持流式传输:完全支持OpenAI的流式响应("stream": true),可以在兼容的客户端中实现打字机般的实时生成效果。
  • 日志与监控:提供日志功能,可以记录所有通过代理发出的请求提示词,方便开发者进行调试、审计或建立私有数据集。
  • 本地化部署:作为一个本地服务器运行,确保了请求数据的隐私性和可控性。
  • 简易认证:首次运行会自动引导用户通过浏览器完成Google账号授权,并将凭证保存在本地实现自动续期,简化了认证流程。

使用帮助

该项目的核心价值在于其openai-api-server.js服务,它能让您在喜爱的AI工具中用上Gemini。以下是如何安装和使用的详细步骤。

环境准备

在开始之前,请确保您的电脑上已经安装了Node.js。官方建议使用18.0.0或更高的版本。

安装流程

  1. 克隆项目:首先,需要从GitHub上把项目文件下载到您的本地电脑。打开终端(在Windows上是命令提示符或PowerShell,在macOS上是终端App),然后使用git命令克隆仓库:
    git clone https://github.com/justlovemaki/Gemini-CLI-2-API.git
    
  2. 进入项目目录:下载完成后,进入刚刚创建的项目文件夹:
    cd Gemini-CLI-2-API
    
  3. 安装依赖:项目需要一些辅助性的程序库才能运行。在项目目录下,执行以下命令来自动安装这些库:
    npm install
    

    这个命令会读取package.json文件,并下载所有必需的依赖项,例如google-auth-library

启动兼容OpenAI的代理服务

这是最关键的一步,我们将启动那个能“伪装”成OpenAI API的服务器。

  1. 启动服务器:在终端中运行以下命令:
    node openai-api-server.js --port 8000 --api-key sk-your-key
    
    • --port 8000:这指定了服务器监听的端口号是8000。您可以换成任何您喜欢的未被占用的端口。
    • --api-key sk-your-key:这里设置了一个API密钥。这个密钥是您与本地代理服务之间通信的“暗号”。sk-your-key可以替换成任何您想要的字符串,但为了兼容某些客户端,建议以sk-开头。
  2. 首次运行授权:如果您是第一次运行这个程序,终端会显示一个Google的授权链接。您需要:
    • 复制这个链接。
    • 在您的浏览器中打开它,登录您的Google账号,并同意授权。
    • 授权成功后,浏览器会跳转到一个看起来无法访问的localhost地址。您需要复制这个完整的localhost地址。
    • 将复制的地址粘贴回终端里,然后按回车。这样,授权就完成了。认证信息会自动保存在您的用户目录下,后续启动无需再次授权。

对接AI客户端(以LobeChat为例)

现在,您的本地代理服务已经在http://localhost:8000上运行了。接下来,我们将其接入到一个支持OpenAI的客户端。

  1. 打开客户端设置:启动LobeChat或其他AI对话工具,进入其API设置界面。
  2. 修改API地址:找到“API基地址”或“API Base URL”的选项,将其修改为您的本地代理地址:http://localhost:8000
  3. 填写API密钥:在“API密钥”或“API Key”一栏,填入您在启动服务器时设置的密钥,也就是sk-your-key
  4. 选择模型并开始对话:保存设置后,您应该可以在模型列表中看到gemini-1.5-progemini-1.5-flash等模型。 选择其中一个,现在您就可以开始对话了。您发送的所有请求实际上都会通过本地代理,调用Gemini来生成回答。

应用场景

  1. 无缝使用现有AI工具对于已经习惯使用LobeChat、NextChat、Amoeba等AI客户端的用户,可以通过该项目将这些工具的后端无缝切换为Gemini。无需改变使用习惯,就可以体验Gemini 1.5 Pro等先进模型,解决了想用新模型但不想换软件的痛点。
  2. 降低AI应用开发成本对于开发者而言,如果正在开发一个需要调用大模型的应用,可以先基于广泛使用的OpenAI API标准进行开发。通过本工具,应用可以灵活地在OpenAI和Gemini模型之间切换,无需为不同的API编写两套代码,大大降低了开发和维护成本。
  3. 隐私安全与请求审计通过在本地部署代理,所有的请求和响应都经过用户的电脑。结合项目自带的日志功能 (--log-prompts),用户可以精确地记录和审查每一次AI交互的内容,这对于需要保护数据隐私或分析模型行为的场景非常有价值。

QA

  1. 这个工具和直接使用Google的Gemini API有什么不同?主要区别在于接口的兼容性。Google官方的Gemini API有其自己的数据格式和调用规范。而这个工具的核心是提供了一个“翻译层”,将广泛应用的OpenAI API格式转换成Gemini CLI能接受的格式。这使得大量为OpenAI生态开发的工具可以不用修改就直接使用Gemini。
  2. 使用这个代理服务是免费的吗?这个开源项目本身是免费的。它通过调用Gemini CLI的认证方式来访问Google的服务,这种方式通常能获得比官方免费API(如Google AI Studio)更高的每日调用额度。
  3. 我需要一个付费的Google Cloud账号吗?不需要。您只需要一个普通的Google账号,用于首次运行时进行浏览器授权即可。
  4. 这个工具支持Gemini的图片识别(多模态)功能吗?根据GitHub项目页面的说明,多模态能力(如处理图片输入)尚在开发计划中,当前版本主要支持文本对话。
微信微博Email复制链接