GeminiCLI工具 gemini-cli

Gemini CLI 是一个基于 Google Gemini 大模型的命令行人工智能助手,专门用于软件开发中的代码审查、架构决策、安全审计和调试辅助。它支持100万+上下文窗口,能够进行全面的代码库分析,适用于AI配对编程和自动化工作流。关键词:Gemini CLI, Google Gemini, 命令行AI, 代码审查, 架构建议, 安全审计, AI编程助手。

AI应用 0 次安装 0 次浏览 更新于 3/7/2026

name: gemini-cli description: Google Gemini 命令行工具,用于第二意见、架构建议、代码审查、安全审计。利用100万+上下文窗口进行全面的代码库分析。

关键词: gemini-cli, google gemini, gemini 命令行, 第二意见, 模型比较, gemini-2.5-flash, gemini-2.5-pro, 架构决策, 调试助手, 代码审查 gemini, 安全审计 gemini, 100万 上下文窗口, AI 配对编程, gemini 咨询, flash vs pro, AI到AI提示, 同行评审, 代码库分析, gemini CLI 工具, shell gemini, 命令行 AI 助手, gemini 架构建议, gemini 调试帮助, gemini 安全扫描, gemini 代码比较 license: MIT metadata: version: 2.1.0 production_tested: true gemini_cli_version: 0.13.0+ last_verified: 2025-11-13 token_savings: ~60-70% errors_prevented: 6+

Gemini CLI

利用 Gemini 的100万+上下文窗口作为您在 Claude Code 工作流中的 AI 配对程序员。

这个技能教 Claude Code 如何使用官方的 Google Gemini 命令行工具(gemini 命令)来获取第二意见、架构建议、调试帮助和全面的代码审查。基于官方 CLI 工具的生产测试。


目录

  1. 快速开始
  2. 何时使用 Gemini 咨询
  3. 安装
  4. 模型选择:Flash vs Pro
  5. 前3大使用案例
  6. 集成示例
  7. 前3大错误与解决方案
  8. 何时加载参考文献
  9. 生产规则

快速开始

前提条件:

  • 已安装 Gemini CLI (bun add -g @google/gemini-cli)
  • 已通过 Google 账户认证(运行 gemini 一次进行认证)

核心命令模式:

# 快速问题(非交互式,使用 -p 标志)
gemini -p "我应该使用 D1 还是 KV 进行会话存储?"

# 带有文件上下文的代码审查
cat src/auth.ts | gemini -p "审查此身份验证代码的安全性漏洞"

# 使用 Pro 模型的架构建议
gemini -m gemini-2.5-pro -p "在 Cloudflare Workers 中处理 WebSockets 的最佳方式?"

# 使用目录中的所有文件
gemini --all-files -p "审查此身份验证实现的安全性问题"

# 交互式模式用于后续问题
gemini -i "帮我调试此身份验证错误"

关键: 在自动化/脚本中始终使用 -p 标志进行非交互式命令。


何时使用 Gemini 咨询

总是咨询(关键场景)

Claude Code 应在以下情况自动调用 Gemini

  1. 主要架构决策

    • 例如:“我应该使用 D1 还是 KV 进行会话存储?”
    • 例如:“对于长时间运行的任务,使用 Durable Objects 还是 Workflows?”
    • 模式: gemini -m gemini-2.5-pro -p "[架构问题]"
  2. 安全敏感代码更改

    • 身份验证系统、支付处理、PII 处理
    • API 密钥/秘密管理
    • 模式: cat [安全文件] | gemini -m gemini-2.5-pro -p "安全审计此代码"
  3. 调试卡住(2+ 次失败尝试)

    • 错误在2次调试尝试后仍然存在
    • 堆栈跟踪不清晰或间歇性错误
    • 模式: gemini -p "帮助调试: [错误消息]" < error.log
  4. 大型重构(5+ 文件)

    • 核心架构更改、数据库模式迁移
    • 模式: gemini --all-files -m gemini-2.5-pro -p "审查此重构计划"
  5. 上下文窗口压力(70%+ 满)

    • 接近令牌限制,需要卸载分析
    • 模式: cat large-file.ts | gemini -p "分析此代码结构"

可选咨询

  1. 不熟悉的技术 - 第一次使用库/框架
  2. 代码审查 - 在提交重大更改之前

安装

1. 安装 Gemini CLI

bun add -g @google/gemini-cli

2. 认证

gemini

按照认证提示链接您的 Google 账户。

3. 验证安装

gemini --version  # 应显示 0.13.0+
gemini -p "2+2 等于多少?"  # 测试连接

模型选择:Flash vs Pro

gemini-2.5-flash (默认)

  • 速度: ~5-25 秒
  • 质量: 适合大多数任务
  • 用途: 代码审查、调试、快速问题
  • 成本: 较低
gemini -m gemini-2.5-flash -p "审查此函数的性能问题"

gemini-2.5-pro

  • 速度: ~15-30 秒
  • 质量: 优秀,彻底分析
  • 用途: 架构决策、安全审计、主要重构
  • 成本: 较高
gemini -m gemini-2.5-pro -p "安全审计此身份验证系统"

快速决策指南

快速问题? → Flash
安全/架构? → Pro
调试? → Flash(如果卡住则尝试 Pro)
重构 5+ 文件? → Pro

关键发现: Flash 和 Pro 可能对同一问题给出相反的建议(两者都有效,优先级不同)。Flash 优先考虑性能,Pro 优先考虑一致性/正确性。详情请加载 references/models-guide.md


前3大使用案例

1. 安全审计

