---
title: "GitHub Action"
description: "run-gemini-cli GitHub Action：在仓库里接入 Gemini CLI，支持 PR review、issue triage、按评论触发和定时任务。"
verifiedAt: "2026-05-09"
---

`google-github-actions/run-gemini-cli` 把 Gemini CLI 放进 GitHub Actions。它适合做 PR review、issue triage、代码分析、修复建议和仓库自动化。

> [!WARNING]
> GitHub Action 默认应该只读。涉及 label、comment、push、PR 修改或发布时，必须收紧 permissions、事件触发和身份条件。

## 能做什么

- 自动审查 pull request。
- 自动标注和分流 issue。
- 在 issue 或 PR 评论里通过 `@gemini-cli` 触发。
- 在 schedule 任务里做周期性检查。
- 调用 `gh` 等 CLI 与 GitHub 交互。

## 快速接入

官方推荐先把 API key 放到 GitHub secret：

```text
GEMINI_API_KEY
```

然后在本地 Gemini CLI 中运行：

```text
/setup-github
```

也可以手动复制官方 examples/workflows 到仓库的 `.github/workflows`。

## 常见工作流

```text
Gemini Dispatch       统一分发评论触发的请求
Issue Triage          自动分流 issue
Pull Request Review   自动或手动审查 PR
Gemini CLI Assistant  在 issue/PR 评论里处理请求
```

## 安全设置

接入 CI 时重点检查：

- secret 不写入仓库。
- checkout 步骤按需关闭凭据持久化。
- 工作流权限最小化。
- 对 fork PR 保持保守。
- 明确哪些评论命令允许触发写操作。

## 设计原则

GitHub Action 里的 Gemini CLI 应该默认只读。PR review、issue triage、release notes 草稿这类任务可以先只生成评论或摘要；需要写 label、开 PR、push commit 的任务必须用更严格的 workflow permission 和触发条件。

对 fork PR 尤其要保守：不要把高权限 secret 暴露给不可信代码路径，不要在未审查 diff 的情况下执行仓库脚本。能用 `pull_request` 只读事件解决的，不要直接上 `pull_request_target`。

| 场景 | 推荐权限 |
| --- | --- |
| PR review 草稿 | read-only + comment 限制 |
| Issue triage label | issues write，但限制触发条件 |
| 维护者评论触发 | 校验 actor / association |
| Fork PR | 不暴露高权限 secret |
| 自动修复 PR | 独立 workflow 和人工审批 |

## 接入路径

推荐先在本地 Gemini CLI 里跑 `/setup-github` 生成样板，再人工审查 workflow。不要直接复制网上片段进生产仓库。审查重点是：

- `permissions` 是否最小。
- checkout 是否持久化凭据。
- prompt 是否会读取敏感文件。
- 是否限制评论触发者身份。
- 是否把结果作为建议，而不是直接合并修改。

## 验收方式

用测试仓库跑三条路径：普通 PR、fork PR、维护者评论触发。确认 secret 没泄露、权限足够但不过宽、失败时只留下可读日志，不会自动写入非预期文件或评论刷屏。

还要测试恶意输入：PR 描述里要求打印 secret、评论里要求执行 shell、diff 里包含看似正常的脚本修改。Action 必须把这些当成不可信输入，而不是直接服从 prompt。

Action 产物要可审计：评论、artifact、日志里要能看出触发者、输入范围和最终权限。
失败时不能刷屏。
结果可复核。

第一次接入时建议只开一个只读 PR review workflow。等 secret、permissions、fork PR 和评论触发都验证通过，再拆 issue triage、label、assistant 评论和自动修复流程。

## 接下来去哪

<Cards>
  <Card title="Issue 与 PR 自动化" description="继续看 issue triage、label sync、linked issue 和 release 自动化。" href="/docs/gemini-cli/official/07-integrations-automation/75-issue-pr-automation" />
  <Card title="自动化脚本" description="Action 内部仍然要遵守 headless 和脚本验收规则。" href="/docs/gemini-cli/official/07-integrations-automation/73-automation" />
  <Card title="Terms and privacy" description="CI 中的凭据、日志和 prompt 也要回到隐私边界核对。" href="/docs/gemini-cli/official/06-security-enterprise/65-terms-privacy" />
</Cards>

## 官方来源

- [run-gemini-cli GitHub Action](https://github.com/google-github-actions/run-gemini-cli)
- [Gemini CLI issue and PR automation](https://github.com/google-gemini/gemini-cli/blob/main/docs/issue-and-pr-automation.md)
