Featured image of post Gemini CLI 现已支持大香蕉模型

Gemini CLI 现已支持大香蕉模型

Gemini CLI 现已支持 gemini-2.5-flash-image-preview 模型

Gemini CLI 现已支持大香蕉模型

gemini cli 目前默认支持每分钟最多 60 次请求、每天最多 1000 次请求,用于本地开发也是非常不错的。最近上线了 gemini-2.5-flash-image-preview 模型,配合转API 项目,即可免费使用该模型,而且没有水印。

Gemini Cli 安装

使用 npx 安装

1
npx https://github.com/google-gemini/gemini-cli

也可以选择全局安装

1
npm install -g @google/gemini-cli

macOS/Linux 环境可以使用 Homebrew 安装

1
brew install gemini-cli

我这边使用第一种方式进行安装,这也是官方推荐的测试方式

gemini_cli_01.png

Gemini Cli 登录

这里有三种登录方式:

  • 使用 Google 账号登录,选择后跳转浏览器进行账号登录
  • 使用 Gemini API key,需要提前到 ai studio 创建 API Key
  • 使用 Vertex AI

首次启动时,gemini-cli 会引导你选择主题颜色和认证方式, 选择使用 Google账号登录,不要使用 API key

登录成功后,就能够看到如下图界面

gemini_cli_05.png

尝试发送一个对话看看是否正常

gemini_cli_06.png

如果你一直卡在这个授权界面,就代表是网络不通,需要开启 TUN 模式,或者在终端配置临时代理

gemini_cli_02.png

临时代理设置方法:

  • Windows

    1
    
    set HTTPS_PROXY="http://127.0.0.1:端口号"
    
  • macOS / Linux

    1
    
    export HTTPS_PROXY="http://127.0.0.1:端口号"
    

Gemini Cli 使用

如果你有国内代理地址,也可以通过设置环境变量 GOOGLE_GEMINI_BASE_URL 进行转发,这样就不需要挂代理使用

写一个五子棋游戏

gemini_cli_10.png

最终效果,没有问题

gemini_cli_11.png

CLIProxyAPI 项目介绍

一个为 CLI 提供 OpenAI/Gemini/Claude/Codex 兼容 API 接口的代理服务器,这样我们就能够方便的集成到其他的应用中,而不需要在终端使用

项目地址 https://github.com/router-for-me/CLIProxyAPI

安装

安装 CLIProxyAPI 需要使用 Go 1.24 or higher

  • 克隆项目
1
2
git clone https://github.com/luispater/CLIProxyAPI.git
cd CLIProxyAPI
  • 编译项目

Windows 环境

1
go build -o cli-proxy-api.exe ./cmd/server

macOS / Linux

1
go build -o cli-proxy-api ./cmd/server

配置

复制并重命名项目下的 config.example.yamlconfig.yaml,并修改打开 Gemini 配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# Gemini Web settings
gemini-web:
   # Conversation reuse: set to true to enable (default), false to disable.
   context: true
   # Maximum characters per single request to Gemini Web. Requests exceeding this
   # size split into chunks. Only the last chunk carries files and yields the final answer.
   max-chars-per-request: 1000000
   # Disable the short continuation hint appended to intermediate chunks
   # when splitting long prompts. Default is false (hint enabled by default).
   disable-continuation-hint: false
   # Code mode:
   #   - true: enable XML wrapping hint and attach the coding-partner Gem.
   #           Thought merging (<think> into visible content) applies to STREAMING only;
   #           non-stream responses keep reasoning/thought parts separate for clients
   #           that expect explicit reasoning fields.
   #   - false: disable XML hint and keep <think> separate
   code-mode: false

配置相关说明

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# 端口号,CLIProxyAPI运行了个HTTP服务器,需要端口号来进行访问
port: 8317

