holmesgpt icon indicating copy to clipboard operation
holmesgpt copied to clipboard

Change toolset loading in cli

Open aantn opened this issue 5 months ago • 0 comments

What would you like to be added?

We'd like to change the way toolsets are loaded in the cli. All toolsets should be disabled by default and toolsets should be loaded after they are enabled.

Why is this needed?

Today, on each startup HolmesGPT cli does the following:

  1. Finds all available toolsets
  2. For each toolset,check if it satisfies prerequisites (e.g. the docker toolset depends on the docker cli being present locally)
  3. Automatically enable toolsets that satisfy prerequisites

While this leads to less upfront configuration (the user doesn't need to configure anything) it has several disadvantages:

  1. HolmesGPT's startup time is very slow because checking toolset prerequisites can take a very long time (e.g. the aws toolset tries to validate aws credentials which can take up to 10 seconds!)
  2. The code is more complex

Proposal

  1. Disable all toolsets by default - only load toolsets that were explicitly enabled in the HolmesGPT config file
  2. When HolmesGPT first runs, show users a quick wizard and offer to generate a HolmesGPT config for them which will enable the toolsets they choose

aantn avatar May 16 '25 14:05 aantn