run-gemini-cli 是一个 GitHub Action,通过 [Gemini CLI] 将 [Gemini] 集成到你的开发工作流中。它既可以作为自主代理,处理关键的日常编码任务;也可以作为按需协作者,你可以快速将任务委托给它。
使用它来执行 GitHub Pull Request 审查、问题分类、代码分析与修改等操作,通过对话方式(例如 @gemini-cli fix this issue)直接在 GitHub 仓库内利用 [Gemini]。
@gemini-cli /review)来触发工作流。gh))进行交互。GEMINI.md 文件为 [Gemini CLI] 提供项目特定的指令和上下文。只需几分钟即可在你的仓库中开始使用 Gemini CLI:
从 [Google AI Studio] 获取你的 API 密钥,享有慷慨的免费配额。
将你的 API 密钥存储为名为 GEMINI_API_KEY 的 secret:
GEMINI_API_KEY,值:你的 API 密钥将以下条目添加到你仓库的 .gitignore 文件中:
# gemini-cli 设置
.gemini/
# GitHub App 凭据
gha-creds-*.json
你有两种方式设置工作流:
选项 A:使用 setup 命令(推荐)
在终端中启动 Gemini CLI:
gemini
在终端中的 Gemini CLI 界面,输入:
/setup-github
选项 B:手动复制工作流
examples/workflows 目录中的预构建工作流复制到你的仓库的 .github/workflows 目录中。注意:gemini-dispatch.yml 工作流也必须一并复制,它将触发工作流运行。Pull Request 审查:
@gemini-cli /review 手动触发审查Issue 分类:
@gemini-cli /triage 手动触发分类通用 AI 辅助:
@gemini-cli 后跟你的请求@gemini-cli explain this code change@gemini-cli suggest improvements for this function@gemini-cli help me debug this error@gemini-cli write unit tests for this component本 Action 提供了几个预构建的工作流,适用于不同场景。每个工作流都可以复制到你的仓库的 .github/workflows 目录中,并根据需要进行自定义。
该工作流作为 Gemini CLI 的中央调度器,根据触发事件以及评论中提供的命令将请求路由到相应的工作流。有关如何设置调度工作流的详细指南,请参阅 Gemini Dispatch 工作流文档。
此 Action 可用于自动或在计划任务中对 GitHub Issue 进行分类。有关如何设置 issue 分类系统的详细指南,请参阅 GitHub Issue 分类工作流文档。
此 Action 可用于在 pull request 打开时自动进行审查。有关如何设置 pull request 审查系统的详细指南,请参阅 GitHub PR 审查工作流文档。
此类 Action 可用于在 pull request 和 issue 中调用通用的、对话式的 Gemini AI 助手,以执行广泛的任务。有关如何设置通用 Gemini CLI 工作流的详细指南, 请参阅 Gemini Assistant 工作流文档。
gcp_location: (可选) Google Cloud 位置。
gcp_project_id: (可选) Google Cloud 项目 ID。
gcp_service_account: (可选) Google Cloud 服务账号邮箱。
gcp_workload_identity_provider: (可选) Google Cloud Workload Identity 提供商。
gcp_token_format: (可选,默认值: access_token) 身份认证的令牌格式。设置为 "access_token" 以生成访问令牌(需要服务账号),或设置为空字符串以使用直接 WIF。可以是 "access_token" 或 "id_token"。
gcp_access_token_scopes: (可选,默认值: https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/userinfo.profile) 当 token_format 为 "access_token" 时的访问令牌范围。用逗号分隔的 OAuth 2.0 作用域列表。
gemini_api_key: (可选) Gemini API 的 API 密钥。
gemini_cli_version: (可选,默认值: latest) 要安装的 Gemini CLI 版本。可以是 "latest"、"preview"、"nightly"、特定版本号、或 git 分支、标签、提交。更多信息,请参见 Gemini CLI 发布版本。
gemini_debug: (可选) 启用调试日志和输出流。
gemini_model: (可选) 要与 Gemini 一起使用的模型。
google_api_key: (可选) 与 Gemini 一起使用的 Vertex AI API 密钥。
prompt: (可选,默认值: You are a helpful assistant.) 传递给 Gemini CLI 的 --prompt 参数 的字符串。
settings: (可选) 写入 .gemini/settings.json 的 JSON 字符串,用于配置 CLI 的项目设置。更多详情,请参见 设置文件 文档。
use_gemini_code_assist: (可选,默认值: false) 是否使用 Code Assist 进行 Gemini 模型访问而非默认的 Gemini API 密钥。更多信息,请参见 Gemini CLI 文档。
use_vertex_ai: (可选,默认值: false) 是否使用 Vertex AI 进行 Gemini 模型访问而非默认的 Gemini API 密钥。更多信息,请参见 Gemini CLI 文档。
extensions: (可选) 要安装的 Gemini CLI 扩展列表。
upload_artifacts: (可选,默认值: false) 是否将工件上传到 GitHub Action。
use_pnpm: (可选,默认值: false) 是否使用 pnpm 代替 npm 来安装 gemini-cli。
workflow_name: (可选,默认值: ${{ github.workflow }}) GitHub 工作流名称,用于遥测目的。
github_pr_number: (可选,默认值: ${{ github.event.pull_request.number }}) CLI 正在操作的 Pull Request 编号。默认为事件负载。