Gemini CLI快速运维

news/2026/1/18 11:57:55/文章来源:https://www.cnblogs.com/keepriding/p/19498133

Gemini CLI快速运维

  • 使用Google CLI 可以在服务器上使用命令行调用Gemini API,这样就可以让AI自主抉择,并且方便AI自己读取文件,读取日志,读取执行命令的输出信息,避免了人为频繁在服务器和WEB版AI之间来回复制、粘贴。并且来回复制粘贴还会遗漏重要信息或者步骤,无法提供完整的上下文,导致AI做出错误判断。
  • 在运维的角度考虑,每天要维护很多不同的服务器,所以不能按照正常的安装流程,因为占用时间太长,污染系统环境(下载包,手工配置相关参数等占用时间。安装的依赖包也可能和系统已有的依赖冲突,污染系统环境)。所以需要制作一个绿色免安装的Gemini CLI版本,并编写一个启动脚本,将脚本和Gemini CLI免安装版放在代码仓库中(注意设置为私有)。运维时,登录需要维护的服务器,git clone 代码,执行启动脚本即可。运维完毕,删除Gemini CLI项目目录,不留痕迹。

效果演示:

  1. 演示示例

    输入:"查看服务器哪些目录占用磁盘比较多"

    gemini会生成相应命令,询问你是否可以执行。回车确认。

    输入图片说明

配置步骤总览:获取Google AI Studio Key ---> 配置SSH远程端口转发 ---> 制作Gemini CLI免安装版

获取Google AI Studio Key

  • 要调用 Google Gemini API,首先必须申请一个 API Key,有了 API Key 之后,便可访问它,API Key 的申请地址为 https://aistudio.google.com/app/api-keys。登录进去后,点击“创建API密钥”,然后创建一个新的 API Key,创建完毕后,记得把 API Key 复制下来。

    输入图片说明

  • 获取地址:https://aistudio.google.com/app/api-keys

    • 需要有账号,没有注册即可。
    • 有免费额度。

配置SSH 远程端口转发

Gemini CLI部署到服务器后,使用时调用API需要连接外网,所以需要通过自己的笔记本或者可以连接外网的服务器做一下转发。

反向隧道:原理是:把服务器的请求 -> 发给 SSH 隧道 -> 传回你的电脑(或者可以通外网的服务器) -> 通过你电脑的代理软件(或者可以通外网的服务器) -> 访问外网。

个人电脑使用方法

  1. 登录
# 格式:ssh -R <服务器端口>:127.0.0.1:<你电脑的真实端口> ...
ssh -R 7890:127.0.0.1:7897 ecs-user@服务器IP
  • 7890: 服务器端监听的端口
  • 7897: 笔记本梯子程序实际工作的端口
  • -R: 告诉 SSH 建立反向转发。
  1. 登录服务器后

    export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
    
  2. 验证

    curl -I https://www.google.com
    

    注意:只在这个ssh窗口里做临时的运维动作(比如 curl 测试、wget 下载文件、pip installdocker pull),做完就关掉窗口。不要在这个窗口里启动长期运行的生产业务,因为关闭窗口转发就没有了。

    ping 协议是ICMP,所以不能用ping测试。

Google Cloud Shell使用方法

Google Cloud Shell为免费使用

