# 关于 Copilot 自动化

Automations 允许按计划或响应存储库中的事件自动运行 Copilot云代理 。

## Overview

使用 automations，您可以将 Copilot云代理 设置为自动运行，可以按计划运行，也可以在响应存储库中的事件时运行。
Automations 可以在其配置所在的仓库中执行操作，例如发起拉取请求或为议题添加标签。

对于手动启动的 Copilot云代理 会话，每次你想让其执行工作时，都需要向 Copilot 分配一项任务。 使用 automations 时，只需定义一次任务；每当 Copilot 的触发器被触发时，自动化 都会自动运行该任务。

例如，您可以使用 automations 来：

* **会审传入问题**：根据新问题的内容自动将新问题标记为 bug、增强或其他问题。
* ```
            **每晚修复失败的测试**：每晚检查 `main` 分支上失败的测试，尝试修复，并创建草稿拉取请求。
  ```
* **准备每周发布说明**：按计划起草发布说明并创建拉取请求。

创建 自动化时，定义：

* 用于标识 自动化 的**名称**。
* 描述你希望Copilot执行的任务的**提示词**。
* 一个或多个 **触发器** ，用于确定 自动化 何时运行。
* **模型**Copilot使用。
* 可供 **工具**Copilot使用，用于管控其在存储库内可执行的操作权限。

有关创建和管理 automations的说明，请参阅 [使用 Copilot 云代理创建自动化](/zh/copilot/how-tos/use-copilot-agents/cloud-agent/create-automations)。

## 可用性和权限

若要 automations 在存储库中可用，以下所有内容都必须为 true：

* 存储库必须是 **专用存储库或内部**存储库。
  Automations 在公共存储库中不可用。
* 必须为该存储库启用 Copilot云代理。 如果您拥有 Copilot业务 或 Copilot Enterprise，则管理员必须启用 Copilot云代理 策略。 请参阅“[管理对 GitHub Copilot 云代理的访问权限](/zh/copilot/concepts/agents/cloud-agent/access-management)”。
* 组织必须在存储库中同时允许 Copilot云代理 和 automations（二者默认均处于启用状态）。 请参阅“[将GitHub Copilot云代理添加到组织](/zh/copilot/how-tos/administer-copilot/manage-for-organization/add-copilot-cloud-agent)”。

Automations可用于GitHub Copilot Pro、GitHub Copilot Pro+、GitHub Copilot Max、GitHub Copilot业务和GitHub Copilot Enterprise计划。

对存储库具有 **写入访问权限** 的任何用户都可以在该存储库中创建 automations 。

可以从以下方法创建和管理 automations ：

* GitHub 上存储库中的“智能体”选项卡\*\*\*\*，位于 **Automations** 窗格内。
* Automations中的**GitHub Copilot 应用** 选项卡。

## 触发器

当任一触发器被触发时，自动化 便会运行。 以下触发器可用：

* **按计划**：按 自动化 定期间隔（每小时、每天或每周）运行。
* ```
            **创建问题时**：每次在存储库中创建问题时，自动化 都会运行。
  ```
* **创建拉取请求时**：自动化 会在存储库中每次创建拉取请求时运行。
* ```
            **当拉取请求同步时**：每次在存储库中将新提交推送到拉取请求时，自动化 都会运行。
  ```

可以选择为基于事件的触发器配置筛选器：

* 若是在**创建问题**时，请添加搜索查询筛选器。
* 对于 **打开拉取请求时** 以及 **同步拉取请求时** 这两种情况，请添加搜索查询筛选条件，以及针对拉取请求中已更改文件的筛选条件。