# 远程管理配置,配合EasyCLI或者WebUI来使用
remote-management:
  # 启用远程管理的开关,如果你部署在服务器上
  # 那么需要设置为true,才能使用EasyCLI或者WebUI连接到CLIProxyAPI进行管理
  # 如果只是本地使用API进行管理的,可以保持false不动
  allow-remote: false

  # 如果想使用EasyCLI或者WebUI通过API对CLIProxyAPI进行管理,必须设置Key
  # 如果不设置,视同关闭了API管理功能,就无法使用EasyCLI或者WebUI进行连接了
  # 如果你不需要使用EasyCLI或者WebUI进行管理,可以留空
  secret-key: ""
  # 是否集成WebUI的开关
  # 设置为true,可以通过http://YOUR_SERVER_IP:8317/management.html打开WebUI
  disable-control-panel: false

# 认证文件存放目录,用于存放Gemini CLI、Gemini Web、Qwen Code、Codex的认证文件
# 默认设置,是在你当前账户目录下的.cli-proxy-api文件夹,适配Windows和Linux环境
# 程序首次启动时会自动创建该文件夹
# Windows下默认为C:\Users\你的用户名\.cli-proxy-api
# Linux下默认为/home/你的用户名/.cli-proxy-api
# 如果在Windows环境下使用非默认位置,需要参照这样的格式修改填写"Z:\\CLIProxyAPI\\auths"
auth-dir: "~/.cli-proxy-api"

# 是否在日志中启用Debug信息,默认不启用,需要作者配合排错的时候打开就行
debug: false

# 是否将日志重定向到日志文件中
# 默认启用,日志会保存在程序目录下的logs文件夹中
# 如果关闭的话,会在控制台显示日志
logging-to-file: true

# 开关使用统计,默认启用
# 需要使用API来查看使用量,可以用EeasyCLI或者WebUI来查看
usage-statistics-enabled: true

# 如果你要使用代理,那么需要进行以下的设置,支持socks5/http/https协议
# 按照这样的格式"socks5://user:[email protected]:1080/"填写
proxy-url: ""

# 当请求碰到403, 408, 500, 502, 503, 504这些错误码的时候,程序自动重试请求的次数
request-retry: 3

# 模型受到限制之后的处理行为
quota-exceeded:
  # 多账号轮询的核心配置
  # 设置为true时,例如一个账号触发了429,程序会自动切换到下一个账号重新发起请求
  # 设置为false时,程序会把429的错误信息发给客户端,结束当前请求
  # 也就是说,当设置为true时,只要轮询的账号里至少有一个号是正常的,客户端这里就不会报错
  # 而设置false时,则需要客户端来进行重试或中止操作
  switch-project: true 
  # Gemini CLI独占配置,适用于Gemini 2.5 Pro和Gemini 2.5 Flash模型
  # 当正式版配额用完之后,会自动切换到Preview模型,保持开启即可
  switch-preview-model: true

# 各种AI客户端访问CLIProxyAPI所需要填写的Key,就在这里设置,和后边的各种Key不要弄混淆了
# 通俗点讲,这里的Key是CLIProxyAPI作为服务器所需要设置的
# 后边的各种Key是CLIProxyAPI作为客户端去访问服务器所需要的
api-keys:
  - "your-api-key-1"
  - "your-api-key-2"

# Gemini的官方API Key,如果你已经配了Gemini CLI,那么不建议填
# 因为Gemini CLI是满血的,而官方Key是残血的,填了的话会一起参与轮询
generative-language-api-key:
  - "AIzaSy...01"
  - "AIzaSy...02"
  - "AIzaSy...03"
  - "AIzaSy...04"

# Codex的API Key,各种中转站提供的Codex的key和base-url参数,填在这里就可以接入了
codex-api-key:
  - api-key: "sk-atSM..."
    base-url: "https://www.example.com"

# Claude的API Key,使用官方Key的时候,不要填base-url,使用第三方中转的,填base-url
claude-api-key:
  - api-key: "sk-atSM..."
  - api-key: "sk-atSM..."
    base-url: "https://www.example.com"

