Hey everyone

,
I’m Daniele, I’m a CS student from Italy and this summer I will work on the
AI Chatbot to Guide User Workflow Plugin during the GSoC'26 period. I’m very happy to work with this community and I would like to have your feedback on it.
The project as the title says aims to create a chatbot which will be helpful for debugging issues with Jenkins pipelines and configs, but will also be very useful to beginners which need help on orienting in a complex software such as Jenkins.
In the following picture you can see how the plugin architecture is composed:
Jenkins Plugin Frontend: Sidebar created in React + Vite Frontend. Here it is possible to see the chat history, pick an older chat or also start a new one. It also presents a specific button which lets the user make the decision of attaching the current context.
Jenkins Controller: The Jenkins Controller is fundamental as it is the bridge between the frontend and the FastAPI backend, it has the task to validate the authentication and decide if the user can access the backend or not.
FastAPI Backend: The backend is the core part of the plugin, I decide to opt with FastAPI as it is a very solid framework for building backend applications. The heart of the agent will be LangGraph which will manage the different reasoning states. The agent will have at his disposal different tools which will be useful to get more info as possible in order to give the most accurate response back to the user.
ChromaDB: In the vector db data different types of data will be stored as vectors, such as Jenkins Docs, Jenkins Plugins Docs, Discourse and Reddit Discussions.
LLM: As LLM will be possible to choose between a local open source LLM hosted with Ollama or a third party api.
The architecture is designed to be modular so that the user is free to decide where to host each component, on the same machine or on different ones. AGENT TOOLSHere you can find an example list of the tools that the agent will be able to use.
Hybrid Retrieval (VectorDB + BM25 Indexer)Search Build Logs → Search in the logs of the build (Stored in RAM)
Search Jenkins Docs → Search in the Jenkins Documentation
Search Plugin Docs → Search in the Jenkins Plugins Documentation
Search Discussion → Search in the Reddit and Discourse Discussions
DeterministicGet Workspace Tree → Get the tree of the workspace
Get Workspace File → Get a specific file of the workspace
Get Job File → Get the Job file (config.xml, build.xml, jenkinsfile)
Get Diff File → Get the diff of a specific file
If anyone is interested to read the complete proposal of the plugin, I would be happy to share it.
Talk soon!
Daniele C.