使用方法:

  • 登录Google Cloud(需要注册用户) :https://console.cloud.google.com/

  • 登录后点击右上角控制台

    输入图片说明

  • 进入控制台后点击"终端"图标

    输入图片说明

  1. 登录Google Cloud Shell

    注:Google Cloud Shell 只会保留用户家目录下的文件(5G的磁盘使用量),运行的程序和非用户家目录下的文件都会定期清理。所以需要写一个脚本安装tinyproxy,每次使用时候执行。

    bash tinyproxy_start.sh
    

    脚本内容。

    #!/bin/bashecho "开始初始化 Tinyproxy 环境..."# 1. 安装 Tinyproxy (如果系统重置了,这里会自动重装)
    if ! command -v tinyproxy &> /dev/null; thenecho "检测到未安装 Tinyproxy,正在安装..."sudo apt-get update -qqsudo apt-get install tinyproxy -y -qq
    elseecho "Tinyproxy 已安装"
    fi# 2. 自动生成配置文件 (直接覆盖 /etc/tinyproxy/tinyproxy.conf)
    # 注意:我们配置日志和PID文件到 /tmp,避免权限问题
    echo "正在生成配置文件..."
    sudo bash -c 'cat > /etc/tinyproxy/tinyproxy.conf <<EOF
    # --- 核心配置 ---
    User root
    Group root
    Port 8888
    Timeout 600
    MaxClients 100# --- 权限控制 ---
    Allow 127.0.0.1
    Allow ::1# --- 日志与进程 (放在 /tmp 保证 Cloud Shell 只有普通权限也能跑) ---
    LogFile "/tmp/tinyproxy.log"
    PidFile "/tmp/tinyproxy.pid"
    LogLevel Info
    EOF'# 3. 清理可能存在的旧进程 (防止端口冲突)
    sudo pkill tinyproxy
    # 等待一秒确保端口释放
    sleep 1# 4. 启动 Tinyproxy
    echo "正在启动 Tinyproxy..."
    # Cloud Shell 中建议直接用 sudo 启动,简单粗暴
    sudo tinyproxy -c /etc/tinyproxy/tinyproxy.conf# 5. 验证状态
    echo "检查端口状态:"
    # 检查 8888 端口
    if sudo netstat -tunlp | grep :8888 > /dev/null; thenecho "成功!Tinyproxy 正在监听 8888 端口"echo "端口详情:"sudo netstat -tunlp | grep tinyproxyecho "----------------------------------------"echo "现在你可以执行 SSH 命令了:"echo "ssh -R 7890:127.0.0.1:8888 ecs-user@你的服务器IP"
    elseecho "启动失败,请检查报错。"
    fi
    
    • 更改倒数第四行为实际服务器IP
  2. 登录后配置临时环境变量

    export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
    
  3. 验证

    curl -I https://www.google.com
    

    注意:只在这个ssh窗口里做临时的运维动作(比如 curl 测试、wget 下载文件、pip installdocker pull),做完就关掉窗口。不要在这个窗口里启动长期运行的生产业务,因为关闭窗口转发就没有了。

    ping 协议是ICMP,所以不能用ping测试。

Gemini

Gemini CLI

  1. 登录Google创建key,

    这个是AI Studio(推荐):https://aistudio.google.com/app/api-keys

    这个是Google Console通用的:https://console.cloud.google.com/apis/credentials

    这两个都能使用,且调用的模型一样。AI Studio可以看到各种模型的调用统计以及限制和配额(有免费额度)。

  2. 安装node.js

    # 安装 Node.js 18 或更高版本(可通过 node -v 查看当前版本)
    # mac系统
    brew install node 
    node -v
    
  3. 安装google cli

    # 全局安装
    npm install -g @google/gemini-cli
    
  4. 设置环境变量

    export GEMINI_API_KEY="你的key"
    
  5. 验证

    # gemini cli本意是帮助管理代码项目,如果在默认的目录下,会提示,所以切换到一个非主目录下执行就不会有提示了,安全一些,防止Gemini或者人失误操作重要文件。mac需要export https_proxy=http://127.0.0.1:7897,否则连接不上外网
    cd Desktop/gemini_test
    export https_proxy=http://127.0.0.1:7897 && gemini "你好"
    

免安装版本(服务器版本)

制作过程

