9月1号开学日,开源一个项目 gcli2api - 把 Gemini Cli 转换成 Gemini API

在L站混了一个月了,享受了不少资源、资讯、干货,所以我也做一把贡献。

项目地址: GitHub - boltrunner/gcli2api

基于 AIClient-2-API 的 JS 实现,用 golang 重写的。

为什么使用 gcli2api

gemini-cli 的 gemini-2.5-pro 比较稳定(不截断),且提供完整的 1M context。但是:

  1. gemini-cli 对接的上游 API 响应格式和普通的的 gemini api response 的格式不同,需要转换,不然 roocode/kilocode 这些无法使用
  2. 单个 gemini-cli 的免费次数有限,所以多个账户轮询比较耐用

使用方法

多种运行方式:

  • 下载编译好的进制
  • 源码编译
  • docker: 镜像会更新到 docker hub, 可以直接 docker run

详情见 README

相比 AIClient-2-API 的主要改动

首先是用 golang 重写了,布署更方便,并且运行时资源消耗更少

简化了一些功能:

  • 去掉了所有与 gemini 不相关的功能
  • 只支持 config.json 配置,不支持命令行参数,避免bug和代码维护麻烦
  • 不需要在配置中声明 PROJECT_ID (一个 gemini-cli 隐式使用的参数), 代码会自动发现

增加的功能:

  • 支持在配置中声明要使用的 http/socks 代理。
  • 缓存每个账户对应的 gemini-cli 的默认 PROJECT_ID,不需要每次启动都去查询
  • 支持每个账户使用多个 project id
67 个赞

是否支持部署到远程服务器?如果可以的话,麻烦补充个dockerfile呗,已star,支持下佬

5 个赞

什么时候支持Docker?

2 个赞

一般是布署在远程,我是搭配 new-api 使用

已经添加了 Dockerfile 支持,说明在这一段 GitHub - boltrunner/gcli2api · GitHub

1 个赞

已经添加了 Dockerfile 支持,说明在这一段 GitHub - boltrunner/gcli2api

3 个赞

感谢分享

感谢分享

1 个赞

感谢分享

1 个赞

感谢分享

1 个赞

感谢分享,已Star :hand_with_index_finger_and_thumb_crossed:

3 个赞

太强了,大佬

2 个赞

感谢分享

cli一个号每天有多少2.5pro额度

1 个赞

不清楚,每天几十次?前段时间很少,最近据说放松了一点

感谢分享!

1 个赞



这是啥原因呢

2 个赞

应该是个bug,我修复了,试试最新版。Release nightly-20250902-005914-df8bba3 · boltrunner/gcli2api · GitHub

一个账号有十几个项目,会都自动发现嘛

这里的“项目”是指什么项目呢?我的理解是 gemini-2.5-pro 的额度都是针对谷歌账号的吧,所以配置中列出各个账号的 oauth creds 文件就行了

感谢分享

4 个赞

就是console.cloud.google.com里可以创建多个项目,多个项目的额度是分别计算的(gemini cli里实测确实是分开的),但是共用一个oauth,一个没额度了切换project id环境变量就可以用另外一个项目的额度