自定义任务流
Tier: 基础版,专业版,旗舰版
Offering: JihuLab.com,私有化部署
模型信息
- LLM: DeepSeek-V4-Pro-0813
自定义任务流是 AI 驱动的任务流,您可以创建并配置它们,以自动执行极狐GitLab 项目中复杂的多步骤任务。
先决条件
任务流可见性
创建自定义任务流时,您需要选择一个项目来管理它,并选择该任务流是公开、私有还是受限。
公开任务流:
- 实例上的任何人都可以查看,并且可以在任何满足先决条件的项目中启用。
受限任务流:
- 管理项目所属顶级群组中任何项目的成员都可以查看和使用。
- 可以在同一顶级群组中的其他项目中开启。
- 无法在该顶级群组之外查看或开启。
- 无法在探索页面的 AI 目录中查看。
- 只能从项目中创建,不能从探索页面的 AI 目录中创建。
如果该任务流已被该顶级群组之外的项目开启,则无法将其设为受限。
私有任务流:
- 仅以下人员可以查看:
- 管理项目中拥有访客、计划者、报告者、开发者、维护者或所有者角色的成员。
- 拥有顶级群组所有者角色的用户。
- 无法在管理项目以外的项目或顶级群组以外的群组中启用。
如果该任务流已被管理项目以外的项目开启,则无法将公开或受限任务流设为私有。
查看项目的任务流
先决条件:
- 您必须拥有该项目的开发者、维护者或所有者角色。
要查看与您的项目关联的任务流列表:
- 在顶部栏中,选择搜索或跳转到,然后找到您的项目。
- 在左侧边栏中,选择 AI > 任务流。
- 要查看项目中已启用的任务流,请选择已启用标签页。
- 要查看由项目管理的任务流,请选择已管理标签页。
选择某个任务流以查看其详细信息。
创建任务流
VS Code 中的极狐GitLab 任务流构建器由 VS Code 扩展设置 gitlab.featureFlags.flowBuilder 控制。
您可以从项目、使用 AI 目录,或使用 VS Code 中的极狐GitLab 任务流构建器创建任务流。
您无法定义自定义任务流来从项目或 AI 目录中调用特定的自定义 Agent。自定义任务流会根据其 YAML 配置创建并使用自己的 Agent。
先决条件:
- 您必须拥有该项目的维护者或所有者角色。
要创建任务流:
- 在顶部栏中,选择搜索或跳转到,然后找到您的项目。
- 在左侧边栏中,选择 AI > 任务流。
- 选择新建任务流。
- 在基本信息下:
- 在显示名称中,输入名称。
- 在描述中,输入描述。
- 在可见性与访问权限下,为可见性选择私有、受限或公开。
- 在配置下:
-
选择任务流。
-
在编辑器中,输入您的任务流配置:
- 有关 YAML 语法和架构的更多信息,请参阅自定义任务流 YAML 架构。
-
- 选择创建任务流。
该任务流会出现在 AI 目录中。
启用任务流
启用任务流,以便从议题、合并请求或讨论中触发它。
当您在项目中启用任务流时:
先决条件:
- 您必须拥有该项目的维护者或所有者角色。
要启用任务流:
- 在顶部栏中,选择搜索或跳转到,然后找到您的项目。
- 在左侧边栏中,选择 AI > 任务流。
- 选择已管理标签页,然后选择您要启用的任务流。
- 在右上角,选择启用。
- 在项目下,选择您要在其中启用该任务流的项目。
- 对于添加触发器,选择:
- 触发任务流的事件类型。
- 如果触发器事件类型需要,选择触发器事件操作。
- 选择启用。
该任务流会出现在群组和项目的 AI > 任务流页面中。顶级群组中任何项目的成员现在都可以在其项目中启用该任务流。
群组中会创建一个服务账号。该账号的名称遵循以下命名约定:ai-<flow>-<group>。
在项目中启用
如果任务流已在顶级群组中启用,您可以在该群组的项目中启用它。
先决条件:
- 您必须拥有该项目的维护者或所有者角色。
- 该任务流必须已在项目的顶级群组中启用。
要在项目中启用任务流:
- 在顶部栏中,选择搜索或跳转到,然后找到您的项目。
- 在左侧边栏中,选择 AI > 任务流。
- 在右上角,选择从群组启用任务流。
- 从下拉列表中,选择您要启用的任务流。
- 对于添加触发器,选择:
- 触发任务流的事件类型。
- 如果触发器事件类型需要,选择触发器事件操作。
- 选择启用。
该任务流会出现在项目的 AI > 任务流列表中。
顶级群组的服务账号会添加到该项目中。该账号会被分配开发者角色。
禁用任务流
先决条件:
- 对于群组,您必须拥有维护者或所有者角色。
- 对于项目,您必须拥有维护者或所有者角色。
要禁用任务流:
- 在顶部栏中,选择搜索或跳转到,然后找到您的群组或项目。
- 选择 AI > 任务流。
- 找到您要移除的任务流,然后选择操作 () > 禁用。
- 在确认对话框中,选择禁用。
该任务流不再出现在项目或群组中,并且无法运行。与该任务流关联的任何服务账号或触发器也会被移除。
使用任务流
先决条件:
- 您必须拥有该项目的开发者、维护者或所有者角色。
- 该任务流必须已在项目中启用。
要使用任务流:
-
在您的项目中,打开一个议题、合并请求或史诗。
-
要触发任务流,请提及、指派任务流服务账号用户,或请求其进行评审。默认情况下,该用户的名称为 ai-<flow>-<group>。
例如,如果您在 GitLab Duo 群组中启用一个名为 Security scanner的任务流,则服务账号用户为 ai-security-scanner-gitlab-duo。
-
任务流完成任务后,您会看到确认信息,以及一个可合并的变更或一条行内评论。
该服务账号可以访问同时满足以下两个条件的所有项目:
- 您有权访问。
- 该任务流已添加到其中。
复制任务流
要在不覆盖原始任务流的情况下对其进行更改,请创建现有任务流的副本。
先决条件:
- 您必须拥有该项目的维护者或所有者角色。
要复制任务流:
- 在顶部栏中,选择搜索或跳转到 > 探索。
- 选择 AI 目录,然后选择任务流标签页。
- 选择您要复制的任务流。
- 在右上角,选择操作 () > 复制。
- 可选。编辑您想要更改的任何字段。
- 选择创建任务流。
编辑任务流
编辑任务流以更改其配置。
先决条件:
- 您必须是管理项目的成员,并拥有维护者或所有者角色。
- 在顶部栏中,选择搜索或跳转到,然后找到您的群组或项目。
- 选择 AI > 任务流。
- 选择您要编辑的任务流。
- 在右上角,选择编辑。
- 编辑您想要更改的任何字段,然后选择保存更改。
隐藏任务流
隐藏任务流以将其从 AI 目录中移除。
隐藏任务流后,用户无法启用它。但是,他们仍可以在已启用该任务流的群组和项目中触发它。
先决条件:
- 您必须是管理项目的成员,并拥有维护者或所有者角色。
要隐藏任务流:
- 在顶部栏中,选择搜索或跳转到,然后找到您的群组或项目。
- 选择 AI > 任务流。
- 找到您要隐藏的任务流,然后选择操作 () > 隐藏。
- 在确认对话框中,选择确认。
删除任务流
删除任务流以将其从实例中永久移除。
先决条件:
- 您必须是管理员。
- 在顶部栏中,选择搜索或跳转到,然后找到您的群组或项目。
- 选择 AI > 任务流。
- 找到您要删除的任务流,然后选择操作 () > 删除。
- 在确认对话框中,选择删除。
向极狐GitLab API 进行身份验证
自定义任务流有一个极狐GitLab OAuth 令牌,可通过 GITLAB_TOKEN 使用(也以 GITLAB_OAUTH_TOKEN的形式提供)。 这些令牌仅限于授予它们的范围。它们只能访问具有 ai_workflows 范围的极狐GitLab API 端点。 即使令牌发送正确,该范围之外的端点也会被拒绝。
如果您编写直接调用极狐GitLab API 的脚本,请将令牌作为 Authorization: Bearer 令牌发送。如果您使用 PRIVATE-TOKEN 请求头发送令牌,API 会返回 401 Unauthorized。
shellcurl --header "Authorization: Bearer $GITLAB_TOKEN" \ "$GITLAB_BASE_URL/api/v4/user"
任务流的内置工具和 glab CLI 会正确调用 API。
群组共享与任务流
当您在群组中启用任务流时,会自动创建一个相关的服务账号。该服务账号:
- 使用复合身份验证来确保任务流的访问权限永远不会超过运行该任务流的用户。
- 会作为成员添加到启用该任务流的顶级群组下的任何项目中,因此该任务流无法访问该群组之外的资源。
- 会被授予对与顶级群组共享的任何其他群组的访问权限。在群组共享方面,该服务账号会被视为与其他群组成员相同。
在多个顶级群组之间共享任务流服务账号可能会产生意外的访问权限和安全风险。
开启或关闭自定义任务流
默认情况下,自定义任务流处于开启状态。您可以为顶级群组或实例开启或关闭它们。
当自定义任务流关闭时:
- 用户无法创建、启用、禁用或执行自定义任务流。
- 现有自定义任务流不再显示在项目的 AI > 任务流 > 已启用下。
- 在项目中创建的自定义任务流会显示在 AI > 任务流 > 已管理下,但无法执行。
- 内置任务流仍然可用。
先决条件:
- 您必须拥有该群组的所有者角色。
- 在顶部栏中,选择搜索或跳转到,然后找到您的群组。
- 在左侧边栏中,选择设置 > 极狐GitLab Duo。
- 选择更改配置。
- 在自定义和外部 Agent 及任务流下,选中或清除允许自定义任务流复选框。
- 选择保存更改。
此设置会级联到该群组中的所有子群组。