若要降低提示注入的风险， automations 请忽略默认情况下没有存储库写入访问权限的用户触发的事件。 这有助于防止不受信任的用户（例如创建议题的外部参与者）导致 Copilot 采取措施。 如果需要，您可以选择允许这些事件。 有关详细信息，请参阅 [安全和安全](#security-and-safety)。

## 工具和操作

你在创建自动化时选择的**工具**，决定了Copilot运行时自动化可以执行哪些操作。

例如，可以允许 Copilot 推送更改、更新问题标签或创建拉取请求。

选择工具是控制 自动化 范围的主要方式。 仅授予任务所需的工具，以便 Copilot 无法执行你不打算执行的操作。

您可以手动选择要启用的工具，也可以使用**建议工具**按钮，让Copilot根据您的提示建议工具。

自动化 只能在其作用域限定的单个仓库中执行操作。

## 从存储库继承的配置

Automations 使用其作用域所属存储库的 Copilot云代理 配置，包括：

* **自定义说明**。 请参阅“[为GitHub Copilot添加存储库自定义说明](/zh/copilot/how-tos/configure-custom-instructions/add-repository-instructions)”。
* **代理技能**。 请参阅“[为 GitHub Copilot 添加代理技能](/zh/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/add-skills)”。
* **防火墙规则**。 请参阅“[自定义或禁用 GitHub Copilot 云代理的防火墙](/zh/copilot/how-tos/use-copilot-agents/cloud-agent/customize-the-agent-firewall)”。
* **机密和变量**。 请参阅“[为 Copilot 云代理配置机密和变量](/zh/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/configure-secrets-and-variables)”。

Automations 与存储库的内容分开存储。 它们不会提交到 Git 仓库，因此既不会与你的代码一同进行版本控制，也不会通过拉取请求来管理。

## Visibility

自动化仅对**创建它的用户**可见。 其他人，包括存储库管理员，看不到你的 automations。

但是，由 Copilot云代理 启动的 自动化**会话** 对其他有权访问代码库的人可见，就像任何其他 Copilot云代理 会话一样。 任何可以查看这些会话的人都可以看到提示内容、会话日志，以及 Copilot 创建的任何拉取请求或其他更改。

由于会话及其日志对其他人可见，因此不应直接在提示中包含 自动化机密或其他敏感信息。 若要授予 Copilot 对敏感值的访问权限，请改用存储库机密。 请参阅“[为 Copilot 云代理配置机密和变量](/zh/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/configure-secrets-and-variables)”。

## Billing

每次 自动化 运行时，都会启动一个 Copilot云代理 会话，该会话会使用 GitHub Actions 分钟额度和 GitHub AI Credits。 此用量将向创建了 自动化 的用户计费。 有关详细信息，请参阅“[GitHub Copilot许可证](/zh/billing/managing-billing-for-your-products/managing-billing-for-github-copilot/about-billing-for-github-copilot#allowance-usage-for-copilot-cloud-agent)”。

## 安全和安全

Automations 无需由人工发起每项任务即可运行 Copilot，因此会带来一些额外的风险。
GitHub 提供内置保护来帮助缓解这些风险。

* **归 因。** 由 自动化 创建的拉取请求和推送的代码，其操作归属为创建该 自动化 的用户。 与用户自行创建的拉取请求一样，他们无法批准这些拉取请求，从而保留了预期的评审控制机制。
* **最小权限工具。** 你可以准确选择可以使用的工具 自动化 ，因此你可以将其限制为仅任务所需的操作。
* **不受信任的输入。** 默认情况下， automations 忽略不具有存储库写入访问权限的用户触发的事件，以减少不受信任的用户出现提示注入的风险。
* **工作流运行情况。** 与所有 Copilot云代理 工作一样，在具有写入访问权限的用户批准之前，GitHub Actions 工作流不会在拉取请求上运行。 这可降低由 自动化 发起的拉取请求自动触发工作流的风险。

有关如何GitHub缓解Copilot云代理风险的详细信息，请参阅[GitHub Copilot云代理的风险和缓解措施](/zh/copilot/concepts/agents/cloud-agent/risks-and-mitigations)。

## 延伸阅读

* [使用 Copilot 云代理创建自动化](/zh/copilot/how-tos/use-copilot-agents/cloud-agent/create-automations)
* [关于 GitHub Copilot 云代理](/zh/copilot/concepts/agents/cloud-agent/about-cloud-agent)