使用 Gemini CLI 自动化你的 GitHub 工作流
Source: Dev.to
(请提供需要翻译的正文内容,我将按照要求保留原始链接、格式和代码块,仅翻译文本部分。)
这个工具到底是干什么的?
在深入设置之前,让我们先弄清楚我们在使用的是什么。Gemini CLI GitHub Action 提供了三大主要功能:
- Issue Triage – 读取新 Issue 并自动为其打标签(bug、feature 等)
- Code Fixes – 能够分析 Issue 并编写代码来解决它们
- Pull Request Reviews – 提供自动化的代码审查并给出建议
可以把它想象成你团队里的一位 AI 开发者,全天候工作,不会疲倦,能够处理那些占用你大量时间的日常任务。
前置条件:您需要了解的内容
- GitHub 仓库(创建仓库、议题和拉取请求)
- 命令行基础
- 一个可以用于测试的项目
如果您是 GitHub 新手,请先花时间阅读他们的入门指南。您需要熟悉创建议题和管理仓库。
Source: …
步骤指南
步骤 1 – 安装并更新 Gemini CLI
确保已安装 Gemini CLI 并更新到最新版本。如果尚未安装,请查看官方安装指南。
# 验证安装
gemini --version
提示: 使用最新版本对于 GitHub 集成正常工作至关重要。
步骤 2 – 设置 GitHub Action
进入项目目录并运行:
gemini setup github
该命令只需几秒钟即可完成,并会向仓库添加必要的 GitHub Action 文件。你会在 .github/workflows 目录中看到新文件,这些文件定义了 AI 队友对不同事件的响应方式。
步骤 3 – 提交并推送
提交新添加的文件并推送到 GitHub。只有文件位于远程仓库后,Action 才会运行。
git add .
git commit -m "Add Gemini CLI GitHub Actions"
git push
步骤 4 – 添加你的 Gemini API 密钥
此步骤在文档中并不明显,但绝对必不可少。
-
前往你的 GitHub 仓库 → Settings。
-
进入 Security → Secrets and variables → Actions。
-
点击 New repository secret。
-
将名称设为
GEMINI_API_KEY。 -
在 Google AI Studio 获取 API 密钥作为值:
- 在新标签页打开 Google AI Studio。
- 点击 Get API key → Create new API key。
- 复制生成的字符串并粘贴为密钥的值。
测试您的新 AI 队友
现在进入有趣的部分!让我们看看这个东西到底能做什么。
测试问题分流
我在我的 Flutter 购物清单项目中创建了一个新 issue,描述如下:
当用户在编辑模式下按下回车键时,系统将结束编辑模式并像往常一样更新,同时在被编辑的项目下方打开一个新的空项目,该项目获得焦点并准备好进行编辑。
为了触发分流,我在 issue 中添加了以下评论:
@gemini-cli triage this issue
几分钟内,action 运行完毕并自动将该 issue 标记为 bug。action 日志显示,它分析了描述并判断所描述的问题是缺失的功能,而不是新的特性请求。
测试代码修复
接下来,我让 AI 修复该 issue:
@gemini-cli fix this issue
AI 花了几分钟时间分析代码,制定了带复选框的详细计划,然后实现了更改。工作流程如下:
- 阅读并分析 issue。
- 检查现有代码库。
- 制定详细的实现计划。
- 按步骤执行计划。
- 创建包含更改的新分支。
最终得到一个新分支(例如 fix-enter-key-functionality),其中包含可工作的代码。

测试拉取请求审查
最后,我手动从 AI 生成的分支创建了一个拉取请求(由于某些原因 AI 未能自动创建 PR)。几乎同时,另一个 action 被触发并发布了带有建议和潜在改进的自动审查。
总结
Gemini CLI GitHub Action 竟然是一位出乎意料的强大“AI 队友”。它可以:
- 自动标记 issue,为您节省分流时间。
- 生成代码修复,无需手动干预,即可生成可供审查的分支。
- 提供自动化 PR 评审,提前捕获代码风格问题和潜在 bug。
先在小型副项目上尝试使用,然后再考虑在更大的代码库中推广。和所有自动化工具一样,使用时要关注输出结果,并根据需要调整提示或配置。祝编码愉快!
实际有效的(以及无效的)
让我们诚实地看待结果。
好消息: 代码真的起作用了!当我测试我的 Flutter 应用时,在编辑项目时按 Enter 会更新该项目并创建一个新项目。功能实现正确,尽管我的描述比较模糊。
然而,仍有一些限制:
- 与 JavaScript 项目相比,AI 在 Flutter/Dart 上表现得更吃力(因为针对网页技术的训练数据更多)。
- 调试和纠正 Flutter 特有的问题花费的时间更长。
- 与 Cursor 等工具相比,自动化的方式感觉有些奇怪,因为我无法逐行批准更改。
- 它对我的配置文件做了一些不必要的修改。
- 拉取请求的创建失败,需要手动介入。
更佳结果的专业提示
基于我的测试,以下是一些建议:
1. 编写更好的问题描述
虽然我模糊的描述也能起作用,但如果提供详细的需求、验收标准以及项目背景,你会得到更好的结果。始终将工作拆分成小块。
2. 为不同任务使用不同的 AI 工具
我建议在编写代码和审查代码时使用不同的 AI 工具。例如,让 Claude 编写代码,使用 Gemini(或其他工具)进行审查。这样可以提供新视角,捕捉原工具可能遗漏的问题。
3. 审查提示
最佳特性之一是所有提示都是可见且可自定义的。查看 .github/workflows 文件,了解 AI 正在遵循的具体指令,并根据团队标准进行修改。
4. 从小处开始
首先在较小、非关键的仓库中进行测试。在将其部署到主要项目之前,先熟悉其工作方式。
结论:你应该尝试吗?
绝对值得。 即使有一些局限性,这款工具仍然是 AI 辅助开发的一大进步。它尤其适用于:
- 想要帮助处理日常任务的独立开发者
- 处理大量 issue 和 PR 的开源维护者
- 希望标准化审查流程的团队
- 对自主 AI 编码感兴趣的任何人
设置简单,免费使用(只需为 Gemini API 的使用付费),并且提示完全可定制。即使你不直接按原样使用它,研究这些提示和工作流结构也能为有效的 AI 自动化提供极佳的洞见。
准备开始吗?
以下是你的行动计划:
- 选择一个测试仓库(不要是你的主项目!)。
- 按照上面的设置步骤进行操作。
- 创建一个简单的 issue 来测试分流功能。
- 在小范围的内容上尝试
fix命令。 - 试验自定义提示,以匹配你的工作流。
记住,这仍然是早期技术。以好奇心而非完美期待来使用它,你很可能会发现对开发工作流真正有用的自动化。
编程的未来正变得越来越依赖人类与 AI 的协作。像这样的工具让我们得以一窥这种合作伙伴关系的可能模样——说实话,这相当令人兴奋。
你尝试过 Gemini CLI GitHub Action 吗?我很想听听你的使用体验以及你为项目定制的任何创意方式。