Display Agentic Duo Chat in Web UI
What does this MR do and why?
Adds an option to run Agentic Duo Chat in Web UI. When duo_workflow_workhorse merge request is enabled, then classic Duo Chat will start behaving as Agentic Duo Chat: creates a workflow and establishes a WS connection with Workhorse -> Duo Workflow Service to receive the data.
PoC MR: Draft: Web agentic chat poc (!193151 - closed)
Related issue: Agentic Chat on Web UI (#546140 - closed)
In order to test locally:
- Enable
duo_workflow_workhorsefeature flag - Change the following Workhorse file to disable origin check (in development it doesn't work since Rails and Workhorse origins are different):
workhorse/internal/ai_assist/duoworkflow/handler.go
var upgrader = websocket.Upgrader{
CheckOrigin: func(r *http.Request) bool {
return true
},
}
- Recompile Workhorse:
make && gdk restart gitlab-workhorse && gdk tail gitlab-workhorse - Configure Duo Workflow Service:
config/gitlab.yml
development:
...
duo_workflow:
service_url: 0.0.0.0:50052
secure: false
- Run Duo Workflow Service server:
poetry run python -m duo_workflow_service.server
Edited by Igor Drozdov