创建一个代码仓库

  1. 下载node.js

    curl -O https://nodejs.org/dist/v24.13.0/node-v24.13.0-linux-x64.tar.xz
    
  2. 解压

    tar xf node-v24.13.0-linux-x64.tar.xz 
    
  3. 删除tar包

    rm -rf node-v24.13.0-linux-x64.tar.xz
    
  4. 重命名

    mv node-v24.13.0-linux-x64 ops-tools
    
  5. 安装gemini cli

    # 进入这个文件夹
    cd ops-tools# 使用这个文件夹里的 npm 来安装 gemini
    # --prefix . 表示安装到当前目录,而不是全局
    export PATH=$PWD/bin:$PATH
    ./bin/npm install -g @google/gemini-cli --prefix .
    
  6. 验证是否安装成功

    输出gemini帮助的相关信息即为成功

    ./bin/gemini --help
    
  7. 打包

    # 1. 回到上一级目录
    cd ..
    # 打包
    tar czf ops-tools.tar.gz ops-tools/# 删除
    mv ops-tools /tmp/
    
  8. 切分文件并上传代码仓库

    因为Gitee普通用户单个文件限制50MB,单个代码仓库限制500MB。

    # gemini.part_ 是文件前缀,生成的实际文件是 gemini.part_aa 等
    split -b 40m ops-tools.tar.gz gemini.part_# 验证,可以看到分成了三个文件
    ls -lh gemini.part_*
    
  9. gemini cli启动验证(手动验证)

    • 在要运行gemini cli的服务器拉取代码。注意登录服务器的方式为上面《配置SSH远程端口转发》的步骤

    • 配置临时环境变量

      export https_proxy=http://127.0.0.1:7890
      # 验证 curl -I https://www.google.com
      export PATH="/root/geminicli/ops-tools/bin:$PATH"
      export GEMINI_API_KEY="你的key"
      
      • PATH 中的路径根据实际情况更改:

        PATH="${拉取代码时所在目录绝对路径}/geminicli/ops-tools/bin:$PATH"

      • 将GEMINI_API_KEY的值填写为实际的Google AI Studio API Key

    • 启动gemini

      ./geminicli/ops-tools/bin/gemini
      

      输入"你好",gemini回复后即表示启动成功,网络连接成功。

      输入图片说明

  10. 添加启动脚本

    vim gemini

    #!/bin/bash# ================= 配置区域 =================
    export GEMINI_API_KEY="你的key"
    # 阿里云等国内服务器可能需要代理
    export http_proxy="http://127.0.0.1:7890"
    export https_proxy="http://127.0.0.1:7890"
    export HTTP_PROXY="http://127.0.0.1:7890"
    export HTTPS_PROXY="http://127.0.0.1:7890"
    export ALL_PROXY="http://127.0.0.1:7890"
    # 禁用 SSL 严格检查 (推荐保留)
    export NODE_TLS_REJECT_UNAUTHORIZED=0# ================= 逻辑区域 =================
    BASE_DIR=$(cd "$(dirname "$0")"; pwd)
    TOOLS_DIR="$BASE_DIR/ops-tools"# 1. 检查是否需要解压
    if [ ! -d "$TOOLS_DIR" ]; thenecho "首次运行,正在组装并初始化环境..."# 检测分片文件if ls "$BASE_DIR"/gemini.part_* 1> /dev/null 2>&1; then# 核心逻辑:把所有碎片拼回一个大文件,然后解压# 使用管道直接解压,连临时大文件都不用生成,省空间cat "$BASE_DIR"/gemini.part_* | tar -xz -C "$BASE_DIR"if [ $? -eq 0 ]; thenecho "环境组装完毕!"elseecho "解压失败,可能是分片文件损坏。"exit 1fielseecho "错误:找不到 gemini.part_* 分片文件。"exit 1fi
    fi# ================= 3. 启动逻辑 =================# 将便携版 node 加入 PATH
    export PATH="$TOOLS_DIR/bin:$PATH"# 【核心修改】使用 exec 启动
    # 1. exec 会让 Gemini 直接替换当前 Shell 进程,完美处理交互信号
    # 2. 如果不加参数直接运行 ./g,Gemini 默认就会进入交互模式
    exec gemini "$@"
    
    • 将GEMINI_API_KEY的值填写为实际的Google AI Studio API Key
    • chmod +x gemini
  11. 推送代码

    1. rm -rf ops-tools/
    2. 提交代码
    