# 审计身份验证代码
cat src/middleware/auth.ts | gemini -m gemini-2.5-pro -p "
安全审计此身份验证中间件。检查:
1. 令牌验证漏洞
2. 定时攻击风险
3. 错误处理泄露
4. CSRF 保护
5. 速率限制
"

2. 架构决策

# 比较技术,带有上下文
gemini -m gemini-2.5-pro -p "
上下文:构建带有用户身份验证的 Cloudflare Worker。

问题:我应该使用 D1 还是 KV 存储会话数据?

考虑因素:
1. 每个请求都会读取会话
2. 基于 TTL 的过期
3. 每月1000万请求以下的成本
4. 部署复杂性
"

3. 调试根本原因

# 分析错误日志,带有上下文
tail -100 error.log | gemini -p "
这些错误在部署身份验证更改后开始出现。可能的根本原因是什么?

上下文:
- 添加了 JWT 验证中间件
- 使用 @cloudflare/workers-jwt
- 错误仅出现在 /api/* 路由上
"

更多使用案例: 加载 references/models-guide.md 了解性能优化、重构计划和代码审查。


集成示例

Claude 自动咨询 Gemini

场景: 用户询问架构问题

用户:"我应该使用 D1 还是 KV 存储用户会话?"

Claude (内部): 这是一个架构决策。咨询 Gemini 获取第二意见。

[运行: gemini -m gemini-2.5-pro -p "在 Cloudflare Workers 中比较 D1 vs KV 用于用户会话存储。考虑:读写模式、成本、性能、复杂性。"]

Claude (对用户): "我已咨询 Gemini 获取第二意见。这是我们俩的看法:

我的观点: [Claude 的分析]
Gemini 的观点: [Gemini 的分析]

关键差异: [综合]
推荐: [综合推荐]"

关键模式: 综合两种观点,不要只是转发 Gemini 的响应。


前3大错误与解决方案

错误 1: 未认证

错误: 错误:未认证

解决方案:

gemini  # 按照认证提示操作

错误 2: 模型未找到

错误: 错误:未找到模型: gemini-2.5-flash-lite

原因: 模型已弃用或重命名(flash-lite 不存在)

解决方案: 仅使用稳定模型:

gemini -m gemini-2.5-flash -p "您的问题"
gemini -m gemini-2.5-pro -p "您的问题"

错误 3: 命令挂起

原因: 交互式模式时期望非交互式

解决方案: 非交互式命令始终使用 -p 标志

# ✅ 正确
gemini -p "问题"

# ❌ 错误(将挂起等待输入)
gemini "问题"

更多故障排除: 加载 references/models-guide.md 了解速率限制、大文件上下文问题和性能提示。


何时加载参考文献

在以下场景加载参考文献文件:

加载 references/models-guide.md 当:

  • 用户询问 Flash vs Pro 差异
  • 模型给出冲突建议
  • 需要详细性能比较
  • 为特定任务类型选择模型
  • 想了解模型为何不同意

加载 references/prompting-strategies.md 当:

  • 向 Gemini 制作复杂提示
  • 需要 AI到AI 提示格式模板
  • 想提高提示质量
  • 比较新旧提示方法

加载 references/gemini-experiments.md 当:

  • 需要历史测试上下文
  • 调查边缘情况
  • 理解设计决策
  • 故障排除异常行为

注意: helper-functions.md 已过时(引用旧的 gemini-coach 包装器,而不是官方的 gemini CLI)。


生产规则

1. 自动化中始终使用 -p

# ✅ 适合脚本
gemini -p "问题"

# ❌ 差(交互式)
gemini

2. 基于关键性选择模型

# 架构/安全 → Pro
gemini -m gemini-2.5-pro -p "[关键问题]"

# 调试/审查 → Flash
gemini -m gemini-2.5-flash -p "[一般问题]"

3. 在提示中提供上下文

# ✅ 好: 上下文 + 问题 + 考虑因素
gemini -p "上下文:构建 Cloudflare Worker。问题:最佳身份验证模式?考虑因素:1) 无状态,2) JWT,3) <100ms 开销"

# ❌ 差: 模糊
gemini -p "最佳身份验证?"

4. 为审查管道文件内容

# ✅ 高效
cat src/auth.ts | gemini -p "安全审查"

# ❌ 效率较低
gemini -p "审查 src/auth.ts"

5. 综合,不要只是转发

❌ 差: 只是粘贴 Gemini 的响应

Claude: [运行 gemini] "Gemini 说: [粘贴]"

✅ 好: 综合两种观点

Claude: "我已咨询 Gemini 获取第二意见:

我的分析: [Claude 的观点]
Gemini 的分析: [Gemini 的观点]
关键差异: [综合]
推荐: [统一答案]"

6. 优雅处理错误

if output=$(gemini -p "问题" 2>&1); then
  echo "Gemini 说: $output"
else
  echo "Gemini 咨询失败,继续使用 Claude 的推荐"
fi

版本历史

2.1.0 (2025-12-15):

  • 优化至 <500 行(阶段 12.5 → 13 浓缩)
  • 提取详细内容到 references/
  • 添加“何时加载参考文献”部分
  • 浓缩为前3大错误、前3大使用案例

2.0.0 (2025-11-13):

  • 完全重写为官方 Gemini CLI(移除 gemini-coach 包装器)
  • 直接 CLI 集成模式
  • 更新命令示例为 gemini CLI v0.13.0+

1.0.0 (2025-11-08):

  • 初始发布,带有 gemini-coach 包装器

相关技能


许可证

MIT - 参见 LICENSE


支持