Gemini-CLI-2-API 是一个开源项目,核心功能是将 Google 的 Gemini CLI 工具封装为与 OpenAI API 兼容的本地 API 服务。它基于 Gemini 2.5 Pro 模型,支持开发者通过标准 OpenAI 接口调用 Gemini 的 AI 能力,无需修改现有工具链。项目提供每日 1000 次免费请求,支持流式响应、多种认证方式和详细的日志记录。代码开源,遵循 GNU General Public License v3 许可,易于扩展,适合需要本地 AI 服务或高频调用的开发者。
功能列表
- 将 Gemini CLI 封装为 OpenAI API 兼容接口,支持
/v1/models
和/v1/chat/completions
端点。 - 自动转换 OpenAI 格式的请求和响应到 Gemini 格式。
- 支持 Gemini 2.5 Pro 模型,提供每日 1000 次免费请求。
- 提供流式传输功能,响应以打字机效果实时输出。
- 包含日志系统,记录请求提示词、时间戳和令牌有效期。
- 支持多种认证方式,包括 Bearer 令牌、URL 查询参数和
x-goog-api-key
。 - 可通过命令行配置监听地址、端口、API 密钥和日志模式。
- 支持 OAuth 令牌自动续期,简化认证流程。
- 模块化代码结构,支持二次开发,如添加缓存或过滤功能。
使用帮助
安装流程
Gemini-CLI-2-API 需在 Node.js 环境中运行。以下是详细的安装和配置步骤:
- 安装 Node.js
确保系统已安装 Node.js(建议使用最新 LTS 版本)。从 Node.js 官网 下载并安装。验证安装:
node -v
npm -v
- 克隆项目仓库
使用 Git 克隆项目到本地:
git clone https://github.com/justlovemaki/Gemini-CLI-2-API.git
cd Gemini-CLI-2-API
- 安装依赖
在项目根目录运行以下命令:
npm install
- 配置 API 密钥
项目支持 Google Gemini API 密钥或 OAuth 认证:
- OAuth 认证:首次运行时,程序会打开浏览器引导你登录 Google 账号,生成 OAuth 令牌并自动存储。令牌过期后会自动续期。
- API 密钥:从 Google Cloud 或 Google AI Studio 获取密钥,设置环境变量:
export GOOGLE_API_KEY="YOUR_API_KEY" export GOOGLE_GENAI_USE_VERTEXAI=true
替换
YOUR_API_KEY
为实际密钥。
- 启动服务
运行以下命令启动本地 API 服务,默认监听 8000 端口:
node openai-api-server.js --port 8000 --api-key sk-your-key
可通过 --port
和 --api-key
参数自定义端口和密钥。例如:
node openai-api-server.js --port 8080 --api-key sk-your-key
使用方法
服务启动后,你可以通过 OpenAI 兼容的 API 端点与 Gemini-CLI-2-API 交互。以下是详细操作说明:
- 发送聊天请求
项目支持/v1/chat/completions
端点,兼容 OpenAI 的请求格式。使用curl
或其他 HTTP 客户端发送请求:
curl http://localhost:8000/v1/chat/completions
-H "Content-Type: application/json"
-H "Authorization: Bearer sk-your-key"
-d '{
"model": "gemini-2.5-pro",
"messages": [
{"role": "system", "content": "你是一个代码助手。"},
{"role": "user", "content": "帮我写一个 Python 函数"}
]
}'
响应为 JSON 格式,内容由 Gemini 2.5 Pro 模型生成。
- 使用流式传输
启用流式响应,设置"stream": true
,结果会实时逐字显示:
curl http://localhost:8000/v1/chat/completions
-H "Content-Type: application/json"
-H "Authorization: Bearer sk-your-key"
-d '{
"model": "gemini-2.5-pro",
"stream": true,
"messages": [
{"role": "user", "content": "讲一个关于 AI 的故事"}
]
}'
- 查询可用模型
使用/v1/models
端点查看支持的模型:
curl http://localhost:8000/v1/models
-H "Authorization: Bearer sk-your-key"
返回当前支持的模型列表,如 gemini-2.5-pro
。
- 查看日志
日志系统记录所有请求的提示词和时间戳,方便调试。启用日志输出到文件:
node openai-api-server.js --port 8000 --api-key sk-your-key --log file
日志文件存储在项目目录,包含请求详情和令牌状态。
- 集成到现有工具
由于 API 兼容 OpenAI 格式,你可以将服务地址(如http://localhost:8000/v1
)配置到支持 OpenAI API 的工具(如 LobeChat)。只需将工具的 API 地址设置为 Gemini-CLI-2-API 的地址,保持请求格式不变。 - 扩展开发
项目的模块化设计便于扩展。例如:
- 添加缓存:修改
gemini-core.js
,加入 Redis 或文件缓存,减少 API 调用。 - 内容过滤:在
openai-api-server.js
中添加关键词过滤逻辑,审查请求或响应内容。
注意事项
- 确保网络连接稳定,OAuth 认证需访问 Google 服务器。
- 暂不支持多模态输入(如图片),未来可能更新。
- 免费额度为每日 1000 次请求,需遵守 Google 使用条款。
- 如果认证失败,检查
GOOGLE_API_KEY
或重新运行 OAuth 流程。
应用场景
- 无缝集成现有工具
开发者可将 Gemini-CLI-2-API 接入基于 OpenAI API 的工具(如 LangChain、AutoGPT),无需修改代码,直接调用 Gemini 2.5 Pro 的 AI 能力。 - 本地 AI 服务部署
企业可部署本地 API 服务,用于私有化 AI 任务,如代码生成、文档摘要,降低对云服务的依赖。 - 调试和优化提示
日志系统帮助开发者记录和分析提示词,优化交互设计或构建定制数据集。 - 学习和实验
学生或研究人员可通过开源代码学习 API 集成,实验 Gemini 模型的性能或开发新功能。
QA
- 为什么需要兼容 OpenAI API?
OpenAI API 是许多 AI 工具的标准接口。Gemini-CLI-2-API 通过兼容此格式,让开发者无需修改现有代码即可使用 Gemini 模型。 - 是否需要付费?
项目免费,依赖 Gemini CLI 的每日 1000 次免费请求。更高额度需通过 Google AI Studio 购买。 - 如何处理 API 密钥失效?
检查环境变量或重新运行程序触发 OAuth 认证。确保 Google 账号有权限访问 Gemini API。 - 支持哪些模型?
当前支持 Gemini 2.5 Pro,未来可能扩展其他 Gemini 模型。