使用方法

  1. 使用SSH远程端口转发的方式登录 服务器

  2. git clone 代码到本地

  3. 运行脚本启动gemini

    # 非交互式
    ./gemini "你好"# 交互式
    ./gemini
    
  4. 输入/help 查看帮助信息;/model 切换模型

  5. 演示示例

    输入:"查看服务器哪些目录占用磁盘比较多"

    gemini会生成相应命令,询问你是否可以执行。回车确认。

    输入图片说明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1178054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 基础开发工具详解(Yum, Vim, GCC, Make, GDB, Git) - 指南

Linux 基础开发工具详解(Yum, Vim, GCC, Make, GDB, Git) - 指南2026-01-18 11:54 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !i…

组合螺丝专业供应商靠谱吗,东层紧固件有哪些信任背书? - 工业品牌热点

一、基础认知篇 问题1:什么是组合螺丝?专业供应商需要具备哪些核心能力? 组合螺丝是将螺丝、弹垫、平垫预组装成一体的紧固件,安装时无需单独装配垫圈,能大幅提升装配效率,广泛应用于汽车、电子、钣金、新能源等…

复合式分板机国内选哪个厂家的产品好? - 工业品牌热点

随着电子制造行业对PCBA分板精度、效率要求的不断提升,复合式分板机作为兼顾铣削与切割优势的核心设备,逐渐成为SMT、汽车电子、医疗器械等领域的刚需。本文围绕复合式分板机哪家技术成熟、源头工厂哪家好、国内厂家…

Godot Win32

Godot Win32Godot windows 上使用的是 Windows API 编程模型(也称为 Win32 API 编程) Win32 API 编程

极端天气数据集 恶劣天气数据集 雾天道路行驶数据集 黑夜情境下的交通数据集 红绿灯检测数据集 疲劳驾驶检测数据集 交通路锥检测数据集 路面标识交通引导线 车道线检测数据集]

1.植物病虫害类数据集 玉米叶片病虫害数据集 /玉米虫害数据集 水稻叶片及虫害/大豆/小麦/苹果/柑橘葡萄/南瓜/樱桃/荔枝/农业病虫害类等等等 ** 2.交通类数据集** 极端天气数据集 恶劣天气数据集 雾天道路行驶数据集 黑夜情境下的交通数据集 红绿灯检测数据集 疲劳驾驶检测数据…

芯片制造企业网页如何集成百度开源上传组件实现文件夹上传?

前端老炮的20G文件夹上传大冒险&#xff08;附部分代码&#xff09; 各位前端同仁们&#xff0c;我是老张&#xff0c;一个在辽宁苦哈哈写代码的"前端民工"。最近接了个活&#xff0c;客户要求用原生JS实现20G文件夹上传下载&#xff0c;还要支持IE9&#xff01;这简…

14.2 去中心化协同与导航:基于LIVEPOINT框架的无死锁多机器人系统

14.2 去中心化协同与导航:基于LIVEPOINT框架的无死锁多机器人系统 14.2.1 引言:中心化规划的局限与去中心化自治的需求 多机器人系统在仓库物流、园区配送、工业巡检等场景中的应用潜力巨大。传统解决方案多采用集中式架构,由一个中央服务器为所有机器人计算全局最优路径。…

机械制造行业网页如何用html5实现文件夹上传?

大文件上传方案设计与实现&#xff08;政府信创环境兼容&#xff09; 方案背景 作为北京某软件公司的开发人员&#xff0c;我负责为政府客户实现一个兼容主流浏览器和信创国产化环境的大文件上传系统。当前需求是支持4GB左右文件的上传&#xff0c;后端使用PHP&#xff0c;前…

14.3 任务分配与协同操作:从市场拍卖到分布式优化的多机器人协作

14.3 任务分配与协同操作:从市场拍卖到分布式优化的多机器人协作 14.3.1 引言:多机器人系统中的任务分配问题 多机器人系统的效能不仅取决于单个机器人的能力,更关键的是如何将一组任务高效、合理地分配给群体中的成员,并协调它们之间的操作以避免冲突、发挥协同效应。这…

