Agent flows
- Tier: Premium, Ultimate
- Add-on: GitLab Duo Core, Pro, or Enterprise
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
- Status: Beta
- LLM: Anthropic Claude Sonnet 4
- Available on GitLab Duo with self-hosted models: Not supported
The availability of this feature is controlled by a feature flag. For more information, see the history.
软件工作流是第一个在 VS Code IDE 中可用的流程。 此前称为 GitLab Duo Workflow,软件工作流:
- 在你的 IDE 中运行,无需切换上下文或工具。
- 根据你的提示创建并执行计划。
- 在项目的仓库中暂存建议的更改。 你可以控制何时接受、修改或拒绝这些建议。
- 理解项目结构、代码库和历史记录的上下文。 你还可以添加自己的上下文,例如相关的 GitLab issues 或 merge requests。
先决条件
在 Visual Studio Code (VS Code) 中使用软件工作流之前,你必须:
步骤 1:配置你的 GitLab 环境
对于 GitLab.com
- 拥有 GitLab.com 账户。
- 拥有符合以下要求的项目:
- 项目位于 GitLab.com。
- 你至少拥有 Developer 角色。
- 项目属于具有 Ultimate 订阅的 group namespace。
- 必须开启 Beta 和实验性功能。
- 必须开启 GitLab Duo。
对于 GitLab Self-Managed
- 按照 文档 配置 GitLab Self-Managed 实例上的 GitLab Duo。
- 必须启用 GitLab Duo。
- 必须开启 Beta 和实验性功能。
步骤 2:设置本地开发环境
- 安装 VS Code。
- 为 VS Code 设置 GitLab Workflow 扩展。最低版本 5.16.0。
- 成功连接到你的仓库。
- 确保可以建立到后端服务的 HTTP/2 连接。
连接到你的仓库
要在 VS Code 中使用软件工作流,确保你的仓库已正确连接。
-
在 VS Code 中,从顶部菜单选择 Terminal > New Terminal。
-
克隆你的仓库:
git clone <repository>。 -
切换到仓库克隆的目录并检出你的分支:
git checkout <branch_name>。 -
确保你的项目被选中:
- 在左侧边栏,选择 GitLab Workflow( )。
- 选择项目名称。如果你有多个项目,选择要使用的那个。
-
在终端中,确保你的仓库配置了远程仓库:
git remote -v。结果应类似于:origin [email protected]:gitlab-org/gitlab.git (fetch) origin [email protected]:gitlab-org/gitlab.git (push)如果没有定义远程仓库,或者你有多个远程仓库:
- 在左侧边栏,选择 Source Control( )。
- 在 Source Control 标签上,右键单击并选择 Repositories。
- 在你的仓库旁边,选择省略号( ),然后选择 Remote > Add Remote。
- 选择 Add remote from GitLab。
- 选择一个远程仓库。
现在你可以使用软件工作流来帮助你解决编码任务。
在 VS Code 中使用软件工作流
软件工作流是 Agent Platform 中的一个流程。
要使用软件工作流:
- 在左侧边栏,选择 GitLab Duo Agent Platform (Beta)( )。
- 选择 Flows 标签。
- 在文本框中详细指定一个代码任务。
- 软件工作流了解项目分支中所有可供 Git 使用的文件。
- 你可以为你的聊天提供额外的 上下文。
- 软件工作流无法访问外部来源或网络。
- 选择 Start。
描述你的任务后,会生成并执行一个计划。 你可以暂停或要求它调整计划。
支持的语言
软件工作流正式支持以下语言:
- CSS
- Go
- HTML
- Java
- JavaScript
- Markdown
- Python
- Ruby
- TypeScript
软件工作流可访问的 API
为了创建解决方案并理解问题的上下文, 软件工作流访问多个 GitLab API。
具体来说,具有 ai_workflows 范围的 OAuth token 可以访问
以下 API:
- Projects API
- Search API
- CI Pipelines API
- CI Jobs API
- Merge Requests API
- Epics API
- Issues API
- Notes API
- Usage Data API
审计日志
软件工作流执行的每个 API 请求都会创建一个审计事件。 在你的 GitLab Self-Managed 实例上,你可以在 实例审计事件 页面上查看这些事件。
风险
软件工作流是一个实验性产品,用户在使用此工具前应考虑自身情况。 它受 GitLab 测试协议 约束。 软件工作流是一个 AI agent,被赋予了一些代表用户执行操作的能力。 基于 LLM 的 AI 工具本质上不可预测,你应该采取适当的预防措施。
VS Code 中的软件工作流在你的本地工作站上运行工作流。 在使用此产品之前,应考虑所有记录的风险。以下风险需要了解:
- 软件工作流可以访问你开始运行它的项目的本地文件系统。
软件工作流会尊重你的本地
.gitignore文件, 但它仍然可以访问未提交到项目且未在.gitignore中排除的文件。 这类文件可能包含凭证(例如.env文件)。 - 软件工作流还会获得一个具有
ai_workflows范围的限时 GitLab OAuth token, 该 token 使用你的用户身份。此 token 可用于代表你访问 GitLab API。该 token 仅限于工作流的持续时间,并且只能访问 GitLab 中的某些 API。 在未经用户批准的情况下,软件工作流只会执行读取操作,但该 token 在设计上仍然可以 代表用户执行写入操作。在运行软件工作流之前,你应该考虑 你的用户在 GitLab 中的访问权限。 - 你不应该在目标或消息中给软件工作流任何额外的凭证或密钥, 因为它可能会在代码或其他 API 调用中使用这些信息。
提供反馈
软件工作流是一个实验,你的反馈对于为你和他人改进它至关重要。 要报告问题或提出改进建议, 请完成此调查。