Hey everyone [image: :cenno:],
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:

[image: plugin-structure.png]

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 TOOLS
Here 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

Deterministic
Get 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.  

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/jenkinsci-dev/5b4ea71f-74ff-449b-878f-c0f3e663b3ebn%40googlegroups.com.

Reply via email to