基于SpringBoot+Vue网络办公自动化系统的设计与实现

博主主页&#xff1a;一点源码 博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬…

15.1 机器人控制的伦理、安全与社会影响:技术成熟度伴随的责任审视

15.1 机器人控制的伦理、安全与社会影响:技术成熟度伴随的责任审视 15.1.1 引言:从技术可行性到社会可接受性 机器人技术,特别是具备自主决策与行动能力的先进机器人系统,正从受控的工业环境快速渗透至开放的公共空间与人类社会生活场景。这一演进将机器人控制的核心议题…

hadoop集群搭建 (超详细) 接入Impala、Hive,AI 大模型的数据底座 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

仓库管理软件哪个好用,有没有最简单的出入库系统

常有人询问哪种仓库管理系统最为出色&#xff0c;或者哪一款是最佳选择。然而&#xff0c;从产品角度来看&#xff0c;并无绝对的最佳&#xff0c;只有最适合自身需求的系统。市面上仓库管理系统种类繁多&#xff0c;功能多样&#xff0c;操作简便与复杂并存&#xff0c;适用对…

15.2 技术融合与未来展望:AI、新材料与生物交叉驱动下的新形态与新能力

15.2 技术融合与未来展望&#xff1a;AI、新材料与生物交叉驱动下的新形态与新能力 15.2.1 引言&#xff1a;范式融合的必然性与驱动力 机器人技术的发展历来遵循一条清晰的主线&#xff1a;通过对感知、决策与执行能力的迭代升级&#xff0c;拓展其在物理世界中的作用范围与自…

skill-creator详细且实用的教程

下面是详细且实用的教程,教你怎么用 Github 上的 Anthropics Skills 仓库里的 skill-creator 来创建自己的 Claude Skills,这里面包括: ✅ 环境准备 ✅ 安装 skill-creator ✅ 使用示例(含完整提示词) ✅ 写 Skil…

研究生必看:导师让改AI率?这份超全攻略帮你顺利过关

研究生必看&#xff1a;导师让改AI率&#xff1f;这份超全攻略帮你顺利过关 TL;DR&#xff1a;导师让你改AI率&#xff1f;别急。这份攻略从理解检测原理到实操降AI&#xff0c;手把手教你搞定。核心工具推荐嘎嘎降AI&#xff08;达标率99.26%&#xff09;和比话降AI&#xff0…

2010-2025年上市公司数字化迎合指标数据

数据简介 在数字经济成为国家战略、政策激励持续加码的背景下&#xff0c;上市公司数字化转型逐渐成为市场关注焦点&#xff0c;但部分企业存在 “重披露、轻投入” 的 “迎合式转型” 现象&#xff0c;严重干扰了对转型实效的判断与政策效果的评估。数字化迎合指标&#xff0…

保姆级教程:5分钟学会用工具降低论文AIGC检测率

保姆级教程&#xff1a;5分钟学会用工具降低论文AIGC检测率 TL;DR&#xff1a;没时间看长文&#xff1f;5分钟速成版&#xff1a;打开嘎嘎降AI → 粘贴文本 → 付款 → 下载结果 → 替换原文。就这么简单&#xff0c;AI率从70%降到10%以下。 为什么写这篇5分钟教程 我知道你可…

2002-2024年上市公司供应链数字化转型数据+代码

数据简介 依据国家市场监督管理总局与国家标准化管理委员会于2022年联合印发的《供应链数字化管理指南》&#xff0c;企业供应链数字化可从计划数字化、采购数字化、生产数字化、销售数字化与物流数字化这五大核心环节进行维度划分。为科学、客观且全面地衡量中国企业供应链数…

1985.1-2026.1世界各国经济政策不确定性指数

经济政策不确定性指经济主体&#xff08;企业、居民、投资者&#xff09;对政府经济政策的方向、力度、持续时间与实施方式无法形成稳定预期&#xff0c;从而产生的“不确定感” 经济政策不确定性指数是把“政策不确定性”这种抽象概念量化成可用于计量研究的时间序列&#xf…