4.0 KiB
stage, group, info, title
stage | group | info | title |
---|---|---|---|
AI-powered | Duo Workflow | Any user with at least the Maintainer role can merge updates to this content. For details, see https://docs.gitlab.com/ee/development/development_processes.html#development-guidelines-review. | Development of GitLab Duo Workflow |
How to set up the local development environment to run GitLab Duo Workflow.
Prerequisites
- GitLab Ultimate license
- Vertex access: You need access to the
ai-enablement-dev-69497ba7
project in GCP because GDK by default uses Anthropic hosted on Vertex. Access to this project should be available to all engineers at GitLab.- If you do not have Vertex access for any reason, you should unset
DUO_WORKFLOW__VERTEX_PROJECT_ID
in the Duo Workflow Service and setANTHROPIC_API_KEY
to a regular Anthropic API key
- If you do not have Vertex access for any reason, you should unset
- Various settings and feature flags, which are enabled for you by the GDK setup script
Set up local development for Workflow
Workflow consists of four separate services:
- GitLab instance
- GitLab Duo Workflow Service, which is part of the GitLab AI Gateway
- GitLab Duo Workflow Executor
- GitLab Duo Workflow Webview
Development Setup for Backend Components
You should set up GitLab Duo Workflow with the GitLab Development Kit (GDK) to run local versions of GitLab, Duo Workflow Service, and Executor.
This setup can be used as-is with the publicly available version of the VS Code Extension.
Development Setup for Frontend Components
There is no need to set up the backend components of Duo Workflow to test changes for the GitLab Duo Workflow UI.
A local build of the UI is required if you are making Duo Workflow UI changes that you need to view locally. A local build is also required if you want to use a version of the UI that has not been released yet.
Refer to the GitLab Duo Workflow README file in the Language Server project to get started with local development of GitLab Duo Workflow UI.
Development settings
Each of these settings can be turned on in your user settings in VS Code.
Change view type
Enable the Duo Workflow as a sidepanel instead of fullview. This is going to be the default for public beta.
"gitlab.featureFlags.duoWorkflowPanel": true,
Executor type
Allow to define which Duo Workflow executor is selected. Accepts:
shell
- Current default, runs the go binary directly on the user's machinedocker
- Runs the go binary inside a Docker container (deprecated)node
- Runs a nodeJs/TypeScript executor directly inside the languge server. Expected to become the default.
"gitlab.duo.workflow.executor": "node",
Workflow graph
Experimental settings that allow Duo Workflow graph to be swapped. Includes:
software_development
- defaultchat
- used by agentic chatsearch_and_replace
- Used to scan large number of files and replace results with specific instructions
"gitlab.duo.workflow.graph": "software_development",
Tool approval
Allow users to get access to tools that require approval such as running terminal commands.
"gitlab.duo.workflow.toolApproval": true