# 各种OpenAI兼容的都可以在这里接入,不多解释了
openai-compatibility:
  - name: "openrouter"
    base-url: "https://openrouter.ai/api/v1"
    api-keys:
      - "sk-or-v1-...b780"
      - "sk-or-v1-...b781"
    models:
    	# OpenAI兼容供应商提供的模型名称
      - name: "moonshotai/kimi-k2:free"
      	# 模型别名
        alias: "kimi-k2"

# Gemini Web的相关设置,可以忽略掉,用默认值就行
gemini-web:
    # 此选项用于状态化会话,由于Gemini Web是逆向的
    # 因而如果设置false的话,每条发送的消息程序会携带之前的所有上下文发送给服务器
    # 设置true的话,程序会按客户端发送的报文,根据最长匹配寻找之前的会话
    # 如果已有会话,则只发送当前的消息,而不携带所有上下文
    # 如果使用Nano Banana模型,请务必保持此选项为true,否则无法进行连续会话修图
    # 如果还有不理解的,可以开始切换开关后,在Gemini Web官方网页查看效果
    context: true
    # 最大发送的字符,保持为默认值即可
    max-chars-per-request: 1000000
    # 程序默认超出最大字符,会进行截断,分批发送,截断时,会在报文最后附加一条让模型等待的消息
    # 如果设置true,则不会在报文最后附加这条消息
    # 建议保持false即可,因为只有截断才会附加消息,非截断情况是不会附加的
    disable-continuation-hint: false
    # 编程模式,不用来进行编程,请不要启用,使用Nano Banana模型,请务必关闭
    # 设置ture,会有以下效果
    ## 使用系统自带的编码助手Gem进行对话
    ## 对话时如有思考内容,会把思考内容并入正文
    ## 在报文最后附加一条关于XML的消息
    code-mode: false

授权

这里使用 Gemini 登录为示例,其他的方式可查看官方说明

1
./cli-proxy-api --login

启动服务器

身份验证完成后,启动服务器

1
./cli-proxy-api

默认情况下,服务器在端口 8317 上运行

第三方工具配置使用

我们以使用 Cherry Studio 为例,介绍如何配置使用

首先,我们需要先配置一个客户端访问的 API Key,在上面 config.yaml 中配置

1
2
3
4
5
# API keys for authentication
api-keys:
# 可以支持配置多个
  - "112233" 
  - "AABBCCDD"

然后重新启动服务器

gemini_cli_15.png

配置客户端

使用 gemini 类型,名称随意

gemini_cli_30.png

然后配置 URLAPI Key

gemini_cli_32.png

点击 管理,可以看到这边使用的模型有哪些,其中就有 大香蕉(gemini-2.5-flash-image-preview),这个稍后介绍

gemini_cli_33.png

先来看看对话是否正常,使用 gemini-2.5-flash

gemini_cli_34.png

大香蕉使用

目前 Google 并未提供该模型的免费 API,但是通过 Gemini Cli 就能够免费使用,在软件上只要选择使用 gemini-2.5-flash-image-preview 模型即可

gemini_cli_31.png

据了解,普通账号每天有 100 次图像生成配额,Pro 账号则有 1000 次

gemini_cli_35.png

目前 Cherry Studio 暂不支持上下文携带图片,所以不能够通过上下文进行修图,但是使用 Gemini Cli 里边的模型画图是没有水印

插件配置

VS Code 中可以通过 Kilo Code 等插件来调用使用 Gemini Cli,也是需要通过上面的 CLIProxyAPI 代理服务端口来调用,配置跟上面的 Cherry Studio 基本一致,如下图所示

gemini_cli_41.png

然后也是让它写一个五子棋游戏,这次使用的是 gemini-2.5-pro

gemini_cli_40.png

最终效果

gemini_cli_42.png

之前使用插件的方式,老是会有速率限制,提示 429 RESOURCE_EXHAUSTED 错误,如果通过 Gemini cli 的方式也一定程度上解决这个问题

Licensed under CC BY-NC-SA 4.0
本博客所有内容无特殊标注均为大卷学长原创内容,复制请保留原文出处。
Built with Hugo
Theme Stack designed by Jimmy